{"version":3,"file":"js/816-dd533163d1404934fe7c.js","mappings":";yFAeA,SAASA,EAAUC,EAASC,EAAYC,EAAGC,GAEvC,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAS,CAAE,MAAOG,GAAKL,EAAOK,EAAI,CAAE,CAC1F,SAASC,EAASJ,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAS,CAAE,MAAOG,GAAKL,EAAOK,EAAI,CAAE,CAC7F,SAASF,EAAKI,GAJlB,IAAeL,EAIaK,EAAOC,KAAOT,EAAQQ,EAAOL,QAJ1CA,EAIyDK,EAAOL,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAQ,KAIjBO,KAAKR,EAAWK,EAAW,CAC7GH,GAAMN,EAAYA,EAAUa,MAAMhB,EAASC,GAAc,KAAKS,OAClE,GACJ,kCAMA,IAAIO,EAAgB,SAASC,EAAMC,EAAGC,GACpC,GAAID,IAAMC,EAAG,OAAO,EAEpB,GAAID,GAAKC,GAAiB,iBAALD,GAA6B,iBAALC,EAAe,CAC1D,GAAID,EAAEE,cAAgBD,EAAEC,YAAa,OAAO,EAE5C,IAAIC,EAAQC,EAAGC,EACf,GAAIC,MAAMC,QAAQP,GAAI,CAEpB,IADAG,EAASH,EAAEG,SACGF,EAAEE,OAAQ,OAAO,EAC/B,IAAKC,EAAID,EAAgB,IAARC,KACf,IAAKL,EAAMC,EAAEI,GAAIH,EAAEG,IAAK,OAAO,EACjC,OAAO,CACT,CAIA,GAAIJ,EAAEE,cAAgBM,OAAQ,OAAOR,EAAES,SAAWR,EAAEQ,QAAUT,EAAEU,QAAUT,EAAES,MAC5E,GAAIV,EAAEW,UAAYC,OAAOC,UAAUF,QAAS,OAAOX,EAAEW,YAAcV,EAAEU,UACrE,GAAIX,EAAEc,WAAaF,OAAOC,UAAUC,SAAU,OAAOd,EAAEc,aAAeb,EAAEa,WAIxE,IADAX,GADAE,EAAOO,OAAOP,KAAKL,IACLG,UACCS,OAAOP,KAAKJ,GAAGE,OAAQ,OAAO,EAE7C,IAAKC,EAAID,EAAgB,IAARC,KACf,IAAKQ,OAAOC,UAAUE,eAAeC,KAAKf,EAAGI,EAAKD,IAAK,OAAO,EAEhE,IAAKA,EAAID,EAAgB,IAARC,KAAY,CAC3B,IAAIa,EAAMZ,EAAKD,GAEf,IAAKL,EAAMC,EAAEiB,GAAMhB,EAAEgB,IAAO,OAAO,CACrC,CAEA,OAAO,CACT,CAGA,OAAOjB,IAAIA,GAAKC,IAAIA,CACtB,EAiBA,MAAMiB,EAAa,uBAInB,IAAIC,GACJ,SAAWA,GACPA,EAAaA,EAA0B,YAAI,GAAK,cAChDA,EAAaA,EAAsB,QAAI,GAAK,UAC5CA,EAAaA,EAAsB,QAAI,GAAK,UAC5CA,EAAaA,EAAsB,QAAI,GAAK,SAC/C,CALD,CAKGA,IAAiBA,EAAe,CAAC,IAoBpC,MAAMC,EAUF,WAAAlB,EAAY,OAAEmB,EAAM,mBAAEC,EAAkB,QAAEC,EAAO,OAAEC,EAAM,GAAEC,EAAKP,EAAU,SAAEQ,EAAQ,UAAEC,EAAY,GAAE,OAAEC,EAAM,MAAEC,EAAK,OAAEC,EAAM,QAAEC,EAAU,EAAC,IAAEC,EAAM,0CAAyC,QAAEC,IAkBvL,GAjBAC,KAAKC,UAAY,GACjBD,KAAKvC,MAAO,EACZuC,KAAKE,SAAU,EACfF,KAAKG,OAAS,GACdH,KAAKb,OAASA,EACda,KAAKZ,mBAAqBA,EAC1BY,KAAKX,QAAUA,EACfW,KAAKV,OAASA,EACdU,KAAKT,GAAKA,GAAMP,EAChBgB,KAAKR,SAAWA,EAChBQ,KAAKP,UAAYA,EACjBO,KAAKN,OAASA,EACdM,KAAKL,MAAQA,EACbK,KAAKJ,OAASA,EACdI,KAAKH,QAAUA,EACfG,KAAKF,IAAMA,EACXE,KAAKD,QAAUA,EACXb,EAAOkB,SAAU,CACjB,IAAKxC,EAAcoC,KAAKK,QAASnB,EAAOkB,SAASC,SAC7C,MAAM,IAAIC,MAAM,2DAA2DC,KAAKC,UAAUR,KAAKK,gBAAgBE,KAAKC,UAAUtB,EAAOkB,SAASC,YAElJ,OAAOnB,EAAOkB,QAClB,CACAlB,EAAOkB,SAAWJ,IACtB,CACA,WAAIK,GACA,MAAO,CACHN,QAASC,KAAKD,QACdZ,OAAQa,KAAKb,OACbE,QAASW,KAAKX,QACdC,OAAQU,KAAKV,OACbC,GAAIS,KAAKT,GACTE,UAAWO,KAAKP,UAChBD,SAAUQ,KAAKR,SACfI,OAAQI,KAAKJ,OACbF,OAAQM,KAAKN,OACbC,MAAOK,KAAKL,MACZG,IAAKE,KAAKF,IACVV,mBAAoBY,KAAKZ,mBAEjC,CACA,UAAIqB,GACA,OAAIT,KAAKG,OAAOlC,OACLgB,EAAayB,QAEpBV,KAAKvC,KACEwB,EAAa0B,QAEpBX,KAAKE,QACEjB,EAAa2B,QAEjB3B,EAAa4B,WACxB,CACA,UAAIC,GACA,OAAOd,KAAKvC,OAASuC,KAAKE,SAAWF,KAAKG,OAAOlC,QAAU+B,KAAKH,QAAU,CAC9E,CAOA,SAAAkB,GACI,IAAIjB,EAAME,KAAKF,IA6Bf,OA5BAA,GAAO,iCACHE,KAAKb,SACLW,GAAO,QAAQE,KAAKb,UAEpBa,KAAKX,UACLS,GAAO,YAAYE,KAAKX,WAExBW,KAAKV,SACLQ,GAAO,WAAWE,KAAKV,UAEvBU,KAAKP,UAAUxB,OAAS,IACxB6B,GAAO,cAAcE,KAAKP,UAAUuB,KAAK,QAEzChB,KAAKR,WACLM,GAAO,aAAaE,KAAKR,YAEzBQ,KAAKJ,SACLE,GAAO,WAAWE,KAAKJ,UAEvBI,KAAKD,UACLD,GAAO,MAAME,KAAKD,WAElBC,KAAKN,SACLI,GAAO,YAAYE,KAAKN,OAAOsB,KAAK,QAEpChB,KAAKZ,qBACLU,GAAO,yBAAyBE,KAAKZ,sBAElCU,CACX,CACA,YAAAmB,GACI,MAAMC,EAASC,SAASC,eAAepB,KAAKT,IACxC2B,GACAA,EAAOG,QAEf,CAKA,IAAAC,GACI,OAAOtB,KAAKuB,aAChB,CAOA,WAAAA,GACI,OAAO,IAAIxE,SAAQ,CAACC,EAASC,KACzB+C,KAAKwB,cAAcC,IACVA,EAIDxE,EAAOwE,EAAIC,OAHX1E,EAAQ2E,OAAOC,OAInB,GACF,GAEV,CACA,aAAAC,CAAcC,GAEV,OADA9B,KAAK+B,UACEH,OAAOI,KAAKH,cAAcC,EACrC,CAKA,YAAAN,CAAaS,GACTjC,KAAKC,UAAUiC,KAAKD,GACpBjC,KAAK+B,SACT,CAIA,SAAAI,GACI,IAAIC,EAAIC,EACR,GAAIlB,SAASC,eAAepB,KAAKT,IAG7B,YADAS,KAAKsC,WAGT,MAAMC,EAAS,CACXxD,IAAKiB,KAAKb,OACVE,QAASW,KAAKX,QACdC,OAAQU,KAAKV,OACbG,UAAWO,KAAKP,UAAUxB,QAAU+B,KAAKP,UACzC+C,EAAGxC,KAAKD,QACRL,OAAQM,KAAKN,OACbF,SAAUQ,KAAKR,SACfI,OAAQI,KAAKJ,OACbR,mBAAoBY,KAAKZ,oBAG7BV,OAAOP,KAAKoE,GAAQE,SAEnB1D,IAASwD,EAAOxD,WAAewD,EAAOxD,MAC4F,QAA5HsD,EAA8E,QAAxED,EAAgB,OAAXT,aAA8B,IAAXA,YAAoB,EAASA,OAAOC,cAA2B,IAAPQ,OAAgB,EAASA,EAAGJ,YAAyB,IAAPK,OAAgB,EAASA,EAAGR,gBAInK,CAAEa,IAEE,IAAIC,EAAG7E,EAAG8E,EAAGC,EAAI,iCAAkCC,EAAI,SAAUC,EAAI,gBAAiBC,EAAI,SAAUC,EAAI9B,SAAUpD,EAAI4D,OAEtH5D,EAAIA,EAAE+E,KAAO/E,EAAE+E,GAAK,CAAC,GAErB,MAAMI,EAAInF,EAAEiE,OAASjE,EAAEiE,KAAO,CAAC,GAAImB,EAAI,IAAIC,IAAO9F,EAAI,IAAI+F,gBAAmBC,EAAI,IAEjFX,IAAMA,EAAI,IAAI5F,SAAQ,CAACwG,EAAGC,IAAM9G,EAAUsD,UAAM,OAAQ,GAAQ,YAC5D,IAAIoC,EAKJ,IAAKQ,WAJE9E,EAAImF,EAAEQ,cAAc,UAC3B3F,EAAEyB,GAAKS,KAAKT,GACZjC,EAAEoG,IAAI,YAAa,IAAIP,GAAK,IAElBT,EACNpF,EAAEoG,IAAId,EAAEe,QAAQ,UAAWC,GAAM,IAAMA,EAAE,GAAGC,gBAAgBnB,EAAEE,IAClEtF,EAAEoG,IAAI,WAAYZ,EAAI,SAAWE,GACjClF,EAAEgG,IAAM9D,KAAKF,IAAM,IAAMxC,EACzB4F,EAAEF,GAAKO,EACPzF,EAAEiG,QAAU,IAAOpB,EAAIa,EAAElD,MAAMuC,EAAI,qBAEnC/E,EAAE6B,MAAQK,KAAKL,QAAsD,QAA3CyC,EAAKa,EAAEe,cAAc,wBAAqC,IAAP5B,OAAgB,EAASA,EAAGzC,QAAU,GACnHsD,EAAEgB,KAAKC,OAAOpG,EAClB,OAEAoF,EAAEH,GAAKoB,QAAQC,KAAKvB,EAAI,8BAA+BH,GAAMQ,EAAEH,GAAK,CAACQ,KAAMC,IAAML,EAAEkB,IAAId,IAAMD,IAAI5F,MAAK,IAAMwF,EAAEH,GAAGQ,KAAMC,IAC1H,EA1BD,CA0BGjB,GAMP,MAAM+B,EAAkBtE,KAAKP,UAAU8E,KAAKC,GAAYxE,KAAK6B,cAAc2C,KAEtEF,EAAgBrG,QACjBqG,EAAgBpC,KAAKlC,KAAK6B,cAAc,SAE5C9E,QAAQ0H,IAAIH,GAAiB5G,MAAK,IAAMsC,KAAKsC,aAAaZ,IACtD,MAAMgD,EAAQ,IAAIC,WAAW,QAAS,CAAEjD,UACxC1B,KAAK4E,kBAAkBF,EAAM,GAErC,CAIA,KAAAG,GACI7E,KAAKiB,eACLjB,KAAKvC,MAAO,EACZuC,KAAKE,SAAU,EACfF,KAAKG,OAAS,GACdH,KAAK8E,aAAe,IACxB,CACA,qBAAAC,GACQ/E,KAAKc,QACLd,KAAK6E,OAEb,CACA,iBAAAD,CAAkBtH,GAEd,GADA0C,KAAKG,OAAO+B,KAAK5E,GACb0C,KAAKG,OAAOlC,QAAU+B,KAAKH,QAAS,CACpC,MAAMmF,EAAQhF,KAAKG,OAAOlC,OAASgH,KAAKC,IAAI,EAAGlF,KAAKG,OAAOlC,QAC3DkG,QAAQzC,MAAM,kDAAkDsD,SAChEG,YAAW,KACPnF,KAAKiB,eACLjB,KAAKmC,WAAW,GACjB6C,EACP,MAEIhF,KAAK8E,aAAexH,EACpB0C,KAAKsC,UAEb,CACA,QAAAA,GACItC,KAAKvC,MAAO,EACZuC,KAAKE,SAAU,EACfF,KAAKC,UAAUwC,SAAS2C,IACpBA,EAAGpF,KAAK8E,aAAa,IAEzB9E,KAAKC,UAAY,EACrB,CACA,OAAA8B,GAEI,GADA/B,KAAK+E,wBACD/E,KAAKvC,KACLuC,KAAKsC,eAEJ,CAED,GAAIX,OAAOC,QAAUD,OAAOC,OAAOI,MAAQL,OAAOC,OAAOI,KAAKjC,QAI1D,OAHAoE,QAAQC,KAAK,6JAEbpE,KAAKsC,WAGLtC,KAAKE,UAELF,KAAKE,SAAU,EACfF,KAAKmC,YAEb,CACJ,sCCrYJ,IAAIkD,EAAe,EAAQ,KAEvBC,EAAW,EAAQ,KAEnBC,EAAWD,EAASD,EAAa,6BAErCG,EAAOC,QAAU,SAA4B3D,EAAM4D,GAClD,IAAIC,EAAYN,EAAavD,IAAQ4D,GACrC,MAAyB,oBAAdC,GAA4BJ,EAASzD,EAAM,gBAAkB,EAChEwD,EAASK,GAEVA,CACR,oCCZA,IAAIC,EAAO,EAAQ,MACfP,EAAe,EAAQ,KACvBQ,EAAoB,EAAQ,MAE5BC,EAAa,EAAQ,MACrBC,EAASV,EAAa,8BACtBW,EAAQX,EAAa,6BACrBY,EAAgBZ,EAAa,mBAAmB,IAASO,EAAK9G,KAAKkH,EAAOD,GAE1EG,EAAkB,EAAQ,KAC1BC,EAAOd,EAAa,cAExBG,EAAOC,QAAU,SAAkBW,GAClC,GAAgC,oBAArBA,EACV,MAAM,IAAIN,EAAW,0BAEtB,IAAIO,EAAOJ,EAAcL,EAAMI,EAAOM,WACtC,OAAOT,EACNQ,EACA,EAAIF,EAAK,EAAGC,EAAiBnI,QAAUqI,UAAUrI,OAAS,KAC1D,EAEF,EAEA,IAAIsI,EAAY,WACf,OAAON,EAAcL,EAAMG,EAAQO,UACpC,EAEIJ,EACHA,EAAgBV,EAAOC,QAAS,QAAS,CAAEtI,MAAOoJ,IAElDf,EAAOC,QAAQ9H,MAAQ4I,mCC/BxB,IAAIL,EAAkB,EAAQ,KAE1BM,EAAe,EAAQ,MACvBV,EAAa,EAAQ,MAErBW,EAAO,EAAQ,MAGnBjB,EAAOC,QAAU,SAChBiB,EACAC,EACAxJ,GAEA,IAAKuJ,GAAuB,kBAARA,GAAmC,oBAARA,EAC9C,MAAM,IAAIZ,EAAW,0CAEtB,GAAwB,kBAAba,GAA6C,kBAAbA,EAC1C,MAAM,IAAIb,EAAW,4CAEtB,GAAIQ,UAAUrI,OAAS,GAA6B,mBAAjBqI,UAAU,IAAqC,OAAjBA,UAAU,GAC1E,MAAM,IAAIR,EAAW,2DAEtB,GAAIQ,UAAUrI,OAAS,GAA6B,mBAAjBqI,UAAU,IAAqC,OAAjBA,UAAU,GAC1E,MAAM,IAAIR,EAAW,yDAEtB,GAAIQ,UAAUrI,OAAS,GAA6B,mBAAjBqI,UAAU,IAAqC,OAAjBA,UAAU,GAC1E,MAAM,IAAIR,EAAW,6DAEtB,GAAIQ,UAAUrI,OAAS,GAA6B,mBAAjBqI,UAAU,GAC5C,MAAM,IAAIR,EAAW,2CAGtB,IAAIc,EAAgBN,UAAUrI,OAAS,EAAIqI,UAAU,GAAK,KACtDO,EAAcP,UAAUrI,OAAS,EAAIqI,UAAU,GAAK,KACpDQ,EAAkBR,UAAUrI,OAAS,EAAIqI,UAAU,GAAK,KACxDS,EAAQT,UAAUrI,OAAS,GAAIqI,UAAU,GAGzCU,IAASP,GAAQA,EAAKC,EAAKC,GAE/B,GAAIT,EACHA,EAAgBQ,EAAKC,EAAU,CAC9BM,aAAkC,OAApBH,GAA4BE,EAAOA,EAAKC,cAAgBH,EACtEI,WAA8B,OAAlBN,GAA0BI,EAAOA,EAAKE,YAAcN,EAChEzJ,MAAOA,EACPgK,SAA0B,OAAhBN,GAAwBG,EAAOA,EAAKG,UAAYN,QAErD,KAAIE,IAAWH,GAAkBC,GAAgBC,GAIvD,MAAM,IAAIN,EAAa,+GAFvBE,EAAIC,GAAYxJ,CAGjB,CACD,qCCrDA,IAAIgB,EAAO,EAAQ,MACfiJ,EAA+B,oBAAXC,QAAkD,kBAAlBA,OAAO,OAE3DC,EAAQ5I,OAAOC,UAAUC,SACzB2I,EAASnJ,MAAMO,UAAU4I,OACzBC,EAAqB,EAAQ,IAM7BC,EAAsB,EAAQ,IAAR,GAEtBC,EAAiB,SAAUC,EAAQ7F,EAAM3E,EAAOyK,GACnD,GAAI9F,KAAQ6F,EACX,IAAkB,IAAdC,GACH,GAAID,EAAO7F,KAAU3E,EACpB,YAEK,GAXa,oBADK8E,EAYF2F,IAX8B,sBAAnBN,EAAMxI,KAAKmD,KAWP2F,IACrC,OAbc,IAAU3F,EAiBtBwF,EACHD,EAAmBG,EAAQ7F,EAAM3E,GAAO,GAExCqK,EAAmBG,EAAQ7F,EAAM3E,EAEnC,EAEI0K,EAAmB,SAAUF,EAAQpD,GACxC,IAAIuD,EAAaxB,UAAUrI,OAAS,EAAIqI,UAAU,GAAK,CAAC,EACpDyB,EAAQ5J,EAAKoG,GACb6C,IACHW,EAAQR,EAAOzI,KAAKiJ,EAAOrJ,OAAOsJ,sBAAsBzD,KAEzD,IAAK,IAAIrG,EAAI,EAAGA,EAAI6J,EAAM9J,OAAQC,GAAK,EACtCwJ,EAAeC,EAAQI,EAAM7J,GAAIqG,EAAIwD,EAAM7J,IAAK4J,EAAWC,EAAM7J,IAEnE,EAEA2J,EAAiBJ,sBAAwBA,EAEzCjC,EAAOC,QAAUoC,oCC5CjB,IAGI3B,EAHe,EAAQ,IAGLb,CAAa,2BAA2B,KAAS,EACvE,GAAIa,EACH,IACCA,EAAgB,CAAC,EAAG,IAAK,CAAE/I,MAAO,GACnC,CAAE,MAAOG,GAER4I,GAAkB,CACnB,CAGDV,EAAOC,QAAUS,iCCZjBV,EAAOC,QAAUwC,yCCAjBzC,EAAOC,QAAUnF,qCCAjBkF,EAAOC,QAAUyC,0CCAjB1C,EAAOC,QAAU0C,8CCAjB3C,EAAOC,QAAU2C,2CCAjB5C,EAAOC,QAAU4C,yCCAjB7C,EAAOC,QAAU6C,4CCDjB,IAAIxC,EAAa,EAAQ,MAGzBN,EAAOC,QAAU,SAAgCtI,GAChD,GAAa,MAATA,EACH,MAAM,IAAI2I,EAAYQ,UAAUrI,OAAS,GAAKqI,UAAU,IAAQ,yBAA2BnJ,GAE5F,OAAOA,CACR,iCCNA,IACImK,EAAQ5I,OAAOC,UAAUC,SACzB2J,EAAMtD,KAAKsD,IAGXC,EAAW,SAAkB1K,EAAGC,GAGhC,IAFA,IAAI0K,EAAM,GAEDvK,EAAI,EAAGA,EAAIJ,EAAEG,OAAQC,GAAK,EAC/BuK,EAAIvK,GAAKJ,EAAEI,GAEf,IAAK,IAAIwK,EAAI,EAAGA,EAAI3K,EAAEE,OAAQyK,GAAK,EAC/BD,EAAIC,EAAI5K,EAAEG,QAAUF,EAAE2K,GAG1B,OAAOD,CACX,EAqBAjD,EAAOC,QAAU,SAAckD,GAC3B,IAAIC,EAAS5I,KACb,GAAsB,oBAAX4I,GApCA,sBAoCyBtB,EAAM3J,MAAMiL,GAC5C,MAAM,IAAIP,UAxCE,kDAwCwBO,GAyBxC,IAvBA,IAEIC,EAFAC,EAxBI,SAAeC,EAASC,GAEhC,IADA,IAAIP,EAAM,GACDvK,EAAI8K,GAAU,EAAGN,EAAI,EAAGxK,EAAI6K,EAAQ9K,OAAQC,GAAK,EAAGwK,GAAK,EAC9DD,EAAIC,GAAKK,EAAQ7K,GAErB,OAAOuK,CACX,CAkBeQ,CAAM3C,UAAW,GAqBxB4C,EAAcX,EAAI,EAAGK,EAAO3K,OAAS6K,EAAK7K,QAC1CkL,EAAY,GACPjL,EAAI,EAAGA,EAAIgL,EAAahL,IAC7BiL,EAAUjL,GAAK,IAAMA,EAKzB,GAFA2K,EAAQO,SAAS,SAAU,oBA3CnB,SAAUX,EAAKY,GAEvB,IADA,IAAIC,EAAM,GACDpL,EAAI,EAAGA,EAAIuK,EAAIxK,OAAQC,GAAK,EACjCoL,GAAOb,EAAIvK,GACPA,EAAI,EAAIuK,EAAIxK,SACZqL,GAAOD,GAGf,OAAOC,CACX,CAkCqDC,CAAMJ,EAAW,KAAO,4CAAjEC,EAxBK,WACT,GAAIpJ,gBAAgB6I,EAAO,CACvB,IAAIrL,EAASoL,EAAOjL,MAChBqC,KACAwI,EAASM,EAAMxC,YAEnB,OAAI5H,OAAOlB,KAAYA,EACZA,EAEJwC,IACX,CACA,OAAO4I,EAAOjL,MACVgL,EACAH,EAASM,EAAMxC,WAGvB,IAUIsC,EAAOjK,UAAW,CAClB,IAAI6K,EAAQ,WAAkB,EAC9BA,EAAM7K,UAAYiK,EAAOjK,UACzBkK,EAAMlK,UAAY,IAAI6K,EACtBA,EAAM7K,UAAY,IACtB,CAEA,OAAOkK,CACX,qCCjFA,IAAIY,EAAiB,EAAQ,MAE7BjE,EAAOC,QAAU2D,SAASzK,UAAUiH,MAAQ6D,oCCF5C,IAAIC,EAEAC,EAAS,EAAQ,MACjBC,EAAa,EAAQ,MACrBC,EAAc,EAAQ,MACtBC,EAAkB,EAAQ,MAC1BtD,EAAe,EAAQ,MACvBV,EAAa,EAAQ,MACrBiE,EAAY,EAAQ,MAEpBC,EAAYZ,SAGZa,EAAwB,SAAUC,GACrC,IACC,OAAOF,EAAU,yBAA2BE,EAAmB,iBAAxDF,EACR,CAAE,MAAO1M,GAAI,CACd,EAEI6M,EAAQzL,OAAO0L,yBACnB,GAAID,EACH,IACCA,EAAM,CAAC,EAAG,GACX,CAAE,MAAO7M,GACR6M,EAAQ,IACT,CAGD,IAAIE,EAAiB,WACpB,MAAM,IAAIvE,CACX,EACIwE,EAAiBH,EACjB,WACF,IAGC,OAAOE,CACR,CAAE,MAAOE,GACR,IAEC,OAAOJ,EAAM7D,UAAW,UAAUkE,GACnC,CAAE,MAAOC,GACR,OAAOJ,CACR,CACD,CACD,CAbE,GAcAA,EAECjD,EAAa,EAAQ,KAAR,GACbsD,EAAW,EAAQ,GAAR,GAEXC,EAAWjM,OAAOkM,iBACrBF,EACG,SAAUG,GAAK,OAAOA,EAAEC,SAAW,EACnC,MAGAC,EAAY,CAAC,EAEbC,EAAmC,qBAAfC,YAA+BN,EAAuBA,EAASM,YAArBvB,EAE9DwB,EAAa,CAChBJ,UAAW,KACX,mBAA8C,qBAAnBK,eAAiCzB,EAAYyB,eACxE,UAAW/M,MACX,gBAAwC,qBAAhBgN,YAA8B1B,EAAY0B,YAClE,2BAA4BhE,GAAcuD,EAAWA,EAAS,GAAGtD,OAAOgE,aAAe3B,EACvF,mCAAoCA,EACpC,kBAAmBqB,EACnB,mBAAoBA,EACpB,2BAA4BA,EAC5B,2BAA4BA,EAC5B,YAAgC,qBAAZO,QAA0B5B,EAAY4B,QAC1D,WAA8B,qBAAXC,OAAyB7B,EAAY6B,OACxD,kBAA4C,qBAAlBC,cAAgC9B,EAAY8B,cACtE,mBAA8C,qBAAnBC,eAAiC/B,EAAY+B,eACxE,YAAaC,QACb,aAAkC,qBAAbC,SAA2BjC,EAAYiC,SAC5D,SAAUC,KACV,cAAeC,UACf,uBAAwBC,mBACxB,cAAeC,UACf,uBAAwBC,mBACxB,UAAWrC,EACX,SAAUsC,KACV,cAAerC,EACf,iBAA0C,qBAAjBsC,aAA+BxC,EAAYwC,aACpE,iBAA0C,qBAAjBC,aAA+BzC,EAAYyC,aACpE,yBAA0D,qBAAzBC,qBAAuC1C,EAAY0C,qBACpF,aAAcpC,EACd,sBAAuBe,EACvB,cAAoC,qBAAdsB,UAA4B3C,EAAY2C,UAC9D,eAAsC,qBAAfC,WAA6B5C,EAAY4C,WAChE,eAAsC,qBAAfC,WAA6B7C,EAAY6C,WAChE,aAAcC,SACd,UAAWC,MACX,sBAAuBrF,GAAcuD,EAAWA,EAASA,EAAS,GAAGtD,OAAOgE,cAAgB3B,EAC5F,SAA0B,kBAATnJ,KAAoBA,KAAOmJ,EAC5C,QAAwB,qBAARgD,IAAsBhD,EAAYgD,IAClD,yBAAyC,qBAARA,KAAwBtF,GAAeuD,EAAuBA,GAAS,IAAI+B,KAAMrF,OAAOgE,aAAtC3B,EACnF,SAAUzE,KACV,WAAY0H,OACZ,WAAYjO,OACZ,eAAgBkO,WAChB,aAAcC,SACd,YAAgC,qBAAZ9P,QAA0B2M,EAAY3M,QAC1D,UAA4B,qBAAV+P,MAAwBpD,EAAYoD,MACtD,eAAgBjD,EAChB,mBAAoBC,EACpB,YAAgC,qBAAZiD,QAA0BrD,EAAYqD,QAC1D,WAAYzO,OACZ,QAAwB,qBAAR8E,IAAsBsG,EAAYtG,IAClD,yBAAyC,qBAARA,KAAwBgE,GAAeuD,EAAuBA,GAAS,IAAIvH,KAAMiE,OAAOgE,aAAtC3B,EACnF,sBAAoD,qBAAtBsD,kBAAoCtD,EAAYsD,kBAC9E,WAAYC,OACZ,4BAA6B7F,GAAcuD,EAAWA,EAAS,GAAGtD,OAAOgE,aAAe3B,EACxF,WAAYtC,EAAaC,OAASqC,EAClC,gBAAiBlD,EACjB,mBAAoB8D,EACpB,eAAgBU,EAChB,cAAelF,EACf,eAAsC,qBAAfmF,WAA6BvB,EAAYuB,WAChE,sBAAoD,qBAAtBiC,kBAAoCxD,EAAYwD,kBAC9E,gBAAwC,qBAAhBC,YAA8BzD,EAAYyD,YAClE,gBAAwC,qBAAhBC,YAA8B1D,EAAY0D,YAClE,aAAcrD,EACd,YAAgC,qBAAZsD,QAA0B3D,EAAY2D,QAC1D,YAAgC,qBAAZC,QAA0B5D,EAAY4D,QAC1D,YAAgC,qBAAZC,QAA0B7D,EAAY6D,SAG3D,GAAI5C,EACH,IACC,KAAKjJ,KACN,CAAE,MAAOpE,GAER,IAAIkQ,EAAa7C,EAASA,EAASrN,IACnC4N,EAAW,qBAAuBsC,CACnC,CAGD,IAAIC,EAAS,SAASA,EAAO3L,GAC5B,IAAI3E,EACJ,GAAa,oBAAT2E,EACH3E,EAAQ8M,EAAsB,6BACxB,GAAa,wBAATnI,EACV3E,EAAQ8M,EAAsB,wBACxB,GAAa,6BAATnI,EACV3E,EAAQ8M,EAAsB,8BACxB,GAAa,qBAATnI,EAA6B,CACvC,IAAIG,EAAKwL,EAAO,4BACZxL,IACH9E,EAAQ8E,EAAGtD,UAEb,MAAO,GAAa,6BAATmD,EAAqC,CAC/C,IAAI4L,EAAMD,EAAO,oBACbC,GAAO/C,IACVxN,EAAQwN,EAAS+C,EAAI/O,WAEvB,CAIA,OAFAuM,EAAWpJ,GAAQ3E,EAEZA,CACR,EAEIwQ,EAAiB,CACpB7C,UAAW,KACX,yBAA0B,CAAC,cAAe,aAC1C,mBAAoB,CAAC,QAAS,aAC9B,uBAAwB,CAAC,QAAS,YAAa,WAC/C,uBAAwB,CAAC,QAAS,YAAa,WAC/C,oBAAqB,CAAC,QAAS,YAAa,QAC5C,sBAAuB,CAAC,QAAS,YAAa,UAC9C,2BAA4B,CAAC,gBAAiB,aAC9C,mBAAoB,CAAC,yBAA0B,aAC/C,4BAA6B,CAAC,yBAA0B,YAAa,aACrE,qBAAsB,CAAC,UAAW,aAClC,sBAAuB,CAAC,WAAY,aACpC,kBAAmB,CAAC,OAAQ,aAC5B,mBAAoB,CAAC,QAAS,aAC9B,uBAAwB,CAAC,YAAa,aACtC,0BAA2B,CAAC,eAAgB,aAC5C,0BAA2B,CAAC,eAAgB,aAC5C,sBAAuB,CAAC,WAAY,aACpC,cAAe,CAAC,oBAAqB,aACrC,uBAAwB,CAAC,oBAAqB,YAAa,aAC3D,uBAAwB,CAAC,YAAa,aACtC,wBAAyB,CAAC,aAAc,aACxC,wBAAyB,CAAC,aAAc,aACxC,cAAe,CAAC,OAAQ,SACxB,kBAAmB,CAAC,OAAQ,aAC5B,iBAAkB,CAAC,MAAO,aAC1B,oBAAqB,CAAC,SAAU,aAChC,oBAAqB,CAAC,SAAU,aAChC,sBAAuB,CAAC,SAAU,YAAa,YAC/C,qBAAsB,CAAC,SAAU,YAAa,WAC9C,qBAAsB,CAAC,UAAW,aAClC,sBAAuB,CAAC,UAAW,YAAa,QAChD,gBAAiB,CAAC,UAAW,OAC7B,mBAAoB,CAAC,UAAW,UAChC,oBAAqB,CAAC,UAAW,WACjC,wBAAyB,CAAC,aAAc,aACxC,4BAA6B,CAAC,iBAAkB,aAChD,oBAAqB,CAAC,SAAU,aAChC,iBAAkB,CAAC,MAAO,aAC1B,+BAAgC,CAAC,oBAAqB,aACtD,oBAAqB,CAAC,SAAU,aAChC,oBAAqB,CAAC,SAAU,aAChC,yBAA0B,CAAC,cAAe,aAC1C,wBAAyB,CAAC,aAAc,aACxC,uBAAwB,CAAC,YAAa,aACtC,wBAAyB,CAAC,aAAc,aACxC,+BAAgC,CAAC,oBAAqB,aACtD,yBAA0B,CAAC,cAAe,aAC1C,yBAA0B,CAAC,cAAe,aAC1C,sBAAuB,CAAC,WAAY,aACpC,qBAAsB,CAAC,UAAW,aAClC,qBAAsB,CAAC,UAAW,cAG/BlF,EAAO,EAAQ,MACfgI,EAAS,EAAQ,MACjBC,EAAUjI,EAAK9G,KAAKsK,SAAStK,KAAMV,MAAMO,UAAU4I,QACnDuG,EAAelI,EAAK9G,KAAKsK,SAASzL,MAAOS,MAAMO,UAAUoP,QACzDC,EAAWpI,EAAK9G,KAAKsK,SAAStK,KAAMmO,OAAOtO,UAAUgF,SACrDsK,EAAYrI,EAAK9G,KAAKsK,SAAStK,KAAMmO,OAAOtO,UAAUuP,OACtDC,EAAQvI,EAAK9G,KAAKsK,SAAStK,KAAMR,OAAOK,UAAUyP,MAGlDC,EAAa,qGACbC,EAAe,WAiBfC,EAAmB,SAA0BzM,EAAM4D,GACtD,IACI8I,EADAC,EAAgB3M,EAOpB,GALI8L,EAAOD,EAAgBc,KAE1BA,EAAgB,KADhBD,EAAQb,EAAec,IACK,GAAK,KAG9Bb,EAAO1C,EAAYuD,GAAgB,CACtC,IAAItR,EAAQ+N,EAAWuD,GAIvB,GAHItR,IAAU4N,IACb5N,EAAQsQ,EAAOgB,IAEK,qBAAVtR,IAA0BuI,EACpC,MAAM,IAAII,EAAW,aAAehE,EAAO,wDAG5C,MAAO,CACN0M,MAAOA,EACP1M,KAAM2M,EACNtR,MAAOA,EAET,CAEA,MAAM,IAAIqJ,EAAa,aAAe1E,EAAO,mBAC9C,EAEA0D,EAAOC,QAAU,SAAsB3D,EAAM4D,GAC5C,GAAoB,kBAAT5D,GAAqC,IAAhBA,EAAK7D,OACpC,MAAM,IAAI6H,EAAW,6CAEtB,GAAIQ,UAAUrI,OAAS,GAA6B,mBAAjByH,EAClC,MAAM,IAAII,EAAW,6CAGtB,GAAmC,OAA/BqI,EAAM,cAAerM,GACxB,MAAM,IAAI0E,EAAa,sFAExB,IAAIkI,EAtDc,SAAsBC,GACxC,IAAIC,EAAQX,EAAUU,EAAQ,EAAG,GAC7BE,EAAOZ,EAAUU,GAAS,GAC9B,GAAc,MAAVC,GAA0B,MAATC,EACpB,MAAM,IAAIrI,EAAa,kDACjB,GAAa,MAATqI,GAA0B,MAAVD,EAC1B,MAAM,IAAIpI,EAAa,kDAExB,IAAIhJ,EAAS,GAIb,OAHAwQ,EAASW,EAAQN,GAAY,SAAUS,EAAOC,EAAQC,EAAOC,GAC5DzR,EAAOA,EAAOS,QAAU+Q,EAAQhB,EAASiB,EAAWX,EAAc,MAAQS,GAAUD,CACrF,IACOtR,CACR,CAyCa0R,CAAapN,GACrBqN,EAAoBT,EAAMzQ,OAAS,EAAIyQ,EAAM,GAAK,GAElD/I,EAAY4I,EAAiB,IAAMY,EAAoB,IAAKzJ,GAC5D0J,EAAoBzJ,EAAU7D,KAC9B3E,EAAQwI,EAAUxI,MAClBkS,GAAqB,EAErBb,EAAQ7I,EAAU6I,MAClBA,IACHW,EAAoBX,EAAM,GAC1BV,EAAaY,EAAOb,EAAQ,CAAC,EAAG,GAAIW,KAGrC,IAAK,IAAItQ,EAAI,EAAGoR,GAAQ,EAAMpR,EAAIwQ,EAAMzQ,OAAQC,GAAK,EAAG,CACvD,IAAIqR,EAAOb,EAAMxQ,GACb0Q,EAAQX,EAAUsB,EAAM,EAAG,GAC3BV,EAAOZ,EAAUsB,GAAO,GAC5B,IAEa,MAAVX,GAA2B,MAAVA,GAA2B,MAAVA,GACtB,MAATC,GAAyB,MAATA,GAAyB,MAATA,IAElCD,IAAUC,EAEb,MAAM,IAAIrI,EAAa,wDASxB,GAPa,gBAAT+I,GAA2BD,IAC9BD,GAAqB,GAMlBzB,EAAO1C,EAFXkE,EAAoB,KADpBD,GAAqB,IAAMI,GACmB,KAG7CpS,EAAQ+N,EAAWkE,QACb,GAAa,MAATjS,EAAe,CACzB,KAAMoS,KAAQpS,GAAQ,CACrB,IAAKuI,EACJ,MAAM,IAAII,EAAW,sBAAwBhE,EAAO,+CAErD,MACD,CACA,GAAIqI,GAAUjM,EAAI,GAAMwQ,EAAMzQ,OAAQ,CACrC,IAAI+I,EAAOmD,EAAMhN,EAAOoS,GAWvBpS,GAVDmS,IAAUtI,IASG,QAASA,KAAU,kBAAmBA,EAAKwD,KAC/CxD,EAAKwD,IAELrN,EAAMoS,EAEhB,MACCD,EAAQ1B,EAAOzQ,EAAOoS,GACtBpS,EAAQA,EAAMoS,GAGXD,IAAUD,IACbnE,EAAWkE,GAAqBjS,EAElC,CACD,CACA,OAAOA,CACR,qCCpWA,IAEIgN,EAFe,EAAQ,KAEf9E,CAAa,qCAAqC,GAE9D,GAAI8E,EACH,IACCA,EAAM,GAAI,SACX,CAAE,MAAO7M,GAER6M,EAAQ,IACT,CAGD3E,EAAOC,QAAU0E,iCCXjB,IACI+D,EAAQ9P,MAAMO,UAAUuP,MACxB5G,EAAQ5I,OAAOC,UAAUC,SAG7B4G,EAAOC,QAAU,SAAckD,GAC3B,IAAIC,EAAS5I,KACb,GAAsB,oBAAX4I,GAJA,sBAIyBtB,EAAMxI,KAAK8J,GAC3C,MAAM,IAAIP,UARE,kDAQwBO,GAyBxC,IAvBA,IAEIC,EAFAC,EAAOoF,EAAMpP,KAAKwH,UAAW,GAqB7B4C,EAAcjE,KAAKsD,IAAI,EAAGK,EAAO3K,OAAS6K,EAAK7K,QAC/CkL,EAAY,GACPjL,EAAI,EAAGA,EAAIgL,EAAahL,IAC7BiL,EAAUjH,KAAK,IAAMhE,GAKzB,GAFA2K,EAAQO,SAAS,SAAU,oBAAsBD,EAAUnI,KAAK,KAAO,4CAA/DoI,EAxBK,WACT,GAAIpJ,gBAAgB6I,EAAO,CACvB,IAAIrL,EAASoL,EAAOjL,MAChBqC,KACA8I,EAAKvB,OAAO2G,EAAMpP,KAAKwH,aAE3B,OAAI5H,OAAOlB,KAAYA,EACZA,EAEJwC,IACX,CACI,OAAO4I,EAAOjL,MACVgL,EACAG,EAAKvB,OAAO2G,EAAMpP,KAAKwH,YAGnC,IAUIsC,EAAOjK,UAAW,CAClB,IAAI6K,EAAQ,WAAkB,EAC9BA,EAAM7K,UAAYiK,EAAOjK,UACzBkK,EAAMlK,UAAY,IAAI6K,EACtBA,EAAM7K,UAAY,IACtB,CAEA,OAAOkK,CACX,qCCjDA,IAAIY,EAAiB,EAAQ,MAE7BjE,EAAOC,QAAU2D,SAASzK,UAAUiH,MAAQ6D,qCCF5C,IAAIC,EAEAlD,EAAe4B,YACf4B,EAAYZ,SACZtD,EAAauC,UAGb4B,EAAwB,SAAUC,GACrC,IACC,OAAOF,EAAU,yBAA2BE,EAAmB,iBAAxDF,EACR,CAAE,MAAO1M,GAAI,CACd,EAEI6M,EAAQzL,OAAO0L,yBACnB,GAAID,EACH,IACCA,EAAM,CAAC,EAAG,GACX,CAAE,MAAO7M,GACR6M,EAAQ,IACT,CAGD,IAAIE,EAAiB,WACpB,MAAM,IAAIvE,CACX,EACIwE,EAAiBH,EACjB,WACF,IAGC,OAAOE,CACR,CAAE,MAAOE,GACR,IAEC,OAAOJ,EAAM7D,UAAW,UAAUkE,GACnC,CAAE,MAAOC,GACR,OAAOJ,CACR,CACD,CACD,CAbE,GAcAA,EAECjD,EAAa,EAAQ,KAAR,GAEbuD,EAAWjM,OAAOkM,gBAAkB,SAAUC,GAAK,OAAOA,EAAEC,SAAW,EAEvEC,EAAY,CAAC,EAEbC,EAAmC,qBAAfC,WAA6BvB,EAAYiB,EAASM,YAEtEC,EAAa,CAChB,mBAA8C,qBAAnBC,eAAiCzB,EAAYyB,eACxE,UAAW/M,MACX,gBAAwC,qBAAhBgN,YAA8B1B,EAAY0B,YAClE,2BAA4BhE,EAAauD,EAAS,GAAGtD,OAAOgE,aAAe3B,EAC3E,mCAAoCA,EACpC,kBAAmBqB,EACnB,mBAAoBA,EACpB,2BAA4BA,EAC5B,2BAA4BA,EAC5B,YAAgC,qBAAZO,QAA0B5B,EAAY4B,QAC1D,WAA8B,qBAAXC,OAAyB7B,EAAY6B,OACxD,kBAA4C,qBAAlBC,cAAgC9B,EAAY8B,cACtE,mBAA8C,qBAAnBC,eAAiC/B,EAAY+B,eACxE,YAAaC,QACb,aAAkC,qBAAbC,SAA2BjC,EAAYiC,SAC5D,SAAUC,KACV,cAAeC,UACf,uBAAwBC,mBACxB,cAAeC,UACf,uBAAwBC,mBACxB,UAAW1L,MACX,SAAU2L,KACV,cAAehE,UACf,iBAA0C,qBAAjBiE,aAA+BxC,EAAYwC,aACpE,iBAA0C,qBAAjBC,aAA+BzC,EAAYyC,aACpE,yBAA0D,qBAAzBC,qBAAuC1C,EAAY0C,qBACpF,aAAcpC,EACd,sBAAuBe,EACvB,cAAoC,qBAAdsB,UAA4B3C,EAAY2C,UAC9D,eAAsC,qBAAfC,WAA6B5C,EAAY4C,WAChE,eAAsC,qBAAfC,WAA6B7C,EAAY6C,WAChE,aAAcC,SACd,UAAWC,MACX,sBAAuBrF,EAAauD,EAASA,EAAS,GAAGtD,OAAOgE,cAAgB3B,EAChF,SAA0B,kBAATnJ,KAAoBA,KAAOmJ,EAC5C,QAAwB,qBAARgD,IAAsBhD,EAAYgD,IAClD,yBAAyC,qBAARA,KAAwBtF,EAAyBuD,GAAS,IAAI+B,KAAMrF,OAAOgE,aAAtC3B,EACtE,SAAUzE,KACV,WAAY0H,OACZ,WAAYjO,OACZ,eAAgBkO,WAChB,aAAcC,SACd,YAAgC,qBAAZ9P,QAA0B2M,EAAY3M,QAC1D,UAA4B,qBAAV+P,MAAwBpD,EAAYoD,MACtD,eAAgB5E,WAChB,mBAAoBC,eACpB,YAAgC,qBAAZ4E,QAA0BrD,EAAYqD,QAC1D,WAAYzO,OACZ,QAAwB,qBAAR8E,IAAsBsG,EAAYtG,IAClD,yBAAyC,qBAARA,KAAwBgE,EAAyBuD,GAAS,IAAIvH,KAAMiE,OAAOgE,aAAtC3B,EACtE,sBAAoD,qBAAtBsD,kBAAoCtD,EAAYsD,kBAC9E,WAAYC,OACZ,4BAA6B7F,EAAauD,EAAS,GAAGtD,OAAOgE,aAAe3B,EAC5E,WAAYtC,EAAaC,OAASqC,EAClC,gBAAiBlD,EACjB,mBAAoB8D,EACpB,eAAgBU,EAChB,cAAelF,EACf,eAAsC,qBAAfmF,WAA6BvB,EAAYuB,WAChE,sBAAoD,qBAAtBiC,kBAAoCxD,EAAYwD,kBAC9E,gBAAwC,qBAAhBC,YAA8BzD,EAAYyD,YAClE,gBAAwC,qBAAhBC,YAA8B1D,EAAY0D,YAClE,aAAc9E,SACd,YAAgC,qBAAZ+E,QAA0B3D,EAAY2D,QAC1D,YAAgC,qBAAZC,QAA0B5D,EAAY4D,QAC1D,YAAgC,qBAAZC,QAA0B7D,EAAY6D,SAG3D,IACC,KAAK7L,KACN,CAAE,MAAOpE,GAER,IAAIkQ,EAAa7C,EAASA,EAASrN,IACnC4N,EAAW,qBAAuBsC,CACnC,CAEA,IAAIC,EAAS,SAASA,EAAO3L,GAC5B,IAAI3E,EACJ,GAAa,oBAAT2E,EACH3E,EAAQ8M,EAAsB,6BACxB,GAAa,wBAATnI,EACV3E,EAAQ8M,EAAsB,wBACxB,GAAa,6BAATnI,EACV3E,EAAQ8M,EAAsB,8BACxB,GAAa,qBAATnI,EAA6B,CACvC,IAAIG,EAAKwL,EAAO,4BACZxL,IACH9E,EAAQ8E,EAAGtD,UAEb,MAAO,GAAa,6BAATmD,EAAqC,CAC/C,IAAI4L,EAAMD,EAAO,oBACbC,IACHvQ,EAAQwN,EAAS+C,EAAI/O,WAEvB,CAIA,OAFAuM,EAAWpJ,GAAQ3E,EAEZA,CACR,EAEIwQ,EAAiB,CACpB,yBAA0B,CAAC,cAAe,aAC1C,mBAAoB,CAAC,QAAS,aAC9B,uBAAwB,CAAC,QAAS,YAAa,WAC/C,uBAAwB,CAAC,QAAS,YAAa,WAC/C,oBAAqB,CAAC,QAAS,YAAa,QAC5C,sBAAuB,CAAC,QAAS,YAAa,UAC9C,2BAA4B,CAAC,gBAAiB,aAC9C,mBAAoB,CAAC,yBAA0B,aAC/C,4BAA6B,CAAC,yBAA0B,YAAa,aACrE,qBAAsB,CAAC,UAAW,aAClC,sBAAuB,CAAC,WAAY,aACpC,kBAAmB,CAAC,OAAQ,aAC5B,mBAAoB,CAAC,QAAS,aAC9B,uBAAwB,CAAC,YAAa,aACtC,0BAA2B,CAAC,eAAgB,aAC5C,0BAA2B,CAAC,eAAgB,aAC5C,sBAAuB,CAAC,WAAY,aACpC,cAAe,CAAC,oBAAqB,aACrC,uBAAwB,CAAC,oBAAqB,YAAa,aAC3D,uBAAwB,CAAC,YAAa,aACtC,wBAAyB,CAAC,aAAc,aACxC,wBAAyB,CAAC,aAAc,aACxC,cAAe,CAAC,OAAQ,SACxB,kBAAmB,CAAC,OAAQ,aAC5B,iBAAkB,CAAC,MAAO,aAC1B,oBAAqB,CAAC,SAAU,aAChC,oBAAqB,CAAC,SAAU,aAChC,sBAAuB,CAAC,SAAU,YAAa,YAC/C,qBAAsB,CAAC,SAAU,YAAa,WAC9C,qBAAsB,CAAC,UAAW,aAClC,sBAAuB,CAAC,UAAW,YAAa,QAChD,gBAAiB,CAAC,UAAW,OAC7B,mBAAoB,CAAC,UAAW,UAChC,oBAAqB,CAAC,UAAW,WACjC,wBAAyB,CAAC,aAAc,aACxC,4BAA6B,CAAC,iBAAkB,aAChD,oBAAqB,CAAC,SAAU,aAChC,iBAAkB,CAAC,MAAO,aAC1B,+BAAgC,CAAC,oBAAqB,aACtD,oBAAqB,CAAC,SAAU,aAChC,oBAAqB,CAAC,SAAU,aAChC,yBAA0B,CAAC,cAAe,aAC1C,wBAAyB,CAAC,aAAc,aACxC,uBAAwB,CAAC,YAAa,aACtC,wBAAyB,CAAC,aAAc,aACxC,+BAAgC,CAAC,oBAAqB,aACtD,yBAA0B,CAAC,cAAe,aAC1C,yBAA0B,CAAC,cAAe,aAC1C,sBAAuB,CAAC,WAAY,aACpC,qBAAsB,CAAC,UAAW,aAClC,qBAAsB,CAAC,UAAW,cAG/B/H,EAAO,EAAQ,MACfgI,EAAS,EAAQ,MACjBC,EAAUjI,EAAK9G,KAAKsK,SAAStK,KAAMV,MAAMO,UAAU4I,QACnDuG,EAAelI,EAAK9G,KAAKsK,SAASzL,MAAOS,MAAMO,UAAUoP,QACzDC,EAAWpI,EAAK9G,KAAKsK,SAAStK,KAAMmO,OAAOtO,UAAUgF,SACrDsK,EAAYrI,EAAK9G,KAAKsK,SAAStK,KAAMmO,OAAOtO,UAAUuP,OACtDC,EAAQvI,EAAK9G,KAAKsK,SAAStK,KAAMR,OAAOK,UAAUyP,MAGlDC,EAAa,qGACbC,EAAe,WAiBfC,EAAmB,SAA0BzM,EAAM4D,GACtD,IACI8I,EADAC,EAAgB3M,EAOpB,GALI8L,EAAOD,EAAgBc,KAE1BA,EAAgB,KADhBD,EAAQb,EAAec,IACK,GAAK,KAG9Bb,EAAO1C,EAAYuD,GAAgB,CACtC,IAAItR,EAAQ+N,EAAWuD,GAIvB,GAHItR,IAAU4N,IACb5N,EAAQsQ,EAAOgB,IAEK,qBAAVtR,IAA0BuI,EACpC,MAAM,IAAII,EAAW,aAAehE,EAAO,wDAG5C,MAAO,CACN0M,MAAOA,EACP1M,KAAM2M,EACNtR,MAAOA,EAET,CAEA,MAAM,IAAIqJ,EAAa,aAAe1E,EAAO,mBAC9C,EAEA0D,EAAOC,QAAU,SAAsB3D,EAAM4D,GAC5C,GAAoB,kBAAT5D,GAAqC,IAAhBA,EAAK7D,OACpC,MAAM,IAAI6H,EAAW,6CAEtB,GAAIQ,UAAUrI,OAAS,GAA6B,mBAAjByH,EAClC,MAAM,IAAII,EAAW,6CAGtB,GAAmC,OAA/BqI,EAAM,cAAerM,GACxB,MAAM,IAAI0E,EAAa,sFAExB,IAAIkI,EAtDc,SAAsBC,GACxC,IAAIC,EAAQX,EAAUU,EAAQ,EAAG,GAC7BE,EAAOZ,EAAUU,GAAS,GAC9B,GAAc,MAAVC,GAA0B,MAATC,EACpB,MAAM,IAAIrI,EAAa,kDACjB,GAAa,MAATqI,GAA0B,MAAVD,EAC1B,MAAM,IAAIpI,EAAa,kDAExB,IAAIhJ,EAAS,GAIb,OAHAwQ,EAASW,EAAQN,GAAY,SAAUS,EAAOC,EAAQC,EAAOC,GAC5DzR,EAAOA,EAAOS,QAAU+Q,EAAQhB,EAASiB,EAAWX,EAAc,MAAQS,GAAUD,CACrF,IACOtR,CACR,CAyCa0R,CAAapN,GACrBqN,EAAoBT,EAAMzQ,OAAS,EAAIyQ,EAAM,GAAK,GAElD/I,EAAY4I,EAAiB,IAAMY,EAAoB,IAAKzJ,GAC5D0J,EAAoBzJ,EAAU7D,KAC9B3E,EAAQwI,EAAUxI,MAClBkS,GAAqB,EAErBb,EAAQ7I,EAAU6I,MAClBA,IACHW,EAAoBX,EAAM,GAC1BV,EAAaY,EAAOb,EAAQ,CAAC,EAAG,GAAIW,KAGrC,IAAK,IAAItQ,EAAI,EAAGoR,GAAQ,EAAMpR,EAAIwQ,EAAMzQ,OAAQC,GAAK,EAAG,CACvD,IAAIqR,EAAOb,EAAMxQ,GACb0Q,EAAQX,EAAUsB,EAAM,EAAG,GAC3BV,EAAOZ,EAAUsB,GAAO,GAC5B,IAEa,MAAVX,GAA2B,MAAVA,GAA2B,MAAVA,GACtB,MAATC,GAAyB,MAATA,GAAyB,MAATA,IAElCD,IAAUC,EAEb,MAAM,IAAIrI,EAAa,wDASxB,GAPa,gBAAT+I,GAA2BD,IAC9BD,GAAqB,GAMlBzB,EAAO1C,EAFXkE,EAAoB,KADpBD,GAAqB,IAAMI,GACmB,KAG7CpS,EAAQ+N,EAAWkE,QACb,GAAa,MAATjS,EAAe,CACzB,KAAMoS,KAAQpS,GAAQ,CACrB,IAAKuI,EACJ,MAAM,IAAII,EAAW,sBAAwBhE,EAAO,+CAErD,MACD,CACA,GAAIqI,GAAUjM,EAAI,GAAMwQ,EAAMzQ,OAAQ,CACrC,IAAI+I,EAAOmD,EAAMhN,EAAOoS,GAWvBpS,GAVDmS,IAAUtI,IASG,QAASA,KAAU,kBAAmBA,EAAKwD,KAC/CxD,EAAKwD,IAELrN,EAAMoS,EAEhB,MACCD,EAAQ1B,EAAOzQ,EAAOoS,GACtBpS,EAAQA,EAAMoS,GAGXD,IAAUD,IACbnE,EAAWkE,GAAqBjS,EAElC,CACD,CACA,OAAOA,CACR,oCCrVA,IAEI+I,EAFe,EAAQ,KAELb,CAAa,2BAA2B,GAE1DmK,EAAyB,WAC5B,GAAItJ,EACH,IAEC,OADAA,EAAgB,CAAC,EAAG,IAAK,CAAE/I,MAAO,KAC3B,CACR,CAAE,MAAOG,GAER,OAAO,CACR,CAED,OAAO,CACR,EAEAkS,EAAuBC,wBAA0B,WAEhD,IAAKD,IACJ,OAAO,KAER,IACC,OAA8D,IAAvDtJ,EAAgB,GAAI,SAAU,CAAE/I,MAAO,IAAKc,MACpD,CAAE,MAAOX,GAER,OAAO,CACR,CACD,EAEAkI,EAAOC,QAAU+J,iCC5BjB,IACItB,EAAQ9P,MAAMO,UAAUuP,MACxB5G,EAAQ5I,OAAOC,UAAUC,SAG7B4G,EAAOC,QAAU,SAAckD,GAC3B,IAAIC,EAAS5I,KACb,GAAsB,oBAAX4I,GAJA,sBAIyBtB,EAAMxI,KAAK8J,GAC3C,MAAM,IAAIP,UARE,kDAQwBO,GAyBxC,IAvBA,IAEIC,EAFAC,EAAOoF,EAAMpP,KAAKwH,UAAW,GAqB7B4C,EAAcjE,KAAKsD,IAAI,EAAGK,EAAO3K,OAAS6K,EAAK7K,QAC/CkL,EAAY,GACPjL,EAAI,EAAGA,EAAIgL,EAAahL,IAC7BiL,EAAUjH,KAAK,IAAMhE,GAKzB,GAFA2K,EAAQO,SAAS,SAAU,oBAAsBD,EAAUnI,KAAK,KAAO,4CAA/DoI,EAxBK,WACT,GAAIpJ,gBAAgB6I,EAAO,CACvB,IAAIrL,EAASoL,EAAOjL,MAChBqC,KACA8I,EAAKvB,OAAO2G,EAAMpP,KAAKwH,aAE3B,OAAI5H,OAAOlB,KAAYA,EACZA,EAEJwC,IACX,CACI,OAAO4I,EAAOjL,MACVgL,EACAG,EAAKvB,OAAO2G,EAAMpP,KAAKwH,YAGnC,IAUIsC,EAAOjK,UAAW,CAClB,IAAI6K,EAAQ,WAAkB,EAC9BA,EAAM7K,UAAYiK,EAAOjK,UACzBkK,EAAMlK,UAAY,IAAI6K,EACtBA,EAAM7K,UAAY,IACtB,CAEA,OAAOkK,CACX,qCCjDA,IAAIY,EAAiB,EAAQ,MAE7BjE,EAAOC,QAAU2D,SAASzK,UAAUiH,MAAQ6D,qCCF5C,IAAIC,EAEAlD,EAAe4B,YACf4B,EAAYZ,SACZtD,EAAauC,UAGb4B,EAAwB,SAAUC,GACrC,IACC,OAAOF,EAAU,yBAA2BE,EAAmB,iBAAxDF,EACR,CAAE,MAAO1M,GAAI,CACd,EAEI6M,EAAQzL,OAAO0L,yBACnB,GAAID,EACH,IACCA,EAAM,CAAC,EAAG,GACX,CAAE,MAAO7M,GACR6M,EAAQ,IACT,CAGD,IAAIE,EAAiB,WACpB,MAAM,IAAIvE,CACX,EACIwE,EAAiBH,EACjB,WACF,IAGC,OAAOE,CACR,CAAE,MAAOE,GACR,IAEC,OAAOJ,EAAM7D,UAAW,UAAUkE,GACnC,CAAE,MAAOC,GACR,OAAOJ,CACR,CACD,CACD,CAbE,GAcAA,EAECjD,EAAa,EAAQ,KAAR,GAEbuD,EAAWjM,OAAOkM,gBAAkB,SAAUC,GAAK,OAAOA,EAAEC,SAAW,EAEvEC,EAAY,CAAC,EAEbC,EAAmC,qBAAfC,WAA6BvB,EAAYiB,EAASM,YAEtEC,EAAa,CAChB,mBAA8C,qBAAnBC,eAAiCzB,EAAYyB,eACxE,UAAW/M,MACX,gBAAwC,qBAAhBgN,YAA8B1B,EAAY0B,YAClE,2BAA4BhE,EAAauD,EAAS,GAAGtD,OAAOgE,aAAe3B,EAC3E,mCAAoCA,EACpC,kBAAmBqB,EACnB,mBAAoBA,EACpB,2BAA4BA,EAC5B,2BAA4BA,EAC5B,YAAgC,qBAAZO,QAA0B5B,EAAY4B,QAC1D,WAA8B,qBAAXC,OAAyB7B,EAAY6B,OACxD,YAAaG,QACb,aAAkC,qBAAbC,SAA2BjC,EAAYiC,SAC5D,SAAUC,KACV,cAAeC,UACf,uBAAwBC,mBACxB,cAAeC,UACf,uBAAwBC,mBACxB,UAAW1L,MACX,SAAU2L,KACV,cAAehE,UACf,iBAA0C,qBAAjBiE,aAA+BxC,EAAYwC,aACpE,iBAA0C,qBAAjBC,aAA+BzC,EAAYyC,aACpE,yBAA0D,qBAAzBC,qBAAuC1C,EAAY0C,qBACpF,aAAcpC,EACd,sBAAuBe,EACvB,cAAoC,qBAAdsB,UAA4B3C,EAAY2C,UAC9D,eAAsC,qBAAfC,WAA6B5C,EAAY4C,WAChE,eAAsC,qBAAfC,WAA6B7C,EAAY6C,WAChE,aAAcC,SACd,UAAWC,MACX,sBAAuBrF,EAAauD,EAASA,EAAS,GAAGtD,OAAOgE,cAAgB3B,EAChF,SAA0B,kBAATnJ,KAAoBA,KAAOmJ,EAC5C,QAAwB,qBAARgD,IAAsBhD,EAAYgD,IAClD,yBAAyC,qBAARA,KAAwBtF,EAAyBuD,GAAS,IAAI+B,KAAMrF,OAAOgE,aAAtC3B,EACtE,SAAUzE,KACV,WAAY0H,OACZ,WAAYjO,OACZ,eAAgBkO,WAChB,aAAcC,SACd,YAAgC,qBAAZ9P,QAA0B2M,EAAY3M,QAC1D,UAA4B,qBAAV+P,MAAwBpD,EAAYoD,MACtD,eAAgB5E,WAChB,mBAAoBC,eACpB,YAAgC,qBAAZ4E,QAA0BrD,EAAYqD,QAC1D,WAAYzO,OACZ,QAAwB,qBAAR8E,IAAsBsG,EAAYtG,IAClD,yBAAyC,qBAARA,KAAwBgE,EAAyBuD,GAAS,IAAIvH,KAAMiE,OAAOgE,aAAtC3B,EACtE,sBAAoD,qBAAtBsD,kBAAoCtD,EAAYsD,kBAC9E,WAAYC,OACZ,4BAA6B7F,EAAauD,EAAS,GAAGtD,OAAOgE,aAAe3B,EAC5E,WAAYtC,EAAaC,OAASqC,EAClC,gBAAiBlD,EACjB,mBAAoB8D,EACpB,eAAgBU,EAChB,cAAelF,EACf,eAAsC,qBAAfmF,WAA6BvB,EAAYuB,WAChE,sBAAoD,qBAAtBiC,kBAAoCxD,EAAYwD,kBAC9E,gBAAwC,qBAAhBC,YAA8BzD,EAAYyD,YAClE,gBAAwC,qBAAhBC,YAA8B1D,EAAY0D,YAClE,aAAc9E,SACd,YAAgC,qBAAZ+E,QAA0B3D,EAAY2D,QAC1D,YAAgC,qBAAZC,QAA0B5D,EAAY4D,QAC1D,YAAgC,qBAAZC,QAA0B7D,EAAY6D,SAGvDE,EAAS,SAASA,EAAO3L,GAC5B,IAAI3E,EACJ,GAAa,oBAAT2E,EACH3E,EAAQ8M,EAAsB,6BACxB,GAAa,wBAATnI,EACV3E,EAAQ8M,EAAsB,wBACxB,GAAa,6BAATnI,EACV3E,EAAQ8M,EAAsB,8BACxB,GAAa,qBAATnI,EAA6B,CACvC,IAAIG,EAAKwL,EAAO,4BACZxL,IACH9E,EAAQ8E,EAAGtD,UAEb,MAAO,GAAa,6BAATmD,EAAqC,CAC/C,IAAI4L,EAAMD,EAAO,oBACbC,IACHvQ,EAAQwN,EAAS+C,EAAI/O,WAEvB,CAIA,OAFAuM,EAAWpJ,GAAQ3E,EAEZA,CACR,EAEIwQ,EAAiB,CACpB,yBAA0B,CAAC,cAAe,aAC1C,mBAAoB,CAAC,QAAS,aAC9B,uBAAwB,CAAC,QAAS,YAAa,WAC/C,uBAAwB,CAAC,QAAS,YAAa,WAC/C,oBAAqB,CAAC,QAAS,YAAa,QAC5C,sBAAuB,CAAC,QAAS,YAAa,UAC9C,2BAA4B,CAAC,gBAAiB,aAC9C,mBAAoB,CAAC,yBAA0B,aAC/C,4BAA6B,CAAC,yBAA0B,YAAa,aACrE,qBAAsB,CAAC,UAAW,aAClC,sBAAuB,CAAC,WAAY,aACpC,kBAAmB,CAAC,OAAQ,aAC5B,mBAAoB,CAAC,QAAS,aAC9B,uBAAwB,CAAC,YAAa,aACtC,0BAA2B,CAAC,eAAgB,aAC5C,0BAA2B,CAAC,eAAgB,aAC5C,sBAAuB,CAAC,WAAY,aACpC,cAAe,CAAC,oBAAqB,aACrC,uBAAwB,CAAC,oBAAqB,YAAa,aAC3D,uBAAwB,CAAC,YAAa,aACtC,wBAAyB,CAAC,aAAc,aACxC,wBAAyB,CAAC,aAAc,aACxC,cAAe,CAAC,OAAQ,SACxB,kBAAmB,CAAC,OAAQ,aAC5B,iBAAkB,CAAC,MAAO,aAC1B,oBAAqB,CAAC,SAAU,aAChC,oBAAqB,CAAC,SAAU,aAChC,sBAAuB,CAAC,SAAU,YAAa,YAC/C,qBAAsB,CAAC,SAAU,YAAa,WAC9C,qBAAsB,CAAC,UAAW,aAClC,sBAAuB,CAAC,UAAW,YAAa,QAChD,gBAAiB,CAAC,UAAW,OAC7B,mBAAoB,CAAC,UAAW,UAChC,oBAAqB,CAAC,UAAW,WACjC,wBAAyB,CAAC,aAAc,aACxC,4BAA6B,CAAC,iBAAkB,aAChD,oBAAqB,CAAC,SAAU,aAChC,iBAAkB,CAAC,MAAO,aAC1B,+BAAgC,CAAC,oBAAqB,aACtD,oBAAqB,CAAC,SAAU,aAChC,oBAAqB,CAAC,SAAU,aAChC,yBAA0B,CAAC,cAAe,aAC1C,wBAAyB,CAAC,aAAc,aACxC,uBAAwB,CAAC,YAAa,aACtC,wBAAyB,CAAC,aAAc,aACxC,+BAAgC,CAAC,oBAAqB,aACtD,yBAA0B,CAAC,cAAe,aAC1C,yBAA0B,CAAC,cAAe,aAC1C,sBAAuB,CAAC,WAAY,aACpC,qBAAsB,CAAC,UAAW,aAClC,qBAAsB,CAAC,UAAW,cAG/B/H,EAAO,EAAQ,MACfgI,EAAS,EAAQ,MACjBC,EAAUjI,EAAK9G,KAAKsK,SAAStK,KAAMV,MAAMO,UAAU4I,QACnDuG,EAAelI,EAAK9G,KAAKsK,SAASzL,MAAOS,MAAMO,UAAUoP,QACzDC,EAAWpI,EAAK9G,KAAKsK,SAAStK,KAAMmO,OAAOtO,UAAUgF,SACrDsK,EAAYrI,EAAK9G,KAAKsK,SAAStK,KAAMmO,OAAOtO,UAAUuP,OAGtDG,EAAa,qGACbC,EAAe,WAiBfC,EAAmB,SAA0BzM,EAAM4D,GACtD,IACI8I,EADAC,EAAgB3M,EAOpB,GALI8L,EAAOD,EAAgBc,KAE1BA,EAAgB,KADhBD,EAAQb,EAAec,IACK,GAAK,KAG9Bb,EAAO1C,EAAYuD,GAAgB,CACtC,IAAItR,EAAQ+N,EAAWuD,GAIvB,GAHItR,IAAU4N,IACb5N,EAAQsQ,EAAOgB,IAEK,qBAAVtR,IAA0BuI,EACpC,MAAM,IAAII,EAAW,aAAehE,EAAO,wDAG5C,MAAO,CACN0M,MAAOA,EACP1M,KAAM2M,EACNtR,MAAOA,EAET,CAEA,MAAM,IAAIqJ,EAAa,aAAe1E,EAAO,mBAC9C,EAEA0D,EAAOC,QAAU,SAAsB3D,EAAM4D,GAC5C,GAAoB,kBAAT5D,GAAqC,IAAhBA,EAAK7D,OACpC,MAAM,IAAI6H,EAAW,6CAEtB,GAAIQ,UAAUrI,OAAS,GAA6B,mBAAjByH,EAClC,MAAM,IAAII,EAAW,6CAGtB,IAAI4I,EAnDc,SAAsBC,GACxC,IAAIC,EAAQX,EAAUU,EAAQ,EAAG,GAC7BE,EAAOZ,EAAUU,GAAS,GAC9B,GAAc,MAAVC,GAA0B,MAATC,EACpB,MAAM,IAAIrI,EAAa,kDACjB,GAAa,MAATqI,GAA0B,MAAVD,EAC1B,MAAM,IAAIpI,EAAa,kDAExB,IAAIhJ,EAAS,GAIb,OAHAwQ,EAASW,EAAQN,GAAY,SAAUS,EAAOC,EAAQC,EAAOC,GAC5DzR,EAAOA,EAAOS,QAAU+Q,EAAQhB,EAASiB,EAAWX,EAAc,MAAQS,GAAUD,CACrF,IACOtR,CACR,CAsCa0R,CAAapN,GACrBqN,EAAoBT,EAAMzQ,OAAS,EAAIyQ,EAAM,GAAK,GAElD/I,EAAY4I,EAAiB,IAAMY,EAAoB,IAAKzJ,GAC5D0J,EAAoBzJ,EAAU7D,KAC9B3E,EAAQwI,EAAUxI,MAClBkS,GAAqB,EAErBb,EAAQ7I,EAAU6I,MAClBA,IACHW,EAAoBX,EAAM,GAC1BV,EAAaY,EAAOb,EAAQ,CAAC,EAAG,GAAIW,KAGrC,IAAK,IAAItQ,EAAI,EAAGoR,GAAQ,EAAMpR,EAAIwQ,EAAMzQ,OAAQC,GAAK,EAAG,CACvD,IAAIqR,EAAOb,EAAMxQ,GACb0Q,EAAQX,EAAUsB,EAAM,EAAG,GAC3BV,EAAOZ,EAAUsB,GAAO,GAC5B,IAEa,MAAVX,GAA2B,MAAVA,GAA2B,MAAVA,GACtB,MAATC,GAAyB,MAATA,GAAyB,MAATA,IAElCD,IAAUC,EAEb,MAAM,IAAIrI,EAAa,wDASxB,GAPa,gBAAT+I,GAA2BD,IAC9BD,GAAqB,GAMlBzB,EAAO1C,EAFXkE,EAAoB,KADpBD,GAAqB,IAAMI,GACmB,KAG7CpS,EAAQ+N,EAAWkE,QACb,GAAa,MAATjS,EAAe,CACzB,KAAMoS,KAAQpS,GAAQ,CACrB,IAAKuI,EACJ,MAAM,IAAII,EAAW,sBAAwBhE,EAAO,+CAErD,MACD,CACA,GAAIqI,GAAUjM,EAAI,GAAMwQ,EAAMzQ,OAAQ,CACrC,IAAI+I,EAAOmD,EAAMhN,EAAOoS,GAWvBpS,GAVDmS,IAAUtI,IASG,QAASA,KAAU,kBAAmBA,EAAKwD,KAC/CxD,EAAKwD,IAELrN,EAAMoS,EAEhB,MACCD,EAAQ1B,EAAOzQ,EAAOoS,GACtBpS,EAAQA,EAAMoS,GAGXD,IAAUD,IACbnE,EAAWkE,GAAqBjS,EAElC,CACD,CACA,OAAOA,CACR,+BCvUA,IAAIuS,EAAO,CACVC,IAAK,CAAC,GAGHC,EAAUlR,OAEd8G,EAAOC,QAAU,WAChB,MAAO,CAAEqF,UAAW4E,GAAOC,MAAQD,EAAKC,OAAS,CAAE7E,UAAW,gBAAkB8E,EACjF,qCCRA,IAAIC,EAA+B,qBAAXxI,QAA0BA,OAC9CyI,EAAgB,EAAQ,MAE5BtK,EAAOC,QAAU,WAChB,MAA0B,oBAAfoK,IACW,oBAAXxI,SACsB,kBAAtBwI,EAAW,SACO,kBAAlBxI,OAAO,QAEXyI,MACR,iCCTAtK,EAAOC,QAAU,WAChB,GAAsB,oBAAX4B,QAAiE,oBAAjC3I,OAAOsJ,sBAAwC,OAAO,EACjG,GAA+B,kBAApBX,OAAOgE,SAAyB,OAAO,EAElD,IAAI3E,EAAM,CAAC,EACPqJ,EAAM1I,OAAO,QACb2I,EAAStR,OAAOqR,GACpB,GAAmB,kBAARA,EAAoB,OAAO,EAEtC,GAA4C,oBAAxCrR,OAAOC,UAAUC,SAASE,KAAKiR,GAA8B,OAAO,EACxE,GAA+C,oBAA3CrR,OAAOC,UAAUC,SAASE,KAAKkR,GAAiC,OAAO,EAY3E,IAAKD,KADLrJ,EAAIqJ,GADS,GAEDrJ,EAAO,OAAO,EAC1B,GAA2B,oBAAhBhI,OAAOP,MAAmD,IAA5BO,OAAOP,KAAKuI,GAAKzI,OAAgB,OAAO,EAEjF,GAA0C,oBAA/BS,OAAOuR,qBAAiF,IAA3CvR,OAAOuR,oBAAoBvJ,GAAKzI,OAAgB,OAAO,EAE/G,IAAIiS,EAAOxR,OAAOsJ,sBAAsBtB,GACxC,GAAoB,IAAhBwJ,EAAKjS,QAAgBiS,EAAK,KAAOH,EAAO,OAAO,EAEnD,IAAKrR,OAAOC,UAAUwR,qBAAqBrR,KAAK4H,EAAKqJ,GAAQ,OAAO,EAEpE,GAA+C,oBAApCrR,OAAO0L,yBAAyC,CAC1D,IAAIgG,EAAa1R,OAAO0L,yBAAyB1D,EAAKqJ,GACtD,GAdY,KAcRK,EAAWjT,QAA8C,IAA1BiT,EAAWlJ,WAAuB,OAAO,CAC7E,CAEA,OAAO,CACR,iCCrCA,IACIgH,EAAQ9P,MAAMO,UAAUuP,MACxB5G,EAAQ5I,OAAOC,UAAUC,SAG7B4G,EAAOC,QAAU,SAAckD,GAC3B,IAAIC,EAAS5I,KACb,GAAsB,oBAAX4I,GAJA,sBAIyBtB,EAAMxI,KAAK8J,GAC3C,MAAM,IAAIP,UARE,kDAQwBO,GAyBxC,IAvBA,IAEIC,EAFAC,EAAOoF,EAAMpP,KAAKwH,UAAW,GAqB7B4C,EAAcjE,KAAKsD,IAAI,EAAGK,EAAO3K,OAAS6K,EAAK7K,QAC/CkL,EAAY,GACPjL,EAAI,EAAGA,EAAIgL,EAAahL,IAC7BiL,EAAUjH,KAAK,IAAMhE,GAKzB,GAFA2K,EAAQO,SAAS,SAAU,oBAAsBD,EAAUnI,KAAK,KAAO,4CAA/DoI,EAxBK,WACT,GAAIpJ,gBAAgB6I,EAAO,CACvB,IAAIrL,EAASoL,EAAOjL,MAChBqC,KACA8I,EAAKvB,OAAO2G,EAAMpP,KAAKwH,aAE3B,OAAI5H,OAAOlB,KAAYA,EACZA,EAEJwC,IACX,CACI,OAAO4I,EAAOjL,MACVgL,EACAG,EAAKvB,OAAO2G,EAAMpP,KAAKwH,YAGnC,IAUIsC,EAAOjK,UAAW,CAClB,IAAI6K,EAAQ,WAAkB,EAC9BA,EAAM7K,UAAYiK,EAAOjK,UACzBkK,EAAMlK,UAAY,IAAI6K,EACtBA,EAAM7K,UAAY,IACtB,CAEA,OAAOkK,CACX,oCCjDA,IAAIY,EAAiB,EAAQ,MAE7BjE,EAAOC,QAAU2D,SAASzK,UAAUiH,MAAQ6D,qCCF5C,IAAI7D,EAAO,EAAQ,KAEnBJ,EAAOC,QAAUG,EAAK9G,KAAKsK,SAAStK,KAAMJ,OAAOC,UAAUE,mDCF3D,IAAIC,EAAOsK,SAASzK,UAAUG,KAC1BuR,EAAU3R,OAAOC,UAAUE,eAC3B+G,EAAO,EAAQ,MAGnBJ,EAAOC,QAAUG,EAAK9G,KAAKA,EAAMuR,yBCPjC,QAYMC,EAoCAC,EAWAC,EAMAC,EAOA7R,EAEA8R,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAKAC,EAOAC,EAYAC,EArGAZ,EAAe,SAASa,EAASzK,EAAKrG,GACxC,IAAIsQ,EAAUjK,IAAQmK,EAAQnK,IAAQoK,EAAUpK,IAAQqK,EAAWrK,IAAQgK,EAAYhK,GACrF,OAAOA,EAGT,IAAI0K,EACAlT,EAAI,EACJ6E,EAAI,EAER,GAAG6N,EAASlK,GAEV,IADA0K,EAAS,GACLrO,EAAE2D,EAAIzI,OAAQC,EAAE6E,EAAG7E,IACrBkT,EAAOlP,KAAKoO,EAAaa,EAASzK,EAAIxI,GAAImC,SAK5C,IAAI,IAAItB,KADRqS,EAAS,CAAC,EACK1K,EACVhI,OAAOC,UAAUE,eAAeC,KAAK4H,EAAK3H,KAC3CqS,EAAOD,EAAQpS,EAAKsB,IAAYiQ,EAAaa,EAASzK,EAAI3H,GAAMsB,IAItE,OAAO+Q,CACT,EAYIb,EAAW,SAAS5B,GACtB,OAAIqC,EAAarC,GACRA,GAETA,EAASA,EAAOhL,QAAQ,iBAAiB,SAASmL,EAAOuC,GACvD,OAAOA,EAAMA,EAAIC,cAAgB,EACnC,KAEcC,OAAO,EAAG,GAAG1N,cAAgB8K,EAAO4C,OAAO,EAC3D,EAEIf,EAAY,SAAS7B,GACvB,IAAI6C,EAAYjB,EAAS5B,GAEzB,OAAO6C,EAAUD,OAAO,EAAG,GAAGD,cAAgBE,EAAUD,OAAO,EACjE,EAEId,EAAa,SAAS9B,EAAQtO,GAChC,OA1BkB,SAASsO,EAAQtO,GAEnC,IAAIoR,GADJpR,EAAUA,GAAW,CAAC,GACEoR,WAAa,IACjCC,EAAQrR,EAAQqR,OAAS,YAE7B,OAAO/C,EAAO+C,MAAMA,GAAO1Q,KAAKyQ,EAClC,CAoBSE,CAAchD,EAAQtO,GAASwD,aACxC,EAKIjF,EAAWF,OAAOC,UAAUC,SAE5B8R,EAAc,SAAShK,GACzB,MAAuB,oBAAV,CACf,EACIiK,EAAY,SAASjK,GACvB,OAAOA,IAAQhI,OAAOgI,EACxB,EACIkK,EAAW,SAASlK,GACtB,MAA6B,kBAAtB9H,EAASE,KAAK4H,EACvB,EACImK,EAAU,SAASnK,GACrB,MAA6B,iBAAtB9H,EAASE,KAAK4H,EACvB,EACIoK,EAAY,SAASpK,GACvB,MAA6B,mBAAtB9H,EAASE,KAAK4H,EACvB,EACIqK,EAAa,SAASrK,GACxB,MAA6B,oBAAtB9H,EAASE,KAAK4H,EACvB,EAGIsK,EAAe,SAAStK,GAE1B,OADAA,GAAY,KACGA,CACjB,EAIIuK,EAAa,SAASE,EAAS9Q,GACjC,IAAIiC,EAAWjC,GAAW,YAAaA,EAAUA,EAAQuR,QAAUvR,EAEnE,MAAwB,oBAAf,EACA8Q,EAGF,SAASxC,EAAQtO,GACtB,OAAOiC,EAASqM,EAAQwC,EAAS9Q,EACnC,CACF,EAEI6Q,EAAQ,CACVX,SAAUA,EACVE,WAAYA,EACZD,UAAWA,EACXqB,YAAapB,EACbqB,aAAc,SAASnK,EAAQtH,GAC7B,OAAOiQ,EAAaW,EAAWV,EAAUlQ,GAAUsH,EACrD,EACAoK,eAAgB,SAASpK,EAAQtH,GAC/B,OAAOiQ,EAAaW,EAAWR,EAAYpQ,GAAUsH,EAAQtH,EAC/D,EACA2R,cAAe,SAASrK,EAAQtH,GAC9B,OAAOiQ,EAAaW,EAAWT,EAAWnQ,GAAUsH,EACtD,EACAsK,gBAAiB,WACf,OAAOjS,KAAK+R,eAAepU,MAAMqC,KAAMsG,UACzC,QAIY,2BAAZ,KAAY,sGClIhB,MAAM4L,EAAc,mgKAEdC,EAAe,g4FASf,EAAS,CAACvJ,EAAQwJ,KACtB,IAAK,MAAMrT,KAAOqT,EAChBxJ,EAAO7J,GAAOqT,EAAWrT,GAE3B,OAAO6J,CAAM,EAiBTyJ,EAAU,UACVC,EAAQ,QACRC,EAAQ,QACRC,EAAe,eACfC,EAAe,eACfC,EAAS,SACTC,EAAQ,QACRC,EAAS,SACTC,EAAc,cACdC,EAAa,aAQnB,SAASC,EAAcjR,EAAMkR,GAI3B,OAHMlR,KAAQkR,IACZA,EAAOlR,GAAQ,IAEVkR,EAAOlR,EAChB,CAQA,SAASmR,EAAYrP,EAAGpF,EAAOwU,GACzBxU,EAAM6T,KACR7T,EAAMgU,IAAgB,EACtBhU,EAAMiU,IAAgB,GAEpBjU,EAAM8T,KACR9T,EAAMgU,IAAgB,EACtBhU,EAAM+T,IAAS,GAEb/T,EAAMgU,KACRhU,EAAMiU,IAAgB,GAEpBjU,EAAM+T,KACR/T,EAAMiU,IAAgB,GAEpBjU,EAAMiU,KACRjU,EAAMkU,IAAU,GAEdlU,EAAMmU,KACRnU,EAAMkU,IAAU,GAElB,IAAK,MAAM9P,KAAKpE,EAAO,CACrB,MAAM0U,EAAQH,EAAcnQ,EAAGoQ,GAC3BE,EAAMC,QAAQvP,GAAK,GACrBsP,EAAMhR,KAAK0B,EAEf,CACF,CAoCA,SAASwP,EAAMC,QACC,IAAVA,IACFA,EAAQ,MAIVrT,KAAK0I,EAAI,CAAC,EAGV1I,KAAKsT,GAAK,GAEVtT,KAAKuT,GAAK,KAEVvT,KAAK4D,EAAIyP,CACX,CAMAD,EAAMJ,OAAS,CAAC,EAChBI,EAAMzU,UAAY,CAChB,OAAA6U,GACE,QAASxT,KAAK4D,CAChB,EAOA,EAAA6P,CAAGC,GACD,MAAMC,EAAQ3T,KACR4T,EAAYD,EAAMjL,EAAEgL,GAC1B,GAAIE,EACF,OAAOA,EAET,IAAK,IAAI1V,EAAI,EAAGA,EAAIyV,EAAML,GAAGrV,OAAQC,IAAK,CACxC,MAAM2V,EAAQF,EAAML,GAAGpV,GAAG,GACpB0V,EAAYD,EAAML,GAAGpV,GAAG,GAC9B,GAAI0V,GAAaC,EAAMnE,KAAKgE,GAC1B,OAAOE,CAEX,CAEA,OAAOD,EAAMJ,EACf,EAQA,GAAAO,CAAIJ,EAAOK,GAIT,YAHkB,IAAdA,IACFA,GAAY,GAEPA,EAAYL,KAAS1T,KAAK0I,IAAM1I,KAAKyT,GAAGC,EACjD,EASA,EAAAM,CAAGC,EAAQ5W,EAAMmB,EAAOwU,GACtB,IAAK,IAAI9U,EAAI,EAAGA,EAAI+V,EAAOhW,OAAQC,IACjC8B,KAAKkU,GAAGD,EAAO/V,GAAIb,EAAMmB,EAAOwU,EAEpC,EAUA,EAAAmB,CAAGC,EAAQ/W,EAAMmB,EAAOwU,GAEtB,IAAIY,EAWJ,OAZAZ,EAASA,GAAUI,EAAMJ,OAErB3V,GAAQA,EAAKqL,EACfkL,EAAYvW,GAGZuW,EAAY,IAAIR,EAAM/V,GAClBmB,GAASwU,GACXC,EAAY5V,EAAMmB,EAAOwU,IAG7BhT,KAAKsT,GAAGpR,KAAK,CAACkS,EAAQR,IACfA,CACT,EAWA,EAAAS,CAAGX,EAAOrW,EAAMmB,EAAOwU,GACrB,IAAIW,EAAQ3T,KACZ,MAAMsU,EAAMZ,EAAMzV,OAClB,IAAKqW,EACH,OAAOX,EAET,IAAK,IAAIzV,EAAI,EAAGA,EAAIoW,EAAM,EAAGpW,IAC3ByV,EAAQA,EAAMO,GAAGR,EAAMxV,IAEzB,OAAOyV,EAAMO,GAAGR,EAAMY,EAAM,GAAIjX,EAAMmB,EAAOwU,EAC/C,EA2BA,EAAAkB,CAAGR,EAAOrW,EAAMmB,EAAOwU,GACrBA,EAASA,GAAUI,EAAMJ,OACzB,MAAMW,EAAQ3T,KAGd,GAAI3C,GAAQA,EAAKqL,EAEf,OADAiL,EAAMjL,EAAEgL,GAASrW,EACVA,EAET,MAAMuG,EAAIvG,EAIV,IAAIuW,EACFW,EAAgBZ,EAAMF,GAAGC,GAU3B,GATIa,GACFX,EAAY,IAAIR,EAChB,EAAOQ,EAAUlL,EAAG6L,EAAc7L,GAClCkL,EAAUN,GAAGpR,KAAKvE,MAAMiW,EAAUN,GAAIiB,EAAcjB,IACpDM,EAAUL,GAAKgB,EAAchB,GAC7BK,EAAUhQ,EAAI2Q,EAAc3Q,GAE5BgQ,EAAY,IAAIR,EAEdxP,EAAG,CAEL,GAAIoP,EACF,GAAIY,EAAUhQ,GAA4B,kBAAhBgQ,EAAUhQ,EAAgB,CAClD,MAAM4Q,EAAW,EAxM3B,SAAuB5Q,EAAGoP,GACxB,MAAMxV,EAAS,CAAC,EAChB,IAAK,MAAMsF,KAAKkQ,EACVA,EAAOlQ,GAAGqQ,QAAQvP,IAAM,IAC1BpG,EAAOsF,IAAK,GAGhB,OAAOtF,CACT,CAgMkCiX,CAAcb,EAAUhQ,EAAGoP,GAASxU,GAC5DyU,EAAYrP,EAAG4Q,EAAUxB,EAC3B,MAAWxU,GACTyU,EAAYrP,EAAGpF,EAAOwU,GAG1BY,EAAUhQ,EAAIA,CAChB,CAGA,OADA+P,EAAMjL,EAAEgL,GAASE,EACVA,CACT,GAYF,MAAMI,EAAK,CAACL,EAAOD,EAAOrW,EAAMmB,EAAOwU,IAAWW,EAAMK,GAAGN,EAAOrW,EAAMmB,EAAOwU,GAUzEmB,EAAK,CAACR,EAAOS,EAAQ/W,EAAMmB,EAAOwU,IAAWW,EAAMQ,GAAGC,EAAQ/W,EAAMmB,EAAOwU,GAU3EqB,EAAK,CAACV,EAAOD,EAAOrW,EAAMmB,EAAOwU,IAAWW,EAAMU,GAAGX,EAAOrW,EAAMmB,EAAOwU,GAUzEkB,EAAK,CAACP,EAAOD,EAAOrW,EAAMmB,EAAOwU,IAAWW,EAAMO,GAAGR,EAAOrW,EAAMmB,EAAOwU,GAQzE0B,EAAO,OACPC,EAAQ,QAGRC,EAAY,YAGZC,EAAM,MAGNC,EAAO,OAKPC,EAAS,SAKTC,EAAe,eAGfC,EAAM,MAGNC,EAAK,KAGLC,EAAO,KAGPC,EAAY,YACZC,EAAc,cACdC,EAAmB,mBACnBC,EAAY,YACZC,EAAa,aACbC,EAAe,eACfC,EAAoB,oBACpBC,EAAa,aAGbC,EAAY,YACZC,EAAa,aACbC,EAAW,WACXC,EAAK,KACLC,EAAY,YACZC,EAAW,WACXC,EAAQ,QACRC,EAAQ,QACRC,EAAQ,QACRC,EAAS,SACTC,EAAM,MACNC,EAAS,SACTC,EAAc,cACdC,GAAS,SACTC,GAAU,UACVC,GAAO,OACPC,GAAO,OACPC,GAAQ,QACRC,GAAQ,QACRC,GAAQ,QAERC,GAAO,OACPC,GAAQ,QACRC,GAAQ,QACRC,GAAa,aAGbC,GAAU,QAGVC,GAAM,MAEZ,IAAIC,GAAkB5Y,OAAO6Y,OAAO,CACnCzM,UAAW,KACX4J,KAAMA,EACNC,MAAOA,EACPC,UAAWA,EACXC,IAAKA,EACLC,KAAMA,EACNC,OAAQA,EACRC,aAAcA,EACdC,IAAKA,EACLC,GAAIA,EACJsC,GAAIrC,EACJC,UAAWA,EACXC,YAAaA,EACbC,iBAAkBA,EAClBC,UAAWA,EACXC,WAAYA,EACZC,aAAcA,EACdC,kBAAmBA,EACnBC,WAAYA,EACZC,UAAWA,EACXC,WAAYA,EACZC,SAAUA,EACVC,GAAIA,EACJC,UAAWA,EACXC,SAAUA,EACVC,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,OAAQA,EACRC,IAAKA,EACLC,OAAQA,EACRC,YAAaA,EACbC,OAAQA,GACRC,QAASA,GACTC,KAAMA,GACNC,KAAMA,GACNC,MAAOA,GACPC,MAAOA,GACPC,MAAOA,GACPC,KAAMA,GACNC,MAAOA,GACPC,MAAOA,GACPC,WAAYA,GACZM,MAAOL,GACPC,IAAKA,KAIN,MAAMK,GAAe,QACfC,GAAS,SACTF,GAAQ,aAERG,GAAQ,KACRC,GAAQ,KAgBd,MAAML,GAAK,KACLM,GAAkB,SAClBC,GAAe,SAErB,IAAIC,GAAO,KACTC,GAAQ,KAuSV,SAASC,GAAOvE,EAAOD,EAAO9P,EAAGuU,EAAU7E,GACzC,IAAIjW,EACJ,MAAMiX,EAAMZ,EAAMzV,OAClB,IAAK,IAAIC,EAAI,EAAGA,EAAIoW,EAAM,EAAGpW,IAAK,CAChC,MAAMka,EAAO1E,EAAMxV,GACfyV,EAAMjL,EAAE0P,GACV/a,EAAOsW,EAAMjL,EAAE0P,IAEf/a,EAAO,IAAI+V,EAAM+E,GACjB9a,EAAKiW,GAAKA,EAAGpF,QACbyF,EAAMjL,EAAE0P,GAAQ/a,GAElBsW,EAAQtW,CACV,CAIA,OAHAA,EAAO,IAAI+V,EAAMxP,GACjBvG,EAAKiW,GAAKA,EAAGpF,QACbyF,EAAMjL,EAAEgL,EAAMY,EAAM,IAAMjX,EACnBA,CACT,CAQA,SAASgb,GAAWC,GAClB,MAAMC,EAAQ,GACRC,EAAQ,GACd,IAAIta,EAAI,EAER,KAAOA,EAAIoa,EAAQra,QAAQ,CACzB,IAAIwa,EAAgB,EACpB,KAHW,aAGGtF,QAAQmF,EAAQpa,EAAIua,KAAmB,GACnDA,IAGF,GAAIA,EAAgB,EAAG,CACrBF,EAAMrW,KAAKsW,EAAMxX,KAAK,KACtB,IAAI0X,EAAW7L,SAASyL,EAAQK,UAAUza,EAAGA,EAAIua,GAAgB,IACjE,KAAOC,EAAW,EAAGA,IACnBF,EAAMI,MAER1a,GAAKua,CACP,KAA0B,MAAfH,EAAQpa,IACjBqa,EAAMrW,KAAKsW,EAAMxX,KAAK,KACtB9C,MAEAsa,EAAMtW,KAAKoW,EAAQpa,IACnBA,IAEJ,CACA,OAAOqa,CACT,CAmFA,MAAMM,GAAW,CACfC,gBAAiB,OACjBC,OAAQ,KACRC,OAAQC,GACRC,WAAYD,GACZE,OAAO,EACPC,QAAS,IACTxQ,OAAQ,KACRyQ,IAAK,KACLC,UAAU,EACVC,SAAUC,IACVC,UAAW,KACXC,WAAY,KACZC,WAAY,GACZC,OAAQ,MAaV,SAASC,GAAQC,EAAMC,QACC,IAAlBA,IACFA,EAAgB,MAElB,IAAIC,EAAI,EAAO,CAAC,EAAGnB,IACfiB,IACFE,EAAI,EAAOA,EAAGF,aAAgBD,GAAUC,EAAKE,EAAIF,IAInD,MAAMG,EAAcD,EAAEL,WAChBO,EAAuB,GAC7B,IAAK,IAAIhc,EAAI,EAAGA,EAAI+b,EAAYhc,OAAQC,IACtCgc,EAAqBhY,KAAK+X,EAAY/b,GAAGoT,eAG3CtR,KAAKga,EAAIA,EACLD,IACF/Z,KAAK+Z,cAAgBA,GAEvB/Z,KAAK2Z,WAAaO,CACpB,CA+EA,SAASjB,GAAKkB,GACZ,OAAOA,CACT,CAhFAN,GAAQlb,UAAY,CAClBqb,EAAGnB,GAIHc,WAAY,GAKZ,aAAAI,CAAcK,GACZ,OAAOA,CACT,EAOA,KAAAC,CAAMhH,GACJ,OAAOrT,KAAKwK,IAAI,WAAY6I,EAAMzU,WAAYyU,EAChD,EAcA,GAAA7I,CAAIzL,EAAKub,EAAUjH,GACjB,MAAMkH,EAAyB,MAAZD,EACnB,IAAIE,EAASxa,KAAKga,EAAEjb,GACpB,OAAKyb,GAGiB,kBAAXA,GACTA,EAASnH,EAAMzP,KAAK4W,EAASA,EAAOnH,EAAMzP,GAAKiV,GAAS9Z,GAClC,oBAAXyb,GAAyBD,IAClCC,EAASA,EAAOF,EAAUjH,KAED,oBAAXmH,GAAyBD,IACzCC,EAASA,EAAOF,EAAUjH,EAAMzP,EAAGyP,IAE9BmH,GAVEA,CAWX,EAQA,MAAAC,CAAO1b,EAAKub,EAAUjH,GACpB,IAAI3M,EAAM1G,KAAKga,EAAEjb,GAIjB,MAHmB,oBAAR2H,GAAkC,MAAZ4T,IAC/B5T,EAAMA,EAAI4T,EAAUjH,EAAMzP,EAAGyP,IAExB3M,CACT,EAQA,MAAAkT,CAAOvG,GACL,MAAM+G,EAAK/G,EAAMuG,OAAO5Z,MAExB,OADiBA,KAAKwK,IAAI,SAAU,KAAM6I,IAAUrT,KAAK+Z,eACzCK,EAAI/G,EAAMzP,EAAGyP,EAC/B,GAsBF,SAASqH,GAAWvd,EAAOwd,GACzB3a,KAAK4D,EAAI,QACT5D,KAAKwC,EAAIrF,EACT6C,KAAKsX,GAAKqD,CACZ,CAyJA,SAASC,GAAiBC,EAAM9S,GAC9B,MAAM+S,UAAcJ,GAClB,WAAA1c,CAAYb,EAAOwd,GACjBI,MAAM5d,EAAOwd,GACb3a,KAAK4D,EAAIiX,CACX,EAEF,IAAK,MAAMhY,KAAKkF,EACd+S,EAAMnc,UAAUkE,GAAKkF,EAAMlF,GAG7B,OADAiY,EAAMlX,EAAIiX,EACHC,CACT,CAtJAJ,GAAW/b,UAAY,CACrBqc,QAAQ,EAKR,QAAApc,GACE,OAAOoB,KAAKwC,CACd,EAOA,MAAAyY,CAAOrI,GACL,OAAO5S,KAAKpB,UACd,EAKA,iBAAAsc,CAAkB7a,GAChB,MAAM8Z,EAAMna,KAAKpB,WACX2a,EAAWlZ,EAAQmK,IAAI,WAAY2P,EAAKna,MACxCmb,EAAY9a,EAAQmK,IAAI,SAAU2P,EAAKna,MAC7C,OAAOuZ,GAAY4B,EAAUld,OAASsb,EAAW4B,EAAUxC,UAAU,EAAGY,GAAY,SAAM4B,CAC5F,EAMA,eAAAC,CAAgB/a,GACd,OAAOA,EAAQmK,IAAI,aAAcxK,KAAKib,OAAO5a,EAAQmK,IAAI,oBAAqBxK,KAChF,EAKA,UAAAqb,GACE,OAAOrb,KAAKsX,GAAG,GAAGgE,CACpB,EAMA,QAAAC,GACE,OAAOvb,KAAKsX,GAAGtX,KAAKsX,GAAGrZ,OAAS,GAAGX,CACrC,EAUA,QAAAke,CAASC,GAIP,YAHiB,IAAbA,IACFA,EAAW5C,GAASC,iBAEf,CACL+B,KAAM7a,KAAK4D,EACXzG,MAAO6C,KAAKpB,WACZoc,OAAQhb,KAAKgb,OACbU,KAAM1b,KAAKib,OAAOQ,GAClBE,MAAO3b,KAAKqb,aACZO,IAAK5b,KAAKub,WAEd,EAKA,iBAAAM,CAAkBxb,GAChB,MAAO,CACLwa,KAAM7a,KAAK4D,EACXzG,MAAO6C,KAAKkb,kBAAkB7a,GAC9B2a,OAAQhb,KAAKgb,OACbU,KAAM1b,KAAKob,gBAAgB/a,GAC3Bsb,MAAO3b,KAAKqb,aACZO,IAAK5b,KAAKub,WAEd,EAMA,QAAAjC,CAASjZ,GACP,OAAOA,EAAQmK,IAAI,WAAYxK,KAAKpB,WAAYoB,KAClD,EAKA,MAAA4Z,CAAOvZ,GACL,MAAMgT,EAAQrT,KACR0b,EAAO1b,KAAKob,gBAAgB/a,GAC5B+Y,EAAU/Y,EAAQmK,IAAI,UAAWkR,EAAMrI,GACvCyI,EAAU9b,KAAKkb,kBAAkB7a,GACjCqZ,EAAa,CAAC,EACdD,EAAYpZ,EAAQmK,IAAI,YAAakR,EAAMrI,GAC3CzK,EAASvI,EAAQmK,IAAI,SAAUkR,EAAMrI,GACrCgG,EAAMhZ,EAAQmK,IAAI,MAAOkR,EAAMrI,GAC/B0I,EAAQ1b,EAAQoa,OAAO,aAAciB,EAAMrI,GAC3C2I,EAAiB3b,EAAQoa,OAAO,SAAUiB,EAAMrI,GActD,OAbAqG,EAAWgC,KAAOA,EACdjC,IACFC,EAAWuC,MAAQxC,GAEjB7Q,IACF8Q,EAAW9Q,OAASA,GAElByQ,IACFK,EAAWL,IAAMA,GAEf0C,GACF,EAAOrC,EAAYqC,GAEd,CACL3C,UACAM,aACAoC,UACAE,iBAEJ,GA0BF,MAAME,GAAQtB,GAAiB,QAAS,CACtCI,QAAQ,EACR,MAAAC,GACE,MAAO,UAAYjb,KAAKpB,UAC1B,IAMIud,GAAOvB,GAAiB,QAMxBwB,GAAKxB,GAAiB,MAMtByB,GAAMzB,GAAiB,MAAO,CAClCI,QAAQ,EAQR,MAAAC,CAAOrI,GAKL,YAJe,IAAXA,IACFA,EAASiG,GAASC,iBAGb9Y,KAAKsc,cAAgBtc,KAAKwC,EAAI,GAAGoQ,OAAY5S,KAAKwC,GAC3D,EAKA,WAAA8Z,GACE,MAAM3B,EAAS3a,KAAKsX,GACpB,OAAOqD,EAAO1c,QAAU,GAAK0c,EAAO,GAAG/W,IAAMgR,GAAa+F,EAAO,GAAG/W,IAAMuS,CAC5E,IA4BF,MAAMoG,GAAYC,GAAO,IAAIpJ,EAAMoJ,GA6RnC,SAASC,GAAeC,EAAOhJ,EAAOiH,GACpC,MAAMgC,EAAWhC,EAAO,GAAGW,EACrBsB,EAASjC,EAAOA,EAAO1c,OAAS,GAAGX,EAEzC,OAAO,IAAIof,EADGhJ,EAAMxF,MAAMyO,EAAUC,GACZjC,EAC1B,CAEgC,qBAAZxW,SAA2BA,SAAWA,QAAQC,KAAlE,MAIMyY,GAAO,CACXC,QAAS,KACTC,OAAQ,KACRC,WAAY,GACZC,YAAa,GACbC,cAAe,GACfC,aAAa,GAgHf,SAASC,KAEPP,GAAKC,QAlsCP,SAAgBI,QACQ,IAAlBA,IACFA,EAAgB,IAIlB,MAAMlK,EAAS,CAAC,EAChBI,EAAMJ,OAASA,EAEf,MAAMqK,EAAQ,IAAIjK,EACN,MAAR4E,KACFA,GAAOK,GAAWnG,IAEP,MAAT+F,KACFA,GAAQI,GAAWlG,IAIrB+B,EAAGmJ,EAAO,IAAKxH,GACf3B,EAAGmJ,EAAO,IAAKjI,GACflB,EAAGmJ,EAAO,IAAKhI,GACfnB,EAAGmJ,EAAO,IAAK/H,GACfpB,EAAGmJ,EAAO,IAAK9H,GACfrB,EAAGmJ,EAAO,IAAK7H,GACftB,EAAGmJ,EAAO,IAAK5H,GACfvB,EAAGmJ,EAAO,IAAK3H,GACfxB,EAAGmJ,EAAO,IAAK1H,GACfzB,EAAGmJ,EAAO,IAAKzH,GACf1B,EAAGmJ,EAAO,IAAKvH,GACf5B,EAAGmJ,EAAO,IAAKtH,GACf7B,EAAGmJ,EAAO,IAAKpH,GACf/B,EAAGmJ,EAAO,IAAKnH,GACfhC,EAAGmJ,EAAO,IAAKlH,GACfjC,EAAGmJ,EAAO,IAAKjH,GACflC,EAAGmJ,EAAO,IAAKhH,GACfnC,EAAGmJ,EAAO,IAAK/G,GACfpC,EAAGmJ,EAAO,IAAK9G,GACfrC,EAAGmJ,EAAO,IAAK7G,GACftC,EAAGmJ,EAAO,IAAK5G,IACfvC,EAAGmJ,EAAO,IAAK3G,IACfxC,EAAGmJ,EAAO,IAAK1G,IACfzC,EAAGmJ,EAAO,IAAKzG,IACf1C,EAAGmJ,EAAO,IAAKxG,IACf3C,EAAGmJ,EAAO,IAAKvG,IACf5C,EAAGmJ,EAAO,IAAKtG,IACf7C,EAAGmJ,EAAO,IAAKpG,IACf/C,EAAGmJ,EAAO,IAAKrG,IACf9C,EAAGmJ,EAAO,IAAKnG,IACfhD,EAAGmJ,EAAO,IAAKlG,IACfjD,EAAGmJ,EAAO,KAAMrH,GAChB,MAAMsH,EAAMnJ,EAAGkJ,EAAOzF,GAAO3C,EAAK,CAChC,CAAC5C,IAAU,IAEb8B,EAAGmJ,EAAK1F,GAAO0F,GAGf,MAAMC,EAAOpJ,EAAGkJ,EAAO3F,GAAchD,EAAM,CACzC,CAACpC,IAAQ,IAEX6B,EAAGoJ,EAAM7F,GAAc6F,GAGvB,MAAMC,EAAQrJ,EAAGkJ,EAAO1F,GAAQhD,EAAO,CACrC,CAACpC,IAAQ,IAEX4B,EAAGqJ,EAAO9F,IACVvD,EAAGqJ,EAAO7F,GAAQ6F,GAKlB,MAAMC,GAAKtJ,EAAGkJ,EAAOxF,GAAO3C,EAAI,CAC9B,CAACpC,IAAa,IAEhBoB,EAAGmJ,EAAO7F,GAAIrC,EAAM,CAClB,CAACrC,IAAa,IAEhBoB,EAAGuJ,GAAIjG,IACPrD,EAAGsJ,GAAI5F,GAAO4F,IAId,MAAMC,GAAQvJ,EAAGkJ,EAAO5F,GAAOL,GAAS,CACtC,CAACzE,IAAQ,IAEXwB,EAAGuJ,GAAOjG,GAAOiG,IACjBxJ,EAAGwJ,GAAO5F,GAAiB4F,IAG3B,MAAMC,GAAczJ,EAAGwJ,GAAO3F,IAC9B5D,EAAGwJ,GAAalG,GAAOiG,IAKvB,MAAME,GAAS,CAAC,CAAClG,GAAc6F,IACzBM,GAAU,CAAC,CAACnG,GAAc,MAAO,CAACC,GAAQ6F,IAChD,IAAK,IAAItf,EAAI,EAAGA,EAAI8Z,GAAK/Z,OAAQC,IAC/Bga,GAAOmF,EAAOrF,GAAK9Z,GAAI2W,EAAKH,EAAMkJ,IAEpC,IAAK,IAAI1f,EAAI,EAAGA,EAAI+Z,GAAMha,OAAQC,IAChCga,GAAOmF,EAAOpF,GAAM/Z,GAAI4W,EAAMH,EAAOkJ,IAEvC5K,EAAY4B,EAAK,CACfiJ,KAAK,EACLxL,OAAO,GACNU,GACHC,EAAY6B,EAAM,CAChBiJ,MAAM,EACNxL,OAAO,GACNS,GAKHkF,GAAOmF,EAAO,OAAQtI,EAAQL,EAAMkJ,IACpC1F,GAAOmF,EAAO,SAAUtI,EAAQL,EAAMkJ,IACtC1F,GAAOmF,EAAO,OAAQrI,EAAcN,EAAMkJ,IAC1C1F,GAAOmF,EAAO,QAASrI,EAAcN,EAAMkJ,IAC3C1F,GAAOmF,EAAO,MAAOrI,EAAcN,EAAMkJ,IACzC1F,GAAOmF,EAAO,OAAQrI,EAAcN,EAAMkJ,IAC1C3K,EAAY8B,EAAQ,CAClBnC,QAAQ,EACRN,OAAO,GACNU,GACHC,EAAY+B,EAAc,CACxBnC,aAAa,EACbP,OAAO,GACNU,GAGHkK,EAAgBA,EAAcc,MAAK,CAAClgB,EAAGC,IAAMD,EAAE,GAAKC,EAAE,GAAK,GAAK,IAChE,IAAK,IAAIG,EAAI,EAAGA,EAAIgf,EAAcjf,OAAQC,IAAK,CAC7C,MAAM+f,EAAMf,EAAchf,GAAG,GAEvBM,EADqB0e,EAAchf,GAAG,GACT,CACjC,CAAC0U,IAAS,GACR,CACF,CAACC,IAAc,GAEboL,EAAI9K,QAAQ,MAAQ,EACtB3U,EAAMkU,IAAU,EACNgF,GAAahI,KAAKuO,GAEnBrG,GAAMlI,KAAKuO,GACpBzf,EAAMgU,IAAgB,EAEtBhU,EAAM8T,IAAS,EAJf9T,EAAM6T,IAAW,EAMnBgC,EAAGgJ,EAAOY,EAAKA,EAAKzf,EACtB,CASA,OANA6V,EAAGgJ,EAAO,YAAazI,EAAW,CAChCtC,OAAO,IAIT+K,EAAM9J,GAAK,IAAIH,EAAMiE,IACd,CACLsE,MAAO0B,EACP1C,OAAQ,EAAO,CACb3H,UACCsE,IAEP,CA6hCiB4G,CAAOrB,GAAKK,eAC3B,IAAK,IAAIhf,EAAI,EAAGA,EAAI2e,GAAKG,WAAW/e,OAAQC,IAC1C2e,GAAKG,WAAW9e,GAAG,GAAG,CACpB4e,QAASD,GAAKC,UAKlBD,GAAKE,OAlaP,SAAgBoB,GACd,IAAI,OACFnL,GACEmL,EAEJ,MAAMC,EAAcpL,EAAON,OAAOnL,OAAO,CAACqO,EAAWE,EAAUC,EAAIC,EAAWC,EAAUC,EAAOG,EAAQE,EAAQE,GAAQxB,EAAKyB,GAASC,GAAMC,GAAMC,GAAOI,GAAOI,GAAKH,GAAOC,KAKrKkH,EAAiB,CAACxI,EAAYH,EAAmBF,EAAYC,EAAcE,EAAYQ,EAAOC,EAAOE,EAAKE,EAAalB,EAAkBF,EAAWC,EAAaE,EAAWuB,GAAOC,GAAOC,IAI1LsH,EAAqB,CAAC1I,EAAWC,EAAYC,EAAUE,EAAWC,EAAUC,EAAOV,EAAYa,EAAQE,EAAQE,GAAQxB,EAAKG,EAAWsB,GAASC,GAAMC,GAAMC,GAAOC,GAAOG,GAAOI,GAAKH,GAAOC,IAM7LkG,EAAQd,KACRgC,EAAYrK,EAAGmJ,EAAOnG,IAC5BlD,EAAGuK,EAAWD,EAAoBC,GAClCvK,EAAGuK,EAAWvL,EAAON,OAAQ6L,GAC7B,MAAMC,EAASjC,KACbkC,EAASlC,KACTmC,EAAcnC,KAChBvI,EAAGqJ,EAAOrK,EAAON,OAAQ8L,GACzBxK,EAAGqJ,EAAOrK,EAAOJ,OAAQ6L,GACzBzK,EAAGqJ,EAAOrK,EAAOH,YAAa6L,GAE9B1K,EAAGwK,EAAQF,EAAoBC,GAC/BvK,EAAGwK,EAAQxL,EAAON,OAAQ8L,GAC1B,MAAMG,EAAczK,EAAGsK,EAAQzI,GAE/B7B,EAAGqK,EAAWxI,EAAI4I,GAGlBzK,EAAGuK,EAAQ1I,EAAI4I,GACfzK,EAAGwK,EAAa3I,EAAI4I,GACpB,MAAMC,EAAe1K,EAAGqK,EAAWjI,GACnCtC,EAAG4K,EAAcN,EAAoBC,GACrCvK,EAAG4K,EAAc5L,EAAON,OAAQ6L,GAChC,MAAMM,EAActC,KACpBvI,EAAG2K,EAAa3L,EAAON,OAAQmM,GAC/B7K,EAAG6K,EAAa7L,EAAON,OAAQmM,GAC/B,MAAMC,EAAiB5K,EAAG2K,EAAavI,GACvCtC,EAAG8K,EAAgB9L,EAAON,OAAQmM,GAClC,MAAME,EAAUxC,GAAUL,IAC1BlI,EAAG8K,EAAgB9L,EAAO8K,IAAKiB,GAC/B/K,EAAG8K,EAAgB9L,EAAO+K,KAAMgB,GAChC7K,EAAGyK,EAAa/J,EAAWmK,GAG3B,MAAMC,EAAoB9K,EAAG2K,EAAapI,IAC1CzC,EAAGgL,EAAmBhM,EAAON,OAAQmM,GACrC7K,EAAG+K,EAAS/L,EAAON,OAAQmM,GAC3B3K,EAAG6K,EAASzI,EAAKwI,GACjB5K,EAAG6K,EAAStI,GAAQuI,GAGpB,MAAMC,EAAa/K,EAAG6K,EAAS5I,GAE/BnC,EAAGiL,EAAYjM,EAAOX,QAAS6J,IAI/B,MAAMgD,EAAehL,EAAGsK,EAAQ/H,IAC1B0I,EAAYjL,EAAGsK,EAAQlI,GAC7BtC,EAAGkL,EAAclM,EAAON,OAAQ8L,GAChCxK,EAAGmL,EAAWb,EAAoBC,GAClCvK,EAAGmL,EAAWnM,EAAON,OAAQ8L,GAC7B,MAAMY,EAAe7C,GAAUF,IAC/BrI,EAAGmL,EAAWnM,EAAO8K,IAAKsB,GAC1BpL,EAAGmL,EAAWnM,EAAO+K,KAAMqB,GAC3BpL,EAAGoL,EAAcpM,EAAON,OAAQ8L,GAChCxK,EAAGoL,EAAcd,EAAoBC,GACrCrK,EAAGkL,EAAc9I,EAAK6I,GACtBjL,EAAGkL,EAAc3I,GAAQyI,GACzBhL,EAAGkL,EAAcrJ,EAAI4I,GACrB,MAAMU,EAAoBnL,EAAGkL,EAAcjJ,GACrCmJ,EAAwB/C,GAAUF,IACxCrI,EAAGqL,EAAmBrM,EAAOX,QAASiN,GAGtC,MAAMC,EAAQhD,GAAUF,IAGlBmD,EAAejD,KAGrBvI,EAAGuL,EAAOnB,EAAamB,GACvBvL,EAAGuL,EAAOlB,EAAgBmB,GAC1BxL,EAAGwL,EAAcpB,EAAamB,GAC9BvL,EAAGwL,EAAcnB,EAAgBmB,GAIjCtL,EAAGkL,EAAcnI,GAAOsI,GACxBrL,EAAGoL,EAAuBrI,GAAOsI,GAGjC,MAAME,EAAYvL,EAAGuK,EAAQtI,GACvBuJ,EAAmBxL,EAAGwK,EAAavI,GACnCwJ,EAAwBzL,EAAGwL,EAAkBzI,IAEnD/C,EAAGyL,EAAuB1I,GAAOwI,GAGjCzL,EAAGyK,EAAQzL,EAAON,OAAQ8L,GAC1BtK,EAAGuK,EAAQnI,EAAK6I,GAChBjL,EAAGuK,EAAQhI,GAAQyI,GACnBlL,EAAG0K,EAAa1L,EAAON,OAAQ8L,GAC/BtK,EAAGwK,EAAapI,EAAK6I,GACrBjL,EAAGwK,EAAajI,GAAQyI,GAGxBlL,EAAGyL,EAAWzM,EAAON,OAAQ6M,GAC7BrL,EAAGuL,EAAWxI,GAAOsI,GAGrB,MAAMK,EAAe1L,EAAGqL,EAAOnK,GACzByK,GAAiB3L,EAAGqL,EAAOlK,GAC3ByK,GAAsB5L,EAAGqL,EAAOjK,GAChCyK,GAAe7L,EAAGqL,EAAOhK,GAE/BrB,EAAGsL,EAAcpK,EAAWwK,GAC5B1L,EAAGsL,EAAcnK,EAAawK,IAC9B3L,EAAGsL,EAAclK,EAAkBwK,IACnC5L,EAAGsL,EAAcjK,EAAWwK,IAG5B7L,EAAG0L,EAAcpK,EAAY+J,GAC7BrL,EAAG2L,GAAgBpK,EAAc8J,GACjCrL,EAAG4L,GAAqBpK,EAAmB6J,GAC3CrL,EAAG6L,GAAcpK,EAAY4J,GAC7BrL,EAAG0L,EAAcpK,EAAY+J,GAK7B,MAAMS,GAAgBzD,GAAUF,IAC1B4D,GAAkB1D,GAAUF,IAC5B6D,GAAuB3D,GAAUF,IACjC8D,GAAgB5D,GAAUF,IAChCrI,EAAG4L,EAAcxB,EAAa4B,IAC9BhM,EAAG6L,GAAgBzB,EAAa6B,IAChCjM,EAAG8L,GAAqB1B,EAAa8B,IACrClM,EAAG+L,GAAc3B,EAAa+B,IAC9B,MAAMC,GAAmB7D,KACnB8D,GAAqB9D,KACrB+D,GAA0B/D,KAC1BgE,GAAmBhE,KAoCzB,OAnCAvI,EAAG4L,EAAcvB,GACjBrK,EAAG6L,GAAgBxB,GACnBrK,EAAG8L,GAAqBzB,GACxBrK,EAAG+L,GAAc1B,GAGjBrK,EAAGgM,GAAe5B,EAAa4B,IAC/BhM,EAAGiM,GAAiB7B,EAAa6B,IACjCjM,EAAGkM,GAAsB9B,EAAa8B,IACtClM,EAAGmM,GAAe/B,EAAa+B,IAC/BnM,EAAGgM,GAAe3B,EAAgB2B,IAClChM,EAAGiM,GAAiB5B,EAAgB4B,IACpCjM,EAAGkM,GAAsB7B,EAAgB6B,IACzClM,EAAGmM,GAAe9B,EAAgB8B,IAClCnM,EAAGoM,GAAkBhC,EAAagC,IAClCpM,EAAGqM,GAAoBjC,EAAa6B,IACpCjM,EAAGsM,GAAyBlC,EAAa8B,IACzClM,EAAGuM,GAAkBnC,EAAa+B,IAClCnM,EAAGoM,GAAkB/B,EAAgB+B,IACrCpM,EAAGqM,GAAoBhC,EAAgBgC,IACvCrM,EAAGsM,GAAyBjC,EAAgBiC,IAC5CtM,EAAGuM,GAAkBlC,EAAgBkC,IAGrCrM,EAAG+L,GAAiBxK,EAAc8J,GAClCrL,EAAGgM,GAAsBxK,EAAmB6J,GAC5CrL,EAAGiM,GAAexK,EAAY4J,GAC9BrL,EAAG8L,GAAexK,EAAY+J,GAC9BrL,EAAGmM,GAAoB5K,EAAc8J,GACrCrL,EAAGoM,GAAyB5K,EAAmB6J,GAC/CrL,EAAGqM,GAAkB5K,EAAY4J,GACjCrL,EAAGkM,GAAkBzK,EAAY4J,GACjCrL,EAAGmJ,EAAOzI,EAAWwK,GACrBlL,EAAGmJ,EAAOlI,EAAMiH,IAET,CACLT,MAAO0B,EACP1C,OAAQrD,GAEZ,CAkOgBkJ,CAAO3D,GAAKC,QAAQnC,QAClC,IAAK,IAAIzc,EAAI,EAAGA,EAAI2e,GAAKI,YAAYhf,OAAQC,IAC3C2e,GAAKI,YAAY/e,GAAG,GAAG,CACrB4e,QAASD,GAAKC,QACdC,OAAQF,GAAKE,SAGjBF,GAAKM,aAAc,CACrB,CAOA,SAASsD,GAASnX,GAIhB,OAHKuT,GAAKM,aACRC,KAvOJ,SAAazB,EAAOjI,EAAOiH,GACzB,IAAIrG,EAAMqG,EAAO1c,OACbyiB,EAAS,EACTC,EAAS,GACTC,EAAa,GACjB,KAAOF,EAASpM,GAAK,CACnB,IAAIX,EAAQgI,EACRkF,EAAc,KACdjN,EAAY,KACZkN,EAAc,EACdC,EAAkB,KAClBC,GAAgB,EACpB,KAAON,EAASpM,KAASuM,EAAclN,EAAMF,GAAGkH,EAAO+F,GAAQ9c,KAG7Dgd,EAAW1e,KAAKyY,EAAO+F,MAEzB,KAAOA,EAASpM,IAAQV,EAAYiN,GAAelN,EAAMF,GAAGkH,EAAO+F,GAAQ9c,KAEzEid,EAAc,KACdlN,EAAQC,EAGJD,EAAMH,WACRwN,EAAe,EACfD,EAAkBpN,GACTqN,GAAgB,GACzBA,IAEFN,IACAI,IAEF,GAAIE,EAAe,EAIjBN,GAAUI,EACNJ,EAASpM,IACXsM,EAAW1e,KAAKyY,EAAO+F,IACvBA,SAEG,CAGDE,EAAW3iB,OAAS,IACtB0iB,EAAOze,KAAKua,GAAeN,GAAMzI,EAAOkN,IACxCA,EAAa,IAIfF,GAAUM,EACVF,GAAeE,EAGf,MAAMtE,EAAQqE,EAAgBnd,EACxBqd,EAAYtG,EAAOzM,MAAMwS,EAASI,EAAaJ,GACrDC,EAAOze,KAAKua,GAAeC,EAAOhJ,EAAOuN,GAC3C,CACF,CAMA,OAHIL,EAAW3iB,OAAS,GACtB0iB,EAAOze,KAAKua,GAAeN,GAAMzI,EAAOkN,IAEnCD,CACT,CAwKSO,CAAIrE,GAAKE,OAAOpB,MAAOrS,EA7iChC,SAAeqS,EAAOrS,GAKpB,MAAM6X,EAmER,SAAuB7X,GACrB,MAAM9L,EAAS,GACT8W,EAAMhL,EAAIrL,OAChB,IAAImjB,EAAQ,EACZ,KAAOA,EAAQ9M,GAAK,CAClB,IACI+M,EADAzS,EAAQtF,EAAIgY,WAAWF,GAEvBhJ,EAAOxJ,EAAQ,OAAUA,EAAQ,OAAUwS,EAAQ,IAAM9M,IAAQ+M,EAAS/X,EAAIgY,WAAWF,EAAQ,IAAM,OAAUC,EAAS,MAAS/X,EAAI8X,GACzI9X,EAAI4E,MAAMkT,EAAOA,EAAQ,GAC3B5jB,EAAO0E,KAAKkW,GACZgJ,GAAShJ,EAAKna,MAChB,CACA,OAAOT,CACT,CAhFmB+jB,CAAcjY,EAAI3F,QAAQ,UAAUb,GAAKA,EAAEe,iBACtD2d,EAAYL,EAASljB,OACrB0c,EAAS,GAIf,IAAI+F,EAAS,EAGTe,EAAa,EAGjB,KAAOA,EAAaD,GAAW,CAC7B,IAAI7N,EAAQgI,EACR/H,EAAY,KACZ8N,EAAc,EACdX,EAAkB,KAClBC,GAAgB,EAChBW,GAAqB,EACzB,KAAOF,EAAaD,IAAc5N,EAAYD,EAAMF,GAAG0N,EAASM,MAC9D9N,EAAQC,EAGJD,EAAMH,WACRwN,EAAe,EACfW,EAAoB,EACpBZ,EAAkBpN,GACTqN,GAAgB,IACzBA,GAAgBG,EAASM,GAAYxjB,OACrC0jB,KAEFD,GAAeP,EAASM,GAAYxjB,OACpCyiB,GAAUS,EAASM,GAAYxjB,OAC/BwjB,IAIFf,GAAUM,EACVS,GAAcE,EACdD,GAAeV,EAGfrG,EAAOzY,KAAK,CACV0B,EAAGmd,EAAgBnd,EAEnBpB,EAAG8G,EAAI4E,MAAMwS,EAASgB,EAAahB,GAEnCpF,EAAGoF,EAASgB,EAEZpkB,EAAGojB,GAEP,CAEA,OAAO/F,CACT,CAk/BqCiH,CAAM/E,GAAKC,QAAQnB,MAAOrS,GAC/D,CC7uDA,IAAIuY,GAAqB,CAKvBC,IAAK,IACLC,GAAI,IACJC,GAAI,IACJC,KAAM,OACNC,KAAM,KAEJC,GAAc,wBACdC,GAAW,cACXC,GAAQ,mBACRC,GAA4B,WAC9B,SAASA,EAAaC,GACpBviB,KAAKuiB,MAAQA,CACf,CAkBA,OAjBAD,EAAa3jB,UAAU6jB,MAAQ,SAAUC,GACvC,GAAKA,EAAL,CAGA,IAAIC,EAAUD,EAAO3T,MAAMqT,IAC3B,OAAIO,EACKzV,OAAO0V,aAAa9V,SAAS6V,EAAQ,GAAI,MAElDA,EAAUD,EAAO3T,MAAMsT,KAEdnV,OAAO0V,aAAa9V,SAAS6V,EAAQ,GAAI,MAElDA,EAAUD,EAAO3T,MAAMuT,KAEdriB,KAAKuiB,MAAMG,EAAQ,KAAO,IAAMA,EAAQ,GAAK,SADtD,CAVA,CAaF,EACOJ,CACT,CAtBgC,GAuB5BM,GAAM,YACNC,GAAQ,WACRC,GAAO,SACX,SAASC,GAAQ3K,GACf,OAAOwK,GAAIlT,KAAK0I,EAClB,CACA,SAAS4K,GAAQ5K,GACf,OAAOyK,GAAMnT,KAAK0I,EACpB,CAIA,IAAI6K,GAAgC,WAClC,SAASA,EAAiBC,EAAUC,EAAcC,QACnC,IAATA,IACFA,EAAO,cAETpjB,KAAKkjB,SAAWA,EAChBljB,KAAKmjB,aAAeA,EACpBnjB,KAAKojB,KAAOA,EACZpjB,KAAK2T,MAAQ,aACb3T,KAAKqjB,MAAQ,EACbrjB,KAAKsjB,QAAU,EACftjB,KAAK0T,MAAQ,GACb1T,KAAKohB,OAAS,EACdphB,KAAKujB,cAAgB,GACrBvjB,KAAKwjB,OAAS,CACZC,WAAY,WACV,IAAIrL,EAAOpY,KAAK0jB,OAChB,GAAa,MAATtL,GAAiBpY,KAAK2jB,kBAInB,CACL,GAAkB,eAAd3jB,KAAKojB,MAAkC,OAAThL,EAAe,CAC/C,IAAIwL,EAAM5jB,KAAKujB,cAAc1f,cACjB,QAAR+f,GAAyB,aAARA,GACnB5jB,KAAK6jB,SAET,CACA7jB,KAAK8jB,aAAa,QAClB9jB,KAAKkjB,SAASa,WAChB,MAZE/jB,KAAK8jB,aAAa,WAClB9jB,KAAKgkB,eACLhkB,KAAK6jB,SAWT,EACAI,KAAM,WACJ,IAAI7L,EAAOpY,KAAK0jB,OACZE,EAAM5jB,KAAKujB,cACF,MAATnL,GAAiBpY,KAAK2jB,kBAKN,MAATvL,GAAwB,WAARwL,GAA4B,UAARA,GAC7C5jB,KAAK6jB,UACL7jB,KAAKkjB,SAASgB,aAAalkB,KAAKmkB,kBAAoB,OAEpDnkB,KAAK6jB,UACL7jB,KAAKkjB,SAASgB,aAAa9L,KAT3BpY,KAAKkjB,SAASkB,aACdpkB,KAAK8jB,aAAa,WAClB9jB,KAAKgkB,eACLhkB,KAAK6jB,UAQT,EACAQ,QAAS,WACP,IAAIjM,EAAOpY,KAAK6jB,UACH,MAATzL,EACFpY,KAAK8jB,aAAa,yBACA,MAAT1L,EACTpY,KAAK8jB,aAAa,eACA,MAAT1L,GAAyB,MAATA,GAAgB4K,GAAQ5K,MACjDpY,KAAK8jB,aAAa,WAClB9jB,KAAKujB,cAAgB,GACrBvjB,KAAKkjB,SAASoB,gBACdtkB,KAAKukB,gBAAgBnM,GAEzB,EACAoM,sBAAuB,WACrB,IAAIpM,EAAOpY,KAAK6jB,UACH,MAATzL,GAAgC,MAAhBpY,KAAK0jB,QACvB1jB,KAAK6jB,UACL7jB,KAAK8jB,aAAa,gBAClB9jB,KAAKkjB,SAASuB,gBAGO,YADFrM,EAAK9G,cAAgBtR,KAAK0T,MAAMiF,UAAU3Y,KAAKohB,MAAOphB,KAAKohB,MAAQ,GAAG9P,gBAEvFtR,KAAK6jB,UACL7jB,KAAK6jB,UACL7jB,KAAK6jB,UACL7jB,KAAK6jB,UACL7jB,KAAK6jB,UACL7jB,KAAK6jB,UACL7jB,KAAK8jB,aAAa,WACd9jB,KAAKkjB,SAASwB,cAAc1kB,KAAKkjB,SAASwB,eAGpD,EACAC,QAAS,WAEH5B,GADO/iB,KAAK6jB,YAEd7jB,KAAK8jB,aAAa,oBAEtB,EAEAc,kBAAmB,WACjB,IAAIxM,EAAOpY,KAAK6jB,UACZd,GAAQ3K,KAGVpY,KAAK8jB,aAAa,eACd9jB,KAAKkjB,SAAS2B,qBAAqB7kB,KAAKkjB,SAAS2B,oBAAoBzM,EAAKvU,eAElF,EACAihB,YAAa,WACX,IAAI1M,EAAOpY,KAAK6jB,UACZd,GAAQ3K,GACVpY,KAAK8jB,aAAa,oBACA,MAAT1L,GACLpY,KAAKkjB,SAAS6B,YAAY/kB,KAAKkjB,SAAS6B,aAC5C/kB,KAAK8jB,aAAa,eAEd9jB,KAAKkjB,SAAS2B,qBAAqB7kB,KAAKkjB,SAAS2B,oBAAoBzM,EAAKvU,cAElF,EACAmhB,iBAAkB,WAChB,IAAI5M,EAAOpY,KAAK6jB,UAChB,IAAId,GAAQ3K,GAEL,GAAa,MAATA,EACLpY,KAAKkjB,SAAS6B,YAAY/kB,KAAKkjB,SAAS6B,aAC5C/kB,KAAK8jB,aAAa,kBACb,CACL,IAAImB,EAAe7M,EAAK9G,cAAgBtR,KAAK0T,MAAMiF,UAAU3Y,KAAKohB,MAAOphB,KAAKohB,MAAQ,GAAG9P,cACrF4T,EAA0C,WAA/BD,EAAa3T,cACxB6T,EAA0C,WAA/BF,EAAa3T,eACxB4T,GAAYC,KACdnlB,KAAK6jB,UACL7jB,KAAK6jB,UACL7jB,KAAK6jB,UACL7jB,KAAK6jB,UACL7jB,KAAK6jB,UACL7jB,KAAK6jB,WAEHqB,EACFllB,KAAK8jB,aAAa,6BACTqB,GACTnlB,KAAK8jB,aAAa,4BAEtB,CACF,EAEAsB,0BAA2B,WACzB,IAAIhN,EAAOpY,KAAK0jB,OACZX,GAAQ3K,IACVpY,KAAK8jB,aAAa,iCAClB9jB,KAAK6jB,WACa,MAATzL,GACTpY,KAAK8jB,aAAa,uCAClB9jB,KAAK6jB,WACa,MAATzL,GACTpY,KAAK8jB,aAAa,uCAClB9jB,KAAK6jB,WACa,MAATzL,IACTpY,KAAK6jB,UACD7jB,KAAKkjB,SAAS6B,YAAY/kB,KAAKkjB,SAAS6B,aAC5C/kB,KAAK8jB,aAAa,cAEtB,EAEAuB,oCAAqC,WACnC,IAAIjN,EAAOpY,KAAK6jB,UACH,MAATzL,EACFpY,KAAK8jB,aAAa,gCACA,MAAT1L,GACLpY,KAAKkjB,SAAS6B,YAAY/kB,KAAKkjB,SAAS6B,aAC5C/kB,KAAK8jB,aAAa,eAEd9jB,KAAKkjB,SAASoC,iCAAiCtlB,KAAKkjB,SAASoC,gCAAgClN,EAErG,EACAmN,oCAAqC,WACnC,IAAInN,EAAOpY,KAAK6jB,UACH,MAATzL,EACFpY,KAAK8jB,aAAa,gCACA,MAAT1L,GACLpY,KAAKkjB,SAAS6B,YAAY/kB,KAAKkjB,SAAS6B,aAC5C/kB,KAAK8jB,aAAa,eAEd9jB,KAAKkjB,SAASoC,iCAAiCtlB,KAAKkjB,SAASoC,gCAAgClN,EAErG,EACAoN,6BAA8B,WAC5B,IAAIpN,EAAOpY,KAAK6jB,UACZd,GAAQ3K,GACVpY,KAAK8jB,aAAa,4CACA,MAAT1L,GACLpY,KAAKkjB,SAAS6B,YAAY/kB,KAAKkjB,SAAS6B,aAC5C/kB,KAAK8jB,aAAa,eACA,MAAT1L,EACTpY,KAAK8jB,aAAa,uCACA,MAAT1L,GACTpY,KAAK8jB,aAAa,sCAEtB,EAEA2B,yCAA0C,WACxC,IAAIrN,EAAOpY,KAAK6jB,UACZd,GAAQ3K,KAEQ,MAATA,GACLpY,KAAKkjB,SAAS6B,YAAY/kB,KAAKkjB,SAAS6B,aAC5C/kB,KAAK8jB,aAAa,eACA,MAAT1L,EACTpY,KAAK8jB,aAAa,uCACA,MAAT1L,GACTpY,KAAK8jB,aAAa,uCAEtB,EAEA4B,oCAAqC,WACnC,IAAItN,EAAOpY,KAAK6jB,UACH,MAATzL,EACFpY,KAAK8jB,aAAa,gCACA,MAAT1L,GACLpY,KAAKkjB,SAAS6B,YAAY/kB,KAAKkjB,SAAS6B,aAC5C/kB,KAAK8jB,aAAa,eAEd9jB,KAAKkjB,SAASyC,iCAAiC3lB,KAAKkjB,SAASyC,gCAAgCvN,EAErG,EACAwN,oCAAqC,WACnC,IAAIxN,EAAOpY,KAAK6jB,UACH,MAATzL,EACFpY,KAAK8jB,aAAa,gCACA,MAAT1L,GACLpY,KAAKkjB,SAAS6B,YAAY/kB,KAAKkjB,SAAS6B,aAC5C/kB,KAAK8jB,aAAa,eAEd9jB,KAAKkjB,SAASyC,iCAAiC3lB,KAAKkjB,SAASyC,gCAAgCvN,EAErG,EACAyN,6BAA8B,WAC5B,IAAIzN,EAAOpY,KAAK6jB,UACZd,GAAQ3K,IAEQ,MAATA,IACLpY,KAAKkjB,SAAS6B,YAAY/kB,KAAKkjB,SAAS6B,aAC5C/kB,KAAK8jB,aAAa,cAEtB,EAEAgC,aAAc,WACZ,IAAI1N,EAAOpY,KAAK6jB,UACH,MAATzL,EACFpY,KAAK8jB,aAAa,oBACA,MAAT1L,GACTpY,KAAKkjB,SAAS6C,gBACd/lB,KAAK8jB,aAAa,gBAElB9jB,KAAKkjB,SAAS8C,oBAAoB5N,GAClCpY,KAAK8jB,aAAa,WAEtB,EAEAmC,iBAAkB,WAChB,IAAI7N,EAAOpY,KAAK6jB,UACH,MAATzL,EACFpY,KAAK8jB,aAAa,cACA,MAAT1L,GACTpY,KAAKkjB,SAAS6C,gBACd/lB,KAAK8jB,aAAa,gBAElB9jB,KAAKkjB,SAAS8C,oBAAoB,KAClChmB,KAAK8jB,aAAa,WAEtB,EAEAoC,QAAS,WACP,IAAI9N,EAAOpY,KAAK6jB,UACH,MAATzL,EACFpY,KAAK8jB,aAAa,kBAElB9jB,KAAKkjB,SAAS8C,oBAAoB5N,EAEtC,EACA+N,eAAgB,WACd,IAAI/N,EAAOpY,KAAK6jB,UACH,MAATzL,EACFpY,KAAK8jB,aAAa,eAElB9jB,KAAKkjB,SAAS8C,oBAAoB,IAAM5N,GACxCpY,KAAK8jB,aAAa,WAEtB,EAEAsC,WAAY,WACV,IAAIhO,EAAOpY,KAAK6jB,UACH,MAATzL,GACFpY,KAAKkjB,SAAS6C,gBACd/lB,KAAK8jB,aAAa,gBAElB9jB,KAAKkjB,SAAS8C,oBAAoB,KAAO5N,GACzCpY,KAAK8jB,aAAa,WAEtB,EAEA1K,QAAS,WACP,IAAIhB,EAAOpY,KAAK6jB,UACZd,GAAQ3K,GACVpY,KAAK8jB,aAAa,uBACA,MAAT1L,EACTpY,KAAK8jB,aAAa,uBACA,MAAT1L,GACTpY,KAAKkjB,SAASmD,YACdrmB,KAAK8jB,aAAa,eAElB9jB,KAAKukB,gBAAgBnM,EAEzB,EACAkO,WAAY,WACV,IAAIlO,EAAOpY,KAAK6jB,UACZd,GAAQ3K,IACVpY,KAAK8jB,aAAa,uBAClB9jB,KAAKujB,cAAgB,IACH,MAATnL,GACTpY,KAAK8jB,aAAa,uBAClB9jB,KAAKujB,cAAgB,IACH,MAATnL,GACTpY,KAAKkjB,SAASmD,YACdrmB,KAAK8jB,aAAa,cAClB9jB,KAAKujB,cAAgB,IAErBvjB,KAAKukB,gBAAgBnM,EAEzB,EACAmO,oBAAqB,WACnB,IAAInO,EAAOpY,KAAK0jB,OACZX,GAAQ3K,GACVpY,KAAK6jB,UAEa,MAATzL,GACTpY,KAAK8jB,aAAa,uBAClB9jB,KAAK6jB,WACa,MAATzL,GACTpY,KAAK6jB,UACL7jB,KAAKkjB,SAASmD,YACdrmB,KAAK8jB,aAAa,eACA,MAAT1L,GACTpY,KAAKkjB,SAASsD,kBAAkB,gDAChCxmB,KAAK8jB,aAAa,iBAClB9jB,KAAKkjB,SAASuD,iBACdzmB,KAAK6jB,UACL7jB,KAAKkjB,SAASwD,sBAAsBtO,KAEpCpY,KAAK8jB,aAAa,iBAClB9jB,KAAKkjB,SAASuD,iBAElB,EACAE,cAAe,WACb,IAAIvO,EAAOpY,KAAK0jB,OACZX,GAAQ3K,IACVpY,KAAK8jB,aAAa,sBAClB9jB,KAAK6jB,WACa,MAATzL,GACTpY,KAAKkjB,SAAS0D,qBAAoB,GAClC5mB,KAAKkjB,SAAS2D,uBACd7mB,KAAK6jB,UACL7jB,KAAK8jB,aAAa,wBACA,MAAT1L,GACTpY,KAAK8jB,aAAa,wBAClB9jB,KAAK6jB,WACa,MAATzL,GACTpY,KAAKkjB,SAAS0D,qBAAoB,GAClC5mB,KAAKkjB,SAAS2D,uBACd7mB,KAAK6jB,UACL7jB,KAAKkjB,SAASmD,YACdrmB,KAAK8jB,aAAa,eACA,MAAT1L,GAAyB,MAATA,GAAyB,MAATA,GACzCpY,KAAKkjB,SAASsD,kBAAkBpO,EAAO,oDACvCpY,KAAK6jB,UACL7jB,KAAKkjB,SAASwD,sBAAsBtO,KAEpCpY,KAAK6jB,UACL7jB,KAAKkjB,SAASwD,sBAAsBtO,GAExC,EACA0O,mBAAoB,WAClB,IAAI1O,EAAOpY,KAAK0jB,OACZX,GAAQ3K,GACVpY,KAAK6jB,UAEa,MAATzL,GACTpY,KAAKkjB,SAAS0D,qBAAoB,GAClC5mB,KAAKkjB,SAAS2D,uBACd7mB,KAAK6jB,UACL7jB,KAAK8jB,aAAa,wBACA,MAAT1L,GACTpY,KAAK6jB,UACL7jB,KAAK8jB,aAAa,yBACA,MAAT1L,GACTpY,KAAKkjB,SAAS0D,qBAAoB,GAClC5mB,KAAKkjB,SAAS2D,uBACd7mB,KAAK6jB,UACL7jB,KAAKkjB,SAASmD,YACdrmB,KAAK8jB,aAAa,gBAElB9jB,KAAKkjB,SAAS0D,qBAAoB,GAClC5mB,KAAKkjB,SAAS2D,uBACd7mB,KAAK8jB,aAAa,iBAClB9jB,KAAKkjB,SAASuD,iBACdzmB,KAAK6jB,UACL7jB,KAAKkjB,SAASwD,sBAAsBtO,GAExC,EACA2O,qBAAsB,WACpB,IAAI3O,EAAOpY,KAAK0jB,OACZX,GAAQ3K,GACVpY,KAAK6jB,UACa,MAATzL,GACTpY,KAAK8jB,aAAa,8BAClB9jB,KAAKkjB,SAAS0D,qBAAoB,GAClC5mB,KAAK6jB,WACa,MAATzL,GACTpY,KAAK8jB,aAAa,8BAClB9jB,KAAKkjB,SAAS0D,qBAAoB,GAClC5mB,KAAK6jB,WACa,MAATzL,GACTpY,KAAKkjB,SAAS0D,qBAAoB,GAClC5mB,KAAKkjB,SAAS2D,uBACd7mB,KAAK6jB,UACL7jB,KAAKkjB,SAASmD,YACdrmB,KAAK8jB,aAAa,gBAElB9jB,KAAK8jB,aAAa,0BAClB9jB,KAAKkjB,SAAS0D,qBAAoB,GAClC5mB,KAAK6jB,UACL7jB,KAAKkjB,SAAS8D,uBAAuB5O,GAEzC,EACA6O,2BAA4B,WAC1B,IAAI7O,EAAOpY,KAAK6jB,UACH,MAATzL,GACFpY,KAAKkjB,SAAS2D,uBACd7mB,KAAK8jB,aAAa,8BACA,MAAT1L,EACTpY,KAAKkjB,SAAS8D,uBAAuBhnB,KAAKmkB,kBAAoB,KAE9DnkB,KAAKkjB,SAAS8D,uBAAuB5O,EAEzC,EACA8O,2BAA4B,WAC1B,IAAI9O,EAAOpY,KAAK6jB,UACH,MAATzL,GACFpY,KAAKkjB,SAAS2D,uBACd7mB,KAAK8jB,aAAa,8BACA,MAAT1L,EACTpY,KAAKkjB,SAAS8D,uBAAuBhnB,KAAKmkB,kBAAoB,KAE9DnkB,KAAKkjB,SAAS8D,uBAAuB5O,EAEzC,EACA+O,uBAAwB,WACtB,IAAI/O,EAAOpY,KAAK0jB,OACZX,GAAQ3K,IACVpY,KAAKkjB,SAAS2D,uBACd7mB,KAAK6jB,UACL7jB,KAAK8jB,aAAa,wBACA,MAAT1L,GACTpY,KAAKkjB,SAAS2D,uBACd7mB,KAAK6jB,UACL7jB,KAAK8jB,aAAa,wBACA,MAAT1L,GACTpY,KAAK6jB,UACL7jB,KAAKkjB,SAAS8D,uBAAuBhnB,KAAKmkB,kBAAoB,MAC5C,MAAT/L,GACTpY,KAAKkjB,SAAS2D,uBACd7mB,KAAK6jB,UACL7jB,KAAKkjB,SAASmD,YACdrmB,KAAK8jB,aAAa,gBAElB9jB,KAAK6jB,UACL7jB,KAAKkjB,SAAS8D,uBAAuB5O,GAEzC,EACAgP,0BAA2B,WACzB,IAAIhP,EAAOpY,KAAK0jB,OACZX,GAAQ3K,IACVpY,KAAK6jB,UACL7jB,KAAK8jB,aAAa,wBACA,MAAT1L,GACTpY,KAAK6jB,UACL7jB,KAAK8jB,aAAa,wBACA,MAAT1L,GACTpY,KAAK6jB,UACL7jB,KAAKkjB,SAASmD,YACdrmB,KAAK8jB,aAAa,eAElB9jB,KAAK8jB,aAAa,sBAEtB,EAEAuD,oBAAqB,WAEN,MADFrnB,KAAK0jB,QAEd1jB,KAAK6jB,UACL7jB,KAAKkjB,SAASoE,uBACdtnB,KAAKkjB,SAASmD,YACdrmB,KAAK8jB,aAAa,eAElB9jB,KAAK8jB,aAAa,sBAEtB,EAEAyD,WAAY,WACV,IAAInP,EAAOpY,KAAK6jB,WACH,MAATzL,GAAyB,MAATA,GAAgB4K,GAAQ5K,MAC1CpY,KAAK8jB,aAAa,cAClB9jB,KAAKujB,cAAgB,GACrBvjB,KAAKkjB,SAASsE,cACdxnB,KAAKukB,gBAAgBnM,GAEzB,GAEFpY,KAAK6E,OACP,CAmFA,OAlFAoe,EAAiBtkB,UAAUkG,MAAQ,WACjC7E,KAAK8jB,aAAa,cAClB9jB,KAAK0T,MAAQ,GACb1T,KAAKujB,cAAgB,GACrBvjB,KAAKohB,MAAQ,EACbphB,KAAKqjB,KAAO,EACZrjB,KAAKsjB,OAAS,EACdtjB,KAAKkjB,SAASre,OAChB,EACAoe,EAAiBtkB,UAAUmlB,aAAe,SAAUnQ,GAClD3T,KAAK2T,MAAQA,CACf,EACAsP,EAAiBtkB,UAAU8hB,SAAW,SAAU/M,GAC9C1T,KAAK6E,QACL7E,KAAKynB,aAAa/T,GAClB1T,KAAK0nB,aACP,EACAzE,EAAiBtkB,UAAU8oB,aAAe,SAAU/T,GAElD,IADA1T,KAAK0T,OAlhBT,SAAyBA,GACvB,OAAOA,EAAM/P,QAAQmf,GAAM,KAC7B,CAghBkB6E,CAAgBjU,GACvB1T,KAAKohB,MAAQphB,KAAK0T,MAAMzV,QAAQ,CACrC,IAAI2pB,EAAU5nB,KAAKwjB,OAAOxjB,KAAK2T,OAC/B,QAAgBjK,IAAZke,EAGF,MAAM,IAAItnB,MAAM,mBAAqBN,KAAK2T,OAF1CiU,EAAQ9oB,KAAKkB,KAIjB,CACF,EACAijB,EAAiBtkB,UAAU+oB,YAAc,WACvC1nB,KAAK6nB,WACP,EACA5E,EAAiBtkB,UAAUkpB,UAAY,WAClB,SAAf7nB,KAAK2T,QACP3T,KAAKkjB,SAASkB,aACdpkB,KAAK8jB,aAAa,cAEtB,EAEAb,EAAiBtkB,UAAU+kB,KAAO,WAChC,OAAO1jB,KAAK0T,MAAMoU,OAAO9nB,KAAKohB,MAChC,EACA6B,EAAiBtkB,UAAUklB,QAAU,WACnC,IAAIzL,EAAOpY,KAAK0jB,OAQhB,OAPA1jB,KAAKohB,QACQ,OAAThJ,GACFpY,KAAKqjB,OACLrjB,KAAKsjB,OAAS,GAEdtjB,KAAKsjB,SAEAlL,CACT,EACA6K,EAAiBtkB,UAAUwlB,eAAiB,WAC1C,IAAI5I,EAAWvb,KAAK0T,MAAMP,QAAQ,IAAKnT,KAAKohB,OAC5C,IAAkB,IAAd7F,EAAJ,CAGA,IAAIkH,EAASziB,KAAK0T,MAAMxF,MAAMlO,KAAKohB,MAAO7F,GACtCwM,EAAQ/nB,KAAKmjB,aAAaX,MAAMC,GACpC,GAAIsF,EAAO,CAGT,IAFA,IAAIC,EAAQvF,EAAOxkB,OAEZ+pB,GACLhoB,KAAK6jB,UACLmE,IAIF,OADAhoB,KAAK6jB,UACEkE,CACT,CAbA,CAcF,EACA9E,EAAiBtkB,UAAUqlB,aAAe,WACxChkB,KAAKkjB,SAASmB,SAChB,EACApB,EAAiBtkB,UAAU4lB,gBAAkB,SAAUnM,GACrDpY,KAAKujB,eAAiBnL,EACtBpY,KAAKkjB,SAASqB,gBAAgBnM,EAChC,EACA6K,EAAiBtkB,UAAUglB,gBAAkB,WAC3C,IAAIC,EAAM5jB,KAAKujB,cACf,MAAe,UAARK,GAAwE,aAArD5jB,KAAK0T,MAAMiF,UAAU3Y,KAAKohB,MAAOphB,KAAKohB,MAAQ,IAA6B,UAARwC,GAAwE,aAArD5jB,KAAK0T,MAAMiF,UAAU3Y,KAAKohB,MAAOphB,KAAKohB,MAAQ,IAA6B,WAARwC,GAAyE,eAArD5jB,KAAK0T,MAAMiF,UAAU3Y,KAAKohB,MAAOphB,KAAKohB,MAAQ,EACvP,EACO6B,CACT,CAhlBoC,GAilBhCgF,GAAyB,WAC3B,SAASA,EAAU9E,EAAc9iB,QACf,IAAZA,IACFA,EAAU,CAAC,GAEbL,KAAKK,QAAUA,EACfL,KAAKqT,MAAQ,KACbrT,KAAKkoB,UAAY,EACjBloB,KAAKmoB,YAAc,EACnBnoB,KAAK2a,OAAS,GACd3a,KAAKooB,UAAY,IAAInF,GAAiBjjB,KAAMmjB,EAAc9iB,EAAQ+iB,MAClEpjB,KAAKqoB,uBAAoB3e,CAC3B,CA8JA,OA7JAue,EAAUtpB,UAAU8hB,SAAW,SAAU/M,GAGvC,OAFA1T,KAAK2a,OAAS,GACd3a,KAAKooB,UAAU3H,SAAS/M,GACjB1T,KAAK2a,MACd,EACAsN,EAAUtpB,UAAU8oB,aAAe,SAAU/T,GAG3C,OAFA1T,KAAK2a,OAAS,GACd3a,KAAKooB,UAAUX,aAAa/T,GACrB1T,KAAK2a,MACd,EACAsN,EAAUtpB,UAAU+oB,YAAc,WAGhC,OAFA1nB,KAAK2a,OAAS,GACd3a,KAAKooB,UAAUV,cACR1nB,KAAK2a,OAAO,EACrB,EACAsN,EAAUtpB,UAAUkG,MAAQ,WAC1B7E,KAAKqT,MAAQ,KACbrT,KAAKkoB,UAAY,EACjBloB,KAAKmoB,YAAc,CACrB,EACAF,EAAUtpB,UAAU2pB,QAAU,WAC5B,IAAIjV,EAAQrT,KAAKqT,MACjB,GAAc,OAAVA,EACF,MAAM,IAAI/S,MAAM,+BAElB,GAAyB,IAArBgG,UAAUrI,OACZ,OAAOoV,EAET,IAAK,IAAInV,EAAI,EAAGA,EAAIoI,UAAUrI,OAAQC,IACpC,GAAImV,EAAMwH,OAASvU,UAAUpI,GAC3B,OAAOmV,EAGX,MAAM,IAAI/S,MAAM,+BAAiC+S,EAAMwH,KACzD,EACAoN,EAAUtpB,UAAUuD,KAAO,SAAUmR,GACnCrT,KAAKqT,MAAQA,EACbrT,KAAK2a,OAAOzY,KAAKmR,EACnB,EACA4U,EAAUtpB,UAAU4pB,iBAAmB,WACrC,OAAOvoB,KAAKqoB,iBACd,EACAJ,EAAUtpB,UAAU6pB,WAAa,WAC3BxoB,KAAKK,QAAQooB,MACfzoB,KAAKsoB,UAAUG,IAAM,CACnB9M,MAAO,CACL0H,KAAMrjB,KAAKkoB,UACX5E,OAAQtjB,KAAKmoB,aAEfvM,IAAK,CACHyH,KAAMrjB,KAAKooB,UAAU/E,KACrBC,OAAQtjB,KAAKooB,UAAU9E,UAI7BtjB,KAAKkoB,UAAYloB,KAAKooB,UAAU/E,KAChCrjB,KAAKmoB,YAAcnoB,KAAKooB,UAAU9E,MACpC,EAEA2E,EAAUtpB,UAAU+lB,aAAe,WACjC1kB,KAAKkC,KAAK,CACR2Y,KAAM,UACN/Y,KAAM,IAEV,EACAmmB,EAAUtpB,UAAUkmB,oBAAsB,SAAUzM,GAClDpY,KAAKsoB,QAAQ,WAAyBxmB,MAAQsW,CAChD,EACA6P,EAAUtpB,UAAU2mB,gCAAkC,SAAUlN,GAC9D,IAAIuM,EAAU3kB,KAAKsoB,QAAQ,gBACM5e,IAA7Bib,EAAQ+D,iBACV/D,EAAQ+D,iBAAmBtQ,EAE3BuM,EAAQ+D,kBAAoBtQ,CAEhC,EACA6P,EAAUtpB,UAAUgnB,gCAAkC,SAAUvN,GAC9D,IAAIuM,EAAU3kB,KAAKsoB,QAAQ,gBACM5e,IAA7Bib,EAAQgE,iBACVhE,EAAQgE,iBAAmBvQ,EAE3BuM,EAAQgE,kBAAoBvQ,CAEhC,EACA6P,EAAUtpB,UAAUomB,WAAa,WAC/B/kB,KAAKwoB,YACP,EACAP,EAAUtpB,UAAUolB,UAAY,WAC9B/jB,KAAKkC,KAAK,CACR2Y,KAAM,QACNkN,MAAO,IAEX,EACAE,EAAUtpB,UAAUulB,aAAe,SAAU9L,GAC3CpY,KAAKsoB,QAAQ,SAAqBP,OAAS3P,CAC7C,EACA6P,EAAUtpB,UAAUylB,WAAa,WAC/BpkB,KAAKwoB,YACP,EAEAP,EAAUtpB,UAAU8lB,aAAe,WACjCzkB,KAAKkC,KAAK,CACR2Y,KAAM,UACNkN,MAAO,IAEX,EACAE,EAAUtpB,UAAUqnB,oBAAsB,SAAU5N,GAClDpY,KAAKsoB,QAAQ,WAAyBP,OAAS3P,CACjD,EACA6P,EAAUtpB,UAAUonB,cAAgB,WAClC/lB,KAAKwoB,YACP,EAEAP,EAAUtpB,UAAU0lB,QAAU,WAAa,EAC3C4D,EAAUtpB,UAAU2lB,cAAgB,WAClCtkB,KAAKkC,KAAK,CACR2Y,KAAM,WACNzB,QAAS,GACTM,WAAY,GACZkP,aAAa,GAEjB,EACAX,EAAUtpB,UAAU6oB,YAAc,WAChCxnB,KAAKkC,KAAK,CACR2Y,KAAM,SACNzB,QAAS,IAEb,EACA6O,EAAUtpB,UAAU0nB,UAAY,WAC9BrmB,KAAKwoB,YACP,EACAP,EAAUtpB,UAAU2oB,qBAAuB,WACzCtnB,KAAKsoB,QAAQ,YAA2BM,aAAc,CACxD,EAEAX,EAAUtpB,UAAU4lB,gBAAkB,SAAUnM,GAC9CpY,KAAKsoB,QAAQ,WAA2B,UAAuBlP,SAAWhB,CAC5E,EAEA6P,EAAUtpB,UAAU8nB,eAAiB,WACnCzmB,KAAKqoB,kBAAoB,CAAC,GAAI,IAAI,EACpC,EACAJ,EAAUtpB,UAAU+nB,sBAAwB,SAAUtO,GACpDpY,KAAKuoB,mBAAmB,IAAMnQ,CAChC,EACA6P,EAAUtpB,UAAUioB,oBAAsB,SAAUiC,GAClD7oB,KAAKuoB,mBAAmB,GAAKM,CAC/B,EACAZ,EAAUtpB,UAAUqoB,uBAAyB,SAAU5O,GACrDpY,KAAKuoB,mBAAmB,IAAMnQ,CAChC,EACA6P,EAAUtpB,UAAUkoB,qBAAuB,WACzC7mB,KAAKsoB,QAAQ,YAA2B5O,WAAWxX,KAAKlC,KAAKqoB,kBAC/D,EACAJ,EAAUtpB,UAAU6nB,kBAAoB,SAAUsC,GAChD9oB,KAAKsoB,UAAUS,YAAcD,CAC/B,EACOb,CACT,CA3K6B,GAiL7B,MAAMe,GAAgB,gBAChBC,GAAW,WACXC,GAAS,SACTC,GAAQ,QACRC,GAAU,UACVC,GAAU,UAOhB,SAASC,GAAYhgB,EAAKwQ,QACX,IAATA,IACFA,EAAO,CAAC,GAIV,MAAMa,EAvBR,SAAkBjH,EAAOrT,GAEvB,OADgB,IAAI4nB,GAAU,IAAI3F,GAAaT,IAAqBxhB,GACnDogB,SAAS/M,EAC5B,CAoBiB,CAASpK,GAClBigB,EAAkB,GAClBC,EAAY,GACZnpB,EAAU,IAAIwZ,GAAQC,EAAMC,IAGlC,IAAK,IAAI7b,EAAI,EAAGA,EAAIyc,EAAO1c,OAAQC,IAAK,CACtC,MAAMmV,EAAQsH,EAAOzc,GACrB,GAAImV,EAAMwH,OAASoO,GAAU,CAC3BM,EAAgBrnB,KAAKmR,GAGrB,MAAM+F,EAAU/F,EAAM+F,QAAQ9H,cAE9B,KAD8B,MAAZ8H,GAAmB/Y,EAAQsZ,WAAWxG,QAAQiG,IAAY,GAE1E,SAEF,IAAIqQ,EAAaF,EAAgBtrB,OACjCyrB,GAActQ,EAASuB,IAAUzc,EAAGqrB,GACpCrrB,GAAKqrB,EAAgBtrB,OAASwrB,EAAa,CAC7C,MAAO,GAAIpW,EAAMwH,OAASsO,GAExBI,EAAgBrnB,KAAKmR,OAChB,CAEL,MAAMsW,EAAgBC,GAAavW,EAAM0U,MAAO1nB,GAChDkpB,EAAgBrnB,KAAKvE,MAAM4rB,EAAiBI,EAC9C,CACF,CAGA,IAAK,IAAIzrB,EAAI,EAAGA,EAAIqrB,EAAgBtrB,OAAQC,IAAK,CAC/C,MAAMmV,EAAQkW,EAAgBrrB,GAC9B,OAAQmV,EAAMwH,MACZ,KAAKmO,GACHQ,EAAUtnB,KAAKmR,EAAMwW,UACrB,MACF,KAAKZ,GACH,CACE,IAAIa,EAAO,IAAMzW,EAAM+F,QACnB/F,EAAMqG,WAAWzb,OAAS,IAC5B6rB,GAAQ,IAAMC,GAAwB1W,EAAMqG,YAAY1Y,KAAK,MAE3DqS,EAAMuV,cACRkB,GAAQ,MAEVA,GAAQ,IACRN,EAAUtnB,KAAK4nB,GACf,KACF,CACF,KAAKZ,GACHM,EAAUtnB,KAAK,KAAKmR,EAAM+F,YAC1B,MACF,KAAK+P,GACHK,EAAUtnB,KAAK8nB,GAAW3W,EAAM0U,QAChC,MACF,KAAKqB,GACHI,EAAUtnB,KAAK,UAAO8nB,GAAW3W,EAAM0U,gBACvC,MACF,KAAKsB,GACH,CACE,IAAI1E,EAAU,aAAatR,EAAMvR,OAC7BuR,EAAMqV,mBACR/D,GAAW,YAAYtR,EAAMqV,qBAE3BrV,EAAMsV,mBACRhE,GAAW,KAAKtR,EAAMsV,qBAExBhE,GAAW,IACX6E,EAAUtnB,KAAKyiB,GACf,KACF,EAEN,CACA,OAAO6E,EAAUxoB,KAAK,GACxB,CAQA,SAAS4oB,GAAatgB,EAAKjJ,GACzB,MAAMsa,EAAS8F,GAAWnX,GACpB9L,EAAS,GACf,IAAK,IAAIU,EAAI,EAAGA,EAAIyc,EAAO1c,OAAQC,IAAK,CACtC,MAAMmV,EAAQsH,EAAOzc,GACL,OAAZmV,EAAMzP,GAAcvD,EAAQmK,IAAI,SAClChN,EAAO0E,KAAK,CACV2Y,KAAMoO,GACN7P,QAAS,KACTM,WAAY,GACZkP,aAAa,IAELvV,EAAM2H,QAAW3a,EAAQga,MAAMhH,GAMzC7V,EAAO0E,KAAK,CACV2Y,KAAMmO,GACNa,SAAUxpB,EAAQuZ,OAAOvG,KAP3B7V,EAAO0E,KAAK,CACV2Y,KAAMsO,GACNpB,MAAO1U,EAAMzU,YAQnB,CACA,OAAOpB,CACT,CAgBA,SAASksB,GAActQ,EAASuB,EAAQzc,EAAG+rB,GAEzC,IAAIC,EAAa,EACjB,KAAOhsB,EAAIyc,EAAO1c,QAAUisB,EAAa,GAAG,CAC1C,IAAI7W,EAAQsH,EAAOzc,GACfmV,EAAMwH,OAASoO,IAAY5V,EAAM+F,QAAQ9H,gBAAkB8H,EAE7D8Q,IACS7W,EAAMwH,OAASqO,IAAU7V,EAAM+F,QAAQ9H,gBAAkB8H,GAElE8Q,IAEFD,EAAc/nB,KAAKmR,GACnBnV,GACF,CAGA,OAAO+rB,CACT,CACA,SAASlQ,GAAcoE,GACrB,IAAI,QACF/E,EAAO,WACPM,EAAU,QACVoC,GACEqC,EACJ,MAAO,IAAI/E,KAQb,SAA4BM,GAC1B,MAAMlc,EAAS,GACf,IAAK,MAAM2sB,KAAQzQ,EAAY,CAC7B,MAAMS,EAAMT,EAAWyQ,GAAQ,GAC/B3sB,EAAO0E,KAAK,GAAGioB,MAASC,GAAWjQ,MACrC,CACA,OAAO3c,EAAOwD,KAAK,IACrB,CAfwBqpB,CAAmB3Q,MAAesQ,GAAWlO,OAAa1C,IAClF,CACA,SAAS4Q,GAAWM,GAClB,OAAOA,EAAK3mB,QAAQ,KAAM,SAASA,QAAQ,KAAM,QAAQA,QAAQ,KAAM,OACzE,CACA,SAASymB,GAAWD,GAClB,OAAOA,EAAKxmB,QAAQ,KAAM,SAC5B,CASA,SAASomB,GAAwBhO,GAC/B,MAAMwO,EAAW,GACjB,IAAK,IAAIrsB,EAAI,EAAGA,EAAI6d,EAAM9d,OAAQC,IAAK,CACrC,MAAM4D,EAAOia,EAAM7d,GAAG,GAChBf,EAAQ4e,EAAM7d,GAAG,GAAK,GAC5BqsB,EAASroB,KAAK,GAAGJ,MAASsoB,GAAWjtB,MACvC,CACA,OAAOotB,CACT,qCCr+BA,IAAIC,EAAU,EAAQ,MAClBC,EAAU,EAAQ,MAClB3W,EAAM,EAAQ,MAEd1P,EAAO,SAAc0kB,GACvB2B,GAAQ,EAAO3B,EACjB,EAEI4B,EAAiBzd,OAAOtO,UAAUgF,QAClC+N,EAAQzE,OAAOtO,UAAU+S,MAIzBiZ,EAAY,OAEZC,EAAsB,SAAUpnB,GAClC,IAAIqnB,EAAUrnB,EAAI,IACdoY,EAAMiP,EAAU,GACpB,OAAgB,KAAZA,GAA0B,IAARjP,EACb,EAEL,GAAKA,GAAOA,GAAO,KAAOiP,GAAW,IAAMA,GAAW,IACjD,EAEF,CACT,EAEIC,EAAqB,CAEvBC,YAAa,CACXC,OAAQ,SAAUxnB,GAEhB,GAAIA,EAAI,EAAK,OAAOA,EACpB,IAAIqnB,EAAUrnB,EAAI,IAClB,OAAIqnB,GAAW,GAAKA,GAAW,GAAW,EACnCA,GAAW,GAAK,EAAI,CAC7B,EACAI,gBAAiBL,EACjBM,QAAS,WAAc,OAAO,CAAG,EACjCC,SAAUP,EACVQ,OAAQ,SAAU5nB,GAAK,OAAOA,GAAK,EAAI,EAAI,CAAG,EAC9C6nB,OAAQ,SAAU7nB,GAAK,OAAa,IAANA,EAAU,EAAI,CAAG,EAC/C8nB,QAASV,EACTW,WAAY,SAAU/nB,GACpB,OAAIA,EAAI,KAAO,GAAKA,EAAI,MAAQ,GAAa,EACtCA,EAAI,IAAM,GAAKA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAM,EAAI,CAC5E,EACAgoB,MAAO,SAAUhoB,GACf,OAAU,IAANA,EAAkB,EACdA,GAAK,GAAKA,GAAK,EAAK,EAAI,CAClC,EACAioB,OAAQ,SAAUjoB,GAChB,GAAU,IAANA,EAAW,OAAO,EACtB,IAAIoY,EAAMpY,EAAI,GACd,OAAO,GAAKoY,GAAOA,GAAO,IAAMpY,EAAI,IAAM,IAAMA,EAAI,KAAO,IAAM,EAAI,CACvE,EACAkoB,UAAW,SAAUloB,GAAK,OAAQA,EAAI,KAAO,GAAKA,EAAI,MAAQ,GAAM,EAAI,CAAG,EAC3EmoB,UAAW,SAAUnoB,GACnB,IAAIqnB,EAAUrnB,EAAI,IAClB,OAAgB,IAAZqnB,EACK,EAEO,IAAZA,EACK,EAEO,IAAZA,GAA6B,IAAZA,EACZ,EAEF,CACT,EACAe,SAAU,SAAUpoB,GAClB,GAAU,IAANA,EAAW,OAAO,EACtB,IAAIqnB,EAAUrnB,EAAI,IAClB,OAAU,IAANA,GAAYqnB,GAAW,GAAKA,GAAW,GAAc,EAClD,CACT,EACAgB,UAAWjB,GAMbkB,sBAAuB,CACrBd,OAAQ,CAAC,MACTC,gBAAiB,CAAC,aAAc,aAAc,SAAU,SACxDC,QAAS,CAAC,KAAM,QAAS,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,QAAS,MACzEC,SAAU,CAAC,KAAM,SACjBE,OAAQ,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QAAS,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,MAC/GD,OAAQ,CAAC,KAAM,KAAM,SACrBE,QAAS,CAAC,KAAM,SAChBC,WAAY,CAAC,MACbC,MAAO,CAAC,KAAM,QAAS,MACvBC,OAAQ,CAAC,MACTC,UAAW,CAAC,KAAM,MAClBC,UAAW,CAAC,SACZC,SAAU,CAAC,MACXC,UAAW,CAAC,KAAM,QAiBtB,SAASE,EAAeC,EAAaC,GACnC,IAAIC,EAdN,SAAuBC,GAGrB,IAFA,IAAIC,EAAM,CAAC,EACPC,EAAiB7B,EAAQ2B,GACpBjuB,EAAI,EAAGA,EAAImuB,EAAepuB,OAAQC,GAAK,EAG9C,IAFA,IAAI2c,EAAOwR,EAAenuB,GAAG,GACzBouB,EAAQD,EAAenuB,GAAG,GACrBwK,EAAI,EAAGA,EAAI4jB,EAAMruB,OAAQyK,GAAK,EACrC0jB,EAAIE,EAAM5jB,IAAMmS,EAGpB,OAAOuR,CACT,CAGyBG,CAAcP,EAAYF,uBACjD,OAAOI,EAAiBD,IACnBC,EAAiBxa,EAAM5S,KAAKmtB,EAAQ,IAAK,GAAG,KAC5CC,EAAiBM,EACxB,CA6BA,SAASC,EAAOpZ,GACd,OAAOA,EAAM1P,QAAQ,sBAAuB,OAC9C,CAaA,IArCM+oB,EAqCFC,GArCED,EAA0B,CAAC,EAExB,SAAUV,EAAaC,GAC5B,IAAIW,EAAaF,EAAwBT,GAezC,OAbIW,IAAeZ,EAAYjB,YAAY6B,KACzCA,EAAa,KACbF,EAAwBT,GAAUW,GAG/BA,IACHA,EAAab,EAAeC,EAAaC,MAGvCS,EAAwBT,GAAUW,GAI/BA,CACT,GAoBEC,EAAoB,cAyBxB,SAASC,EACPC,EACAC,EACAf,EACAgB,EACAjB,EACAkB,GAEA,GAAsB,kBAAXH,EACT,MAAM,IAAI1kB,UAAU,6DAGtB,GAAqB,MAAjB2kB,EACF,OAAOD,EAGT,IAAIvvB,EAASuvB,EACTI,EAAqBF,GAAcJ,EACnClpB,EAAUupB,GAAyBxC,EAGnCrqB,EAAmC,kBAAlB2sB,EAA6B,CAAEI,YAAaJ,GAAkBA,EAKnF,GAA2B,MAAvB3sB,EAAQ+sB,aAAuBL,EAAQ,CACzC,IAAIM,EAAuBrB,GAAelB,EACtCwC,EAAQ5b,EAAM5S,KAAKiuB,EAAQpC,GAG3B4C,EApGR,SAAyBvB,EAAaY,EAAY5E,GAChD,OAAOgE,EAAYjB,YAAY6B,GAAY5E,EAC7C,CAkG8BwF,CACxBH,EAFeV,EAAuBU,EADvBpB,GAAU,MAKzB5rB,EAAQ+sB,aAGV5vB,EAASktB,EAAe5rB,KAAKwuB,EAAMC,IAAwBD,EAAM,GAAI,mBAAoB,GAC3F,CAQA,OALA9vB,EAASmG,EAAQ7E,KAAKtB,EAAQ2vB,GAAoB,SAAUM,EAAYC,GACtE,OAAK5Z,EAAIzT,EAASqtB,IAAkC,MAArBrtB,EAAQqtB,GAChCrtB,EAAQqtB,GADoDD,CAErE,GAGF,CAGA,SAASE,EAASttB,GAChB,IAAIyZ,EAAOzZ,GAAW,CAAC,EACvBL,KAAK4tB,QAAU,CAAC,EAChB5tB,KAAK6tB,OAAO/T,EAAK8T,SAAW,CAAC,GAC7B5tB,KAAK8tB,cAAgBhU,EAAKmS,QAAU,KACpC,IAAIvmB,EAAeoU,EAAKpU,aAAeonB,EAAkB,KACzD9sB,KAAK+tB,aAA4C,oBAAtBjU,EAAKiU,aAA8BjU,EAAKiU,aAAeroB,EAClF1F,KAAKoE,KAAO0V,EAAK1V,MAAQA,EACzBpE,KAAKktB,sBAAwBpT,EAAKnW,SAAW+mB,EAC7C1qB,KAAKitB,WAjGP,SAA6BnT,GAC3B,IAAIkU,EAAUlU,GAAQA,EAAKkU,QAAW,KAClCC,EAAUnU,GAAQA,EAAKmU,QAAW,IAEtC,GAAID,IAAWrD,GAAasD,IAAWtD,EACrC,MAAM,IAAIziB,WAAW,IAAMyiB,EAAY,yCAGzC,OAAO,IAAIrsB,OAAOmuB,EAAOuB,GAAU,QAAUvB,EAAOwB,GAAS,IAC/D,CAwFoBC,CAAoBpU,EAAKqU,eAC3CnuB,KAAKgsB,YAAclS,EAAKkS,aAAelB,CACzC,CAKA6C,EAAShvB,UAAUstB,OAAS,SAAUmC,GAEpC,OADIA,IAAWpuB,KAAK8tB,cAAgBM,GAC7BpuB,KAAK8tB,aACd,EAmDAH,EAAShvB,UAAUkvB,OAAS,SAAUQ,EAAaL,GAEjD,IADA,IAAIM,EAAgB9D,EAAQ6D,GAAe,CAAC,GACnCnwB,EAAI,EAAGA,EAAIowB,EAAcrwB,OAAQC,GAAK,EAAG,CAChD,IAAIa,EAAMuvB,EAAcpwB,GAAG,GACvB6uB,EAASuB,EAAcpwB,GAAG,GAC1BqwB,EAAcP,EAASA,EAAS,IAAMjvB,EAAMA,EAC1B,kBAAXguB,EACT/sB,KAAK6tB,OAAOd,EAAQwB,GAEpBvuB,KAAK4tB,QAAQW,GAAexB,CAEhC,CACF,EAaAY,EAAShvB,UAAU6vB,MAAQ,SAAUH,EAAaL,GAChD,GAA2B,kBAAhBK,SACFruB,KAAK4tB,QAAQS,QAGpB,IADA,IAAIC,EAAgB9D,EAAQ6D,GAAe,CAAC,GACnCnwB,EAAI,EAAGA,EAAIowB,EAAcrwB,OAAQC,GAAK,EAAG,CAChD,IAAIa,EAAMuvB,EAAcpwB,GAAG,GACvB6uB,EAASuB,EAAcpwB,GAAG,GAC1BqwB,EAAcP,EAASA,EAAS,IAAMjvB,EAAMA,EAC1B,kBAAXguB,EACT/sB,KAAKwuB,MAAMzB,EAAQwB,UAEZvuB,KAAK4tB,QAAQW,EAExB,CAEJ,EAOAZ,EAAShvB,UAAU8vB,MAAQ,WACzBzuB,KAAK4tB,QAAU,CAAC,CAClB,EAOAD,EAAShvB,UAAUgF,QAAU,SAAU+qB,GACrC1uB,KAAKyuB,QACLzuB,KAAK6tB,OAAOa,EACd,EA2BAf,EAAShvB,UAAUiF,EAAI,SAAU7E,EAAKsB,GACpC,IAAI0sB,EAAQvvB,EACRsc,EAAkB,MAAXzZ,EAAkB,CAAC,EAAIA,EAClC,GAAiC,kBAAtBL,KAAK4tB,QAAQ7uB,GACtBguB,EAAS/sB,KAAK4tB,QAAQ7uB,QACjB,GAAsB,kBAAX+a,EAAK6U,EACrB5B,EAASjT,EAAK6U,OACT,GAAI3uB,KAAK+tB,aAAc,CAE5BvwB,GAASuwB,EADU/tB,KAAK+tB,cAEtBhvB,EACA+a,EACA9Z,KAAK8tB,cACL9tB,KAAKitB,WACLjtB,KAAKgsB,YACLhsB,KAAKktB,sBAET,MACEltB,KAAKoE,KAAK,iCAAmCrF,EAAM,KACnDvB,EAASuB,EAYX,MAVsB,kBAAXguB,IACTvvB,EAASsvB,EACPC,EACAjT,EACA9Z,KAAK8tB,cACL9tB,KAAKitB,WACLjtB,KAAKgsB,YACLhsB,KAAKktB,wBAGF1vB,CACT,EAKAmwB,EAAShvB,UAAUmV,IAAM,SAAU/U,GACjC,OAAO+U,EAAI9T,KAAK4tB,QAAS7uB,EAC3B,EAGA4uB,EAASb,gBAAkB,SAAmBC,EAAQC,EAAef,GACnE,OAAOa,EAAgBC,EAAQC,EAAef,EAChD,EAEAzmB,EAAOC,QAAUkoB,qCC3cjB,IAAIiB,EACJ,IAAKlwB,OAAOP,KAAM,CAEjB,IAAI2V,EAAMpV,OAAOC,UAAUE,eACvByI,EAAQ5I,OAAOC,UAAUC,SACzBiwB,EAAS,EAAQ,MACjBC,EAAepwB,OAAOC,UAAUwR,qBAChC4e,GAAkBD,EAAahwB,KAAK,CAAEF,SAAU,MAAQ,YACxDowB,EAAkBF,EAAahwB,MAAK,WAAa,GAAG,aACpDmwB,EAAY,CACf,WACA,iBACA,UACA,iBACA,gBACA,uBACA,eAEGC,EAA6B,SAAUlV,GAC1C,IAAImV,EAAOnV,EAAEhc,YACb,OAAOmxB,GAAQA,EAAKxwB,YAAcqb,CACnC,EACIoV,EAAe,CAClBC,mBAAmB,EACnBC,UAAU,EACVC,WAAW,EACXC,QAAQ,EACRC,eAAe,EACfC,SAAS,EACTC,cAAc,EACdC,aAAa,EACbC,wBAAwB,EACxBC,uBAAuB,EACvBC,cAAc,EACdC,aAAa,EACbC,cAAc,EACdC,cAAc,EACdC,SAAS,EACTC,aAAa,EACbC,YAAY,EACZC,UAAU,EACVC,UAAU,EACVC,OAAO,EACPC,kBAAkB,EAClBC,oBAAoB,EACpBC,SAAS,GAENC,EAA4B,WAE/B,GAAsB,qBAAXjvB,OAA0B,OAAO,EAC5C,IAAK,IAAIiB,KAAKjB,OACb,IACC,IAAKytB,EAAa,IAAMxsB,IAAMkR,EAAIhV,KAAK6C,OAAQiB,IAAoB,OAAdjB,OAAOiB,IAAoC,kBAAdjB,OAAOiB,GACxF,IACCssB,EAA2BvtB,OAAOiB,GACnC,CAAE,MAAOtF,GACR,OAAO,CACR,CAEF,CAAE,MAAOA,GACR,OAAO,CACR,CAED,OAAO,CACR,CAjB+B,GA8B/BsxB,EAAW,SAAcjnB,GACxB,IAAIkpB,EAAsB,OAAXlpB,GAAqC,kBAAXA,EACrCmpB,EAAoC,sBAAvBxpB,EAAMxI,KAAK6I,GACxBopB,EAAclC,EAAOlnB,GACrBqpB,EAAWH,GAAmC,oBAAvBvpB,EAAMxI,KAAK6I,GAClCspB,EAAU,GAEd,IAAKJ,IAAaC,IAAeC,EAChC,MAAM,IAAI1oB,UAAU,sCAGrB,IAAI6oB,EAAYlC,GAAmB8B,EACnC,GAAIE,GAAYrpB,EAAO1J,OAAS,IAAM6V,EAAIhV,KAAK6I,EAAQ,GACtD,IAAK,IAAIzJ,EAAI,EAAGA,EAAIyJ,EAAO1J,SAAUC,EACpC+yB,EAAQ/uB,KAAK+K,OAAO/O,IAItB,GAAI6yB,GAAeppB,EAAO1J,OAAS,EAClC,IAAK,IAAIyK,EAAI,EAAGA,EAAIf,EAAO1J,SAAUyK,EACpCuoB,EAAQ/uB,KAAK+K,OAAOvE,SAGrB,IAAK,IAAI5G,KAAQ6F,EACVupB,GAAsB,cAATpvB,IAAyBgS,EAAIhV,KAAK6I,EAAQ7F,IAC5DmvB,EAAQ/uB,KAAK+K,OAAOnL,IAKvB,GAAIitB,EAGH,IAFA,IAAIoC,EA3CqC,SAAUnX,GAEpD,GAAsB,qBAAXrY,SAA2BivB,EACrC,OAAO1B,EAA2BlV,GAEnC,IACC,OAAOkV,EAA2BlV,EACnC,CAAE,MAAO1c,GACR,OAAO,CACR,CACD,CAiCwB8zB,CAAqCzpB,GAElD/E,EAAI,EAAGA,EAAIqsB,EAAUhxB,SAAU2E,EACjCuuB,GAAoC,gBAAjBlC,EAAUrsB,KAAyBkR,EAAIhV,KAAK6I,EAAQsnB,EAAUrsB,KACtFquB,EAAQ/uB,KAAK+sB,EAAUrsB,IAI1B,OAAOquB,CACR,CACD,CACAzrB,EAAOC,QAAUmpB,qCCvHjB,IAAI1gB,EAAQ9P,MAAMO,UAAUuP,MACxB2gB,EAAS,EAAQ,MAEjBwC,EAAW3yB,OAAOP,KAClBywB,EAAWyC,EAAW,SAAcrX,GAAK,OAAOqX,EAASrX,EAAI,EAAI,EAAQ,MAEzEsX,EAAe5yB,OAAOP,KAE1BywB,EAAS2C,KAAO,WACf,GAAI7yB,OAAOP,KAAM,CAChB,IAAIqzB,EAA0B,WAE7B,IAAI1oB,EAAOpK,OAAOP,KAAKmI,WACvB,OAAOwC,GAAQA,EAAK7K,SAAWqI,UAAUrI,MAC1C,CAJ6B,CAI3B,EAAG,GACAuzB,IACJ9yB,OAAOP,KAAO,SAAcwJ,GAC3B,OAAIknB,EAAOlnB,GACH2pB,EAAapjB,EAAMpP,KAAK6I,IAEzB2pB,EAAa3pB,EACrB,EAEF,MACCjJ,OAAOP,KAAOywB,EAEf,OAAOlwB,OAAOP,MAAQywB,CACvB,EAEAppB,EAAOC,QAAUmpB,iCC7BjB,IAAItnB,EAAQ5I,OAAOC,UAAUC,SAE7B4G,EAAOC,QAAU,SAAqBtI,GACrC,IAAImM,EAAMhC,EAAMxI,KAAK3B,GACjB0xB,EAAiB,uBAARvlB,EASb,OARKulB,IACJA,EAAiB,mBAARvlB,GACE,OAAVnM,GACiB,kBAAVA,GACiB,kBAAjBA,EAAMc,QACbd,EAAMc,QAAU,GACa,sBAA7BqJ,EAAMxI,KAAK3B,EAAMs0B,SAEZ5C,CACR,qCCdA,IAAI6C,EAAyB,EAAQ,MACjCC,EAAY,EAAQ,MACpBC,EAAgBD,EAAU,yCAC1BE,EAAQF,EAAU,wBAEtBnsB,EAAOC,QAAU,SAAiBqsB,GACjC,IAAIprB,EAAMgrB,EAAuBI,GAC7BC,EAAS,GACb,IAAK,IAAIhzB,KAAO2H,EACXkrB,EAAclrB,EAAK3H,IACtB8yB,EAAME,EAAQ,CAAChzB,EAAK2H,EAAI3H,KAG1B,OAAOgzB,CACR,qCCdA,IAAIC,EAAS,EAAQ,MACjB1sB,EAAW,EAAQ,KAEnBmE,EAAiB,EAAQ,MACzBwoB,EAAc,EAAQ,MACtBV,EAAO,EAAQ,MAEfW,EAAW5sB,EAAS2sB,IAAevzB,QAEvCszB,EAAOE,EAAU,CAChBD,YAAaA,EACbxoB,eAAgBA,EAChB8nB,KAAMA,IAGP/rB,EAAOC,QAAUysB,qCCfjB,IAAIzoB,EAAiB,EAAQ,MAE7BjE,EAAOC,QAAU,WAChB,MAAiC,oBAAnB/G,OAAO8rB,QAAyB9rB,OAAO8rB,QAAU/gB,CAChE,qCCJA,IAAIwoB,EAAc,EAAQ,MACtBD,EAAS,EAAQ,MAErBxsB,EAAOC,QAAU,WAChB,IAAIysB,EAAWD,IAMf,OALAD,EAAOtzB,OAAQ,CAAE8rB,QAAS0H,GAAY,CACrC1H,QAAS,WACR,OAAO9rB,OAAO8rB,UAAY0H,CAC3B,IAEMA,CACR,mCCPA,IAAI9O,EACW,EADXA,EAEc,EAFdA,EAGc,EAHdA,EAIU,EAGd,SAAS+O,EAAWlO,GAClBjkB,KAAKojB,KAAOA,EACZpjB,KAAKikB,KAAOA,CACd,CAEAkO,EAAWxzB,UAAY,CACrByzB,UAAW,SAAUC,GACnB,OAAOryB,KAAKikB,KAAKhmB,MACnB,EACAq0B,MAAO,SAAUD,GACf,IAAK,IAAIn0B,EAAI,EAAGA,EAAI8B,KAAKikB,KAAKhmB,OAAQC,IAEpCm0B,EAAOE,IAAIvyB,KAAKikB,KAAK3C,WAAWpjB,GAAI,EAExC,GAEF,IAAIs0B,EAAYL,EAEZM,EAAoB,CACtBC,EAAG,EACHC,EAAG,EACHC,EAAG,EACHC,EAAG,GAGL,SAASC,EAAUC,EAAYC,GAC7BhzB,KAAK+yB,WAAaA,EAClB/yB,KAAKgzB,UAAYA,CACnB,CAEAF,EAAUG,eAAiB,CAK3B,CAAC,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAC/C,CAAC,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,IAC/C,CAAC,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,IAC/C,CAAC,EAAG,IAAK,IAAK,CAAC,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAChD,CAAC,EAAG,IAAK,KAAM,CAAC,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACvE,CAAC,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,IAC/C,CAAC,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACrE,CAAC,EAAG,IAAK,IAAK,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACjF,CAAC,EAAG,IAAK,KAAM,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAClF,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAC3F,CAAC,EAAG,IAAK,IAAK,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACjF,CAAC,EAAG,IAAK,GAAI,EAAG,IAAK,IAAK,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAC7F,CAAC,EAAG,IAAK,KAAM,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACnF,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACjG,CAAC,EAAG,IAAK,GAAI,EAAG,IAAK,IAAK,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,GAAI,GAAI,IACnF,CAAC,EAAG,IAAK,GAAI,EAAG,IAAK,IAAK,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAC/F,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAClG,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACjG,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAClG,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACnG,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACvF,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,GAAI,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,IAC5E,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACpG,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACnG,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACnG,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACnG,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACnG,CAAC,EAAG,IAAK,IAAK,GAAI,IAAK,KAAM,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACpG,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACnG,CAAC,EAAG,IAAK,IAAK,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACtG,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACpG,CAAC,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACzF,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACtG,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpG,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACtG,CAAC,EAAG,IAAK,IAAK,GAAI,IAAK,KAAM,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpG,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACtG,CAAC,EAAG,IAAK,IAAK,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACtG,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrG,CAAC,GAAI,I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","sources":["webpack:///./node_modules/@googlemaps/js-api-loader/dist/index.esm.js","webpack:///./node_modules/call-bind/callBound.js","webpack:///./node_modules/call-bind/index.js","webpack:///./node_modules/define-data-property/index.js","webpack:///./node_modules/define-properties/index.js","webpack:///./node_modules/es-define-property/index.js","webpack:///./node_modules/es-errors/eval.js","webpack:///./node_modules/es-errors/index.js","webpack:///./node_modules/es-errors/range.js","webpack:///./node_modules/es-errors/ref.js","webpack:///./node_modules/es-errors/syntax.js","webpack:///./node_modules/es-errors/type.js","webpack:///./node_modules/es-errors/uri.js","webpack:///./node_modules/es-object-atoms/RequireObjectCoercible.js","webpack:///./node_modules/function-bind/implementation.js","webpack:///./node_modules/function-bind/index.js","webpack:///./node_modules/get-intrinsic/index.js","webpack:///./node_modules/gopd/index.js","webpack:///./node_modules/gopd/node_modules/function-bind/implementation.js","webpack:///./node_modules/gopd/node_modules/function-bind/index.js","webpack:///./node_modules/gopd/node_modules/get-intrinsic/index.js","webpack:///./node_modules/has-property-descriptors/index.js","webpack:///./node_modules/has-property-descriptors/node_modules/function-bind/implementation.js","webpack:///./node_modules/has-property-descriptors/node_modules/function-bind/index.js","webpack:///./node_modules/has-property-descriptors/node_modules/get-intrinsic/index.js","webpack:///./node_modules/has-proto/index.js","webpack:///./node_modules/has-symbols/index.js","webpack:///./node_modules/has-symbols/shams.js","webpack:///./node_modules/has/node_modules/function-bind/implementation.js","webpack:///./node_modules/has/node_modules/function-bind/index.js","webpack:///./node_modules/has/src/index.js","webpack:///./node_modules/hasown/index.js","webpack:///./node_modules/humps/humps.js","webpack:///./node_modules/linkifyjs/dist/linkify.es.js","webpack:///./node_modules/linkify-html/dist/linkify-html.es.js","webpack:///./node_modules/node-polyglot/index.js","webpack:///./node_modules/object-keys/implementation.js","webpack:///./node_modules/object-keys/index.js","webpack:///./node_modules/object-keys/isArguments.js","webpack:///./node_modules/object.entries/implementation.js","webpack:///./node_modules/object.entries/index.js","webpack:///./node_modules/object.entries/polyfill.js","webpack:///./node_modules/object.entries/shim.js","webpack:///./node_modules/qrcode.vue/dist/qrcode.vue.esm.js","webpack:///./node_modules/set-function-length/index.js","webpack:///./node_modules/set-function-length/node_modules/has-property-descriptors/index.js","webpack:///./node_modules/vuex/dist/vuex.esm.js","webpack:///./node_modules/warning/warning.js"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nvar fastDeepEqual = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n\n/**\n * Copyright 2019 Google LLC. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at.\n *\n * Http://www.apache.org/licenses/LICENSE-2.0.\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nconst DEFAULT_ID = \"__googleMapsScriptId\";\n/**\n * The status of the [[Loader]].\n */\nvar LoaderStatus;\n(function (LoaderStatus) {\n LoaderStatus[LoaderStatus[\"INITIALIZED\"] = 0] = \"INITIALIZED\";\n LoaderStatus[LoaderStatus[\"LOADING\"] = 1] = \"LOADING\";\n LoaderStatus[LoaderStatus[\"SUCCESS\"] = 2] = \"SUCCESS\";\n LoaderStatus[LoaderStatus[\"FAILURE\"] = 3] = \"FAILURE\";\n})(LoaderStatus || (LoaderStatus = {}));\n/**\n * [[Loader]] makes it easier to add Google Maps JavaScript API to your application\n * dynamically using\n * [Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise).\n * It works by dynamically creating and appending a script node to the the\n * document head and wrapping the callback function so as to return a promise.\n *\n * ```\n * const loader = new Loader({\n * apiKey: \"\",\n * version: \"weekly\",\n * libraries: [\"places\"]\n * });\n *\n * loader.load().then((google) => {\n * const map = new google.maps.Map(...)\n * })\n * ```\n */\nclass Loader {\n /**\n * Creates an instance of Loader using [[LoaderOptions]]. No defaults are set\n * using this library, instead the defaults are set by the Google Maps\n * JavaScript API server.\n *\n * ```\n * const loader = Loader({apiKey, version: 'weekly', libraries: ['places']});\n * ```\n */\n constructor({ apiKey, authReferrerPolicy, channel, client, id = DEFAULT_ID, language, libraries = [], mapIds, nonce, region, retries = 3, url = \"https://maps.googleapis.com/maps/api/js\", version, }) {\n this.callbacks = [];\n this.done = false;\n this.loading = false;\n this.errors = [];\n this.apiKey = apiKey;\n this.authReferrerPolicy = authReferrerPolicy;\n this.channel = channel;\n this.client = client;\n this.id = id || DEFAULT_ID; // Do not allow empty string\n this.language = language;\n this.libraries = libraries;\n this.mapIds = mapIds;\n this.nonce = nonce;\n this.region = region;\n this.retries = retries;\n this.url = url;\n this.version = version;\n if (Loader.instance) {\n if (!fastDeepEqual(this.options, Loader.instance.options)) {\n throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(Loader.instance.options)}`);\n }\n return Loader.instance;\n }\n Loader.instance = this;\n }\n get options() {\n return {\n version: this.version,\n apiKey: this.apiKey,\n channel: this.channel,\n client: this.client,\n id: this.id,\n libraries: this.libraries,\n language: this.language,\n region: this.region,\n mapIds: this.mapIds,\n nonce: this.nonce,\n url: this.url,\n authReferrerPolicy: this.authReferrerPolicy,\n };\n }\n get status() {\n if (this.errors.length) {\n return LoaderStatus.FAILURE;\n }\n if (this.done) {\n return LoaderStatus.SUCCESS;\n }\n if (this.loading) {\n return LoaderStatus.LOADING;\n }\n return LoaderStatus.INITIALIZED;\n }\n get failed() {\n return this.done && !this.loading && this.errors.length >= this.retries + 1;\n }\n /**\n * CreateUrl returns the Google Maps JavaScript API script url given the [[LoaderOptions]].\n *\n * @ignore\n * @deprecated\n */\n createUrl() {\n let url = this.url;\n url += `?callback=__googleMapsCallback`;\n if (this.apiKey) {\n url += `&key=${this.apiKey}`;\n }\n if (this.channel) {\n url += `&channel=${this.channel}`;\n }\n if (this.client) {\n url += `&client=${this.client}`;\n }\n if (this.libraries.length > 0) {\n url += `&libraries=${this.libraries.join(\",\")}`;\n }\n if (this.language) {\n url += `&language=${this.language}`;\n }\n if (this.region) {\n url += `®ion=${this.region}`;\n }\n if (this.version) {\n url += `&v=${this.version}`;\n }\n if (this.mapIds) {\n url += `&map_ids=${this.mapIds.join(\",\")}`;\n }\n if (this.authReferrerPolicy) {\n url += `&auth_referrer_policy=${this.authReferrerPolicy}`;\n }\n return url;\n }\n deleteScript() {\n const script = document.getElementById(this.id);\n if (script) {\n script.remove();\n }\n }\n /**\n * Load the Google Maps JavaScript API script and return a Promise.\n * @deprecated, use importLibrary() instead.\n */\n load() {\n return this.loadPromise();\n }\n /**\n * Load the Google Maps JavaScript API script and return a Promise.\n *\n * @ignore\n * @deprecated, use importLibrary() instead.\n */\n loadPromise() {\n return new Promise((resolve, reject) => {\n this.loadCallback((err) => {\n if (!err) {\n resolve(window.google);\n }\n else {\n reject(err.error);\n }\n });\n });\n }\n importLibrary(name) {\n this.execute();\n return google.maps.importLibrary(name);\n }\n /**\n * Load the Google Maps JavaScript API script with a callback.\n * @deprecated, use importLibrary() instead.\n */\n loadCallback(fn) {\n this.callbacks.push(fn);\n this.execute();\n }\n /**\n * Set the script on document.\n */\n setScript() {\n var _a, _b;\n if (document.getElementById(this.id)) {\n // TODO wrap onerror callback for cases where the script was loaded elsewhere\n this.callback();\n return;\n }\n const params = {\n key: this.apiKey,\n channel: this.channel,\n client: this.client,\n libraries: this.libraries.length && this.libraries,\n v: this.version,\n mapIds: this.mapIds,\n language: this.language,\n region: this.region,\n authReferrerPolicy: this.authReferrerPolicy,\n };\n // keep the URL minimal:\n Object.keys(params).forEach(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (key) => !params[key] && delete params[key]);\n if (!((_b = (_a = window === null || window === void 0 ? void 0 : window.google) === null || _a === void 0 ? void 0 : _a.maps) === null || _b === void 0 ? void 0 : _b.importLibrary)) {\n // tweaked copy of https://developers.google.com/maps/documentation/javascript/load-maps-js-api#dynamic-library-import\n // which also sets the base url, the id, and the nonce\n /* eslint-disable */\n ((g) => {\n // @ts-ignore\n let h, a, k, p = \"The Google Maps JavaScript API\", c = \"google\", l = \"importLibrary\", q = \"__ib__\", m = document, b = window;\n // @ts-ignore\n b = b[c] || (b[c] = {});\n // @ts-ignore\n const d = b.maps || (b.maps = {}), r = new Set(), e = new URLSearchParams(), u = () => \n // @ts-ignore\n h || (h = new Promise((f, n) => __awaiter(this, void 0, void 0, function* () {\n var _a;\n yield (a = m.createElement(\"script\"));\n a.id = this.id;\n e.set(\"libraries\", [...r] + \"\");\n // @ts-ignore\n for (k in g)\n e.set(k.replace(/[A-Z]/g, (t) => \"_\" + t[0].toLowerCase()), g[k]);\n e.set(\"callback\", c + \".maps.\" + q);\n a.src = this.url + `?` + e;\n d[q] = f;\n a.onerror = () => (h = n(Error(p + \" could not load.\")));\n // @ts-ignore\n a.nonce = this.nonce || ((_a = m.querySelector(\"script[nonce]\")) === null || _a === void 0 ? void 0 : _a.nonce) || \"\";\n m.head.append(a);\n })));\n // @ts-ignore\n d[l] ? console.warn(p + \" only loads once. Ignoring:\", g) : (d[l] = (f, ...n) => r.add(f) && u().then(() => d[l](f, ...n)));\n })(params);\n /* eslint-enable */\n }\n // While most libraries populate the global namespace when loaded via bootstrap params,\n // this is not the case for \"marker\" when used with the inline bootstrap loader\n // (and maybe others in the future). So ensure there is an importLibrary for each:\n const libraryPromises = this.libraries.map((library) => this.importLibrary(library));\n // ensure at least one library, to kick off loading...\n if (!libraryPromises.length) {\n libraryPromises.push(this.importLibrary(\"core\"));\n }\n Promise.all(libraryPromises).then(() => this.callback(), (error) => {\n const event = new ErrorEvent(\"error\", { error }); // for backwards compat\n this.loadErrorCallback(event);\n });\n }\n /**\n * Reset the loader state.\n */\n reset() {\n this.deleteScript();\n this.done = false;\n this.loading = false;\n this.errors = [];\n this.onerrorEvent = null;\n }\n resetIfRetryingFailed() {\n if (this.failed) {\n this.reset();\n }\n }\n loadErrorCallback(e) {\n this.errors.push(e);\n if (this.errors.length <= this.retries) {\n const delay = this.errors.length * Math.pow(2, this.errors.length);\n console.error(`Failed to load Google Maps script, retrying in ${delay} ms.`);\n setTimeout(() => {\n this.deleteScript();\n this.setScript();\n }, delay);\n }\n else {\n this.onerrorEvent = e;\n this.callback();\n }\n }\n callback() {\n this.done = true;\n this.loading = false;\n this.callbacks.forEach((cb) => {\n cb(this.onerrorEvent);\n });\n this.callbacks = [];\n }\n execute() {\n this.resetIfRetryingFailed();\n if (this.done) {\n this.callback();\n }\n else {\n // short circuit and warn if google.maps is already loaded\n if (window.google && window.google.maps && window.google.maps.version) {\n console.warn(\"Google Maps already loaded outside @googlemaps/js-api-loader.\" +\n \"This may result in undesirable behavior as options and script parameters may not match.\");\n this.callback();\n return;\n }\n if (this.loading) ;\n else {\n this.loading = true;\n this.setScript();\n }\n }\n }\n}\n\nexport { DEFAULT_ID, Loader, LoaderStatus };\n//# sourceMappingURL=index.esm.js.map\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\nvar setFunctionLength = require('set-function-length');\n\nvar $TypeError = require('es-errors/type');\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $defineProperty = require('es-define-property');\nvar $max = GetIntrinsic('%Math.max%');\n\nmodule.exports = function callBind(originalFunction) {\n\tif (typeof originalFunction !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\tvar func = $reflectApply(bind, $call, arguments);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + $max(0, originalFunction.length - (arguments.length - 1)),\n\t\ttrue\n\t);\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar defineDataProperty = require('define-data-property');\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar supportsDescriptors = require('has-property-descriptors')();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object) {\n\t\tif (predicate === true) {\n\t\t\tif (object[name] === value) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (!isFunction(predicate) || !predicate()) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\tif (supportsDescriptors) {\n\t\tdefineDataProperty(object, name, value, true);\n\t} else {\n\t\tdefineDataProperty(object, name, value);\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\n/** @type {import('.')} */\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true) || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\nvar $TypeError = require('es-errors/type');\n\n/** @type {import('./RequireObjectCoercible')} */\nmodule.exports = function RequireObjectCoercible(value) {\n\tif (value == null) {\n\t\tthrow new $TypeError((arguments.length > 0 && arguments[1]) || ('Cannot call method on ' + value));\n\t}\n\treturn value;\n};\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\ntry {\n\tnull.error; // eslint-disable-line no-unused-expressions\n} catch (e) {\n\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\tvar errorProto = getProto(getProto(e));\n\tINTRINSICS['%Error.prototype%'] = errorProto;\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\tif ($defineProperty) {\n\t\ttry {\n\t\t\t$defineProperty({}, 'a', { value: 1 });\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\t// IE 8 has a broken defineProperty\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!hasPropertyDescriptors()) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar test = {\n\tfoo: {}\n};\n\nvar $Object = Object;\n\nmodule.exports = function hasProto() {\n\treturn { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","// =========\n// = humps =\n// =========\n// Underscore-to-camelCase converter (and vice versa)\n// for strings and object keys\n\n// humps is copyright © 2012+ Dom Christie\n// Released under the MIT license.\n\n\n;(function(global) {\n\n var _processKeys = function(convert, obj, options) {\n if(!_isObject(obj) || _isDate(obj) || _isRegExp(obj) || _isBoolean(obj) || _isFunction(obj)) {\n return obj;\n }\n\n var output,\n i = 0,\n l = 0;\n\n if(_isArray(obj)) {\n output = [];\n for(l=obj.length; i {\n for (const key in properties) {\n target[key] = properties[key];\n }\n return target;\n};\n\n/**\n * Finite State Machine generation utilities\n */\n\n/**\n * @template T\n * @typedef {{ [group: string]: T[] }} Collections\n */\n\n/**\n * @typedef {{ [group: string]: true }} Flags\n */\n\n// Keys in scanner Collections instances\nconst numeric = 'numeric';\nconst ascii = 'ascii';\nconst alpha = 'alpha';\nconst asciinumeric = 'asciinumeric';\nconst alphanumeric = 'alphanumeric';\nconst domain = 'domain';\nconst emoji = 'emoji';\nconst scheme = 'scheme';\nconst slashscheme = 'slashscheme';\nconst whitespace = 'whitespace';\n\n/**\n * @template T\n * @param {string} name\n * @param {Collections} groups to register in\n * @returns {T[]} Current list of tokens in the given collection\n */\nfunction registerGroup(name, groups) {\n if (!(name in groups)) {\n groups[name] = [];\n }\n return groups[name];\n}\n\n/**\n * @template T\n * @param {T} t token to add\n * @param {Collections} groups\n * @param {Flags} flags\n */\nfunction addToGroups(t, flags, groups) {\n if (flags[numeric]) {\n flags[asciinumeric] = true;\n flags[alphanumeric] = true;\n }\n if (flags[ascii]) {\n flags[asciinumeric] = true;\n flags[alpha] = true;\n }\n if (flags[asciinumeric]) {\n flags[alphanumeric] = true;\n }\n if (flags[alpha]) {\n flags[alphanumeric] = true;\n }\n if (flags[alphanumeric]) {\n flags[domain] = true;\n }\n if (flags[emoji]) {\n flags[domain] = true;\n }\n for (const k in flags) {\n const group = registerGroup(k, groups);\n if (group.indexOf(t) < 0) {\n group.push(t);\n }\n }\n}\n\n/**\n * @template T\n * @param {T} t token to check\n * @param {Collections} groups\n * @returns {Flags} group flags that contain this token\n */\nfunction flagsForToken(t, groups) {\n const result = {};\n for (const c in groups) {\n if (groups[c].indexOf(t) >= 0) {\n result[c] = true;\n }\n }\n return result;\n}\n\n/**\n * @template T\n * @typedef {null | T } Transition\n */\n\n/**\n * Define a basic state machine state. j is the list of character transitions,\n * jr is the list of regex-match transitions, jd is the default state to\n * transition to t is the accepting token type, if any. If this is the terminal\n * state, then it does not emit a token.\n *\n * The template type T represents the type of the token this state accepts. This\n * should be a string (such as of the token exports in `text.js`) or a\n * MultiToken subclass (from `multi.js`)\n *\n * @template T\n * @param {T} [token] Token that this state emits\n */\nfunction State(token) {\n if (token === void 0) {\n token = null;\n }\n // this.n = null; // DEBUG: State name\n /** @type {{ [input: string]: State }} j */\n this.j = {}; // IMPLEMENTATION 1\n // this.j = []; // IMPLEMENTATION 2\n /** @type {[RegExp, State][]} jr */\n this.jr = [];\n /** @type {?State} jd */\n this.jd = null;\n /** @type {?T} t */\n this.t = token;\n}\n\n/**\n * Scanner token groups\n * @type Collections\n */\nState.groups = {};\nState.prototype = {\n accepts() {\n return !!this.t;\n },\n /**\n * Follow an existing transition from the given input to the next state.\n * Does not mutate.\n * @param {string} input character or token type to transition on\n * @returns {?State} the next state, if any\n */\n go(input) {\n const state = this;\n const nextState = state.j[input];\n if (nextState) {\n return nextState;\n }\n for (let i = 0; i < state.jr.length; i++) {\n const regex = state.jr[i][0];\n const nextState = state.jr[i][1]; // note: might be empty to prevent default jump\n if (nextState && regex.test(input)) {\n return nextState;\n }\n }\n // Nowhere left to jump! Return default, if any\n return state.jd;\n },\n /**\n * Whether the state has a transition for the given input. Set the second\n * argument to true to only look for an exact match (and not a default or\n * regular-expression-based transition)\n * @param {string} input\n * @param {boolean} exactOnly\n */\n has(input, exactOnly) {\n if (exactOnly === void 0) {\n exactOnly = false;\n }\n return exactOnly ? input in this.j : !!this.go(input);\n },\n /**\n * Short for \"transition all\"; create a transition from the array of items\n * in the given list to the same final resulting state.\n * @param {string | string[]} inputs Group of inputs to transition on\n * @param {Transition | State} [next] Transition options\n * @param {Flags} [flags] Collections flags to add token to\n * @param {Collections} [groups] Master list of token groups\n */\n ta(inputs, next, flags, groups) {\n for (let i = 0; i < inputs.length; i++) {\n this.tt(inputs[i], next, flags, groups);\n }\n },\n /**\n * Short for \"take regexp transition\"; defines a transition for this state\n * when it encounters a token which matches the given regular expression\n * @param {RegExp} regexp Regular expression transition (populate first)\n * @param {T | State} [next] Transition options\n * @param {Flags} [flags] Collections flags to add token to\n * @param {Collections} [groups] Master list of token groups\n * @returns {State} taken after the given input\n */\n tr(regexp, next, flags, groups) {\n groups = groups || State.groups;\n let nextState;\n if (next && next.j) {\n nextState = next;\n } else {\n // Token with maybe token groups\n nextState = new State(next);\n if (flags && groups) {\n addToGroups(next, flags, groups);\n }\n }\n this.jr.push([regexp, nextState]);\n return nextState;\n },\n /**\n * Short for \"take transitions\", will take as many sequential transitions as\n * the length of the given input and returns the\n * resulting final state.\n * @param {string | string[]} input\n * @param {T | State} [next] Transition options\n * @param {Flags} [flags] Collections flags to add token to\n * @param {Collections} [groups] Master list of token groups\n * @returns {State} taken after the given input\n */\n ts(input, next, flags, groups) {\n let state = this;\n const len = input.length;\n if (!len) {\n return state;\n }\n for (let i = 0; i < len - 1; i++) {\n state = state.tt(input[i]);\n }\n return state.tt(input[len - 1], next, flags, groups);\n },\n /**\n * Short for \"take transition\", this is a method for building/working with\n * state machines.\n *\n * If a state already exists for the given input, returns it.\n *\n * If a token is specified, that state will emit that token when reached by\n * the linkify engine.\n *\n * If no state exists, it will be initialized with some default transitions\n * that resemble existing default transitions.\n *\n * If a state is given for the second argument, that state will be\n * transitioned to on the given input regardless of what that input\n * previously did.\n *\n * Specify a token group flags to define groups that this token belongs to.\n * The token will be added to corresponding entires in the given groups\n * object.\n *\n * @param {string} input character, token type to transition on\n * @param {T | State} [next] Transition options\n * @param {Flags} [flags] Collections flags to add token to\n * @param {Collections} [groups] Master list of groups\n * @returns {State} taken after the given input\n */\n tt(input, next, flags, groups) {\n groups = groups || State.groups;\n const state = this;\n\n // Check if existing state given, just a basic transition\n if (next && next.j) {\n state.j[input] = next;\n return next;\n }\n const t = next;\n\n // Take the transition with the usual default mechanisms and use that as\n // a template for creating the next state\n let nextState,\n templateState = state.go(input);\n if (templateState) {\n nextState = new State();\n assign(nextState.j, templateState.j);\n nextState.jr.push.apply(nextState.jr, templateState.jr);\n nextState.jd = templateState.jd;\n nextState.t = templateState.t;\n } else {\n nextState = new State();\n }\n if (t) {\n // Ensure newly token is in the same groups as the old token\n if (groups) {\n if (nextState.t && typeof nextState.t === 'string') {\n const allFlags = assign(flagsForToken(nextState.t, groups), flags);\n addToGroups(t, allFlags, groups);\n } else if (flags) {\n addToGroups(t, flags, groups);\n }\n }\n nextState.t = t; // overwrite anything that was previously there\n }\n\n state.j[input] = nextState;\n return nextState;\n }\n};\n\n// Helper functions to improve minification (not exported outside linkifyjs module)\n\n/**\n * @template T\n * @param {State} state\n * @param {string | string[]} input\n * @param {Flags} [flags]\n * @param {Collections} [groups]\n */\nconst ta = (state, input, next, flags, groups) => state.ta(input, next, flags, groups);\n\n/**\n * @template T\n * @param {State} state\n * @param {RegExp} regexp\n * @param {T | State} [next]\n * @param {Flags} [flags]\n * @param {Collections} [groups]\n */\nconst tr = (state, regexp, next, flags, groups) => state.tr(regexp, next, flags, groups);\n\n/**\n * @template T\n * @param {State} state\n * @param {string | string[]} input\n * @param {T | State} [next]\n * @param {Flags} [flags]\n * @param {Collections} [groups]\n */\nconst ts = (state, input, next, flags, groups) => state.ts(input, next, flags, groups);\n\n/**\n * @template T\n * @param {State} state\n * @param {string} input\n * @param {T | State} [next]\n * @param {Collections} [groups]\n * @param {Flags} [flags]\n */\nconst tt = (state, input, next, flags, groups) => state.tt(input, next, flags, groups);\n\n/******************************************************************************\nText Tokens\nIdentifiers for token outputs from the regexp scanner\n******************************************************************************/\n\n// A valid web domain token\nconst WORD = 'WORD'; // only contains a-z\nconst UWORD = 'UWORD'; // contains letters other than a-z, used for IDN\n\n// Special case of word\nconst LOCALHOST = 'LOCALHOST';\n\n// Valid top-level domain, special case of WORD (see tlds.js)\nconst TLD = 'TLD';\n\n// Valid IDN TLD, special case of UWORD (see tlds.js)\nconst UTLD = 'UTLD';\n\n// The scheme portion of a web URI protocol. Supported types include: `mailto`,\n// `file`, and user-defined custom protocols. Limited to schemes that contain\n// only letters\nconst SCHEME = 'SCHEME';\n\n// Similar to SCHEME, except makes distinction for schemes that must always be\n// followed by `://`, not just `:`. Supported types include `http`, `https`,\n// `ftp`, `ftps`\nconst SLASH_SCHEME = 'SLASH_SCHEME';\n\n// Any sequence of digits 0-9\nconst NUM = 'NUM';\n\n// Any number of consecutive whitespace characters that are not newline\nconst WS = 'WS';\n\n// New line (unix style)\nconst NL$1 = 'NL'; // \\n\n\n// Opening/closing bracket classes\nconst OPENBRACE = 'OPENBRACE'; // {\nconst OPENBRACKET = 'OPENBRACKET'; // [\nconst OPENANGLEBRACKET = 'OPENANGLEBRACKET'; // <\nconst OPENPAREN = 'OPENPAREN'; // (\nconst CLOSEBRACE = 'CLOSEBRACE'; // }\nconst CLOSEBRACKET = 'CLOSEBRACKET'; // ]\nconst CLOSEANGLEBRACKET = 'CLOSEANGLEBRACKET'; // >\nconst CLOSEPAREN = 'CLOSEPAREN'; // )\n\n// Various symbols\nconst AMPERSAND = 'AMPERSAND'; // &\nconst APOSTROPHE = 'APOSTROPHE'; // '\nconst ASTERISK = 'ASTERISK'; // *\nconst AT = 'AT'; // @\nconst BACKSLASH = 'BACKSLASH'; // \\\nconst BACKTICK = 'BACKTICK'; // `\nconst CARET = 'CARET'; // ^\nconst COLON = 'COLON'; // :\nconst COMMA = 'COMMA'; // ,\nconst DOLLAR = 'DOLLAR'; // $\nconst DOT = 'DOT'; // .\nconst EQUALS = 'EQUALS'; // =\nconst EXCLAMATION = 'EXCLAMATION'; // !\nconst HYPHEN = 'HYPHEN'; // -\nconst PERCENT = 'PERCENT'; // %\nconst PIPE = 'PIPE'; // |\nconst PLUS = 'PLUS'; // +\nconst POUND = 'POUND'; // #\nconst QUERY = 'QUERY'; // ?\nconst QUOTE = 'QUOTE'; // \"\n\nconst SEMI = 'SEMI'; // ;\nconst SLASH = 'SLASH'; // /\nconst TILDE = 'TILDE'; // ~\nconst UNDERSCORE = 'UNDERSCORE'; // _\n\n// Emoji symbol\nconst EMOJI$1 = 'EMOJI';\n\n// Default token - anything that is not one of the above\nconst SYM = 'SYM';\n\nvar tk = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\tWORD: WORD,\n\tUWORD: UWORD,\n\tLOCALHOST: LOCALHOST,\n\tTLD: TLD,\n\tUTLD: UTLD,\n\tSCHEME: SCHEME,\n\tSLASH_SCHEME: SLASH_SCHEME,\n\tNUM: NUM,\n\tWS: WS,\n\tNL: NL$1,\n\tOPENBRACE: OPENBRACE,\n\tOPENBRACKET: OPENBRACKET,\n\tOPENANGLEBRACKET: OPENANGLEBRACKET,\n\tOPENPAREN: OPENPAREN,\n\tCLOSEBRACE: CLOSEBRACE,\n\tCLOSEBRACKET: CLOSEBRACKET,\n\tCLOSEANGLEBRACKET: CLOSEANGLEBRACKET,\n\tCLOSEPAREN: CLOSEPAREN,\n\tAMPERSAND: AMPERSAND,\n\tAPOSTROPHE: APOSTROPHE,\n\tASTERISK: ASTERISK,\n\tAT: AT,\n\tBACKSLASH: BACKSLASH,\n\tBACKTICK: BACKTICK,\n\tCARET: CARET,\n\tCOLON: COLON,\n\tCOMMA: COMMA,\n\tDOLLAR: DOLLAR,\n\tDOT: DOT,\n\tEQUALS: EQUALS,\n\tEXCLAMATION: EXCLAMATION,\n\tHYPHEN: HYPHEN,\n\tPERCENT: PERCENT,\n\tPIPE: PIPE,\n\tPLUS: PLUS,\n\tPOUND: POUND,\n\tQUERY: QUERY,\n\tQUOTE: QUOTE,\n\tSEMI: SEMI,\n\tSLASH: SLASH,\n\tTILDE: TILDE,\n\tUNDERSCORE: UNDERSCORE,\n\tEMOJI: EMOJI$1,\n\tSYM: SYM\n});\n\n// Note that these two Unicode ones expand into a really big one with Babel\nconst ASCII_LETTER = /[a-z]/;\nconst LETTER = /\\p{L}/u; // Any Unicode character with letter data type\nconst EMOJI = /\\p{Emoji}/u; // Any Unicode emoji character\nconst EMOJI_VARIATION$1 = /\\ufe0f/;\nconst DIGIT = /\\d/;\nconst SPACE = /\\s/;\n\nvar regexp = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\tASCII_LETTER: ASCII_LETTER,\n\tLETTER: LETTER,\n\tEMOJI: EMOJI,\n\tEMOJI_VARIATION: EMOJI_VARIATION$1,\n\tDIGIT: DIGIT,\n\tSPACE: SPACE\n});\n\n/**\n\tThe scanner provides an interface that takes a string of text as input, and\n\toutputs an array of tokens instances that can be used for easy URL parsing.\n*/\nconst NL = '\\n'; // New line character\nconst EMOJI_VARIATION = '\\ufe0f'; // Variation selector, follows heart and others\nconst EMOJI_JOINER = '\\u200d'; // zero-width joiner\n\nlet tlds = null,\n utlds = null; // don't change so only have to be computed once\n\n/**\n * Scanner output token:\n * - `t` is the token name (e.g., 'NUM', 'EMOJI', 'TLD')\n * - `v` is the value of the token (e.g., '123', '❤️', 'com')\n * - `s` is the start index of the token in the original string\n * - `e` is the end index of the token in the original string\n * @typedef {{t: string, v: string, s: number, e: number}} Token\n */\n\n/**\n * @template T\n * @typedef {{ [collection: string]: T[] }} Collections\n */\n\n/**\n * Initialize the scanner character-based state machine for the given start\n * state\n * @param {[string, boolean][]} customSchemes List of custom schemes, where each\n * item is a length-2 tuple with the first element set to the string scheme, and\n * the second element set to `true` if the `://` after the scheme is optional\n */\nfunction init$2(customSchemes) {\n if (customSchemes === void 0) {\n customSchemes = [];\n }\n // Frequently used states (name argument removed during minification)\n /** @type Collections */\n const groups = {}; // of tokens\n State.groups = groups;\n /** @type State */\n const Start = new State();\n if (tlds == null) {\n tlds = decodeTlds(encodedTlds);\n }\n if (utlds == null) {\n utlds = decodeTlds(encodedUtlds);\n }\n\n // States for special URL symbols that accept immediately after start\n tt(Start, \"'\", APOSTROPHE);\n tt(Start, '{', OPENBRACE);\n tt(Start, '[', OPENBRACKET);\n tt(Start, '<', OPENANGLEBRACKET);\n tt(Start, '(', OPENPAREN);\n tt(Start, '}', CLOSEBRACE);\n tt(Start, ']', CLOSEBRACKET);\n tt(Start, '>', CLOSEANGLEBRACKET);\n tt(Start, ')', CLOSEPAREN);\n tt(Start, '&', AMPERSAND);\n tt(Start, '*', ASTERISK);\n tt(Start, '@', AT);\n tt(Start, '`', BACKTICK);\n tt(Start, '^', CARET);\n tt(Start, ':', COLON);\n tt(Start, ',', COMMA);\n tt(Start, '$', DOLLAR);\n tt(Start, '.', DOT);\n tt(Start, '=', EQUALS);\n tt(Start, '!', EXCLAMATION);\n tt(Start, '-', HYPHEN);\n tt(Start, '%', PERCENT);\n tt(Start, '|', PIPE);\n tt(Start, '+', PLUS);\n tt(Start, '#', POUND);\n tt(Start, '?', QUERY);\n tt(Start, '\"', QUOTE);\n tt(Start, '/', SLASH);\n tt(Start, ';', SEMI);\n tt(Start, '~', TILDE);\n tt(Start, '_', UNDERSCORE);\n tt(Start, '\\\\', BACKSLASH);\n const Num = tr(Start, DIGIT, NUM, {\n [numeric]: true\n });\n tr(Num, DIGIT, Num);\n\n // State which emits a word token\n const Word = tr(Start, ASCII_LETTER, WORD, {\n [ascii]: true\n });\n tr(Word, ASCII_LETTER, Word);\n\n // Same as previous, but specific to non-fsm.ascii alphabet words\n const UWord = tr(Start, LETTER, UWORD, {\n [alpha]: true\n });\n tr(UWord, ASCII_LETTER); // Non-accepting\n tr(UWord, LETTER, UWord);\n\n // Whitespace jumps\n // Tokens of only non-newline whitespace are arbitrarily long\n // If any whitespace except newline, more whitespace!\n const Ws = tr(Start, SPACE, WS, {\n [whitespace]: true\n });\n tt(Start, NL, NL$1, {\n [whitespace]: true\n });\n tt(Ws, NL); // non-accepting state to avoid mixing whitespaces\n tr(Ws, SPACE, Ws);\n\n // Emoji tokens. They are not grouped by the scanner except in cases where a\n // zero-width joiner is present\n const Emoji = tr(Start, EMOJI, EMOJI$1, {\n [emoji]: true\n });\n tr(Emoji, EMOJI, Emoji);\n tt(Emoji, EMOJI_VARIATION, Emoji);\n // tt(Start, EMOJI_VARIATION, Emoji); // This one is sketchy\n\n const EmojiJoiner = tt(Emoji, EMOJI_JOINER);\n tr(EmojiJoiner, EMOJI, Emoji);\n // tt(EmojiJoiner, EMOJI_VARIATION, Emoji); // also sketchy\n\n // Generates states for top-level domains\n // Note that this is most accurate when tlds are in alphabetical order\n const wordjr = [[ASCII_LETTER, Word]];\n const uwordjr = [[ASCII_LETTER, null], [LETTER, UWord]];\n for (let i = 0; i < tlds.length; i++) {\n fastts(Start, tlds[i], TLD, WORD, wordjr);\n }\n for (let i = 0; i < utlds.length; i++) {\n fastts(Start, utlds[i], UTLD, UWORD, uwordjr);\n }\n addToGroups(TLD, {\n tld: true,\n ascii: true\n }, groups);\n addToGroups(UTLD, {\n utld: true,\n alpha: true\n }, groups);\n\n // Collect the states generated by different protocols. NOTE: If any new TLDs\n // get added that are also protocols, set the token to be the same as the\n // protocol to ensure parsing works as expected.\n fastts(Start, 'file', SCHEME, WORD, wordjr);\n fastts(Start, 'mailto', SCHEME, WORD, wordjr);\n fastts(Start, 'http', SLASH_SCHEME, WORD, wordjr);\n fastts(Start, 'https', SLASH_SCHEME, WORD, wordjr);\n fastts(Start, 'ftp', SLASH_SCHEME, WORD, wordjr);\n fastts(Start, 'ftps', SLASH_SCHEME, WORD, wordjr);\n addToGroups(SCHEME, {\n scheme: true,\n ascii: true\n }, groups);\n addToGroups(SLASH_SCHEME, {\n slashscheme: true,\n ascii: true\n }, groups);\n\n // Register custom schemes. Assumes each scheme is asciinumeric with hyphens\n customSchemes = customSchemes.sort((a, b) => a[0] > b[0] ? 1 : -1);\n for (let i = 0; i < customSchemes.length; i++) {\n const sch = customSchemes[i][0];\n const optionalSlashSlash = customSchemes[i][1];\n const flags = optionalSlashSlash ? {\n [scheme]: true\n } : {\n [slashscheme]: true\n };\n if (sch.indexOf('-') >= 0) {\n flags[domain] = true;\n } else if (!ASCII_LETTER.test(sch)) {\n flags[numeric] = true; // numbers only\n } else if (DIGIT.test(sch)) {\n flags[asciinumeric] = true;\n } else {\n flags[ascii] = true;\n }\n ts(Start, sch, sch, flags);\n }\n\n // Localhost token\n ts(Start, 'localhost', LOCALHOST, {\n ascii: true\n });\n\n // Set default transition for start state (some symbol)\n Start.jd = new State(SYM);\n return {\n start: Start,\n tokens: assign({\n groups\n }, tk)\n };\n}\n\n/**\n\tGiven a string, returns an array of TOKEN instances representing the\n\tcomposition of that string.\n\n\t@method run\n\t@param {State} start scanner starting state\n\t@param {string} str input string to scan\n\t@return {Token[]} list of tokens, each with a type and value\n*/\nfunction run$1(start, str) {\n // State machine is not case sensitive, so input is tokenized in lowercased\n // form (still returns regular case). Uses selective `toLowerCase` because\n // lowercasing the entire string causes the length and character position to\n // vary in some non-English strings with V8-based runtimes.\n const iterable = stringToArray(str.replace(/[A-Z]/g, c => c.toLowerCase()));\n const charCount = iterable.length; // <= len if there are emojis, etc\n const tokens = []; // return value\n\n // cursor through the string itself, accounting for characters that have\n // width with length 2 such as emojis\n let cursor = 0;\n\n // Cursor through the array-representation of the string\n let charCursor = 0;\n\n // Tokenize the string\n while (charCursor < charCount) {\n let state = start;\n let nextState = null;\n let tokenLength = 0;\n let latestAccepting = null;\n let sinceAccepts = -1;\n let charsSinceAccepts = -1;\n while (charCursor < charCount && (nextState = state.go(iterable[charCursor]))) {\n state = nextState;\n\n // Keep track of the latest accepting state\n if (state.accepts()) {\n sinceAccepts = 0;\n charsSinceAccepts = 0;\n latestAccepting = state;\n } else if (sinceAccepts >= 0) {\n sinceAccepts += iterable[charCursor].length;\n charsSinceAccepts++;\n }\n tokenLength += iterable[charCursor].length;\n cursor += iterable[charCursor].length;\n charCursor++;\n }\n\n // Roll back to the latest accepting state\n cursor -= sinceAccepts;\n charCursor -= charsSinceAccepts;\n tokenLength -= sinceAccepts;\n\n // No more jumps, just make a new token from the last accepting one\n tokens.push({\n t: latestAccepting.t,\n // token type/name\n v: str.slice(cursor - tokenLength, cursor),\n // string value\n s: cursor - tokenLength,\n // start index\n e: cursor // end index (excluding)\n });\n }\n\n return tokens;\n}\n\n/**\n * Convert a String to an Array of characters, taking into account that some\n * characters like emojis take up two string indexes.\n *\n * Adapted from core-js (MIT license)\n * https://github.com/zloirock/core-js/blob/2d69cf5f99ab3ea3463c395df81e5a15b68f49d9/packages/core-js/internals/string-multibyte.js\n *\n * @function stringToArray\n * @param {string} str\n * @returns {string[]}\n */\nfunction stringToArray(str) {\n const result = [];\n const len = str.length;\n let index = 0;\n while (index < len) {\n let first = str.charCodeAt(index);\n let second;\n let char = first < 0xd800 || first > 0xdbff || index + 1 === len || (second = str.charCodeAt(index + 1)) < 0xdc00 || second > 0xdfff ? str[index] // single character\n : str.slice(index, index + 2); // two-index characters\n result.push(char);\n index += char.length;\n }\n return result;\n}\n\n/**\n * Fast version of ts function for when transition defaults are well known\n * @param {State} state\n * @param {string} input\n * @param {string} t\n * @param {string} defaultt\n * @param {[RegExp, State][]} jr\n * @returns {State}\n */\nfunction fastts(state, input, t, defaultt, jr) {\n let next;\n const len = input.length;\n for (let i = 0; i < len - 1; i++) {\n const char = input[i];\n if (state.j[char]) {\n next = state.j[char];\n } else {\n next = new State(defaultt);\n next.jr = jr.slice();\n state.j[char] = next;\n }\n state = next;\n }\n next = new State(t);\n next.jr = jr.slice();\n state.j[input[len - 1]] = next;\n return next;\n}\n\n/**\n * Converts a string of Top-Level Domain names encoded in update-tlds.js back\n * into a list of strings.\n * @param {str} encoded encoded TLDs string\n * @returns {str[]} original TLDs list\n */\nfunction decodeTlds(encoded) {\n const words = [];\n const stack = [];\n let i = 0;\n let digits = '0123456789';\n while (i < encoded.length) {\n let popDigitCount = 0;\n while (digits.indexOf(encoded[i + popDigitCount]) >= 0) {\n popDigitCount++; // encountered some digits, have to pop to go one level up trie\n }\n\n if (popDigitCount > 0) {\n words.push(stack.join('')); // whatever preceded the pop digits must be a word\n let popCount = parseInt(encoded.substring(i, i + popDigitCount), 10);\n for (; popCount > 0; popCount--) {\n stack.pop();\n }\n i += popDigitCount;\n } else if (encoded[i] === '_') {\n words.push(stack.join('')); // found a word, will be followed by another\n i++;\n } else {\n stack.push(encoded[i]); // drop down a level into the trie\n i++;\n }\n }\n return words;\n}\n\n/**\n * An object where each key is a valid DOM Event Name such as `click` or `focus`\n * and each value is an event handler function.\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/Element#events\n * @typedef {?{ [event: string]: Function }} EventListeners\n */\n\n/**\n * All formatted properties required to render a link, including `tagName`,\n * `attributes`, `content` and `eventListeners`.\n * @typedef {{ tagName: any, attributes: {[attr: string]: any}, content: string,\n * eventListeners: EventListeners }} IntermediateRepresentation\n */\n\n/**\n * Specify either an object described by the template type `O` or a function.\n *\n * The function takes a string value (usually the link's href attribute), the\n * link type (`'url'`, `'hashtag`', etc.) and an internal token representation\n * of the link. It should return an object of the template type `O`\n * @template O\n * @typedef {O | ((value: string, type: string, token: MultiToken) => O)} OptObj\n */\n\n/**\n * Specify either a function described by template type `F` or an object.\n *\n * Each key in the object should be a link type (`'url'`, `'hashtag`', etc.). Each\n * value should be a function with template type `F` that is called when the\n * corresponding link type is encountered.\n * @template F\n * @typedef {F | { [type: string]: F}} OptFn\n */\n\n/**\n * Specify either a value with template type `V`, a function that returns `V` or\n * an object where each value resolves to `V`.\n *\n * The function takes a string value (usually the link's href attribute), the\n * link type (`'url'`, `'hashtag`', etc.) and an internal token representation\n * of the link. It should return an object of the template type `V`\n *\n * For the object, each key should be a link type (`'url'`, `'hashtag`', etc.).\n * Each value should either have type `V` or a function that returns V. This\n * function similarly takes a string value and a token.\n *\n * Example valid types for `Opt`:\n *\n * ```js\n * 'hello'\n * (value, type, token) => 'world'\n * { url: 'hello', email: (value, token) => 'world'}\n * ```\n * @template V\n * @typedef {V | ((value: string, type: string, token: MultiToken) => V) | { [type: string]: V | ((value: string, token: MultiToken) => V) }} Opt\n */\n\n/**\n * See available options: https://linkify.js.org/docs/options.html\n * @typedef {{\n * \tdefaultProtocol?: string,\n * events?: OptObj,\n * \tformat?: Opt,\n * \tformatHref?: Opt,\n * \tnl2br?: boolean,\n * \ttagName?: Opt,\n * \ttarget?: Opt,\n * \trel?: Opt,\n * \tvalidate?: Opt,\n * \ttruncate?: Opt,\n * \tclassName?: Opt,\n * \tattributes?: OptObj<({ [attr: string]: any })>,\n * ignoreTags?: string[],\n * \trender?: OptFn<((ir: IntermediateRepresentation) => any)>\n * }} Opts\n */\n\n/**\n * @type Required\n */\nconst defaults = {\n defaultProtocol: 'http',\n events: null,\n format: noop,\n formatHref: noop,\n nl2br: false,\n tagName: 'a',\n target: null,\n rel: null,\n validate: true,\n truncate: Infinity,\n className: null,\n attributes: null,\n ignoreTags: [],\n render: null\n};\n\n/**\n * Utility class for linkify interfaces to apply specified\n * {@link Opts formatting and rendering options}.\n *\n * @param {Opts | Options} [opts] Option value overrides.\n * @param {(ir: IntermediateRepresentation) => any} [defaultRender] (For\n * internal use) default render function that determines how to generate an\n * HTML element based on a link token's derived tagName, attributes and HTML.\n * Similar to render option\n */\nfunction Options(opts, defaultRender) {\n if (defaultRender === void 0) {\n defaultRender = null;\n }\n let o = assign({}, defaults);\n if (opts) {\n o = assign(o, opts instanceof Options ? opts.o : opts);\n }\n\n // Ensure all ignored tags are uppercase\n const ignoredTags = o.ignoreTags;\n const uppercaseIgnoredTags = [];\n for (let i = 0; i < ignoredTags.length; i++) {\n uppercaseIgnoredTags.push(ignoredTags[i].toUpperCase());\n }\n /** @protected */\n this.o = o;\n if (defaultRender) {\n this.defaultRender = defaultRender;\n }\n this.ignoreTags = uppercaseIgnoredTags;\n}\nOptions.prototype = {\n o: defaults,\n /**\n * @type string[]\n */\n ignoreTags: [],\n /**\n * @param {IntermediateRepresentation} ir\n * @returns {any}\n */\n defaultRender(ir) {\n return ir;\n },\n /**\n * Returns true or false based on whether a token should be displayed as a\n * link based on the user options.\n * @param {MultiToken} token\n * @returns {boolean}\n */\n check(token) {\n return this.get('validate', token.toString(), token);\n },\n // Private methods\n\n /**\n * Resolve an option's value based on the value of the option and the given\n * params. If operator and token are specified and the target option is\n * callable, automatically calls the function with the given argument.\n * @template {keyof Opts} K\n * @param {K} key Name of option to use\n * @param {string} [operator] will be passed to the target option if it's a\n * function. If not specified, RAW function value gets returned\n * @param {MultiToken} [token] The token from linkify.tokenize\n * @returns {Opts[K] | any}\n */\n get(key, operator, token) {\n const isCallable = operator != null;\n let option = this.o[key];\n if (!option) {\n return option;\n }\n if (typeof option === 'object') {\n option = token.t in option ? option[token.t] : defaults[key];\n if (typeof option === 'function' && isCallable) {\n option = option(operator, token);\n }\n } else if (typeof option === 'function' && isCallable) {\n option = option(operator, token.t, token);\n }\n return option;\n },\n /**\n * @template {keyof Opts} L\n * @param {L} key Name of options object to use\n * @param {string} [operator]\n * @param {MultiToken} [token]\n * @returns {Opts[L] | any}\n */\n getObj(key, operator, token) {\n let obj = this.o[key];\n if (typeof obj === 'function' && operator != null) {\n obj = obj(operator, token.t, token);\n }\n return obj;\n },\n /**\n * Convert the given token to a rendered element that may be added to the\n * calling-interface's DOM\n * @param {MultiToken} token Token to render to an HTML element\n * @returns {any} Render result; e.g., HTML string, DOM element, React\n * Component, etc.\n */\n render(token) {\n const ir = token.render(this); // intermediate representation\n const renderFn = this.get('render', null, token) || this.defaultRender;\n return renderFn(ir, token.t, token);\n }\n};\nfunction noop(val) {\n return val;\n}\n\nvar options = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\tdefaults: defaults,\n\tOptions: Options,\n\tassign: assign\n});\n\n/******************************************************************************\n\tMulti-Tokens\n\tTokens composed of arrays of TextTokens\n******************************************************************************/\n\n/**\n * @param {string} value\n * @param {Token[]} tokens\n */\nfunction MultiToken(value, tokens) {\n this.t = 'token';\n this.v = value;\n this.tk = tokens;\n}\n\n/**\n * Abstract class used for manufacturing tokens of text tokens. That is rather\n * than the value for a token being a small string of text, it's value an array\n * of text tokens.\n *\n * Used for grouping together URLs, emails, hashtags, and other potential\n * creations.\n * @class MultiToken\n * @property {string} t\n * @property {string} v\n * @property {Token[]} tk\n * @abstract\n */\nMultiToken.prototype = {\n isLink: false,\n /**\n * Return the string this token represents.\n * @return {string}\n */\n toString() {\n return this.v;\n },\n /**\n * What should the value for this token be in the `href` HTML attribute?\n * Returns the `.toString` value by default.\n * @param {string} [scheme]\n * @return {string}\n */\n toHref(scheme) {\n return this.toString();\n },\n /**\n * @param {Options} options Formatting options\n * @returns {string}\n */\n toFormattedString(options) {\n const val = this.toString();\n const truncate = options.get('truncate', val, this);\n const formatted = options.get('format', val, this);\n return truncate && formatted.length > truncate ? formatted.substring(0, truncate) + '…' : formatted;\n },\n /**\n *\n * @param {Options} options\n * @returns {string}\n */\n toFormattedHref(options) {\n return options.get('formatHref', this.toHref(options.get('defaultProtocol')), this);\n },\n /**\n * The start index of this token in the original input string\n * @returns {number}\n */\n startIndex() {\n return this.tk[0].s;\n },\n /**\n * The end index of this token in the original input string (up to this\n * index but not including it)\n * @returns {number}\n */\n endIndex() {\n return this.tk[this.tk.length - 1].e;\n },\n /**\n \tReturns an object of relevant values for this token, which includes keys\n \t* type - Kind of token ('url', 'email', etc.)\n \t* value - Original text\n \t* href - The value that should be added to the anchor tag's href\n \t\tattribute\n \t\t@method toObject\n \t@param {string} [protocol] `'http'` by default\n */\n toObject(protocol) {\n if (protocol === void 0) {\n protocol = defaults.defaultProtocol;\n }\n return {\n type: this.t,\n value: this.toString(),\n isLink: this.isLink,\n href: this.toHref(protocol),\n start: this.startIndex(),\n end: this.endIndex()\n };\n },\n /**\n *\n * @param {Options} options Formatting option\n */\n toFormattedObject(options) {\n return {\n type: this.t,\n value: this.toFormattedString(options),\n isLink: this.isLink,\n href: this.toFormattedHref(options),\n start: this.startIndex(),\n end: this.endIndex()\n };\n },\n /**\n * Whether this token should be rendered as a link according to the given options\n * @param {Options} options\n * @returns {boolean}\n */\n validate(options) {\n return options.get('validate', this.toString(), this);\n },\n /**\n * Return an object that represents how this link should be rendered.\n * @param {Options} options Formattinng options\n */\n render(options) {\n const token = this;\n const href = this.toFormattedHref(options);\n const tagName = options.get('tagName', href, token);\n const content = this.toFormattedString(options);\n const attributes = {};\n const className = options.get('className', href, token);\n const target = options.get('target', href, token);\n const rel = options.get('rel', href, token);\n const attrs = options.getObj('attributes', href, token);\n const eventListeners = options.getObj('events', href, token);\n attributes.href = href;\n if (className) {\n attributes.class = className;\n }\n if (target) {\n attributes.target = target;\n }\n if (rel) {\n attributes.rel = rel;\n }\n if (attrs) {\n assign(attributes, attrs);\n }\n return {\n tagName,\n attributes,\n content,\n eventListeners\n };\n }\n};\n\n/**\n * Create a new token that can be emitted by the parser state machine\n * @param {string} type readable type of the token\n * @param {object} props properties to assign or override, including isLink = true or false\n * @returns {new (value: string, tokens: Token[]) => MultiToken} new token class\n */\nfunction createTokenClass(type, props) {\n class Token extends MultiToken {\n constructor(value, tokens) {\n super(value, tokens);\n this.t = type;\n }\n }\n for (const p in props) {\n Token.prototype[p] = props[p];\n }\n Token.t = type;\n return Token;\n}\n\n/**\n\tRepresents a list of tokens making up a valid email address\n*/\nconst Email = createTokenClass('email', {\n isLink: true,\n toHref() {\n return 'mailto:' + this.toString();\n }\n});\n\n/**\n\tRepresents some plain text\n*/\nconst Text = createTokenClass('text');\n\n/**\n\tMulti-linebreak token - represents a line break\n\t@class Nl\n*/\nconst Nl = createTokenClass('nl');\n\n/**\n\tRepresents a list of text tokens making up a valid URL\n\t@class Url\n*/\nconst Url = createTokenClass('url', {\n isLink: true,\n /**\n \tLowercases relevant parts of the domain and adds the protocol if\n \trequired. Note that this will not escape unsafe HTML characters in the\n \tURL.\n \t\t@param {string} [scheme] default scheme (e.g., 'https')\n \t@return {string} the full href\n */\n toHref(scheme) {\n if (scheme === void 0) {\n scheme = defaults.defaultProtocol;\n }\n // Check if already has a prefix scheme\n return this.hasProtocol() ? this.v : `${scheme}://${this.v}`;\n },\n /**\n * Check whether this URL token has a protocol\n * @return {boolean}\n */\n hasProtocol() {\n const tokens = this.tk;\n return tokens.length >= 2 && tokens[0].t !== LOCALHOST && tokens[1].t === COLON;\n }\n});\n\nvar multi = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\tMultiToken: MultiToken,\n\tBase: MultiToken,\n\tcreateTokenClass: createTokenClass,\n\tEmail: Email,\n\tText: Text,\n\tNl: Nl,\n\tUrl: Url\n});\n\n/**\n\tNot exactly parser, more like the second-stage scanner (although we can\n\ttheoretically hotswap the code here with a real parser in the future... but\n\tfor a little URL-finding utility abstract syntax trees may be a little\n\toverkill).\n\n\tURL format: http://en.wikipedia.org/wiki/URI_scheme\n\tEmail format: http://en.wikipedia.org/wiki/EmailAddress (links to RFC in\n\treference)\n\n\t@module linkify\n\t@submodule parser\n\t@main run\n*/\nconst makeState = arg => new State(arg);\n\n/**\n * Generate the parser multi token-based state machine\n * @param {{ groups: Collections }} tokens\n */\nfunction init$1(_ref) {\n let {\n groups\n } = _ref;\n // Types of characters the URL can definitely end in\n const qsAccepting = groups.domain.concat([AMPERSAND, ASTERISK, AT, BACKSLASH, BACKTICK, CARET, DOLLAR, EQUALS, HYPHEN, NUM, PERCENT, PIPE, PLUS, POUND, SLASH, SYM, TILDE, UNDERSCORE]);\n\n // Types of tokens that can follow a URL and be part of the query string\n // but cannot be the very last characters\n // Characters that cannot appear in the URL at all should be excluded\n const qsNonAccepting = [APOSTROPHE, CLOSEANGLEBRACKET, CLOSEBRACE, CLOSEBRACKET, CLOSEPAREN, COLON, COMMA, DOT, EXCLAMATION, OPENANGLEBRACKET, OPENBRACE, OPENBRACKET, OPENPAREN, QUERY, QUOTE, SEMI];\n\n // For addresses without the mailto prefix\n // Tokens allowed in the localpart of the email\n const localpartAccepting = [AMPERSAND, APOSTROPHE, ASTERISK, BACKSLASH, BACKTICK, CARET, CLOSEBRACE, DOLLAR, EQUALS, HYPHEN, NUM, OPENBRACE, PERCENT, PIPE, PLUS, POUND, QUERY, SLASH, SYM, TILDE, UNDERSCORE];\n\n // The universal starting state.\n /**\n * @type State\n */\n const Start = makeState();\n const Localpart = tt(Start, TILDE); // Local part of the email address\n ta(Localpart, localpartAccepting, Localpart);\n ta(Localpart, groups.domain, Localpart);\n const Domain = makeState(),\n Scheme = makeState(),\n SlashScheme = makeState();\n ta(Start, groups.domain, Domain); // parsed string ends with a potential domain name (A)\n ta(Start, groups.scheme, Scheme); // e.g., 'mailto'\n ta(Start, groups.slashscheme, SlashScheme); // e.g., 'http'\n\n ta(Domain, localpartAccepting, Localpart);\n ta(Domain, groups.domain, Domain);\n const LocalpartAt = tt(Domain, AT); // Local part of the email address plus @\n\n tt(Localpart, AT, LocalpartAt); // close to an email address now\n\n // Local part of an email address can be e.g. 'http' or 'mailto'\n tt(Scheme, AT, LocalpartAt);\n tt(SlashScheme, AT, LocalpartAt);\n const LocalpartDot = tt(Localpart, DOT); // Local part of the email address plus '.' (localpart cannot end in .)\n ta(LocalpartDot, localpartAccepting, Localpart);\n ta(LocalpartDot, groups.domain, Localpart);\n const EmailDomain = makeState();\n ta(LocalpartAt, groups.domain, EmailDomain); // parsed string starts with local email info + @ with a potential domain name\n ta(EmailDomain, groups.domain, EmailDomain);\n const EmailDomainDot = tt(EmailDomain, DOT); // domain followed by DOT\n ta(EmailDomainDot, groups.domain, EmailDomain);\n const Email$1 = makeState(Email); // Possible email address (could have more tlds)\n ta(EmailDomainDot, groups.tld, Email$1);\n ta(EmailDomainDot, groups.utld, Email$1);\n tt(LocalpartAt, LOCALHOST, Email$1);\n\n // Hyphen can jump back to a domain name\n const EmailDomainHyphen = tt(EmailDomain, HYPHEN); // parsed string starts with local email info + @ with a potential domain name\n ta(EmailDomainHyphen, groups.domain, EmailDomain);\n ta(Email$1, groups.domain, EmailDomain);\n tt(Email$1, DOT, EmailDomainDot);\n tt(Email$1, HYPHEN, EmailDomainHyphen);\n\n // Final possible email states\n const EmailColon = tt(Email$1, COLON); // URL followed by colon (potential port number here)\n /*const EmailColonPort = */\n ta(EmailColon, groups.numeric, Email); // URL followed by colon and port numner\n\n // Account for dots and hyphens. Hyphens are usually parts of domain names\n // (but not TLDs)\n const DomainHyphen = tt(Domain, HYPHEN); // domain followed by hyphen\n const DomainDot = tt(Domain, DOT); // domain followed by DOT\n ta(DomainHyphen, groups.domain, Domain);\n ta(DomainDot, localpartAccepting, Localpart);\n ta(DomainDot, groups.domain, Domain);\n const DomainDotTld = makeState(Url); // Simplest possible URL with no query string\n ta(DomainDot, groups.tld, DomainDotTld);\n ta(DomainDot, groups.utld, DomainDotTld);\n ta(DomainDotTld, groups.domain, Domain);\n ta(DomainDotTld, localpartAccepting, Localpart);\n tt(DomainDotTld, DOT, DomainDot);\n tt(DomainDotTld, HYPHEN, DomainHyphen);\n tt(DomainDotTld, AT, LocalpartAt);\n const DomainDotTldColon = tt(DomainDotTld, COLON); // URL followed by colon (potential port number here)\n const DomainDotTldColonPort = makeState(Url); // TLD followed by a port number\n ta(DomainDotTldColon, groups.numeric, DomainDotTldColonPort);\n\n // Long URL with optional port and maybe query string\n const Url$1 = makeState(Url);\n\n // URL with extra symbols at the end, followed by an opening bracket\n const UrlNonaccept = makeState(); // URL followed by some symbols (will not be part of the final URL)\n\n // Query strings\n ta(Url$1, qsAccepting, Url$1);\n ta(Url$1, qsNonAccepting, UrlNonaccept);\n ta(UrlNonaccept, qsAccepting, Url$1);\n ta(UrlNonaccept, qsNonAccepting, UrlNonaccept);\n\n // Become real URLs after `SLASH` or `COLON NUM SLASH`\n // Here works with or without scheme:// prefix\n tt(DomainDotTld, SLASH, Url$1);\n tt(DomainDotTldColonPort, SLASH, Url$1);\n\n // Note that domains that begin with schemes are treated slighly differently\n const UriPrefix = tt(Scheme, COLON); // e.g., 'mailto:' or 'http://'\n const SlashSchemeColon = tt(SlashScheme, COLON); // e.g., 'http:'\n const SlashSchemeColonSlash = tt(SlashSchemeColon, SLASH); // e.g., 'http:/'\n\n tt(SlashSchemeColonSlash, SLASH, UriPrefix);\n\n // Scheme states can transition to domain states\n ta(Scheme, groups.domain, Domain);\n tt(Scheme, DOT, DomainDot);\n tt(Scheme, HYPHEN, DomainHyphen);\n ta(SlashScheme, groups.domain, Domain);\n tt(SlashScheme, DOT, DomainDot);\n tt(SlashScheme, HYPHEN, DomainHyphen);\n\n // Force URL with scheme prefix followed by anything sane\n ta(UriPrefix, groups.domain, Url$1);\n tt(UriPrefix, SLASH, Url$1);\n\n // URL, followed by an opening bracket\n const UrlOpenbrace = tt(Url$1, OPENBRACE); // URL followed by {\n const UrlOpenbracket = tt(Url$1, OPENBRACKET); // URL followed by [\n const UrlOpenanglebracket = tt(Url$1, OPENANGLEBRACKET); // URL followed by <\n const UrlOpenparen = tt(Url$1, OPENPAREN); // URL followed by (\n\n tt(UrlNonaccept, OPENBRACE, UrlOpenbrace);\n tt(UrlNonaccept, OPENBRACKET, UrlOpenbracket);\n tt(UrlNonaccept, OPENANGLEBRACKET, UrlOpenanglebracket);\n tt(UrlNonaccept, OPENPAREN, UrlOpenparen);\n\n // Closing bracket component. This character WILL be included in the URL\n tt(UrlOpenbrace, CLOSEBRACE, Url$1);\n tt(UrlOpenbracket, CLOSEBRACKET, Url$1);\n tt(UrlOpenanglebracket, CLOSEANGLEBRACKET, Url$1);\n tt(UrlOpenparen, CLOSEPAREN, Url$1);\n tt(UrlOpenbrace, CLOSEBRACE, Url$1);\n\n // URL that beings with an opening bracket, followed by a symbols.\n // Note that the final state can still be `UrlOpenbrace` (if the URL only\n // has a single opening bracket for some reason).\n const UrlOpenbraceQ = makeState(Url); // URL followed by { and some symbols that the URL can end it\n const UrlOpenbracketQ = makeState(Url); // URL followed by [ and some symbols that the URL can end it\n const UrlOpenanglebracketQ = makeState(Url); // URL followed by < and some symbols that the URL can end it\n const UrlOpenparenQ = makeState(Url); // URL followed by ( and some symbols that the URL can end it\n ta(UrlOpenbrace, qsAccepting, UrlOpenbraceQ);\n ta(UrlOpenbracket, qsAccepting, UrlOpenbracketQ);\n ta(UrlOpenanglebracket, qsAccepting, UrlOpenanglebracketQ);\n ta(UrlOpenparen, qsAccepting, UrlOpenparenQ);\n const UrlOpenbraceSyms = makeState(); // UrlOpenbrace followed by some symbols it cannot end it\n const UrlOpenbracketSyms = makeState(); // UrlOpenbracketQ followed by some symbols it cannot end it\n const UrlOpenanglebracketSyms = makeState(); // UrlOpenanglebracketQ followed by some symbols it cannot end it\n const UrlOpenparenSyms = makeState(); // UrlOpenparenQ followed by some symbols it cannot end it\n ta(UrlOpenbrace, qsNonAccepting);\n ta(UrlOpenbracket, qsNonAccepting);\n ta(UrlOpenanglebracket, qsNonAccepting);\n ta(UrlOpenparen, qsNonAccepting);\n\n // URL that begins with an opening bracket, followed by some symbols\n ta(UrlOpenbraceQ, qsAccepting, UrlOpenbraceQ);\n ta(UrlOpenbracketQ, qsAccepting, UrlOpenbracketQ);\n ta(UrlOpenanglebracketQ, qsAccepting, UrlOpenanglebracketQ);\n ta(UrlOpenparenQ, qsAccepting, UrlOpenparenQ);\n ta(UrlOpenbraceQ, qsNonAccepting, UrlOpenbraceQ);\n ta(UrlOpenbracketQ, qsNonAccepting, UrlOpenbracketQ);\n ta(UrlOpenanglebracketQ, qsNonAccepting, UrlOpenanglebracketQ);\n ta(UrlOpenparenQ, qsNonAccepting, UrlOpenparenQ);\n ta(UrlOpenbraceSyms, qsAccepting, UrlOpenbraceSyms);\n ta(UrlOpenbracketSyms, qsAccepting, UrlOpenbracketQ);\n ta(UrlOpenanglebracketSyms, qsAccepting, UrlOpenanglebracketQ);\n ta(UrlOpenparenSyms, qsAccepting, UrlOpenparenQ);\n ta(UrlOpenbraceSyms, qsNonAccepting, UrlOpenbraceSyms);\n ta(UrlOpenbracketSyms, qsNonAccepting, UrlOpenbracketSyms);\n ta(UrlOpenanglebracketSyms, qsNonAccepting, UrlOpenanglebracketSyms);\n ta(UrlOpenparenSyms, qsNonAccepting, UrlOpenparenSyms);\n\n // Close brace/bracket to become regular URL\n tt(UrlOpenbracketQ, CLOSEBRACKET, Url$1);\n tt(UrlOpenanglebracketQ, CLOSEANGLEBRACKET, Url$1);\n tt(UrlOpenparenQ, CLOSEPAREN, Url$1);\n tt(UrlOpenbraceQ, CLOSEBRACE, Url$1);\n tt(UrlOpenbracketSyms, CLOSEBRACKET, Url$1);\n tt(UrlOpenanglebracketSyms, CLOSEANGLEBRACKET, Url$1);\n tt(UrlOpenparenSyms, CLOSEPAREN, Url$1);\n tt(UrlOpenbraceSyms, CLOSEPAREN, Url$1);\n tt(Start, LOCALHOST, DomainDotTld); // localhost is a valid URL state\n tt(Start, NL$1, Nl); // single new line\n\n return {\n start: Start,\n tokens: tk\n };\n}\n\n/**\n * Run the parser state machine on a list of scanned string-based tokens to\n * create a list of multi tokens, each of which represents a URL, email address,\n * plain text, etc.\n *\n * @param {State} start parser start state\n * @param {string} input the original input used to generate the given tokens\n * @param {Token[]} tokens list of scanned tokens\n * @returns {MultiToken[]}\n */\nfunction run(start, input, tokens) {\n let len = tokens.length;\n let cursor = 0;\n let multis = [];\n let textTokens = [];\n while (cursor < len) {\n let state = start;\n let secondState = null;\n let nextState = null;\n let multiLength = 0;\n let latestAccepting = null;\n let sinceAccepts = -1;\n while (cursor < len && !(secondState = state.go(tokens[cursor].t))) {\n // Starting tokens with nowhere to jump to.\n // Consider these to be just plain text\n textTokens.push(tokens[cursor++]);\n }\n while (cursor < len && (nextState = secondState || state.go(tokens[cursor].t))) {\n // Get the next state\n secondState = null;\n state = nextState;\n\n // Keep track of the latest accepting state\n if (state.accepts()) {\n sinceAccepts = 0;\n latestAccepting = state;\n } else if (sinceAccepts >= 0) {\n sinceAccepts++;\n }\n cursor++;\n multiLength++;\n }\n if (sinceAccepts < 0) {\n // No accepting state was found, part of a regular text token add\n // the first text token to the text tokens array and try again from\n // the next\n cursor -= multiLength;\n if (cursor < len) {\n textTokens.push(tokens[cursor]);\n cursor++;\n }\n } else {\n // Accepting state!\n // First close off the textTokens (if available)\n if (textTokens.length > 0) {\n multis.push(initMultiToken(Text, input, textTokens));\n textTokens = [];\n }\n\n // Roll back to the latest accepting state\n cursor -= sinceAccepts;\n multiLength -= sinceAccepts;\n\n // Create a new multitoken\n const Multi = latestAccepting.t;\n const subtokens = tokens.slice(cursor - multiLength, cursor);\n multis.push(initMultiToken(Multi, input, subtokens));\n }\n }\n\n // Finally close off the textTokens (if available)\n if (textTokens.length > 0) {\n multis.push(initMultiToken(Text, input, textTokens));\n }\n return multis;\n}\n\n/**\n * Utility function for instantiating a new multitoken with all the relevant\n * fields during parsing.\n * @param {new (value: string, tokens: Token[]) => MultiToken} Multi class to instantiate\n * @param {string} input original input string\n * @param {Token[]} tokens consecutive tokens scanned from input string\n * @returns {MultiToken}\n */\nfunction initMultiToken(Multi, input, tokens) {\n const startIdx = tokens[0].s;\n const endIdx = tokens[tokens.length - 1].e;\n const value = input.slice(startIdx, endIdx);\n return new Multi(value, tokens);\n}\n\nconst warn = typeof console !== 'undefined' && console && console.warn || (() => {});\nconst warnAdvice = 'until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.';\n\n// Side-effect initialization state\nconst INIT = {\n scanner: null,\n parser: null,\n tokenQueue: [],\n pluginQueue: [],\n customSchemes: [],\n initialized: false\n};\n\n/**\n * @typedef {{\n * \tstart: State,\n * \ttokens: { groups: Collections } & typeof tk\n * }} ScannerInit\n */\n\n/**\n * @typedef {{\n * \tstart: State,\n * \ttokens: typeof multi\n * }} ParserInit\n */\n\n/**\n * @typedef {(arg: { scanner: ScannerInit }) => void} TokenPlugin\n */\n\n/**\n * @typedef {(arg: { scanner: ScannerInit, parser: ParserInit }) => void} Plugin\n */\n\n/**\n * De-register all plugins and reset the internal state-machine. Used for\n * testing; not required in practice.\n * @private\n */\nfunction reset() {\n State.groups = {};\n INIT.scanner = null;\n INIT.parser = null;\n INIT.tokenQueue = [];\n INIT.pluginQueue = [];\n INIT.customSchemes = [];\n INIT.initialized = false;\n}\n\n/**\n * Register a token plugin to allow the scanner to recognize additional token\n * types before the parser state machine is constructed from the results.\n * @param {string} name of plugin to register\n * @param {TokenPlugin} plugin function that accepts the scanner state machine\n * and available scanner tokens and collections and extends the state machine to\n * recognize additional tokens or groups.\n */\nfunction registerTokenPlugin(name, plugin) {\n if (typeof plugin !== 'function') {\n throw new Error(`linkifyjs: Invalid token plugin ${plugin} (expects function)`);\n }\n for (let i = 0; i < INIT.tokenQueue.length; i++) {\n if (name === INIT.tokenQueue[i][0]) {\n warn(`linkifyjs: token plugin \"${name}\" already registered - will be overwritten`);\n INIT.tokenQueue[i] = [name, plugin];\n return;\n }\n }\n INIT.tokenQueue.push([name, plugin]);\n if (INIT.initialized) {\n warn(`linkifyjs: already initialized - will not register token plugin \"${name}\" ${warnAdvice}`);\n }\n}\n\n/**\n * Register a linkify plugin\n * @param {string} name of plugin to register\n * @param {Plugin} plugin function that accepts the parser state machine and\n * extends the parser to recognize additional link types\n */\nfunction registerPlugin(name, plugin) {\n if (typeof plugin !== 'function') {\n throw new Error(`linkifyjs: Invalid plugin ${plugin} (expects function)`);\n }\n for (let i = 0; i < INIT.pluginQueue.length; i++) {\n if (name === INIT.pluginQueue[i][0]) {\n warn(`linkifyjs: plugin \"${name}\" already registered - will be overwritten`);\n INIT.pluginQueue[i] = [name, plugin];\n return;\n }\n }\n INIT.pluginQueue.push([name, plugin]);\n if (INIT.initialized) {\n warn(`linkifyjs: already initialized - will not register plugin \"${name}\" ${warnAdvice}`);\n }\n}\n\n/**\n * Detect URLs with the following additional protocol. Anything with format\n * \"protocol://...\" will be considered a link. If `optionalSlashSlash` is set to\n * `true`, anything with format \"protocol:...\" will be considered a link.\n * @param {string} protocol\n * @param {boolean} [optionalSlashSlash]\n */\nfunction registerCustomProtocol(scheme, optionalSlashSlash) {\n if (optionalSlashSlash === void 0) {\n optionalSlashSlash = false;\n }\n if (INIT.initialized) {\n warn(`linkifyjs: already initialized - will not register custom scheme \"${scheme}\" ${warnAdvice}`);\n }\n if (!/^[0-9a-z]+(-[0-9a-z]+)*$/.test(scheme)) {\n throw new Error('linkifyjs: incorrect scheme format.\\n 1. Must only contain digits, lowercase ASCII letters or \"-\"\\n 2. Cannot start or end with \"-\"\\n 3. \"-\" cannot repeat');\n }\n INIT.customSchemes.push([scheme, optionalSlashSlash]);\n}\n\n/**\n * Initialize the linkify state machine. Called automatically the first time\n * linkify is called on a string, but may be called manually as well.\n */\nfunction init() {\n // Initialize scanner state machine and plugins\n INIT.scanner = init$2(INIT.customSchemes);\n for (let i = 0; i < INIT.tokenQueue.length; i++) {\n INIT.tokenQueue[i][1]({\n scanner: INIT.scanner\n });\n }\n\n // Initialize parser state machine and plugins\n INIT.parser = init$1(INIT.scanner.tokens);\n for (let i = 0; i < INIT.pluginQueue.length; i++) {\n INIT.pluginQueue[i][1]({\n scanner: INIT.scanner,\n parser: INIT.parser\n });\n }\n INIT.initialized = true;\n}\n\n/**\n * Parse a string into tokens that represent linkable and non-linkable sub-components\n * @param {string} str\n * @return {MultiToken[]} tokens\n */\nfunction tokenize(str) {\n if (!INIT.initialized) {\n init();\n }\n return run(INIT.parser.start, str, run$1(INIT.scanner.start, str));\n}\n\n/**\n * Find a list of linkable items in the given string.\n * @param {string} str string to find links in\n * @param {string | Opts} [type] either formatting options or specific type of\n * links to find, e.g., 'url' or 'email'\n * @param {Opts} [opts] formatting options for final output. Cannot be specified\n * if opts already provided in `type` argument\n*/\nfunction find(str, type, opts) {\n if (type === void 0) {\n type = null;\n }\n if (opts === void 0) {\n opts = null;\n }\n if (type && typeof type === 'object') {\n if (opts) {\n throw Error(`linkifyjs: Invalid link type ${type}; must be a string`);\n }\n opts = type;\n type = null;\n }\n const options = new Options(opts);\n const tokens = tokenize(str);\n const filtered = [];\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n if (token.isLink && (!type || token.t === type)) {\n filtered.push(token.toFormattedObject(options));\n }\n }\n return filtered;\n}\n\n/**\n * Is the given string valid linkable text of some sort. Note that this does not\n * trim the text for you.\n *\n * Optionally pass in a second `type` param, which is the type of link to test\n * for.\n *\n * For example,\n *\n * linkify.test(str, 'email');\n *\n * Returns `true` if str is a valid email.\n * @param {string} str string to test for links\n * @param {string} [type] optional specific link type to look for\n * @returns boolean true/false\n */\nfunction test(str, type) {\n if (type === void 0) {\n type = null;\n }\n const tokens = tokenize(str);\n return tokens.length === 1 && tokens[0].isLink && (!type || tokens[0].t === type);\n}\n\nexport { MultiToken, Options, State, createTokenClass, find, init, multi, options, regexp, registerCustomProtocol, registerPlugin, registerTokenPlugin, reset, stringToArray, test, tokenize };\n","import { Options, tokenize as tokenize$1 } from 'linkifyjs';\n\n/**\n * generated from https://raw.githubusercontent.com/w3c/html/26b5126f96f736f796b9e29718138919dd513744/entities.json\n * do not edit\n */\nvar HTML5NamedCharRefs = {\n // We don't need the complete named character reference because linkifyHtml\n // does not modify the escape sequences. We do need   so that\n // whitespace is parsed properly. Other types of whitespace should already\n // be accounted for. > < and " are also frequently relevant ones\n amp: \"&\",\n gt: \">\",\n lt: \"<\",\n nbsp: \" \",\n quot: \"\\\"\"\n};\nvar HEXCHARCODE = /^#[xX]([A-Fa-f0-9]+)$/;\nvar CHARCODE = /^#([0-9]+)$/;\nvar NAMED = /^([A-Za-z0-9]+)$/;\nvar EntityParser = /** @class */function () {\n function EntityParser(named) {\n this.named = named;\n }\n EntityParser.prototype.parse = function (entity) {\n if (!entity) {\n return;\n }\n var matches = entity.match(HEXCHARCODE);\n if (matches) {\n return String.fromCharCode(parseInt(matches[1], 16));\n }\n matches = entity.match(CHARCODE);\n if (matches) {\n return String.fromCharCode(parseInt(matches[1], 10));\n }\n matches = entity.match(NAMED);\n if (matches) {\n return this.named[matches[1]] || \"&\" + matches[1] + \";\";\n }\n };\n return EntityParser;\n}();\nvar WSP = /[\\t\\n\\f ]/;\nvar ALPHA = /[A-Za-z]/;\nvar CRLF = /\\r\\n?/g;\nfunction isSpace(char) {\n return WSP.test(char);\n}\nfunction isAlpha(char) {\n return ALPHA.test(char);\n}\nfunction preprocessInput(input) {\n return input.replace(CRLF, '\\n');\n}\nvar EventedTokenizer = /** @class */function () {\n function EventedTokenizer(delegate, entityParser, mode) {\n if (mode === void 0) {\n mode = 'precompile';\n }\n this.delegate = delegate;\n this.entityParser = entityParser;\n this.mode = mode;\n this.state = \"beforeData\" /* beforeData */;\n this.line = -1;\n this.column = -1;\n this.input = '';\n this.index = -1;\n this.tagNameBuffer = '';\n this.states = {\n beforeData: function () {\n var char = this.peek();\n if (char === '<' && !this.isIgnoredEndTag()) {\n this.transitionTo(\"tagOpen\" /* tagOpen */);\n this.markTagStart();\n this.consume();\n } else {\n if (this.mode === 'precompile' && char === '\\n') {\n var tag = this.tagNameBuffer.toLowerCase();\n if (tag === 'pre' || tag === 'textarea') {\n this.consume();\n }\n }\n this.transitionTo(\"data\" /* data */);\n this.delegate.beginData();\n }\n },\n data: function () {\n var char = this.peek();\n var tag = this.tagNameBuffer;\n if (char === '<' && !this.isIgnoredEndTag()) {\n this.delegate.finishData();\n this.transitionTo(\"tagOpen\" /* tagOpen */);\n this.markTagStart();\n this.consume();\n } else if (char === '&' && tag !== 'script' && tag !== 'style') {\n this.consume();\n this.delegate.appendToData(this.consumeCharRef() || '&');\n } else {\n this.consume();\n this.delegate.appendToData(char);\n }\n },\n tagOpen: function () {\n var char = this.consume();\n if (char === '!') {\n this.transitionTo(\"markupDeclarationOpen\" /* markupDeclarationOpen */);\n } else if (char === '/') {\n this.transitionTo(\"endTagOpen\" /* endTagOpen */);\n } else if (char === '@' || char === ':' || isAlpha(char)) {\n this.transitionTo(\"tagName\" /* tagName */);\n this.tagNameBuffer = '';\n this.delegate.beginStartTag();\n this.appendToTagName(char);\n }\n },\n markupDeclarationOpen: function () {\n var char = this.consume();\n if (char === '-' && this.peek() === '-') {\n this.consume();\n this.transitionTo(\"commentStart\" /* commentStart */);\n this.delegate.beginComment();\n } else {\n var maybeDoctype = char.toUpperCase() + this.input.substring(this.index, this.index + 6).toUpperCase();\n if (maybeDoctype === 'DOCTYPE') {\n this.consume();\n this.consume();\n this.consume();\n this.consume();\n this.consume();\n this.consume();\n this.transitionTo(\"doctype\" /* doctype */);\n if (this.delegate.beginDoctype) this.delegate.beginDoctype();\n }\n }\n },\n doctype: function () {\n var char = this.consume();\n if (isSpace(char)) {\n this.transitionTo(\"beforeDoctypeName\" /* beforeDoctypeName */);\n }\n },\n\n beforeDoctypeName: function () {\n var char = this.consume();\n if (isSpace(char)) {\n return;\n } else {\n this.transitionTo(\"doctypeName\" /* doctypeName */);\n if (this.delegate.appendToDoctypeName) this.delegate.appendToDoctypeName(char.toLowerCase());\n }\n },\n doctypeName: function () {\n var char = this.consume();\n if (isSpace(char)) {\n this.transitionTo(\"afterDoctypeName\" /* afterDoctypeName */);\n } else if (char === '>') {\n if (this.delegate.endDoctype) this.delegate.endDoctype();\n this.transitionTo(\"beforeData\" /* beforeData */);\n } else {\n if (this.delegate.appendToDoctypeName) this.delegate.appendToDoctypeName(char.toLowerCase());\n }\n },\n afterDoctypeName: function () {\n var char = this.consume();\n if (isSpace(char)) {\n return;\n } else if (char === '>') {\n if (this.delegate.endDoctype) this.delegate.endDoctype();\n this.transitionTo(\"beforeData\" /* beforeData */);\n } else {\n var nextSixChars = char.toUpperCase() + this.input.substring(this.index, this.index + 5).toUpperCase();\n var isPublic = nextSixChars.toUpperCase() === 'PUBLIC';\n var isSystem = nextSixChars.toUpperCase() === 'SYSTEM';\n if (isPublic || isSystem) {\n this.consume();\n this.consume();\n this.consume();\n this.consume();\n this.consume();\n this.consume();\n }\n if (isPublic) {\n this.transitionTo(\"afterDoctypePublicKeyword\" /* afterDoctypePublicKeyword */);\n } else if (isSystem) {\n this.transitionTo(\"afterDoctypeSystemKeyword\" /* afterDoctypeSystemKeyword */);\n }\n }\n },\n\n afterDoctypePublicKeyword: function () {\n var char = this.peek();\n if (isSpace(char)) {\n this.transitionTo(\"beforeDoctypePublicIdentifier\" /* beforeDoctypePublicIdentifier */);\n this.consume();\n } else if (char === '\"') {\n this.transitionTo(\"doctypePublicIdentifierDoubleQuoted\" /* doctypePublicIdentifierDoubleQuoted */);\n this.consume();\n } else if (char === \"'\") {\n this.transitionTo(\"doctypePublicIdentifierSingleQuoted\" /* doctypePublicIdentifierSingleQuoted */);\n this.consume();\n } else if (char === '>') {\n this.consume();\n if (this.delegate.endDoctype) this.delegate.endDoctype();\n this.transitionTo(\"beforeData\" /* beforeData */);\n }\n },\n\n doctypePublicIdentifierDoubleQuoted: function () {\n var char = this.consume();\n if (char === '\"') {\n this.transitionTo(\"afterDoctypePublicIdentifier\" /* afterDoctypePublicIdentifier */);\n } else if (char === '>') {\n if (this.delegate.endDoctype) this.delegate.endDoctype();\n this.transitionTo(\"beforeData\" /* beforeData */);\n } else {\n if (this.delegate.appendToDoctypePublicIdentifier) this.delegate.appendToDoctypePublicIdentifier(char);\n }\n },\n doctypePublicIdentifierSingleQuoted: function () {\n var char = this.consume();\n if (char === \"'\") {\n this.transitionTo(\"afterDoctypePublicIdentifier\" /* afterDoctypePublicIdentifier */);\n } else if (char === '>') {\n if (this.delegate.endDoctype) this.delegate.endDoctype();\n this.transitionTo(\"beforeData\" /* beforeData */);\n } else {\n if (this.delegate.appendToDoctypePublicIdentifier) this.delegate.appendToDoctypePublicIdentifier(char);\n }\n },\n afterDoctypePublicIdentifier: function () {\n var char = this.consume();\n if (isSpace(char)) {\n this.transitionTo(\"betweenDoctypePublicAndSystemIdentifiers\" /* betweenDoctypePublicAndSystemIdentifiers */);\n } else if (char === '>') {\n if (this.delegate.endDoctype) this.delegate.endDoctype();\n this.transitionTo(\"beforeData\" /* beforeData */);\n } else if (char === '\"') {\n this.transitionTo(\"doctypeSystemIdentifierDoubleQuoted\" /* doctypeSystemIdentifierDoubleQuoted */);\n } else if (char === \"'\") {\n this.transitionTo(\"doctypeSystemIdentifierSingleQuoted\" /* doctypeSystemIdentifierSingleQuoted */);\n }\n },\n\n betweenDoctypePublicAndSystemIdentifiers: function () {\n var char = this.consume();\n if (isSpace(char)) {\n return;\n } else if (char === '>') {\n if (this.delegate.endDoctype) this.delegate.endDoctype();\n this.transitionTo(\"beforeData\" /* beforeData */);\n } else if (char === '\"') {\n this.transitionTo(\"doctypeSystemIdentifierDoubleQuoted\" /* doctypeSystemIdentifierDoubleQuoted */);\n } else if (char === \"'\") {\n this.transitionTo(\"doctypeSystemIdentifierSingleQuoted\" /* doctypeSystemIdentifierSingleQuoted */);\n }\n },\n\n doctypeSystemIdentifierDoubleQuoted: function () {\n var char = this.consume();\n if (char === '\"') {\n this.transitionTo(\"afterDoctypeSystemIdentifier\" /* afterDoctypeSystemIdentifier */);\n } else if (char === '>') {\n if (this.delegate.endDoctype) this.delegate.endDoctype();\n this.transitionTo(\"beforeData\" /* beforeData */);\n } else {\n if (this.delegate.appendToDoctypeSystemIdentifier) this.delegate.appendToDoctypeSystemIdentifier(char);\n }\n },\n doctypeSystemIdentifierSingleQuoted: function () {\n var char = this.consume();\n if (char === \"'\") {\n this.transitionTo(\"afterDoctypeSystemIdentifier\" /* afterDoctypeSystemIdentifier */);\n } else if (char === '>') {\n if (this.delegate.endDoctype) this.delegate.endDoctype();\n this.transitionTo(\"beforeData\" /* beforeData */);\n } else {\n if (this.delegate.appendToDoctypeSystemIdentifier) this.delegate.appendToDoctypeSystemIdentifier(char);\n }\n },\n afterDoctypeSystemIdentifier: function () {\n var char = this.consume();\n if (isSpace(char)) {\n return;\n } else if (char === '>') {\n if (this.delegate.endDoctype) this.delegate.endDoctype();\n this.transitionTo(\"beforeData\" /* beforeData */);\n }\n },\n\n commentStart: function () {\n var char = this.consume();\n if (char === '-') {\n this.transitionTo(\"commentStartDash\" /* commentStartDash */);\n } else if (char === '>') {\n this.delegate.finishComment();\n this.transitionTo(\"beforeData\" /* beforeData */);\n } else {\n this.delegate.appendToCommentData(char);\n this.transitionTo(\"comment\" /* comment */);\n }\n },\n\n commentStartDash: function () {\n var char = this.consume();\n if (char === '-') {\n this.transitionTo(\"commentEnd\" /* commentEnd */);\n } else if (char === '>') {\n this.delegate.finishComment();\n this.transitionTo(\"beforeData\" /* beforeData */);\n } else {\n this.delegate.appendToCommentData('-');\n this.transitionTo(\"comment\" /* comment */);\n }\n },\n\n comment: function () {\n var char = this.consume();\n if (char === '-') {\n this.transitionTo(\"commentEndDash\" /* commentEndDash */);\n } else {\n this.delegate.appendToCommentData(char);\n }\n },\n commentEndDash: function () {\n var char = this.consume();\n if (char === '-') {\n this.transitionTo(\"commentEnd\" /* commentEnd */);\n } else {\n this.delegate.appendToCommentData('-' + char);\n this.transitionTo(\"comment\" /* comment */);\n }\n },\n\n commentEnd: function () {\n var char = this.consume();\n if (char === '>') {\n this.delegate.finishComment();\n this.transitionTo(\"beforeData\" /* beforeData */);\n } else {\n this.delegate.appendToCommentData('--' + char);\n this.transitionTo(\"comment\" /* comment */);\n }\n },\n\n tagName: function () {\n var char = this.consume();\n if (isSpace(char)) {\n this.transitionTo(\"beforeAttributeName\" /* beforeAttributeName */);\n } else if (char === '/') {\n this.transitionTo(\"selfClosingStartTag\" /* selfClosingStartTag */);\n } else if (char === '>') {\n this.delegate.finishTag();\n this.transitionTo(\"beforeData\" /* beforeData */);\n } else {\n this.appendToTagName(char);\n }\n },\n endTagName: function () {\n var char = this.consume();\n if (isSpace(char)) {\n this.transitionTo(\"beforeAttributeName\" /* beforeAttributeName */);\n this.tagNameBuffer = '';\n } else if (char === '/') {\n this.transitionTo(\"selfClosingStartTag\" /* selfClosingStartTag */);\n this.tagNameBuffer = '';\n } else if (char === '>') {\n this.delegate.finishTag();\n this.transitionTo(\"beforeData\" /* beforeData */);\n this.tagNameBuffer = '';\n } else {\n this.appendToTagName(char);\n }\n },\n beforeAttributeName: function () {\n var char = this.peek();\n if (isSpace(char)) {\n this.consume();\n return;\n } else if (char === '/') {\n this.transitionTo(\"selfClosingStartTag\" /* selfClosingStartTag */);\n this.consume();\n } else if (char === '>') {\n this.consume();\n this.delegate.finishTag();\n this.transitionTo(\"beforeData\" /* beforeData */);\n } else if (char === '=') {\n this.delegate.reportSyntaxError('attribute name cannot start with equals sign');\n this.transitionTo(\"attributeName\" /* attributeName */);\n this.delegate.beginAttribute();\n this.consume();\n this.delegate.appendToAttributeName(char);\n } else {\n this.transitionTo(\"attributeName\" /* attributeName */);\n this.delegate.beginAttribute();\n }\n },\n attributeName: function () {\n var char = this.peek();\n if (isSpace(char)) {\n this.transitionTo(\"afterAttributeName\" /* afterAttributeName */);\n this.consume();\n } else if (char === '/') {\n this.delegate.beginAttributeValue(false);\n this.delegate.finishAttributeValue();\n this.consume();\n this.transitionTo(\"selfClosingStartTag\" /* selfClosingStartTag */);\n } else if (char === '=') {\n this.transitionTo(\"beforeAttributeValue\" /* beforeAttributeValue */);\n this.consume();\n } else if (char === '>') {\n this.delegate.beginAttributeValue(false);\n this.delegate.finishAttributeValue();\n this.consume();\n this.delegate.finishTag();\n this.transitionTo(\"beforeData\" /* beforeData */);\n } else if (char === '\"' || char === \"'\" || char === '<') {\n this.delegate.reportSyntaxError(char + ' is not a valid character within attribute names');\n this.consume();\n this.delegate.appendToAttributeName(char);\n } else {\n this.consume();\n this.delegate.appendToAttributeName(char);\n }\n },\n afterAttributeName: function () {\n var char = this.peek();\n if (isSpace(char)) {\n this.consume();\n return;\n } else if (char === '/') {\n this.delegate.beginAttributeValue(false);\n this.delegate.finishAttributeValue();\n this.consume();\n this.transitionTo(\"selfClosingStartTag\" /* selfClosingStartTag */);\n } else if (char === '=') {\n this.consume();\n this.transitionTo(\"beforeAttributeValue\" /* beforeAttributeValue */);\n } else if (char === '>') {\n this.delegate.beginAttributeValue(false);\n this.delegate.finishAttributeValue();\n this.consume();\n this.delegate.finishTag();\n this.transitionTo(\"beforeData\" /* beforeData */);\n } else {\n this.delegate.beginAttributeValue(false);\n this.delegate.finishAttributeValue();\n this.transitionTo(\"attributeName\" /* attributeName */);\n this.delegate.beginAttribute();\n this.consume();\n this.delegate.appendToAttributeName(char);\n }\n },\n beforeAttributeValue: function () {\n var char = this.peek();\n if (isSpace(char)) {\n this.consume();\n } else if (char === '\"') {\n this.transitionTo(\"attributeValueDoubleQuoted\" /* attributeValueDoubleQuoted */);\n this.delegate.beginAttributeValue(true);\n this.consume();\n } else if (char === \"'\") {\n this.transitionTo(\"attributeValueSingleQuoted\" /* attributeValueSingleQuoted */);\n this.delegate.beginAttributeValue(true);\n this.consume();\n } else if (char === '>') {\n this.delegate.beginAttributeValue(false);\n this.delegate.finishAttributeValue();\n this.consume();\n this.delegate.finishTag();\n this.transitionTo(\"beforeData\" /* beforeData */);\n } else {\n this.transitionTo(\"attributeValueUnquoted\" /* attributeValueUnquoted */);\n this.delegate.beginAttributeValue(false);\n this.consume();\n this.delegate.appendToAttributeValue(char);\n }\n },\n attributeValueDoubleQuoted: function () {\n var char = this.consume();\n if (char === '\"') {\n this.delegate.finishAttributeValue();\n this.transitionTo(\"afterAttributeValueQuoted\" /* afterAttributeValueQuoted */);\n } else if (char === '&') {\n this.delegate.appendToAttributeValue(this.consumeCharRef() || '&');\n } else {\n this.delegate.appendToAttributeValue(char);\n }\n },\n attributeValueSingleQuoted: function () {\n var char = this.consume();\n if (char === \"'\") {\n this.delegate.finishAttributeValue();\n this.transitionTo(\"afterAttributeValueQuoted\" /* afterAttributeValueQuoted */);\n } else if (char === '&') {\n this.delegate.appendToAttributeValue(this.consumeCharRef() || '&');\n } else {\n this.delegate.appendToAttributeValue(char);\n }\n },\n attributeValueUnquoted: function () {\n var char = this.peek();\n if (isSpace(char)) {\n this.delegate.finishAttributeValue();\n this.consume();\n this.transitionTo(\"beforeAttributeName\" /* beforeAttributeName */);\n } else if (char === '/') {\n this.delegate.finishAttributeValue();\n this.consume();\n this.transitionTo(\"selfClosingStartTag\" /* selfClosingStartTag */);\n } else if (char === '&') {\n this.consume();\n this.delegate.appendToAttributeValue(this.consumeCharRef() || '&');\n } else if (char === '>') {\n this.delegate.finishAttributeValue();\n this.consume();\n this.delegate.finishTag();\n this.transitionTo(\"beforeData\" /* beforeData */);\n } else {\n this.consume();\n this.delegate.appendToAttributeValue(char);\n }\n },\n afterAttributeValueQuoted: function () {\n var char = this.peek();\n if (isSpace(char)) {\n this.consume();\n this.transitionTo(\"beforeAttributeName\" /* beforeAttributeName */);\n } else if (char === '/') {\n this.consume();\n this.transitionTo(\"selfClosingStartTag\" /* selfClosingStartTag */);\n } else if (char === '>') {\n this.consume();\n this.delegate.finishTag();\n this.transitionTo(\"beforeData\" /* beforeData */);\n } else {\n this.transitionTo(\"beforeAttributeName\" /* beforeAttributeName */);\n }\n },\n\n selfClosingStartTag: function () {\n var char = this.peek();\n if (char === '>') {\n this.consume();\n this.delegate.markTagAsSelfClosing();\n this.delegate.finishTag();\n this.transitionTo(\"beforeData\" /* beforeData */);\n } else {\n this.transitionTo(\"beforeAttributeName\" /* beforeAttributeName */);\n }\n },\n\n endTagOpen: function () {\n var char = this.consume();\n if (char === '@' || char === ':' || isAlpha(char)) {\n this.transitionTo(\"endTagName\" /* endTagName */);\n this.tagNameBuffer = '';\n this.delegate.beginEndTag();\n this.appendToTagName(char);\n }\n }\n };\n this.reset();\n }\n EventedTokenizer.prototype.reset = function () {\n this.transitionTo(\"beforeData\" /* beforeData */);\n this.input = '';\n this.tagNameBuffer = '';\n this.index = 0;\n this.line = 1;\n this.column = 0;\n this.delegate.reset();\n };\n EventedTokenizer.prototype.transitionTo = function (state) {\n this.state = state;\n };\n EventedTokenizer.prototype.tokenize = function (input) {\n this.reset();\n this.tokenizePart(input);\n this.tokenizeEOF();\n };\n EventedTokenizer.prototype.tokenizePart = function (input) {\n this.input += preprocessInput(input);\n while (this.index < this.input.length) {\n var handler = this.states[this.state];\n if (handler !== undefined) {\n handler.call(this);\n } else {\n throw new Error(\"unhandled state \" + this.state);\n }\n }\n };\n EventedTokenizer.prototype.tokenizeEOF = function () {\n this.flushData();\n };\n EventedTokenizer.prototype.flushData = function () {\n if (this.state === 'data') {\n this.delegate.finishData();\n this.transitionTo(\"beforeData\" /* beforeData */);\n }\n };\n\n EventedTokenizer.prototype.peek = function () {\n return this.input.charAt(this.index);\n };\n EventedTokenizer.prototype.consume = function () {\n var char = this.peek();\n this.index++;\n if (char === '\\n') {\n this.line++;\n this.column = 0;\n } else {\n this.column++;\n }\n return char;\n };\n EventedTokenizer.prototype.consumeCharRef = function () {\n var endIndex = this.input.indexOf(';', this.index);\n if (endIndex === -1) {\n return;\n }\n var entity = this.input.slice(this.index, endIndex);\n var chars = this.entityParser.parse(entity);\n if (chars) {\n var count = entity.length;\n // consume the entity chars\n while (count) {\n this.consume();\n count--;\n }\n // consume the `;`\n this.consume();\n return chars;\n }\n };\n EventedTokenizer.prototype.markTagStart = function () {\n this.delegate.tagOpen();\n };\n EventedTokenizer.prototype.appendToTagName = function (char) {\n this.tagNameBuffer += char;\n this.delegate.appendToTagName(char);\n };\n EventedTokenizer.prototype.isIgnoredEndTag = function () {\n var tag = this.tagNameBuffer;\n return tag === 'title' && this.input.substring(this.index, this.index + 8) !== '' || tag === 'style' && this.input.substring(this.index, this.index + 8) !== '' || tag === 'script' && this.input.substring(this.index, this.index + 9) !== '';\n };\n return EventedTokenizer;\n}();\nvar Tokenizer = /** @class */function () {\n function Tokenizer(entityParser, options) {\n if (options === void 0) {\n options = {};\n }\n this.options = options;\n this.token = null;\n this.startLine = 1;\n this.startColumn = 0;\n this.tokens = [];\n this.tokenizer = new EventedTokenizer(this, entityParser, options.mode);\n this._currentAttribute = undefined;\n }\n Tokenizer.prototype.tokenize = function (input) {\n this.tokens = [];\n this.tokenizer.tokenize(input);\n return this.tokens;\n };\n Tokenizer.prototype.tokenizePart = function (input) {\n this.tokens = [];\n this.tokenizer.tokenizePart(input);\n return this.tokens;\n };\n Tokenizer.prototype.tokenizeEOF = function () {\n this.tokens = [];\n this.tokenizer.tokenizeEOF();\n return this.tokens[0];\n };\n Tokenizer.prototype.reset = function () {\n this.token = null;\n this.startLine = 1;\n this.startColumn = 0;\n };\n Tokenizer.prototype.current = function () {\n var token = this.token;\n if (token === null) {\n throw new Error('token was unexpectedly null');\n }\n if (arguments.length === 0) {\n return token;\n }\n for (var i = 0; i < arguments.length; i++) {\n if (token.type === arguments[i]) {\n return token;\n }\n }\n throw new Error(\"token type was unexpectedly \" + token.type);\n };\n Tokenizer.prototype.push = function (token) {\n this.token = token;\n this.tokens.push(token);\n };\n Tokenizer.prototype.currentAttribute = function () {\n return this._currentAttribute;\n };\n Tokenizer.prototype.addLocInfo = function () {\n if (this.options.loc) {\n this.current().loc = {\n start: {\n line: this.startLine,\n column: this.startColumn\n },\n end: {\n line: this.tokenizer.line,\n column: this.tokenizer.column\n }\n };\n }\n this.startLine = this.tokenizer.line;\n this.startColumn = this.tokenizer.column;\n };\n // Data\n Tokenizer.prototype.beginDoctype = function () {\n this.push({\n type: \"Doctype\" /* Doctype */,\n name: ''\n });\n };\n Tokenizer.prototype.appendToDoctypeName = function (char) {\n this.current(\"Doctype\" /* Doctype */).name += char;\n };\n Tokenizer.prototype.appendToDoctypePublicIdentifier = function (char) {\n var doctype = this.current(\"Doctype\" /* Doctype */);\n if (doctype.publicIdentifier === undefined) {\n doctype.publicIdentifier = char;\n } else {\n doctype.publicIdentifier += char;\n }\n };\n Tokenizer.prototype.appendToDoctypeSystemIdentifier = function (char) {\n var doctype = this.current(\"Doctype\" /* Doctype */);\n if (doctype.systemIdentifier === undefined) {\n doctype.systemIdentifier = char;\n } else {\n doctype.systemIdentifier += char;\n }\n };\n Tokenizer.prototype.endDoctype = function () {\n this.addLocInfo();\n };\n Tokenizer.prototype.beginData = function () {\n this.push({\n type: \"Chars\" /* Chars */,\n chars: ''\n });\n };\n Tokenizer.prototype.appendToData = function (char) {\n this.current(\"Chars\" /* Chars */).chars += char;\n };\n Tokenizer.prototype.finishData = function () {\n this.addLocInfo();\n };\n // Comment\n Tokenizer.prototype.beginComment = function () {\n this.push({\n type: \"Comment\" /* Comment */,\n chars: ''\n });\n };\n Tokenizer.prototype.appendToCommentData = function (char) {\n this.current(\"Comment\" /* Comment */).chars += char;\n };\n Tokenizer.prototype.finishComment = function () {\n this.addLocInfo();\n };\n // Tags - basic\n Tokenizer.prototype.tagOpen = function () {};\n Tokenizer.prototype.beginStartTag = function () {\n this.push({\n type: \"StartTag\" /* StartTag */,\n tagName: '',\n attributes: [],\n selfClosing: false\n });\n };\n Tokenizer.prototype.beginEndTag = function () {\n this.push({\n type: \"EndTag\" /* EndTag */,\n tagName: ''\n });\n };\n Tokenizer.prototype.finishTag = function () {\n this.addLocInfo();\n };\n Tokenizer.prototype.markTagAsSelfClosing = function () {\n this.current(\"StartTag\" /* StartTag */).selfClosing = true;\n };\n // Tags - name\n Tokenizer.prototype.appendToTagName = function (char) {\n this.current(\"StartTag\" /* StartTag */, \"EndTag\" /* EndTag */).tagName += char;\n };\n // Tags - attributes\n Tokenizer.prototype.beginAttribute = function () {\n this._currentAttribute = ['', '', false];\n };\n Tokenizer.prototype.appendToAttributeName = function (char) {\n this.currentAttribute()[0] += char;\n };\n Tokenizer.prototype.beginAttributeValue = function (isQuoted) {\n this.currentAttribute()[2] = isQuoted;\n };\n Tokenizer.prototype.appendToAttributeValue = function (char) {\n this.currentAttribute()[1] += char;\n };\n Tokenizer.prototype.finishAttributeValue = function () {\n this.current(\"StartTag\" /* StartTag */).attributes.push(this._currentAttribute);\n };\n Tokenizer.prototype.reportSyntaxError = function (message) {\n this.current().syntaxError = message;\n };\n return Tokenizer;\n}();\nfunction tokenize(input, options) {\n var tokenizer = new Tokenizer(new EntityParser(HTML5NamedCharRefs), options);\n return tokenizer.tokenize(input);\n}\n\nconst LinkifyResult = 'LinkifyResult';\nconst StartTag = 'StartTag';\nconst EndTag = 'EndTag';\nconst Chars = 'Chars';\nconst Comment = 'Comment';\nconst Doctype = 'Doctype';\n\n/**\n * @param {string} str html string to link\n * @param {import('linkifyjs').Opts} [opts] linkify options\n * @returns {string} resulting string\n */\nfunction linkifyHtml(str, opts) {\n if (opts === void 0) {\n opts = {};\n }\n // `tokens` and `token` in this section refer to tokens generated by the\n // HTML parser, not linkify's parser\n const tokens = tokenize(str);\n const linkifiedTokens = [];\n const linkified = [];\n const options = new Options(opts, defaultRender);\n\n // Linkify the tokens given by the parser\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n if (token.type === StartTag) {\n linkifiedTokens.push(token);\n\n // Ignore all the contents of ignored tags\n const tagName = token.tagName.toUpperCase();\n const isIgnored = tagName === 'A' || options.ignoreTags.indexOf(tagName) >= 0;\n if (!isIgnored) {\n continue;\n }\n let preskipLen = linkifiedTokens.length;\n skipTagTokens(tagName, tokens, ++i, linkifiedTokens);\n i += linkifiedTokens.length - preskipLen - 1;\n } else if (token.type !== Chars) {\n // Skip this token, it's not important\n linkifiedTokens.push(token);\n } else {\n // Valid text token, linkify it!\n const linkifedChars = linkifyChars(token.chars, options);\n linkifiedTokens.push.apply(linkifiedTokens, linkifedChars);\n }\n }\n\n // Convert the tokens back into a string\n for (let i = 0; i < linkifiedTokens.length; i++) {\n const token = linkifiedTokens[i];\n switch (token.type) {\n case LinkifyResult:\n linkified.push(token.rendered);\n break;\n case StartTag:\n {\n let link = '<' + token.tagName;\n if (token.attributes.length > 0) {\n link += ' ' + attributeArrayToStrings(token.attributes).join(' ');\n }\n if (token.selfClosing) {\n link += ' /';\n }\n link += '>';\n linkified.push(link);\n break;\n }\n case EndTag:\n linkified.push(``);\n break;\n case Chars:\n linkified.push(escapeText(token.chars));\n break;\n case Comment:\n linkified.push(``);\n break;\n case Doctype:\n {\n let doctype = `';\n linkified.push(doctype);\n break;\n }\n }\n }\n return linkified.join('');\n}\n\n/**\n\t`tokens` and `token` in this section referes to tokens returned by\n\t`linkify.tokenize`. `linkified` will contain HTML Parser-style tokens\n\t@param {string}\n\t@param {import('linkifyjs').Options}\n*/\nfunction linkifyChars(str, options) {\n const tokens = tokenize$1(str);\n const result = [];\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n if (token.t === 'nl' && options.get('nl2br')) {\n result.push({\n type: StartTag,\n tagName: 'br',\n attributes: [],\n selfClosing: true\n });\n } else if (!token.isLink || !options.check(token)) {\n result.push({\n type: Chars,\n chars: token.toString()\n });\n } else {\n result.push({\n type: LinkifyResult,\n rendered: options.render(token)\n });\n }\n }\n return result;\n}\n\n/**\n\tReturns a list of tokens skipped until the closing tag of tagName.\n\n\t* `tagName` is the closing tag which will prompt us to stop skipping\n\t* `tokens` is the array of tokens generated by HTML5Tokenizer which\n\t* `i` is the index immediately after the opening tag to skip\n\t* `skippedTokens` is an array which skipped tokens are being pushed into\n\n\tCaveats\n\n\t* Assumes that i is the first token after the given opening tagName\n\t* The closing tag will be skipped, but nothing after it\n\t* Will track whether there is a nested tag of the same type\n*/\nfunction skipTagTokens(tagName, tokens, i, skippedTokens) {\n // number of tokens of this type on the [fictional] stack\n let stackCount = 1;\n while (i < tokens.length && stackCount > 0) {\n let token = tokens[i];\n if (token.type === StartTag && token.tagName.toUpperCase() === tagName) {\n // Nested tag of the same type, \"add to stack\"\n stackCount++;\n } else if (token.type === EndTag && token.tagName.toUpperCase() === tagName) {\n // Closing tag\n stackCount--;\n }\n skippedTokens.push(token);\n i++;\n }\n\n // Note that if stackCount > 0 here, the HTML is probably invalid\n return skippedTokens;\n}\nfunction defaultRender(_ref) {\n let {\n tagName,\n attributes,\n content\n } = _ref;\n return `<${tagName} ${attributesToString(attributes)}>${escapeText(content)}`;\n}\nfunction escapeText(text) {\n return text.replace(/&/g, '&').replace(//g, '>');\n}\nfunction escapeAttr(attr) {\n return attr.replace(/\"/g, '"');\n}\nfunction attributesToString(attributes) {\n const result = [];\n for (const attr in attributes) {\n const val = attributes[attr] + '';\n result.push(`${attr}=\"${escapeAttr(val)}\"`);\n }\n return result.join(' ');\n}\nfunction attributeArrayToStrings(attrs) {\n const attrStrs = [];\n for (let i = 0; i < attrs.length; i++) {\n const name = attrs[i][0];\n const value = attrs[i][1] + '';\n attrStrs.push(`${name}=\"${escapeAttr(value)}\"`);\n }\n return attrStrs;\n}\n\nexport { linkifyHtml as default };\n","// (c) 2012-2018 Airbnb, Inc.\n//\n// polyglot.js may be freely distributed under the terms of the BSD\n// license. For all licensing information, details, and documentation:\n// http://airbnb.github.com/polyglot.js\n//\n//\n// Polyglot.js is an I18n helper library written in JavaScript, made to\n// work both in the browser and in Node. It provides a simple solution for\n// interpolation and pluralization, based off of Airbnb's\n// experience adding I18n functionality to its Backbone.js and Node apps.\n//\n// Polylglot is agnostic to your translation backend. It doesn't perform any\n// translation; it simply gives you a way to manage translated phrases from\n// your client- or server-side JavaScript application.\n//\n\n'use strict';\n\nvar entries = require('object.entries');\nvar warning = require('warning');\nvar has = require('hasown');\n\nvar warn = function warn(message) {\n warning(false, message);\n};\n\nvar defaultReplace = String.prototype.replace;\nvar split = String.prototype.split;\n\n// #### Pluralization methods\n// The string that separates the different phrase possibilities.\nvar delimiter = '||||';\n\nvar russianPluralGroups = function (n) {\n var lastTwo = n % 100;\n var end = lastTwo % 10;\n if (lastTwo !== 11 && end === 1) {\n return 0;\n }\n if (2 <= end && end <= 4 && !(lastTwo >= 12 && lastTwo <= 14)) {\n return 1;\n }\n return 2;\n};\n\nvar defaultPluralRules = {\n // Mapping from pluralization group plural logic.\n pluralTypes: {\n arabic: function (n) {\n // http://www.arabeyes.org/Plural_Forms\n if (n < 3) { return n; }\n var lastTwo = n % 100;\n if (lastTwo >= 3 && lastTwo <= 10) return 3;\n return lastTwo >= 11 ? 4 : 5;\n },\n bosnian_serbian: russianPluralGroups,\n chinese: function () { return 0; },\n croatian: russianPluralGroups,\n french: function (n) { return n >= 2 ? 1 : 0; },\n german: function (n) { return n !== 1 ? 1 : 0; },\n russian: russianPluralGroups,\n lithuanian: function (n) {\n if (n % 10 === 1 && n % 100 !== 11) { return 0; }\n return n % 10 >= 2 && n % 10 <= 9 && (n % 100 < 11 || n % 100 > 19) ? 1 : 2;\n },\n czech: function (n) {\n if (n === 1) { return 0; }\n return (n >= 2 && n <= 4) ? 1 : 2;\n },\n polish: function (n) {\n if (n === 1) { return 0; }\n var end = n % 10;\n return 2 <= end && end <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2;\n },\n icelandic: function (n) { return (n % 10 !== 1 || n % 100 === 11) ? 1 : 0; },\n slovenian: function (n) {\n var lastTwo = n % 100;\n if (lastTwo === 1) {\n return 0;\n }\n if (lastTwo === 2) {\n return 1;\n }\n if (lastTwo === 3 || lastTwo === 4) {\n return 2;\n }\n return 3;\n },\n romanian: function (n) {\n if (n === 1) { return 0; }\n var lastTwo = n % 100;\n if (n === 0 || (lastTwo >= 2 && lastTwo <= 19)) { return 1; }\n return 2;\n },\n ukrainian: russianPluralGroups\n },\n\n // Mapping from pluralization group to individual language codes/locales.\n // Will look up based on exact match, if not found and it's a locale will parse the locale\n // for language code, and if that does not exist will default to 'en'\n pluralTypeToLanguages: {\n arabic: ['ar'],\n bosnian_serbian: ['bs-Latn-BA', 'bs-Cyrl-BA', 'srl-RS', 'sr-RS'],\n chinese: ['id', 'id-ID', 'ja', 'ko', 'ko-KR', 'lo', 'ms', 'th', 'th-TH', 'zh'],\n croatian: ['hr', 'hr-HR'],\n german: ['fa', 'da', 'de', 'en', 'es', 'fi', 'el', 'he', 'hi-IN', 'hu', 'hu-HU', 'it', 'nl', 'no', 'pt', 'sv', 'tr'],\n french: ['fr', 'tl', 'pt-br'],\n russian: ['ru', 'ru-RU'],\n lithuanian: ['lt'],\n czech: ['cs', 'cs-CZ', 'sk'],\n polish: ['pl'],\n icelandic: ['is', 'mk'],\n slovenian: ['sl-SL'],\n romanian: ['ro'],\n ukrainian: ['uk', 'ua']\n }\n};\n\nfunction langToTypeMap(mapping) {\n var ret = {};\n var mappingEntries = entries(mapping);\n for (var i = 0; i < mappingEntries.length; i += 1) {\n var type = mappingEntries[i][0];\n var langs = mappingEntries[i][1];\n for (var j = 0; j < langs.length; j += 1) {\n ret[langs[j]] = type;\n }\n }\n return ret;\n}\n\nfunction pluralTypeName(pluralRules, locale) {\n var langToPluralType = langToTypeMap(pluralRules.pluralTypeToLanguages);\n return langToPluralType[locale]\n || langToPluralType[split.call(locale, /-/, 1)[0]]\n || langToPluralType.en;\n}\n\nfunction pluralTypeIndex(pluralRules, pluralType, count) {\n return pluralRules.pluralTypes[pluralType](count);\n}\n\nfunction createMemoizedPluralTypeNameSelector() {\n var localePluralTypeStorage = {};\n\n return function (pluralRules, locale) {\n var pluralType = localePluralTypeStorage[locale];\n\n if (pluralType && !pluralRules.pluralTypes[pluralType]) {\n pluralType = null;\n localePluralTypeStorage[locale] = pluralType;\n }\n\n if (!pluralType) {\n pluralType = pluralTypeName(pluralRules, locale);\n\n if (pluralType) {\n localePluralTypeStorage[locale] = pluralType;\n }\n }\n\n return pluralType;\n };\n}\n\nfunction escape(token) {\n return token.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n\nfunction constructTokenRegex(opts) {\n var prefix = (opts && opts.prefix) || '%{';\n var suffix = (opts && opts.suffix) || '}';\n\n if (prefix === delimiter || suffix === delimiter) {\n throw new RangeError('\"' + delimiter + '\" token is reserved for pluralization');\n }\n\n return new RegExp(escape(prefix) + '(.*?)' + escape(suffix), 'g');\n}\n\nvar memoizedPluralTypeName = createMemoizedPluralTypeNameSelector();\n\nvar defaultTokenRegex = /%\\{(.*?)\\}/g;\n\n// ### transformPhrase(phrase, substitutions, locale)\n//\n// Takes a phrase string and transforms it by choosing the correct\n// plural form and interpolating it.\n//\n// transformPhrase('Hello, %{name}!', {name: 'Spike'});\n// // \"Hello, Spike!\"\n//\n// The correct plural form is selected if substitutions.smart_count\n// is set. You can pass in a number instead of an Object as `substitutions`\n// as a shortcut for `smart_count`.\n//\n// transformPhrase('%{smart_count} new messages |||| 1 new message', {smart_count: 1}, 'en');\n// // \"1 new message\"\n//\n// transformPhrase('%{smart_count} new messages |||| 1 new message', {smart_count: 2}, 'en');\n// // \"2 new messages\"\n//\n// transformPhrase('%{smart_count} new messages |||| 1 new message', 5, 'en');\n// // \"5 new messages\"\n//\n// You should pass in a third argument, the locale, to specify the correct plural type.\n// It defaults to `'en'` with 2 plural forms.\nfunction transformPhrase(\n phrase,\n substitutions,\n locale,\n tokenRegex,\n pluralRules,\n replaceImplementation\n) {\n if (typeof phrase !== 'string') {\n throw new TypeError('Polyglot.transformPhrase expects argument #1 to be string');\n }\n\n if (substitutions == null) {\n return phrase;\n }\n\n var result = phrase;\n var interpolationRegex = tokenRegex || defaultTokenRegex;\n var replace = replaceImplementation || defaultReplace;\n\n // allow number as a pluralization shortcut\n var options = typeof substitutions === 'number' ? { smart_count: substitutions } : substitutions;\n\n // Select plural form: based on a phrase text that contains `n`\n // plural forms separated by `delimiter`, a `locale`, and a `substitutions.smart_count`,\n // choose the correct plural form. This is only done if `count` is set.\n if (options.smart_count != null && phrase) {\n var pluralRulesOrDefault = pluralRules || defaultPluralRules;\n var texts = split.call(phrase, delimiter);\n var bestLocale = locale || 'en';\n var pluralType = memoizedPluralTypeName(pluralRulesOrDefault, bestLocale);\n var pluralTypeWithCount = pluralTypeIndex(\n pluralRulesOrDefault,\n pluralType,\n options.smart_count\n );\n\n result = defaultReplace.call(texts[pluralTypeWithCount] || texts[0], /^[^\\S]*|[^\\S]*$/g, '');\n }\n\n // Interpolate: Creates a `RegExp` object for each interpolation placeholder.\n result = replace.call(result, interpolationRegex, function (expression, argument) {\n if (!has(options, argument) || options[argument] == null) { return expression; }\n return options[argument];\n });\n\n return result;\n}\n\n// ### Polyglot class constructor\nfunction Polyglot(options) {\n var opts = options || {};\n this.phrases = {};\n this.extend(opts.phrases || {});\n this.currentLocale = opts.locale || 'en';\n var allowMissing = opts.allowMissing ? transformPhrase : null;\n this.onMissingKey = typeof opts.onMissingKey === 'function' ? opts.onMissingKey : allowMissing;\n this.warn = opts.warn || warn;\n this.replaceImplementation = opts.replace || defaultReplace;\n this.tokenRegex = constructTokenRegex(opts.interpolation);\n this.pluralRules = opts.pluralRules || defaultPluralRules;\n}\n\n// ### polyglot.locale([locale])\n//\n// Get or set locale. Internally, Polyglot only uses locale for pluralization.\nPolyglot.prototype.locale = function (newLocale) {\n if (newLocale) this.currentLocale = newLocale;\n return this.currentLocale;\n};\n\n// ### polyglot.extend(phrases)\n//\n// Use `extend` to tell Polyglot how to translate a given key.\n//\n// polyglot.extend({\n// \"hello\": \"Hello\",\n// \"hello_name\": \"Hello, %{name}\"\n// });\n//\n// The key can be any string. Feel free to call `extend` multiple times;\n// it will override any phrases with the same key, but leave existing phrases\n// untouched.\n//\n// It is also possible to pass nested phrase objects, which get flattened\n// into an object with the nested keys concatenated using dot notation.\n//\n// polyglot.extend({\n// \"nav\": {\n// \"hello\": \"Hello\",\n// \"hello_name\": \"Hello, %{name}\",\n// \"sidebar\": {\n// \"welcome\": \"Welcome\"\n// }\n// }\n// });\n//\n// console.log(polyglot.phrases);\n// // {\n// // 'nav.hello': 'Hello',\n// // 'nav.hello_name': 'Hello, %{name}',\n// // 'nav.sidebar.welcome': 'Welcome'\n// // }\n//\n// `extend` accepts an optional second argument, `prefix`, which can be used\n// to prefix every key in the phrases object with some string, using dot\n// notation.\n//\n// polyglot.extend({\n// \"hello\": \"Hello\",\n// \"hello_name\": \"Hello, %{name}\"\n// }, \"nav\");\n//\n// console.log(polyglot.phrases);\n// // {\n// // 'nav.hello': 'Hello',\n// // 'nav.hello_name': 'Hello, %{name}'\n// // }\n//\n// This feature is used internally to support nested phrase objects.\nPolyglot.prototype.extend = function (morePhrases, prefix) {\n var phraseEntries = entries(morePhrases || {});\n for (var i = 0; i < phraseEntries.length; i += 1) {\n var key = phraseEntries[i][0];\n var phrase = phraseEntries[i][1];\n var prefixedKey = prefix ? prefix + '.' + key : key;\n if (typeof phrase === 'object') {\n this.extend(phrase, prefixedKey);\n } else {\n this.phrases[prefixedKey] = phrase;\n }\n }\n};\n\n// ### polyglot.unset(phrases)\n// Use `unset` to selectively remove keys from a polyglot instance.\n//\n// polyglot.unset(\"some_key\");\n// polyglot.unset({\n// \"hello\": \"Hello\",\n// \"hello_name\": \"Hello, %{name}\"\n// });\n//\n// The unset method can take either a string (for the key), or an object hash with\n// the keys that you would like to unset.\nPolyglot.prototype.unset = function (morePhrases, prefix) {\n if (typeof morePhrases === 'string') {\n delete this.phrases[morePhrases];\n } else {\n var phraseEntries = entries(morePhrases || {});\n for (var i = 0; i < phraseEntries.length; i += 1) {\n var key = phraseEntries[i][0];\n var phrase = phraseEntries[i][1];\n var prefixedKey = prefix ? prefix + '.' + key : key;\n if (typeof phrase === 'object') {\n this.unset(phrase, prefixedKey);\n } else {\n delete this.phrases[prefixedKey];\n }\n }\n }\n};\n\n// ### polyglot.clear()\n//\n// Clears all phrases. Useful for special cases, such as freeing\n// up memory if you have lots of phrases but no longer need to\n// perform any translation. Also used internally by `replace`.\nPolyglot.prototype.clear = function () {\n this.phrases = {};\n};\n\n// ### polyglot.replace(phrases)\n//\n// Completely replace the existing phrases with a new set of phrases.\n// Normally, just use `extend` to add more phrases, but under certain\n// circumstances, you may want to make sure no old phrases are lying around.\nPolyglot.prototype.replace = function (newPhrases) {\n this.clear();\n this.extend(newPhrases);\n};\n\n// ### polyglot.t(key, options)\n//\n// The most-used method. Provide a key, and `t` will return the\n// phrase.\n//\n// polyglot.t(\"hello\");\n// => \"Hello\"\n//\n// The phrase value is provided first by a call to `polyglot.extend()` or\n// `polyglot.replace()`.\n//\n// Pass in an object as the second argument to perform interpolation.\n//\n// polyglot.t(\"hello_name\", {name: \"Spike\"});\n// => \"Hello, Spike\"\n//\n// If you like, you can provide a default value in case the phrase is missing.\n// Use the special option key \"_\" to specify a default.\n//\n// polyglot.t(\"i_like_to_write_in_language\", {\n// _: \"I like to write in %{language}.\",\n// language: \"JavaScript\"\n// });\n// => \"I like to write in JavaScript.\"\n//\nPolyglot.prototype.t = function (key, options) {\n var phrase, result;\n var opts = options == null ? {} : options;\n if (typeof this.phrases[key] === 'string') {\n phrase = this.phrases[key];\n } else if (typeof opts._ === 'string') {\n phrase = opts._;\n } else if (this.onMissingKey) {\n var onMissingKey = this.onMissingKey;\n result = onMissingKey(\n key,\n opts,\n this.currentLocale,\n this.tokenRegex,\n this.pluralRules,\n this.replaceImplementation\n );\n } else {\n this.warn('Missing translation for key: \"' + key + '\"');\n result = key;\n }\n if (typeof phrase === 'string') {\n result = transformPhrase(\n phrase,\n opts,\n this.currentLocale,\n this.tokenRegex,\n this.pluralRules,\n this.replaceImplementation\n );\n }\n return result;\n};\n\n// ### polyglot.has(key)\n//\n// Check if polyglot has a translation for given key\nPolyglot.prototype.has = function (key) {\n return has(this.phrases, key);\n};\n\n// export transformPhrase\nPolyglot.transformPhrase = function transform(phrase, substitutions, locale) {\n return transformPhrase(phrase, substitutions, locale);\n};\n\nmodule.exports = Polyglot;\n","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","'use strict';\n\nvar RequireObjectCoercible = require('es-object-atoms/RequireObjectCoercible');\nvar callBound = require('call-bind/callBound');\nvar $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');\nvar $push = callBound('Array.prototype.push');\n\nmodule.exports = function entries(O) {\n\tvar obj = RequireObjectCoercible(O);\n\tvar entrys = [];\n\tfor (var key in obj) {\n\t\tif ($isEnumerable(obj, key)) { // checks own-ness as well\n\t\t\t$push(entrys, [key, obj[key]]);\n\t\t}\n\t}\n\treturn entrys;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Object);\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn typeof Object.entries === 'function' ? Object.entries : implementation;\n};\n","'use strict';\n\nvar getPolyfill = require('./polyfill');\nvar define = require('define-properties');\n\nmodule.exports = function shimEntries() {\n\tvar polyfill = getPolyfill();\n\tdefine(Object, { entries: polyfill }, {\n\t\tentries: function testEntries() {\n\t\t\treturn Object.entries !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","/*!\n * qrcode.vue v1.7.0\n * A Vue component to generate QRCode.\n * © 2017-2019 @scopewu(https://github.com/scopewu)\n * MIT License.\n */\nvar mode = {\n MODE_NUMBER: 1 << 0,\n MODE_ALPHA_NUM: 1 << 1,\n MODE_8BIT_BYTE: 1 << 2,\n MODE_KANJI: 1 << 3\n};\n\nfunction QR8bitByte(data) {\n this.mode = mode.MODE_8BIT_BYTE;\n this.data = data;\n}\n\nQR8bitByte.prototype = {\n getLength: function (buffer) {\n return this.data.length;\n },\n write: function (buffer) {\n for (var i = 0; i < this.data.length; i++) {\n // not JIS ...\n buffer.put(this.data.charCodeAt(i), 8);\n }\n }\n};\nvar _8BitByte = QR8bitByte;\n\nvar ErrorCorrectLevel = {\n L: 1,\n M: 0,\n Q: 3,\n H: 2\n};\n\nfunction QRRSBlock(totalCount, dataCount) {\n this.totalCount = totalCount;\n this.dataCount = dataCount;\n}\n\nQRRSBlock.RS_BLOCK_TABLE = [// L\n// M\n// Q\n// H\n// 1\n[1, 26, 19], [1, 26, 16], [1, 26, 13], [1, 26, 9], // 2\n[1, 44, 34], [1, 44, 28], [1, 44, 22], [1, 44, 16], // 3\n[1, 70, 55], [1, 70, 44], [2, 35, 17], [2, 35, 13], // 4\t\t\n[1, 100, 80], [2, 50, 32], [2, 50, 24], [4, 25, 9], // 5\n[1, 134, 108], [2, 67, 43], [2, 33, 15, 2, 34, 16], [2, 33, 11, 2, 34, 12], // 6\n[2, 86, 68], [4, 43, 27], [4, 43, 19], [4, 43, 15], // 7\t\t\n[2, 98, 78], [4, 49, 31], [2, 32, 14, 4, 33, 15], [4, 39, 13, 1, 40, 14], // 8\n[2, 121, 97], [2, 60, 38, 2, 61, 39], [4, 40, 18, 2, 41, 19], [4, 40, 14, 2, 41, 15], // 9\n[2, 146, 116], [3, 58, 36, 2, 59, 37], [4, 36, 16, 4, 37, 17], [4, 36, 12, 4, 37, 13], // 10\t\t\n[2, 86, 68, 2, 87, 69], [4, 69, 43, 1, 70, 44], [6, 43, 19, 2, 44, 20], [6, 43, 15, 2, 44, 16], // 11\n[4, 101, 81], [1, 80, 50, 4, 81, 51], [4, 50, 22, 4, 51, 23], [3, 36, 12, 8, 37, 13], // 12\n[2, 116, 92, 2, 117, 93], [6, 58, 36, 2, 59, 37], [4, 46, 20, 6, 47, 21], [7, 42, 14, 4, 43, 15], // 13\n[4, 133, 107], [8, 59, 37, 1, 60, 38], [8, 44, 20, 4, 45, 21], [12, 33, 11, 4, 34, 12], // 14\n[3, 145, 115, 1, 146, 116], [4, 64, 40, 5, 65, 41], [11, 36, 16, 5, 37, 17], [11, 36, 12, 5, 37, 13], // 15\n[5, 109, 87, 1, 110, 88], [5, 65, 41, 5, 66, 42], [5, 54, 24, 7, 55, 25], [11, 36, 12], // 16\n[5, 122, 98, 1, 123, 99], [7, 73, 45, 3, 74, 46], [15, 43, 19, 2, 44, 20], [3, 45, 15, 13, 46, 16], // 17\n[1, 135, 107, 5, 136, 108], [10, 74, 46, 1, 75, 47], [1, 50, 22, 15, 51, 23], [2, 42, 14, 17, 43, 15], // 18\n[5, 150, 120, 1, 151, 121], [9, 69, 43, 4, 70, 44], [17, 50, 22, 1, 51, 23], [2, 42, 14, 19, 43, 15], // 19\n[3, 141, 113, 4, 142, 114], [3, 70, 44, 11, 71, 45], [17, 47, 21, 4, 48, 22], [9, 39, 13, 16, 40, 14], // 20\n[3, 135, 107, 5, 136, 108], [3, 67, 41, 13, 68, 42], [15, 54, 24, 5, 55, 25], [15, 43, 15, 10, 44, 16], // 21\n[4, 144, 116, 4, 145, 117], [17, 68, 42], [17, 50, 22, 6, 51, 23], [19, 46, 16, 6, 47, 17], // 22\n[2, 139, 111, 7, 140, 112], [17, 74, 46], [7, 54, 24, 16, 55, 25], [34, 37, 13], // 23\n[4, 151, 121, 5, 152, 122], [4, 75, 47, 14, 76, 48], [11, 54, 24, 14, 55, 25], [16, 45, 15, 14, 46, 16], // 24\n[6, 147, 117, 4, 148, 118], [6, 73, 45, 14, 74, 46], [11, 54, 24, 16, 55, 25], [30, 46, 16, 2, 47, 17], // 25\n[8, 132, 106, 4, 133, 107], [8, 75, 47, 13, 76, 48], [7, 54, 24, 22, 55, 25], [22, 45, 15, 13, 46, 16], // 26\n[10, 142, 114, 2, 143, 115], [19, 74, 46, 4, 75, 47], [28, 50, 22, 6, 51, 23], [33, 46, 16, 4, 47, 17], // 27\n[8, 152, 122, 4, 153, 123], [22, 73, 45, 3, 74, 46], [8, 53, 23, 26, 54, 24], [12, 45, 15, 28, 46, 16], // 28\n[3, 147, 117, 10, 148, 118], [3, 73, 45, 23, 74, 46], [4, 54, 24, 31, 55, 25], [11, 45, 15, 31, 46, 16], // 29\n[7, 146, 116, 7, 147, 117], [21, 73, 45, 7, 74, 46], [1, 53, 23, 37, 54, 24], [19, 45, 15, 26, 46, 16], // 30\n[5, 145, 115, 10, 146, 116], [19, 75, 47, 10, 76, 48], [15, 54, 24, 25, 55, 25], [23, 45, 15, 25, 46, 16], // 31\n[13, 145, 115, 3, 146, 116], [2, 74, 46, 29, 75, 47], [42, 54, 24, 1, 55, 25], [23, 45, 15, 28, 46, 16], // 32\n[17, 145, 115], [10, 74, 46, 23, 75, 47], [10, 54, 24, 35, 55, 25], [19, 45, 15, 35, 46, 16], // 33\n[17, 145, 115, 1, 146, 116], [14, 74, 46, 21, 75, 47], [29, 54, 24, 19, 55, 25], [11, 45, 15, 46, 46, 16], // 34\n[13, 145, 115, 6, 146, 116], [14, 74, 46, 23, 75, 47], [44, 54, 24, 7, 55, 25], [59, 46, 16, 1, 47, 17], // 35\n[12, 151, 121, 7, 152, 122], [12, 75, 47, 26, 76, 48], [39, 54, 24, 14, 55, 25], [22, 45, 15, 41, 46, 16], // 36\n[6, 151, 121, 14, 152, 122], [6, 75, 47, 34, 76, 48], [46, 54, 24, 10, 55, 25], [2, 45, 15, 64, 46, 16], // 37\n[17, 152, 122, 4, 153, 123], [29, 74, 46, 14, 75, 47], [49, 54, 24, 10, 55, 25], [24, 45, 15, 46, 46, 16], // 38\n[4, 152, 122, 18, 153, 123], [13, 74, 46, 32, 75, 47], [48, 54, 24, 14, 55, 25], [42, 45, 15, 32, 46, 16], // 39\n[20, 147, 117, 4, 148, 118], [40, 75, 47, 7, 76, 48], [43, 54, 24, 22, 55, 25], [10, 45, 15, 67, 46, 16], // 40\n[19, 148, 118, 6, 149, 119], [18, 75, 47, 31, 76, 48], [34, 54, 24, 34, 55, 25], [20, 45, 15, 61, 46, 16]];\n\nQRRSBlock.getRSBlocks = function (typeNumber, errorCorrectLevel) {\n var rsBlock = QRRSBlock.getRsBlockTable(typeNumber, errorCorrectLevel);\n\n if (rsBlock == undefined) {\n throw new Error(\"bad rs block @ typeNumber:\" + typeNumber + \"/errorCorrectLevel:\" + errorCorrectLevel);\n }\n\n var length = rsBlock.length / 3;\n var list = new Array();\n\n for (var i = 0; i < length; i++) {\n var count = rsBlock[i * 3 + 0];\n var totalCount = rsBlock[i * 3 + 1];\n var dataCount = rsBlock[i * 3 + 2];\n\n for (var j = 0; j < count; j++) {\n list.push(new QRRSBlock(totalCount, dataCount));\n }\n }\n\n return list;\n};\n\nQRRSBlock.getRsBlockTable = function (typeNumber, errorCorrectLevel) {\n switch (errorCorrectLevel) {\n case ErrorCorrectLevel.L:\n return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];\n\n case ErrorCorrectLevel.M:\n return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];\n\n case ErrorCorrectLevel.Q:\n return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];\n\n case ErrorCorrectLevel.H:\n return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];\n\n default:\n return undefined;\n }\n};\n\nvar RSBlock = QRRSBlock;\n\nfunction QRBitBuffer() {\n this.buffer = new Array();\n this.length = 0;\n}\n\nQRBitBuffer.prototype = {\n get: function (index) {\n var bufIndex = Math.floor(index / 8);\n return (this.buffer[bufIndex] >>> 7 - index % 8 & 1) == 1;\n },\n put: function (num, length) {\n for (var i = 0; i < length; i++) {\n this.putBit((num >>> length - i - 1 & 1) == 1);\n }\n },\n getLengthInBits: function () {\n return this.length;\n },\n putBit: function (bit) {\n var bufIndex = Math.floor(this.length / 8);\n\n if (this.buffer.length <= bufIndex) {\n this.buffer.push(0);\n }\n\n if (bit) {\n this.buffer[bufIndex] |= 0x80 >>> this.length % 8;\n }\n\n this.length++;\n }\n};\nvar BitBuffer = QRBitBuffer;\n\nvar QRMath = {\n glog: function (n) {\n if (n < 1) {\n throw new Error(\"glog(\" + n + \")\");\n }\n\n return QRMath.LOG_TABLE[n];\n },\n gexp: function (n) {\n while (n < 0) {\n n += 255;\n }\n\n while (n >= 256) {\n n -= 255;\n }\n\n return QRMath.EXP_TABLE[n];\n },\n EXP_TABLE: new Array(256),\n LOG_TABLE: new Array(256)\n};\n\nfor (var i = 0; i < 8; i++) {\n QRMath.EXP_TABLE[i] = 1 << i;\n}\n\nfor (var i = 8; i < 256; i++) {\n QRMath.EXP_TABLE[i] = QRMath.EXP_TABLE[i - 4] ^ QRMath.EXP_TABLE[i - 5] ^ QRMath.EXP_TABLE[i - 6] ^ QRMath.EXP_TABLE[i - 8];\n}\n\nfor (var i = 0; i < 255; i++) {\n QRMath.LOG_TABLE[QRMath.EXP_TABLE[i]] = i;\n}\n\nvar math = QRMath;\n\nfunction QRPolynomial(num, shift) {\n if (num.length == undefined) {\n throw new Error(num.length + \"/\" + shift);\n }\n\n var offset = 0;\n\n while (offset < num.length && num[offset] == 0) {\n offset++;\n }\n\n this.num = new Array(num.length - offset + shift);\n\n for (var i = 0; i < num.length - offset; i++) {\n this.num[i] = num[i + offset];\n }\n}\n\nQRPolynomial.prototype = {\n get: function (index) {\n return this.num[index];\n },\n getLength: function () {\n return this.num.length;\n },\n multiply: function (e) {\n var num = new Array(this.getLength() + e.getLength() - 1);\n\n for (var i = 0; i < this.getLength(); i++) {\n for (var j = 0; j < e.getLength(); j++) {\n num[i + j] ^= math.gexp(math.glog(this.get(i)) + math.glog(e.get(j)));\n }\n }\n\n return new QRPolynomial(num, 0);\n },\n mod: function (e) {\n if (this.getLength() - e.getLength() < 0) {\n return this;\n }\n\n var ratio = math.glog(this.get(0)) - math.glog(e.get(0));\n var num = new Array(this.getLength());\n\n for (var i = 0; i < this.getLength(); i++) {\n num[i] = this.get(i);\n }\n\n for (var i = 0; i < e.getLength(); i++) {\n num[i] ^= math.gexp(math.glog(e.get(i)) + ratio);\n } // recursive call\n\n\n return new QRPolynomial(num, 0).mod(e);\n }\n};\nvar Polynomial = QRPolynomial;\n\nvar QRMaskPattern = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7\n};\nvar QRUtil = {\n PATTERN_POSITION_TABLE: [[], [6, 18], [6, 22], [6, 26], [6, 30], [6, 34], [6, 22, 38], [6, 24, 42], [6, 26, 46], [6, 28, 50], [6, 30, 54], [6, 32, 58], [6, 34, 62], [6, 26, 46, 66], [6, 26, 48, 70], [6, 26, 50, 74], [6, 30, 54, 78], [6, 30, 56, 82], [6, 30, 58, 86], [6, 34, 62, 90], [6, 28, 50, 72, 94], [6, 26, 50, 74, 98], [6, 30, 54, 78, 102], [6, 28, 54, 80, 106], [6, 32, 58, 84, 110], [6, 30, 58, 86, 114], [6, 34, 62, 90, 118], [6, 26, 50, 74, 98, 122], [6, 30, 54, 78, 102, 126], [6, 26, 52, 78, 104, 130], [6, 30, 56, 82, 108, 134], [6, 34, 60, 86, 112, 138], [6, 30, 58, 86, 114, 142], [6, 34, 62, 90, 118, 146], [6, 30, 54, 78, 102, 126, 150], [6, 24, 50, 76, 102, 128, 154], [6, 28, 54, 80, 106, 132, 158], [6, 32, 58, 84, 110, 136, 162], [6, 26, 54, 82, 110, 138, 166], [6, 30, 58, 86, 114, 142, 170]],\n G15: 1 << 10 | 1 << 8 | 1 << 5 | 1 << 4 | 1 << 2 | 1 << 1 | 1 << 0,\n G18: 1 << 12 | 1 << 11 | 1 << 10 | 1 << 9 | 1 << 8 | 1 << 5 | 1 << 2 | 1 << 0,\n G15_MASK: 1 << 14 | 1 << 12 | 1 << 10 | 1 << 4 | 1 << 1,\n getBCHTypeInfo: function (data) {\n var d = data << 10;\n\n while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) {\n d ^= QRUtil.G15 << QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15);\n }\n\n return (data << 10 | d) ^ QRUtil.G15_MASK;\n },\n getBCHTypeNumber: function (data) {\n var d = data << 12;\n\n while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) {\n d ^= QRUtil.G18 << QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18);\n }\n\n return data << 12 | d;\n },\n getBCHDigit: function (data) {\n var digit = 0;\n\n while (data != 0) {\n digit++;\n data >>>= 1;\n }\n\n return digit;\n },\n getPatternPosition: function (typeNumber) {\n return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1];\n },\n getMask: function (maskPattern, i, j) {\n switch (maskPattern) {\n case QRMaskPattern.PATTERN000:\n return (i + j) % 2 == 0;\n\n case QRMaskPattern.PATTERN001:\n return i % 2 == 0;\n\n case QRMaskPattern.PATTERN010:\n return j % 3 == 0;\n\n case QRMaskPattern.PATTERN011:\n return (i + j) % 3 == 0;\n\n case QRMaskPattern.PATTERN100:\n return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 == 0;\n\n case QRMaskPattern.PATTERN101:\n return i * j % 2 + i * j % 3 == 0;\n\n case QRMaskPattern.PATTERN110:\n return (i * j % 2 + i * j % 3) % 2 == 0;\n\n case QRMaskPattern.PATTERN111:\n return (i * j % 3 + (i + j) % 2) % 2 == 0;\n\n default:\n throw new Error(\"bad maskPattern:\" + maskPattern);\n }\n },\n getErrorCorrectPolynomial: function (errorCorrectLength) {\n var a = new Polynomial([1], 0);\n\n for (var i = 0; i < errorCorrectLength; i++) {\n a = a.multiply(new Polynomial([1, math.gexp(i)], 0));\n }\n\n return a;\n },\n getLengthInBits: function (mode$1, type) {\n if (1 <= type && type < 10) {\n // 1 - 9\n switch (mode$1) {\n case mode.MODE_NUMBER:\n return 10;\n\n case mode.MODE_ALPHA_NUM:\n return 9;\n\n case mode.MODE_8BIT_BYTE:\n return 8;\n\n case mode.MODE_KANJI:\n return 8;\n\n default:\n throw new Error(\"mode:\" + mode$1);\n }\n } else if (type < 27) {\n // 10 - 26\n switch (mode$1) {\n case mode.MODE_NUMBER:\n return 12;\n\n case mode.MODE_ALPHA_NUM:\n return 11;\n\n case mode.MODE_8BIT_BYTE:\n return 16;\n\n case mode.MODE_KANJI:\n return 10;\n\n default:\n throw new Error(\"mode:\" + mode$1);\n }\n } else if (type < 41) {\n // 27 - 40\n switch (mode$1) {\n case mode.MODE_NUMBER:\n return 14;\n\n case mode.MODE_ALPHA_NUM:\n return 13;\n\n case mode.MODE_8BIT_BYTE:\n return 16;\n\n case mode.MODE_KANJI:\n return 12;\n\n default:\n throw new Error(\"mode:\" + mode$1);\n }\n } else {\n throw new Error(\"type:\" + type);\n }\n },\n getLostPoint: function (qrCode) {\n var moduleCount = qrCode.getModuleCount();\n var lostPoint = 0; // LEVEL1\n\n for (var row = 0; row < moduleCount; row++) {\n for (var col = 0; col < moduleCount; col++) {\n var sameCount = 0;\n var dark = qrCode.isDark(row, col);\n\n for (var r = -1; r <= 1; r++) {\n if (row + r < 0 || moduleCount <= row + r) {\n continue;\n }\n\n for (var c = -1; c <= 1; c++) {\n if (col + c < 0 || moduleCount <= col + c) {\n continue;\n }\n\n if (r == 0 && c == 0) {\n continue;\n }\n\n if (dark == qrCode.isDark(row + r, col + c)) {\n sameCount++;\n }\n }\n }\n\n if (sameCount > 5) {\n lostPoint += 3 + sameCount - 5;\n }\n }\n } // LEVEL2\n\n\n for (var row = 0; row < moduleCount - 1; row++) {\n for (var col = 0; col < moduleCount - 1; col++) {\n var count = 0;\n if (qrCode.isDark(row, col)) count++;\n if (qrCode.isDark(row + 1, col)) count++;\n if (qrCode.isDark(row, col + 1)) count++;\n if (qrCode.isDark(row + 1, col + 1)) count++;\n\n if (count == 0 || count == 4) {\n lostPoint += 3;\n }\n }\n } // LEVEL3\n\n\n for (var row = 0; row < moduleCount; row++) {\n for (var col = 0; col < moduleCount - 6; col++) {\n if (qrCode.isDark(row, col) && !qrCode.isDark(row, col + 1) && qrCode.isDark(row, col + 2) && qrCode.isDark(row, col + 3) && qrCode.isDark(row, col + 4) && !qrCode.isDark(row, col + 5) && qrCode.isDark(row, col + 6)) {\n lostPoint += 40;\n }\n }\n }\n\n for (var col = 0; col < moduleCount; col++) {\n for (var row = 0; row < moduleCount - 6; row++) {\n if (qrCode.isDark(row, col) && !qrCode.isDark(row + 1, col) && qrCode.isDark(row + 2, col) && qrCode.isDark(row + 3, col) && qrCode.isDark(row + 4, col) && !qrCode.isDark(row + 5, col) && qrCode.isDark(row + 6, col)) {\n lostPoint += 40;\n }\n }\n } // LEVEL4\n\n\n var darkCount = 0;\n\n for (var col = 0; col < moduleCount; col++) {\n for (var row = 0; row < moduleCount; row++) {\n if (qrCode.isDark(row, col)) {\n darkCount++;\n }\n }\n }\n\n var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;\n lostPoint += ratio * 10;\n return lostPoint;\n }\n};\nvar util = QRUtil;\n\nfunction QRCode(typeNumber, errorCorrectLevel) {\n this.typeNumber = typeNumber;\n this.errorCorrectLevel = errorCorrectLevel;\n this.modules = null;\n this.moduleCount = 0;\n this.dataCache = null;\n this.dataList = [];\n} // for client side minification\n\n\nvar proto = QRCode.prototype;\n\nproto.addData = function (data) {\n var newData = new _8BitByte(data);\n this.dataList.push(newData);\n this.dataCache = null;\n};\n\nproto.isDark = function (row, col) {\n if (row < 0 || this.moduleCount <= row || col < 0 || this.moduleCount <= col) {\n throw new Error(row + \",\" + col);\n }\n\n return this.modules[row][col];\n};\n\nproto.getModuleCount = function () {\n return this.moduleCount;\n};\n\nproto.make = function () {\n // Calculate automatically typeNumber if provided is < 1\n if (this.typeNumber < 1) {\n var typeNumber = 1;\n\n for (typeNumber = 1; typeNumber < 40; typeNumber++) {\n var rsBlocks = RSBlock.getRSBlocks(typeNumber, this.errorCorrectLevel);\n var buffer = new BitBuffer();\n var totalDataCount = 0;\n\n for (var i = 0; i < rsBlocks.length; i++) {\n totalDataCount += rsBlocks[i].dataCount;\n }\n\n for (var i = 0; i < this.dataList.length; i++) {\n var data = this.dataList[i];\n buffer.put(data.mode, 4);\n buffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber));\n data.write(buffer);\n }\n\n if (buffer.getLengthInBits() <= totalDataCount * 8) break;\n }\n\n this.typeNumber = typeNumber;\n }\n\n this.makeImpl(false, this.getBestMaskPattern());\n};\n\nproto.makeImpl = function (test, maskPattern) {\n this.moduleCount = this.typeNumber * 4 + 17;\n this.modules = new Array(this.moduleCount);\n\n for (var row = 0; row < this.moduleCount; row++) {\n this.modules[row] = new Array(this.moduleCount);\n\n for (var col = 0; col < this.moduleCount; col++) {\n this.modules[row][col] = null; //(col + row) % 3;\n }\n }\n\n this.setupPositionProbePattern(0, 0);\n this.setupPositionProbePattern(this.moduleCount - 7, 0);\n this.setupPositionProbePattern(0, this.moduleCount - 7);\n this.setupPositionAdjustPattern();\n this.setupTimingPattern();\n this.setupTypeInfo(test, maskPattern);\n\n if (this.typeNumber >= 7) {\n this.setupTypeNumber(test);\n }\n\n if (this.dataCache == null) {\n this.dataCache = QRCode.createData(this.typeNumber, this.errorCorrectLevel, this.dataList);\n }\n\n this.mapData(this.dataCache, maskPattern);\n};\n\nproto.setupPositionProbePattern = function (row, col) {\n for (var r = -1; r <= 7; r++) {\n if (row + r <= -1 || this.moduleCount <= row + r) continue;\n\n for (var c = -1; c <= 7; c++) {\n if (col + c <= -1 || this.moduleCount <= col + c) continue;\n\n if (0 <= r && r <= 6 && (c == 0 || c == 6) || 0 <= c && c <= 6 && (r == 0 || r == 6) || 2 <= r && r <= 4 && 2 <= c && c <= 4) {\n this.modules[row + r][col + c] = true;\n } else {\n this.modules[row + r][col + c] = false;\n }\n }\n }\n};\n\nproto.getBestMaskPattern = function () {\n var minLostPoint = 0;\n var pattern = 0;\n\n for (var i = 0; i < 8; i++) {\n this.makeImpl(true, i);\n var lostPoint = util.getLostPoint(this);\n\n if (i == 0 || minLostPoint > lostPoint) {\n minLostPoint = lostPoint;\n pattern = i;\n }\n }\n\n return pattern;\n};\n\nproto.createMovieClip = function (target_mc, instance_name, depth) {\n var qr_mc = target_mc.createEmptyMovieClip(instance_name, depth);\n var cs = 1;\n this.make();\n\n for (var row = 0; row < this.modules.length; row++) {\n var y = row * cs;\n\n for (var col = 0; col < this.modules[row].length; col++) {\n var x = col * cs;\n var dark = this.modules[row][col];\n\n if (dark) {\n qr_mc.beginFill(0, 100);\n qr_mc.moveTo(x, y);\n qr_mc.lineTo(x + cs, y);\n qr_mc.lineTo(x + cs, y + cs);\n qr_mc.lineTo(x, y + cs);\n qr_mc.endFill();\n }\n }\n }\n\n return qr_mc;\n};\n\nproto.setupTimingPattern = function () {\n for (var r = 8; r < this.moduleCount - 8; r++) {\n if (this.modules[r][6] != null) {\n continue;\n }\n\n this.modules[r][6] = r % 2 == 0;\n }\n\n for (var c = 8; c < this.moduleCount - 8; c++) {\n if (this.modules[6][c] != null) {\n continue;\n }\n\n this.modules[6][c] = c % 2 == 0;\n }\n};\n\nproto.setupPositionAdjustPattern = function () {\n var pos = util.getPatternPosition(this.typeNumber);\n\n for (var i = 0; i < pos.length; i++) {\n for (var j = 0; j < pos.length; j++) {\n var row = pos[i];\n var col = pos[j];\n\n if (this.modules[row][col] != null) {\n continue;\n }\n\n for (var r = -2; r <= 2; r++) {\n for (var c = -2; c <= 2; c++) {\n if (r == -2 || r == 2 || c == -2 || c == 2 || r == 0 && c == 0) {\n this.modules[row + r][col + c] = true;\n } else {\n this.modules[row + r][col + c] = false;\n }\n }\n }\n }\n }\n};\n\nproto.setupTypeNumber = function (test) {\n var bits = util.getBCHTypeNumber(this.typeNumber);\n\n for (var i = 0; i < 18; i++) {\n var mod = !test && (bits >> i & 1) == 1;\n this.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = mod;\n }\n\n for (var i = 0; i < 18; i++) {\n var mod = !test && (bits >> i & 1) == 1;\n this.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod;\n }\n};\n\nproto.setupTypeInfo = function (test, maskPattern) {\n var data = this.errorCorrectLevel << 3 | maskPattern;\n var bits = util.getBCHTypeInfo(data); // vertical\t\t\n\n for (var i = 0; i < 15; i++) {\n var mod = !test && (bits >> i & 1) == 1;\n\n if (i < 6) {\n this.modules[i][8] = mod;\n } else if (i < 8) {\n this.modules[i + 1][8] = mod;\n } else {\n this.modules[this.moduleCount - 15 + i][8] = mod;\n }\n } // horizontal\n\n\n for (var i = 0; i < 15; i++) {\n var mod = !test && (bits >> i & 1) == 1;\n\n if (i < 8) {\n this.modules[8][this.moduleCount - i - 1] = mod;\n } else if (i < 9) {\n this.modules[8][15 - i - 1 + 1] = mod;\n } else {\n this.modules[8][15 - i - 1] = mod;\n }\n } // fixed module\n\n\n this.modules[this.moduleCount - 8][8] = !test;\n};\n\nproto.mapData = function (data, maskPattern) {\n var inc = -1;\n var row = this.moduleCount - 1;\n var bitIndex = 7;\n var byteIndex = 0;\n\n for (var col = this.moduleCount - 1; col > 0; col -= 2) {\n if (col == 6) col--;\n\n while (true) {\n for (var c = 0; c < 2; c++) {\n if (this.modules[row][col - c] == null) {\n var dark = false;\n\n if (byteIndex < data.length) {\n dark = (data[byteIndex] >>> bitIndex & 1) == 1;\n }\n\n var mask = util.getMask(maskPattern, row, col - c);\n\n if (mask) {\n dark = !dark;\n }\n\n this.modules[row][col - c] = dark;\n bitIndex--;\n\n if (bitIndex == -1) {\n byteIndex++;\n bitIndex = 7;\n }\n }\n }\n\n row += inc;\n\n if (row < 0 || this.moduleCount <= row) {\n row -= inc;\n inc = -inc;\n break;\n }\n }\n }\n};\n\nQRCode.PAD0 = 0xEC;\nQRCode.PAD1 = 0x11;\n\nQRCode.createData = function (typeNumber, errorCorrectLevel, dataList) {\n var rsBlocks = RSBlock.getRSBlocks(typeNumber, errorCorrectLevel);\n var buffer = new BitBuffer();\n\n for (var i = 0; i < dataList.length; i++) {\n var data = dataList[i];\n buffer.put(data.mode, 4);\n buffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber));\n data.write(buffer);\n } // calc num max data.\n\n\n var totalDataCount = 0;\n\n for (var i = 0; i < rsBlocks.length; i++) {\n totalDataCount += rsBlocks[i].dataCount;\n }\n\n if (buffer.getLengthInBits() > totalDataCount * 8) {\n throw new Error(\"code length overflow. (\" + buffer.getLengthInBits() + \">\" + totalDataCount * 8 + \")\");\n } // end code\n\n\n if (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {\n buffer.put(0, 4);\n } // padding\n\n\n while (buffer.getLengthInBits() % 8 != 0) {\n buffer.putBit(false);\n } // padding\n\n\n while (true) {\n if (buffer.getLengthInBits() >= totalDataCount * 8) {\n break;\n }\n\n buffer.put(QRCode.PAD0, 8);\n\n if (buffer.getLengthInBits() >= totalDataCount * 8) {\n break;\n }\n\n buffer.put(QRCode.PAD1, 8);\n }\n\n return QRCode.createBytes(buffer, rsBlocks);\n};\n\nQRCode.createBytes = function (buffer, rsBlocks) {\n var offset = 0;\n var maxDcCount = 0;\n var maxEcCount = 0;\n var dcdata = new Array(rsBlocks.length);\n var ecdata = new Array(rsBlocks.length);\n\n for (var r = 0; r < rsBlocks.length; r++) {\n var dcCount = rsBlocks[r].dataCount;\n var ecCount = rsBlocks[r].totalCount - dcCount;\n maxDcCount = Math.max(maxDcCount, dcCount);\n maxEcCount = Math.max(maxEcCount, ecCount);\n dcdata[r] = new Array(dcCount);\n\n for (var i = 0; i < dcdata[r].length; i++) {\n dcdata[r][i] = 0xff & buffer.buffer[i + offset];\n }\n\n offset += dcCount;\n var rsPoly = util.getErrorCorrectPolynomial(ecCount);\n var rawPoly = new Polynomial(dcdata[r], rsPoly.getLength() - 1);\n var modPoly = rawPoly.mod(rsPoly);\n ecdata[r] = new Array(rsPoly.getLength() - 1);\n\n for (var i = 0; i < ecdata[r].length; i++) {\n var modIndex = i + modPoly.getLength() - ecdata[r].length;\n ecdata[r][i] = modIndex >= 0 ? modPoly.get(modIndex) : 0;\n }\n }\n\n var totalCodeCount = 0;\n\n for (var i = 0; i < rsBlocks.length; i++) {\n totalCodeCount += rsBlocks[i].totalCount;\n }\n\n var data = new Array(totalCodeCount);\n var index = 0;\n\n for (var i = 0; i < maxDcCount; i++) {\n for (var r = 0; r < rsBlocks.length; r++) {\n if (i < dcdata[r].length) {\n data[index++] = dcdata[r][i];\n }\n }\n }\n\n for (var i = 0; i < maxEcCount; i++) {\n for (var r = 0; r < rsBlocks.length; r++) {\n if (i < ecdata[r].length) {\n data[index++] = ecdata[r][i];\n }\n }\n }\n\n return data;\n};\n\nvar QRCode_1 = QRCode;\n\n/**\n * Encode UTF16 to UTF8.\n * See: http://jonisalonen.com/2012/from-utf-16-to-utf-8-in-javascript/\n * @param str {string}\n * @returns {string}\n */\n\nfunction toUTF8String(str) {\n var utf8Str = '';\n\n for (var i = 0; i < str.length; i++) {\n var charCode = str.charCodeAt(i);\n\n if (charCode < 0x0080) {\n utf8Str += String.fromCharCode(charCode);\n } else if (charCode < 0x0800) {\n utf8Str += String.fromCharCode(0xc0 | charCode >> 6);\n utf8Str += String.fromCharCode(0x80 | charCode & 0x3f);\n } else if (charCode < 0xd800 || charCode >= 0xe000) {\n utf8Str += String.fromCharCode(0xe0 | charCode >> 12);\n utf8Str += String.fromCharCode(0x80 | charCode >> 6 & 0x3f);\n utf8Str += String.fromCharCode(0x80 | charCode & 0x3f);\n } else {\n // surrogate pair\n i++; // UTF-16 encodes 0x10000-0x10FFFF by\n // subtracting 0x10000 and splitting the\n // 20 bits of 0x0-0xFFFFF into two halves\n\n charCode = 0x10000 + ((charCode & 0x3ff) << 10 | str.charCodeAt(i) & 0x3ff);\n utf8Str += String.fromCharCode(0xf0 | charCode >> 18);\n utf8Str += String.fromCharCode(0x80 | charCode >> 12 & 0x3f);\n utf8Str += String.fromCharCode(0x80 | charCode >> 6 & 0x3f);\n utf8Str += String.fromCharCode(0x80 | charCode & 0x3f);\n }\n }\n\n return utf8Str;\n}\n\nfunction generatePath(modules) {\n var margin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var ops = [];\n modules.forEach(function (row, y) {\n var start = null;\n row.forEach(function (cell, x) {\n if (!cell && start !== null) {\n // M0 0h7v1H0z injects the space with the move and drops the comma,\n // saving a char per operation\n ops.push(\"M\".concat(start + margin, \" \").concat(y + margin, \"h\").concat(x - start, \"v1H\").concat(start + margin, \"z\"));\n start = null;\n return;\n } // end of row, clean up or skip\n\n\n if (x === row.length - 1) {\n if (!cell) {\n // We would have closed the op above already so this can only mean\n // 2+ light modules in a row.\n return;\n }\n\n if (start === null) {\n // Just a single dark module.\n ops.push(\"M\".concat(x + margin, \",\").concat(y + margin, \" h1v1H\").concat(x + margin, \"z\"));\n } else {\n // Otherwise finish the current line.\n ops.push(\"M\".concat(start + margin, \",\").concat(y + margin, \" h\").concat(x + 1 - start, \"v1H\").concat(start + margin, \"z\"));\n }\n\n return;\n }\n\n if (cell && start === null) {\n start = x;\n }\n });\n });\n return ops.join('');\n} // @vue/component\n\n\nvar QrcodeVue = {\n props: {\n value: {\n type: String,\n required: true,\n default: ''\n },\n className: {\n type: String,\n default: ''\n },\n size: {\n type: [Number, String],\n default: 100,\n validator: function validator(s) {\n return isNaN(Number(s)) !== true;\n }\n },\n level: {\n type: String,\n default: 'L',\n validator: function validator(l) {\n return ['L', 'Q', 'M', 'H'].indexOf(l) > -1;\n }\n },\n background: {\n type: String,\n default: '#fff'\n },\n foreground: {\n type: String,\n default: '#000'\n },\n renderAs: {\n type: String,\n required: false,\n default: 'canvas',\n validator: function validator(as) {\n return ['canvas', 'svg'].indexOf(as) > -1;\n }\n }\n },\n data: function data() {\n return {\n numCells: 0,\n fgPath: ''\n };\n },\n updated: function updated() {\n this.render();\n },\n mounted: function mounted() {\n this.render();\n },\n methods: {\n render: function render() {\n var value = this.value,\n size = this.size,\n level = this.level,\n background = this.background,\n foreground = this.foreground,\n renderAs = this.renderAs;\n\n var _size = size >>> 0; // size to number\n // We'll use type===-1 to force QRCode to automatically pick the best type\n\n\n var qrCode = new QRCode_1(-1, ErrorCorrectLevel[level]);\n qrCode.addData(toUTF8String(value));\n qrCode.make();\n var cells = qrCode.modules;\n var tileW = _size / cells.length;\n var tileH = _size / cells.length;\n var scale = window.devicePixelRatio || 1;\n\n if (renderAs === 'svg') {\n this.numCells = cells.length; // Drawing strategy: instead of a rect per module, we're going to create a\n // single path for the dark modules and layer that on top of a light rect,\n // for a total of 2 DOM nodes. We pay a bit more in string concat but that's\n // way faster than DOM ops.\n // For level 1, 441 nodes -> 2\n // For level 40, 31329 -> 2\n\n this.fgPath = generatePath(cells);\n } else {\n var canvas = this.$refs['qrcode-vue'];\n var ctx = canvas.getContext('2d');\n canvas.height = canvas.width = _size * scale;\n ctx.scale(scale, scale);\n cells.forEach(function (row, rdx) {\n row.forEach(function (cell, cdx) {\n ctx.fillStyle = cell ? foreground : background;\n var w = Math.ceil((cdx + 1) * tileW) - Math.floor(cdx * tileW);\n var h = Math.ceil((rdx + 1) * tileH) - Math.floor(rdx * tileH);\n ctx.fillRect(Math.round(cdx * tileW), Math.round(rdx * tileH), w, h);\n });\n });\n }\n }\n },\n render: function render(createElement) {\n var className = this.className,\n value = this.value,\n level = this.level,\n background = this.background,\n foreground = this.foreground,\n size = this.size,\n renderAs = this.renderAs,\n numCells = this.numCells,\n fgPath = this.fgPath;\n return createElement('div', {\n class: this.class || className,\n attrs: {\n value: value,\n level: level,\n background: background,\n foreground: foreground\n }\n }, [renderAs === 'svg' ? createElement('svg', {\n attrs: {\n height: size,\n width: size,\n shapeRendering: 'crispEdges',\n viewBox: \"0 0 \".concat(numCells, \" \").concat(numCells)\n },\n style: {\n width: size + 'px',\n height: size + 'px'\n }\n }, [createElement('path', {\n attrs: {\n fill: background,\n d: \"M0,0 h\".concat(numCells, \"v\").concat(numCells, \"H0z\")\n }\n }), createElement('path', {\n attrs: {\n fill: foreground,\n d: fgPath\n }\n })]) : createElement('canvas', {\n attrs: {\n height: size,\n width: size\n },\n style: {\n width: size + 'px',\n height: size + 'px'\n },\n ref: 'qrcode-vue'\n }, [])]);\n }\n};\n\nexport default QrcodeVue;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","/*!\n * vuex v3.6.2\n * (c) 2021 Evan You\n * @license MIT\n */\nfunction applyMixin (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n}\n\nvar target = typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\nvar devtoolHook = target.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n }, { prepend: true });\n\n store.subscribeAction(function (action, state) {\n devtoolHook.emit('vuex:action', action, state);\n }, { prepend: true });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\nfunction find (list, f) {\n return list.filter(f)[0]\n}\n\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array} cache\n * @return {*}\n */\nfunction deepCopy (obj, cache) {\n if ( cache === void 0 ) cache = [];\n\n // just return if obj is immutable value\n if (obj === null || typeof obj !== 'object') {\n return obj\n }\n\n // if obj is hit, it is in circular structure\n var hit = find(cache, function (c) { return c.original === obj; });\n if (hit) {\n return hit.copy\n }\n\n var copy = Array.isArray(obj) ? [] : {};\n // put the copy into cache at first\n // because we want to refer it in recursive deepCopy\n cache.push({\n original: obj,\n copy: copy\n });\n\n Object.keys(obj).forEach(function (key) {\n copy[key] = deepCopy(obj[key], cache);\n });\n\n return copy\n}\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nfunction partial (fn, arg) {\n return function () {\n return fn(arg)\n }\n}\n\n// Base data struct for store's module, package with some attribute and method\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n // Store some children item\n this._children = Object.create(null);\n // Store the origin module object which passed by programmer\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n\n // Store the origin module's state\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors = { namespaced: { configurable: true } };\n\nprototypeAccessors.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.hasChild = function hasChild (key) {\n return key in this._children\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if ((process.env.NODE_ENV !== 'production')) {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n var child = parent.getChild(key);\n\n if (!child) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\n \"[vuex] trying to unregister module '\" + key + \"', which is \" +\n \"not registered\"\n );\n }\n return\n }\n\n if (!child.runtime) {\n return\n }\n\n parent.removeChild(key);\n};\n\nModuleCollection.prototype.isRegistered = function isRegistered (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n\n if (parent) {\n return parent.hasChild(key)\n }\n\n return false\n};\n\nfunction update (path, targetModule, newModule) {\n if ((process.env.NODE_ENV !== 'production')) {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._watcherVM = new Vue();\n this._makeLocalGettersCache = Object.create(null);\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n var state = this._modules.root.state;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n var useDevtools = options.devtools !== undefined ? options.devtools : Vue.config.devtools;\n if (useDevtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors$1 = { state: { configurable: true } };\n\nprototypeAccessors$1.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors$1.state.set = function (v) {\n if ((process.env.NODE_ENV !== 'production')) {\n assert(false, \"use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n\n this._subscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .forEach(function (sub) { return sub(mutation, this$1.state); });\n\n if (\n (process.env.NODE_ENV !== 'production') &&\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n try {\n this._actionSubscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .filter(function (sub) { return sub.before; })\n .forEach(function (sub) { return sub.before(action, this$1.state); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in before action subscribers: \");\n console.error(e);\n }\n }\n\n var result = entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload);\n\n return new Promise(function (resolve, reject) {\n result.then(function (res) {\n try {\n this$1._actionSubscribers\n .filter(function (sub) { return sub.after; })\n .forEach(function (sub) { return sub.after(action, this$1.state); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in after action subscribers: \");\n console.error(e);\n }\n }\n resolve(res);\n }, function (error) {\n try {\n this$1._actionSubscribers\n .filter(function (sub) { return sub.error; })\n .forEach(function (sub) { return sub.error(action, this$1.state, error); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in error action subscribers: \");\n console.error(e);\n }\n }\n reject(error);\n });\n })\n};\n\nStore.prototype.subscribe = function subscribe (fn, options) {\n return genericSubscribe(fn, this._subscribers, options)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn, options) {\n var subs = typeof fn === 'function' ? { before: fn } : fn;\n return genericSubscribe(subs, this._actionSubscribers, options)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n var this$1 = this;\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1.state, path.slice(0, -1));\n Vue.delete(parentState, path[path.length - 1]);\n });\n resetStore(this);\n};\n\nStore.prototype.hasModule = function hasModule (path) {\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n return this._modules.isRegistered(path)\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors$1 );\n\nfunction genericSubscribe (fn, subs, options) {\n if (subs.indexOf(fn) < 0) {\n options && options.prepend\n ? subs.unshift(fn)\n : subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\n\n // bind store public getters\n store.getters = {};\n // reset local getters cache\n store._makeLocalGettersCache = Object.create(null);\n var wrappedGetters = store._wrappedGetters;\n var computed = {};\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n // direct inline function use will lead to closure preserving oldVm.\n // using partial to return function with only arguments preserved in closure environment.\n computed[key] = partial(fn, store);\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n if (store._modulesNamespaceMap[namespace] && (process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] duplicate namespace \" + namespace + \" for the namespaced module \" + (path.join('/'))));\n }\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n if ((process.env.NODE_ENV !== 'production')) {\n if (moduleName in parentState) {\n console.warn(\n (\"[vuex] state field \\\"\" + moduleName + \"\\\" was overridden by a module with the same name at \\\"\" + (path.join('.')) + \"\\\"\")\n );\n }\n }\n Vue.set(parentState, moduleName, module.state);\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if ((process.env.NODE_ENV !== 'production') && !store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if ((process.env.NODE_ENV !== 'production') && !store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by vm update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n if (!store._makeLocalGettersCache[namespace]) {\n var gettersProxy = {};\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n store._makeLocalGettersCache[namespace] = gettersProxy;\n }\n\n return store._makeLocalGettersCache[namespace]\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n store._vm.$watch(function () { return this._data.$$state }, function () {\n if ((process.env.NODE_ENV !== 'production')) {\n assert(store._committing, \"do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n return path.reduce(function (state, key) { return state[key]; }, state)\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(typeof type === 'string', (\"expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\n\n/**\n * Reduce the code which written in Vue.js for getting the state.\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} states # Object's item can be a function which accept state and getters for param, you can do something for state and getters in it.\n * @param {Object}\n */\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(states)) {\n console.error('[vuex] mapState: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for committing the mutation\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} mutations # Object's item can be a function which accept `commit` function as the first param, it can accept another params. You can commit mutation and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(mutations)) {\n console.error('[vuex] mapMutations: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // Get the commit method from store\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for getting the getters\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} getters\n * @return {Object}\n */\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(getters)) {\n console.error('[vuex] mapGetters: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n // The namespace has been mutated by normalizeNamespace\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if ((process.env.NODE_ENV !== 'production') && !(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for dispatch the action\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} actions # Object's item can be a function which accept `dispatch` function as the first param, it can accept anthor params. You can dispatch action and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(actions)) {\n console.error('[vuex] mapActions: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // get dispatch function from store\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Rebinding namespace param for mapXXX function in special scoped, and return them by simple object\n * @param {String} namespace\n * @return {Object}\n */\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\n/**\n * Normalize the map\n * normalizeMap([1, 2, 3]) => [ { key: 1, val: 1 }, { key: 2, val: 2 }, { key: 3, val: 3 } ]\n * normalizeMap({a: 1, b: 2, c: 3}) => [ { key: 'a', val: 1 }, { key: 'b', val: 2 }, { key: 'c', val: 3 } ]\n * @param {Array|Object} map\n * @return {Object}\n */\nfunction normalizeMap (map) {\n if (!isValidMap(map)) {\n return []\n }\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\n/**\n * Validate whether given map is valid or not\n * @param {*} map\n * @return {Boolean}\n */\nfunction isValidMap (map) {\n return Array.isArray(map) || isObject(map)\n}\n\n/**\n * Return a function expect two param contains namespace and map. it will normalize the namespace and then the param's function will handle the new namespace and the map.\n * @param {Function} fn\n * @return {Function}\n */\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\n/**\n * Search a special module from store by namespace. if module not exist, print error message.\n * @param {Object} store\n * @param {String} helper\n * @param {String} namespace\n * @return {Object}\n */\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if ((process.env.NODE_ENV !== 'production') && !module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\n// Credits: borrowed code from fcomb/redux-logger\n\nfunction createLogger (ref) {\n if ( ref === void 0 ) ref = {};\n var collapsed = ref.collapsed; if ( collapsed === void 0 ) collapsed = true;\n var filter = ref.filter; if ( filter === void 0 ) filter = function (mutation, stateBefore, stateAfter) { return true; };\n var transformer = ref.transformer; if ( transformer === void 0 ) transformer = function (state) { return state; };\n var mutationTransformer = ref.mutationTransformer; if ( mutationTransformer === void 0 ) mutationTransformer = function (mut) { return mut; };\n var actionFilter = ref.actionFilter; if ( actionFilter === void 0 ) actionFilter = function (action, state) { return true; };\n var actionTransformer = ref.actionTransformer; if ( actionTransformer === void 0 ) actionTransformer = function (act) { return act; };\n var logMutations = ref.logMutations; if ( logMutations === void 0 ) logMutations = true;\n var logActions = ref.logActions; if ( logActions === void 0 ) logActions = true;\n var logger = ref.logger; if ( logger === void 0 ) logger = console;\n\n return function (store) {\n var prevState = deepCopy(store.state);\n\n if (typeof logger === 'undefined') {\n return\n }\n\n if (logMutations) {\n store.subscribe(function (mutation, state) {\n var nextState = deepCopy(state);\n\n if (filter(mutation, prevState, nextState)) {\n var formattedTime = getFormattedTime();\n var formattedMutation = mutationTransformer(mutation);\n var message = \"mutation \" + (mutation.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c prev state', 'color: #9E9E9E; font-weight: bold', transformer(prevState));\n logger.log('%c mutation', 'color: #03A9F4; font-weight: bold', formattedMutation);\n logger.log('%c next state', 'color: #4CAF50; font-weight: bold', transformer(nextState));\n endMessage(logger);\n }\n\n prevState = nextState;\n });\n }\n\n if (logActions) {\n store.subscribeAction(function (action, state) {\n if (actionFilter(action, state)) {\n var formattedTime = getFormattedTime();\n var formattedAction = actionTransformer(action);\n var message = \"action \" + (action.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c action', 'color: #03A9F4; font-weight: bold', formattedAction);\n endMessage(logger);\n }\n });\n }\n }\n}\n\nfunction startMessage (logger, message, collapsed) {\n var startMessage = collapsed\n ? logger.groupCollapsed\n : logger.group;\n\n // render\n try {\n startMessage.call(logger, message);\n } catch (e) {\n logger.log(message);\n }\n}\n\nfunction endMessage (logger) {\n try {\n logger.groupEnd();\n } catch (e) {\n logger.log('—— log end ——');\n }\n}\n\nfunction getFormattedTime () {\n var time = new Date();\n return (\" @ \" + (pad(time.getHours(), 2)) + \":\" + (pad(time.getMinutes(), 2)) + \":\" + (pad(time.getSeconds(), 2)) + \".\" + (pad(time.getMilliseconds(), 3)))\n}\n\nfunction repeat (str, times) {\n return (new Array(times + 1)).join(str)\n}\n\nfunction pad (num, maxLength) {\n return repeat('0', maxLength - num.toString().length) + num\n}\n\nvar index = {\n Store: Store,\n install: install,\n version: '3.6.2',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers,\n createLogger: createLogger\n};\n\nexport default index;\nexport { Store, createLogger, createNamespacedHelpers, install, mapActions, mapGetters, mapMutations, mapState };\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n"],"names":["__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","fastDeepEqual","equal","a","b","constructor","length","i","keys","Array","isArray","RegExp","source","flags","valueOf","Object","prototype","toString","hasOwnProperty","call","key","DEFAULT_ID","LoaderStatus","Loader","apiKey","authReferrerPolicy","channel","client","id","language","libraries","mapIds","nonce","region","retries","url","version","this","callbacks","loading","errors","instance","options","Error","JSON","stringify","status","FAILURE","SUCCESS","LOADING","INITIALIZED","failed","createUrl","join","deleteScript","script","document","getElementById","remove","load","loadPromise","loadCallback","err","error","window","google","importLibrary","name","execute","maps","fn","push","setScript","_a","_b","callback","params","v","forEach","g","h","k","p","c","l","q","m","d","r","Set","URLSearchParams","u","f","n","createElement","set","replace","t","toLowerCase","src","onerror","querySelector","head","append","console","warn","add","libraryPromises","map","library","all","event","ErrorEvent","loadErrorCallback","reset","onerrorEvent","resetIfRetryingFailed","delay","Math","pow","setTimeout","cb","GetIntrinsic","callBind","$indexOf","module","exports","allowMissing","intrinsic","bind","setFunctionLength","$TypeError","$apply","$call","$reflectApply","$defineProperty","$max","originalFunction","func","arguments","applyBind","$SyntaxError","gopd","obj","property","nonEnumerable","nonWritable","nonConfigurable","loose","desc","configurable","enumerable","writable","hasSymbols","Symbol","toStr","concat","defineDataProperty","supportsDescriptors","defineProperty","object","predicate","defineProperties","predicates","props","getOwnPropertySymbols","EvalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError","max","concatty","arr","j","that","target","bound","args","arrLike","offset","slicy","boundLength","boundArgs","Function","joiner","str","joiny","Empty","implementation","undefined","$Error","$EvalError","$RangeError","$ReferenceError","$URIError","$Function","getEvalledConstructor","expressionSyntax","$gOPD","getOwnPropertyDescriptor","throwTypeError","ThrowTypeError","calleeThrows","get","gOPDthrows","hasProto","getProto","getPrototypeOf","x","__proto__","needsEval","TypedArray","Uint8Array","INTRINSICS","AggregateError","ArrayBuffer","iterator","Atomics","BigInt","BigInt64Array","BigUint64Array","Boolean","DataView","Date","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","eval","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","isFinite","isNaN","Map","Number","parseFloat","parseInt","Proxy","Reflect","SharedArrayBuffer","String","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","WeakRef","WeakSet","errorProto","doEval","gen","LEGACY_ALIASES","hasOwn","$concat","$spliceApply","splice","$replace","$strSlice","slice","$exec","exec","rePropName","reEscapeChar","getBaseIntrinsic","alias","intrinsicName","parts","string","first","last","match","number","quote","subString","stringToPath","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","part","hasPropertyDescriptors","hasArrayLengthDefineBug","test","foo","$Object","origSymbol","hasSymbolSham","sym","symObj","getOwnPropertyNames","syms","propertyIsEnumerable","descriptor","$hasOwn","_processKeys","camelize","pascalize","decamelize","_isFunction","_isObject","_isArray","_isDate","_isRegExp","_isBoolean","_isNumerical","_processor","humps","convert","output","chr","toUpperCase","substr","camelized","separator","split","separateWords","process","depascalize","camelizeKeys","decamelizeKeys","pascalizeKeys","depascalizeKeys","encodedTlds","encodedUtlds","properties","numeric","ascii","alpha","asciinumeric","alphanumeric","domain","emoji","scheme","slashscheme","whitespace","registerGroup","groups","addToGroups","group","indexOf","State","token","jr","jd","accepts","go","input","state","nextState","regex","has","exactOnly","ta","inputs","tt","tr","regexp","ts","len","templateState","allFlags","flagsForToken","WORD","UWORD","LOCALHOST","TLD","UTLD","SCHEME","SLASH_SCHEME","NUM","WS","NL$1","OPENBRACE","OPENBRACKET","OPENANGLEBRACKET","OPENPAREN","CLOSEBRACE","CLOSEBRACKET","CLOSEANGLEBRACKET","CLOSEPAREN","AMPERSAND","APOSTROPHE","ASTERISK","AT","BACKSLASH","BACKTICK","CARET","COLON","COMMA","DOLLAR","DOT","EQUALS","EXCLAMATION","HYPHEN","PERCENT","PIPE","PLUS","POUND","QUERY","QUOTE","SEMI","SLASH","TILDE","UNDERSCORE","EMOJI$1","SYM","tk","freeze","NL","EMOJI","ASCII_LETTER","LETTER","DIGIT","SPACE","EMOJI_VARIATION","EMOJI_JOINER","tlds","utlds","fastts","defaultt","char","decodeTlds","encoded","words","stack","popDigitCount","popCount","substring","pop","defaults","defaultProtocol","events","format","noop","formatHref","nl2br","tagName","rel","validate","truncate","Infinity","className","attributes","ignoreTags","render","Options","opts","defaultRender","o","ignoredTags","uppercaseIgnoredTags","val","ir","check","operator","isCallable","option","getObj","MultiToken","tokens","createTokenClass","type","Token","super","isLink","toHref","toFormattedString","formatted","toFormattedHref","startIndex","s","endIndex","toObject","protocol","href","start","end","toFormattedObject","content","attrs","eventListeners","class","Email","Text","Nl","Url","hasProtocol","makeState","arg","initMultiToken","Multi","startIdx","endIdx","INIT","scanner","parser","tokenQueue","pluginQueue","customSchemes","initialized","init","Start","Num","Word","UWord","Ws","Emoji","EmojiJoiner","wordjr","uwordjr","tld","utld","sort","sch","init$2","_ref","qsAccepting","qsNonAccepting","localpartAccepting","Localpart","Domain","Scheme","SlashScheme","LocalpartAt","LocalpartDot","EmailDomain","EmailDomainDot","Email$1","EmailDomainHyphen","EmailColon","DomainHyphen","DomainDot","DomainDotTld","DomainDotTldColon","DomainDotTldColonPort","Url$1","UrlNonaccept","UriPrefix","SlashSchemeColon","SlashSchemeColonSlash","UrlOpenbrace","UrlOpenbracket","UrlOpenanglebracket","UrlOpenparen","UrlOpenbraceQ","UrlOpenbracketQ","UrlOpenanglebracketQ","UrlOpenparenQ","UrlOpenbraceSyms","UrlOpenbracketSyms","UrlOpenanglebracketSyms","UrlOpenparenSyms","init$1","tokenize","cursor","multis","textTokens","secondState","multiLength","latestAccepting","sinceAccepts","subtokens","run","iterable","index","second","charCodeAt","stringToArray","charCount","charCursor","tokenLength","charsSinceAccepts","run$1","HTML5NamedCharRefs","amp","gt","lt","nbsp","quot","HEXCHARCODE","CHARCODE","NAMED","EntityParser","named","parse","entity","matches","fromCharCode","WSP","ALPHA","CRLF","isSpace","isAlpha","EventedTokenizer","delegate","entityParser","mode","line","column","tagNameBuffer","states","beforeData","peek","isIgnoredEndTag","tag","consume","transitionTo","beginData","markTagStart","data","appendToData","consumeCharRef","finishData","tagOpen","beginStartTag","appendToTagName","markupDeclarationOpen","beginComment","beginDoctype","doctype","beforeDoctypeName","appendToDoctypeName","doctypeName","endDoctype","afterDoctypeName","nextSixChars","isPublic","isSystem","afterDoctypePublicKeyword","doctypePublicIdentifierDoubleQuoted","appendToDoctypePublicIdentifier","doctypePublicIdentifierSingleQuoted","afterDoctypePublicIdentifier","betweenDoctypePublicAndSystemIdentifiers","doctypeSystemIdentifierDoubleQuoted","appendToDoctypeSystemIdentifier","doctypeSystemIdentifierSingleQuoted","afterDoctypeSystemIdentifier","commentStart","finishComment","appendToCommentData","commentStartDash","comment","commentEndDash","commentEnd","finishTag","endTagName","beforeAttributeName","reportSyntaxError","beginAttribute","appendToAttributeName","attributeName","beginAttributeValue","finishAttributeValue","afterAttributeName","beforeAttributeValue","appendToAttributeValue","attributeValueDoubleQuoted","attributeValueSingleQuoted","attributeValueUnquoted","afterAttributeValueQuoted","selfClosingStartTag","markTagAsSelfClosing","endTagOpen","beginEndTag","tokenizePart","tokenizeEOF","preprocessInput","handler","flushData","charAt","chars","count","Tokenizer","startLine","startColumn","tokenizer","_currentAttribute","current","currentAttribute","addLocInfo","loc","publicIdentifier","systemIdentifier","selfClosing","isQuoted","message","syntaxError","LinkifyResult","StartTag","EndTag","Chars","Comment","Doctype","linkifyHtml","linkifiedTokens","linkified","preskipLen","skipTagTokens","linkifedChars","linkifyChars","rendered","link","attributeArrayToStrings","escapeText","skippedTokens","stackCount","attr","escapeAttr","attributesToString","text","attrStrs","entries","warning","defaultReplace","delimiter","russianPluralGroups","lastTwo","defaultPluralRules","pluralTypes","arabic","bosnian_serbian","chinese","croatian","french","german","russian","lithuanian","czech","polish","icelandic","slovenian","romanian","ukrainian","pluralTypeToLanguages","pluralTypeName","pluralRules","locale","langToPluralType","mapping","ret","mappingEntries","langs","langToTypeMap","en","escape","localePluralTypeStorage","memoizedPluralTypeName","pluralType","defaultTokenRegex","transformPhrase","phrase","substitutions","tokenRegex","replaceImplementation","interpolationRegex","smart_count","pluralRulesOrDefault","texts","pluralTypeWithCount","pluralTypeIndex","expression","argument","Polyglot","phrases","extend","currentLocale","onMissingKey","prefix","suffix","constructTokenRegex","interpolation","newLocale","morePhrases","phraseEntries","prefixedKey","unset","clear","newPhrases","_","keysShim","isArgs","isEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","ctor","excludedKeys","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$onmozfullscreenchange","$onmozfullscreenerror","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","isObject","isFunction","isArguments","isString","theKeys","skipProto","skipConstructor","equalsConstructorPrototypeIfNotBuggy","origKeys","originalKeys","shim","keysWorksWithArguments","callee","RequireObjectCoercible","callBound","$isEnumerable","$push","O","entrys","define","getPolyfill","polyfill","QR8bitByte","getLength","buffer","write","put","_8BitByte","ErrorCorrectLevel","L","M","Q","H","QRRSBlock","totalCount","dataCount","RS_BLOCK_TABLE","getRSBlocks","typeNumber","errorCorrectLevel","rsBlock","getRsBlockTable","list","RSBlock","QRBitBuffer","bufIndex","floor","num","putBit","getLengthInBits","bit","BitBuffer","QRMath","glog","LOG_TABLE","gexp","EXP_TABLE","math","QRPolynomial","shift","multiply","mod","ratio","Polynomial","QRMaskPattern","QRUtil","PATTERN_POSITION_TABLE","G15","G18","G15_MASK","getBCHTypeInfo","getBCHDigit","getBCHTypeNumber","digit","getPatternPosition","getMask","maskPattern","getErrorCorrectPolynomial","errorCorrectLength","mode$1","getLostPoint","qrCode","moduleCount","getModuleCount","lostPoint","row","col","sameCount","dark","isDark","darkCount","abs","util","QRCode","modules","dataCache","dataList","proto","addData","newData","make","rsBlocks","totalDataCount","makeImpl","getBestMaskPattern","setupPositionProbePattern","setupPositionAdjustPattern","setupTimingPattern","setupTypeInfo","setupTypeNumber","createData","mapData","minLostPoint","pattern","createMovieClip","target_mc","instance_name","depth","qr_mc","createEmptyMovieClip","y","beginFill","moveTo","lineTo","endFill","pos","bits","inc","bitIndex","byteIndex","PAD0","PAD1","createBytes","maxDcCount","maxEcCount","dcdata","ecdata","dcCount","ecCount","rsPoly","modPoly","modIndex","totalCodeCount","QRCode_1","QrcodeVue","required","default","size","validator","level","background","foreground","renderAs","as","numCells","fgPath","updated","mounted","methods","_size","utf8Str","charCode","toUTF8String","cells","tileW","tileH","scale","devicePixelRatio","margin","ops","cell","generatePath","canvas","$refs","ctx","getContext","height","width","rdx","cdx","fillStyle","w","ceil","fillRect","round","shapeRendering","viewBox","style","fill","ref","hasDescriptors","gOPD","$floor","functionLengthIsConfigurable","functionLengthIsWritable","devtoolHook","__VUE_DEVTOOLS_GLOBAL_HOOK__","deepCopy","cache","hit","original","filter","copy","forEachValue","Module","rawModule","runtime","_children","create","_rawModule","rawState","prototypeAccessors","namespaced","addChild","removeChild","getChild","hasChild","update","actions","mutations","getters","forEachChild","forEachGetter","forEachAction","forEachMutation","ModuleCollection","rawRootModule","register","path","targetModule","newModule","reduce","root","getNamespace","namespace","this$1","rawChildModule","unregister","parent","child","isRegistered","Vue","Store","install","plugins","strict","_committing","_actions","_actionSubscribers","_mutations","_wrappedGetters","_modules","_modulesNamespaceMap","_subscribers","_watcherVM","_makeLocalGettersCache","store","dispatch","commit","payload","installModule","resetStoreVM","plugin","devtools","config","_devtoolHook","emit","on","targetState","replaceState","subscribe","mutation","prepend","subscribeAction","action","devtoolPlugin","prototypeAccessors$1","genericSubscribe","subs","unshift","resetStore","hot","oldVm","_vm","wrappedGetters","computed","partial","silent","$$state","$watch","_data","deep","sync","enableStrictMode","_withCommit","nextTick","$destroy","rootState","isRoot","parentState","getNestedState","moduleName","local","context","noNamespace","_type","_payload","_options","unifyObjectStyle","gettersProxy","splitPos","localType","makeLocalGetters","makeLocalContext","entry","registerMutation","res","rootGetters","catch","registerAction","getter","rawGetter","registerGetter","_Vue","mixin","beforeCreate","vuexInit","_init","$options","$store","applyMixin","sub","before","after","watch","registerModule","preserveState","unregisterModule","delete","hasModule","hotUpdate","newOptions","committing","mapState","normalizeNamespace","normalizeMap","getModuleByNamespace","vuex","mapMutations","mapGetters","mapActions","isValidMap","helper","startMessage","logger","collapsed","groupCollapsed","log","endMessage","groupEnd","getFormattedTime","time","pad","getHours","getMinutes","getSeconds","getMilliseconds","maxLength","times","createNamespacedHelpers","createLogger","stateBefore","stateAfter","transformer","mutationTransformer","mut","actionFilter","actionTransformer","act","logMutations","logActions","prevState","formattedTime","formattedMutation","formattedAction"],"sourceRoot":""}