{"version":3,"file":"ce7ffe37659aad6462fba97b4247ef08849b79d5-aec84414eab128e0feb0.js","mappings":";yIAIA,KAAe,QAA2B,SAAK,OAAQ,CACrDA,EAAG,sCACD,gECFJ,KAAe,QAA2B,SAAK,OAAQ,CACrDA,EAAG,6DACD,yECFJ,KAAe,QAA2B,SAAK,OAAQ,CACrDA,EAAG,0GACD,kECFJ,KAAe,QAA2B,SAAK,OAAQ,CACrDA,EAAG,iDACD,yGCNJ,SAASC,EAAEC,GAAG,IAAIC,EAAEC,EAAEC,EAAE,GAAG,GAAG,iBAAiBH,GAAG,iBAAiBA,EAAEG,GAAGH,OAAO,GAAG,iBAAiBA,EAAE,GAAGI,MAAMC,QAAQL,GAAG,CAAC,IAAIM,EAAEN,EAAEO,OAAO,IAAIN,EAAE,EAAEA,EAAEK,EAAEL,IAAID,EAAEC,KAAKC,EAAEH,EAAEC,EAAEC,OAAOE,IAAIA,GAAG,KAAKA,GAAGD,EAAE,MAAM,IAAIA,KAAKF,EAAEA,EAAEE,KAAKC,IAAIA,GAAG,KAAKA,GAAGD,GAAG,OAAOC,CAAC,CAAgI,MAAxH,WAAgB,IAAI,IAAIH,EAAEC,EAAEC,EAAE,EAAEC,EAAE,GAAGG,EAAEE,UAAUD,OAAOL,EAAEI,EAAEJ,KAAKF,EAAEQ,UAAUN,MAAMD,EAAEF,EAAEC,MAAMG,IAAIA,GAAG,KAAKA,GAAGF,GAAG,OAAOE,CAAC,ECUhW,SAASM,EAAsBC,KAASC,GACrD,MAAMC,EAAM,IAAIC,IAAI,0CAA0CH,KAE9D,OADAC,EAAKG,SAAQC,GAAOH,EAAII,aAAaC,OAAO,SAAUF,KAC/C,uBAAuBL,YAAeE,yBAC/C,CCTe,SAAS,EAAWM,GACjC,GAAsB,iBAAXA,EACT,MAAM,IAAIC,MAAuG,EAAuB,IAE1I,OAAOD,EAAOE,OAAO,GAAGC,cAAgBH,EAAOI,MAAM,EACvD,CCTA,QCDe,SAAS,IAYtB,OAXA,EAAWC,OAAOC,OAASD,OAAOC,OAAOC,OAAS,SAAUC,GAC1D,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUD,OAAQoB,IAAK,CACzC,IAAIC,EAASpB,UAAUmB,GACvB,IAAK,IAAIE,KAAOD,EACVL,OAAOO,UAAUC,eAAeC,KAAKJ,EAAQC,KAC/CH,EAAOG,GAAOD,EAAOC,GAG3B,CACA,OAAOH,CACT,EACO,EAASO,MAAMC,KAAM1B,UAC9B,CC4CA,IAAI2B,EAA0B,WAE5B,SAASA,EAAWC,GAClB,IAAIC,EAAQH,KAEZA,KAAKI,WAAa,SAAUC,GAC1B,IAAIC,EAIAA,EAFsB,IAAtBH,EAAMI,KAAKlC,OACT8B,EAAMK,eACCL,EAAMK,eAAeC,YACrBN,EAAMO,QACNP,EAAMQ,UAAUC,WAEhBT,EAAMG,OAGRH,EAAMI,KAAKJ,EAAMI,KAAKlC,OAAS,GAAGoC,YAG7CN,EAAMQ,UAAUE,aAAaR,EAAKC,GAElCH,EAAMI,KAAKO,KAAKT,EAClB,EAEAL,KAAKe,cAA8BC,IAAnBd,EAAQe,QAAwCf,EAAQe,OACxEjB,KAAKO,KAAO,GACZP,KAAKkB,IAAM,EACXlB,KAAKmB,MAAQjB,EAAQiB,MAErBnB,KAAKL,IAAMO,EAAQP,IACnBK,KAAKW,UAAYT,EAAQS,UACzBX,KAAKU,QAAUR,EAAQQ,QACvBV,KAAKQ,eAAiBN,EAAQM,eAC9BR,KAAKM,OAAS,IAChB,CAEA,IAAIc,EAASnB,EAAWL,UA0CxB,OAxCAwB,EAAOC,QAAU,SAAiBC,GAChCA,EAAM1C,QAAQoB,KAAKI,WACrB,EAEAgB,EAAOG,OAAS,SAAgBC,GAI1BxB,KAAKkB,KAAOlB,KAAKe,SAAW,KAAQ,IAAO,GAC7Cf,KAAKI,WA7DX,SAA4BF,GAC1B,IAAIG,EAAMoB,SAASC,cAAc,SASjC,OARArB,EAAIsB,aAAa,eAAgBzB,EAAQP,UAEnBqB,IAAlBd,EAAQiB,OACVd,EAAIsB,aAAa,QAASzB,EAAQiB,OAGpCd,EAAIuB,YAAYH,SAASI,eAAe,KACxCxB,EAAIsB,aAAa,SAAU,IACpBtB,CACT,CAkDsByB,CAAmB9B,OAGrC,IAAIK,EAAML,KAAKO,KAAKP,KAAKO,KAAKlC,OAAS,GAEvC,GAAI2B,KAAKe,SAAU,CACjB,IAAIgB,EAtFV,SAAqB1B,GACnB,GAAIA,EAAI0B,MACN,OAAO1B,EAAI0B,MAMb,IAAK,IAAItC,EAAI,EAAGA,EAAIgC,SAASO,YAAY3D,OAAQoB,IAC/C,GAAIgC,SAASO,YAAYvC,GAAGwC,YAAc5B,EACxC,OAAOoB,SAASO,YAAYvC,EAOlC,CAqEkByC,CAAY7B,GAExB,IAGE0B,EAAMI,WAAWX,EAAMO,EAAMK,SAAS/D,OACxC,CAAE,MAAOP,GACT,CACF,MACEuC,EAAIuB,YAAYH,SAASI,eAAeL,IAG1CxB,KAAKkB,KACP,EAEAE,EAAOiB,MAAQ,WACbrC,KAAKO,KAAK3B,SAAQ,SAAUyB,GAC1B,IAAIiC,EAEJ,OAA6C,OAArCA,EAAkBjC,EAAIkC,iBAAsB,EAASD,EAAgBE,YAAYnC,EAC3F,IACAL,KAAKO,KAAO,GACZP,KAAKkB,IAAM,CACb,EAEOjB,CACT,CAhF8B,GCrDnBwC,EAAMC,KAAKD,IAMX,EAAOE,OAAOC,aAMd,EAASvD,OAAOC,OAepB,SAASuD,EAAMC,GACrB,OAAOA,EAAMD,MACd,CAiBO,SAAS,EAASC,EAAOC,EAASC,GACxC,OAAOF,EAAMG,QAAQF,EAASC,EAC/B,CAOO,SAASE,EAASJ,EAAOK,GAC/B,OAAOL,EAAMM,QAAQD,EACtB,CAOO,SAAS,EAAQL,EAAOO,GAC9B,OAAiC,EAA1BP,EAAMQ,WAAWD,EACzB,CAQO,SAAS,EAAQP,EAAOS,EAAOC,GACrC,OAAOV,EAAM1D,MAAMmE,EAAOC,EAC3B,CAMO,SAAS,EAAQV,GACvB,OAAOA,EAAMzE,MACd,CAMO,SAAS,EAAQyE,GACvB,OAAOA,EAAMzE,MACd,CAOO,SAAS,EAAQyE,EAAOW,GAC9B,OAAOA,EAAM3C,KAAKgC,GAAQA,CAC3B,CCvGO,IAAIY,EAAO,EACPC,EAAS,EACT,EAAS,EACTC,EAAW,EACXC,EAAY,EACZC,EAAa,GAWjB,SAASC,EAAMjB,EAAOkB,EAAMC,EAAQC,EAAMC,EAAOC,EAAU/F,GACjE,MAAO,CAACyE,MAAOA,EAAOkB,KAAMA,EAAMC,OAAQA,EAAQC,KAAMA,EAAMC,MAAOA,EAAOC,SAAUA,EAAUV,KAAMA,EAAMC,OAAQA,EAAQtF,OAAQA,EAAQgG,OAAQ,GACrJ,CAOO,SAAS,EAAML,EAAMG,GAC3B,OAAO,EAAOJ,EAAK,GAAI,KAAM,KAAM,GAAI,KAAM,KAAM,GAAIC,EAAM,CAAC3F,QAAS2F,EAAK3F,QAAS8F,EACtF,CAYO,SAASG,IAMf,OALAT,EAAYD,EAAW,EAAI,EAAOE,IAAcF,GAAY,EAExDD,IAAwB,KAAdE,IACbF,EAAS,EAAGD,KAENG,CACR,CAKO,SAASU,IAMf,OALAV,EAAYD,EAAW,EAAS,EAAOE,EAAYF,KAAc,EAE7DD,IAAwB,KAAdE,IACbF,EAAS,EAAGD,KAENG,CACR,CAKO,SAASW,IACf,OAAO,EAAOV,EAAYF,EAC3B,CAKO,SAASa,IACf,OAAOb,CACR,CAOO,SAASxE,EAAOmE,EAAOC,GAC7B,OAAO,EAAOM,EAAYP,EAAOC,EAClC,CAMO,SAASkB,EAAOR,GACtB,OAAQA,GAEP,KAAK,EAAG,KAAK,EAAG,KAAK,GAAI,KAAK,GAAI,KAAK,GACtC,OAAO,EAER,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,IAE3D,KAAK,GAAI,KAAK,IAAK,KAAK,IACvB,OAAO,EAER,KAAK,GACJ,OAAO,EAER,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAC/B,OAAO,EAER,KAAK,GAAI,KAAK,GACb,OAAO,EAGT,OAAO,CACR,CAMO,SAASS,EAAO7B,GACtB,OAAOY,EAAOC,EAAS,EAAG,EAAS,EAAOG,EAAahB,GAAQc,EAAW,EAAG,EAC9E,CAMO,SAASgB,EAAS9B,GACxB,OAAOgB,EAAa,GAAIhB,CACzB,CAMO,SAAS+B,EAASX,GACxB,OAAOrB,EAAKzD,EAAMwE,EAAW,EAAGkB,EAAmB,KAATZ,EAAcA,EAAO,EAAa,KAATA,EAAcA,EAAO,EAAIA,IAC7F,CAcO,SAASa,EAAYb,GAC3B,MAAOL,EAAYW,MACdX,EAAY,IACfU,IAIF,OAAOG,EAAMR,GAAQ,GAAKQ,EAAMb,GAAa,EAAI,GAAK,GACvD,CAwBO,SAASmB,EAAU3B,EAAO4B,GAChC,OAASA,GAASV,OAEbV,EAAY,IAAMA,EAAY,KAAQA,EAAY,IAAMA,EAAY,IAAQA,EAAY,IAAMA,EAAY,MAG/G,OAAOzE,EAAMiE,EAAOoB,KAAWQ,EAAQ,GAAe,IAAVT,KAA0B,IAAVD,KAC7D,CAMO,SAASO,EAAWZ,GAC1B,KAAOK,YACEV,GAEP,KAAKK,EACJ,OAAON,EAER,KAAK,GAAI,KAAK,GACA,KAATM,GAAwB,KAATA,GAClBY,EAAUjB,GACX,MAED,KAAK,GACS,KAATK,GACHY,EAAUZ,GACX,MAED,KAAK,GACJK,IAIH,OAAOX,CACR,CAOO,SAASsB,EAAWhB,EAAMb,GAChC,KAAOkB,KAEFL,EAAOL,IAAc,KAGhBK,EAAOL,IAAc,IAAsB,KAAXW,OAG1C,MAAO,KAAOpF,EAAMiE,EAAOO,EAAW,GAAK,IAAM,EAAc,KAATM,EAAcA,EAAOK,IAC5E,CAMO,SAASY,EAAY9B,GAC3B,MAAQqB,EAAMF,MACbD,IAED,OAAOnF,EAAMiE,EAAOO,EACrB,CCrPO,IAAI,EAAK,OACL,EAAM,QACN,EAAS,WAETwB,EAAU,OACV,EAAU,OACV,EAAc,OAUd,EAAY,aCRhB,SAAS,EAAWhB,EAAUiB,GAIpC,IAHA,IAAIC,EAAS,GACTjH,EAAS,EAAO+F,GAEX3E,EAAI,EAAGA,EAAIpB,EAAQoB,IAC3B6F,GAAUD,EAASjB,EAAS3E,GAAIA,EAAG2E,EAAUiB,IAAa,GAE3D,OAAOC,CACR,CASO,SAASC,EAAWC,EAASnC,EAAOe,EAAUiB,GACpD,OAAQG,EAAQtB,MACf,IDPiB,SCOL,GAAIsB,EAAQpB,SAAS/F,OAAQ,MACzC,IDlBkB,UCkBL,KAAK,EAAa,OAAOmH,EAAQnB,OAASmB,EAAQnB,QAAUmB,EAAQ1C,MACjF,KAAKsC,EAAS,MAAO,GACrB,KAAK,EAAW,OAAOI,EAAQnB,OAASmB,EAAQ1C,MAAQ,IAAM,EAAU0C,EAAQpB,SAAUiB,GAAY,IACtG,KAAK,EAASG,EAAQ1C,MAAQ0C,EAAQrB,MAAMsB,KAAK,KAGlD,OAAO,EAAOrB,EAAW,EAAUoB,EAAQpB,SAAUiB,IAAaG,EAAQnB,OAASmB,EAAQ1C,MAAQ,IAAMsB,EAAW,IAAM,EAC3H,CC3BO,SAASsB,GAAS5C,GACxB,OAAO8B,EAAQe,GAAM,GAAI,KAAM,KAAM,KAAM,CAAC,IAAK7C,EAAQ6B,EAAM7B,GAAQ,EAAG,CAAC,GAAIA,GAChF,CAcO,SAAS6C,GAAO7C,EAAOkB,EAAMC,EAAQzC,EAAMoE,EAAOC,EAAUC,EAAQC,EAAQC,GAiBlF,IAhBA,IAAI3C,EAAQ,EACR4C,EAAS,EACT5H,EAASyH,EACTI,EAAS,EACTC,EAAW,EACXC,EAAW,EACXC,EAAW,EACXC,EAAW,EACXC,EAAY,EACZ1C,EAAY,EACZK,EAAO,GACPC,EAAQyB,EACRxB,EAAWyB,EACXW,EAAYhF,EACZsC,EAAaI,EAEVoC,UACEF,EAAWvC,EAAWA,EAAYU,KAEzC,KAAK,GACJ,GAAgB,KAAZ6B,GAAqD,IAAlC,EAAOtC,EAAYzF,EAAS,GAAU,EACkB,GAA1E6E,EAAQY,GAAc,EAAQe,EAAQhB,GAAY,IAAK,OAAQ,SAClE0C,GAAa,GACd,KACD,CAED,KAAK,GAAI,KAAK,GAAI,KAAK,GACtBzC,GAAce,EAAQhB,GACtB,MAED,KAAK,EAAG,KAAK,GAAI,KAAK,GAAI,KAAK,GAC9BC,GAAciB,EAAWqB,GACzB,MAED,KAAK,GACJtC,GAAckB,EAASP,IAAU,EAAG,GACpC,SAED,KAAK,GACJ,OAAQD,KACP,KAAK,GAAI,KAAK,GACb,EAAOiC,GAAQvB,EAAUX,IAAQE,KAAUT,EAAMC,GAAS+B,GAC1D,MACD,QACClC,GAAc,IAEhB,MAED,KAAK,IAAMuC,EACVN,EAAO1C,KAAW,EAAOS,GAAcyC,EAExC,KAAK,IAAMF,EAAU,KAAK,GAAI,KAAK,EAClC,OAAQxC,GAEP,KAAK,EAAG,KAAK,IAAKyC,EAAW,EAE7B,KAAK,GAAKL,GAA0B,GAAdM,IAAiBzC,EAAa,EAAQA,EAAY,MAAO,KAC1EqC,EAAW,GAAM,EAAOrC,GAAczF,GACzC,EAAO8H,EAAW,GAAKO,GAAY5C,EAAa,IAAKtC,EAAMyC,EAAQ5F,EAAS,GAAKqI,GAAY,EAAQ5C,EAAY,IAAK,IAAM,IAAKtC,EAAMyC,EAAQ5F,EAAS,GAAI2H,GAC7J,MAED,KAAK,GAAIlC,GAAc,IAEvB,QAGC,GAFA,EAAO0C,EAAYG,GAAQ7C,EAAYE,EAAMC,EAAQZ,EAAO4C,EAAQL,EAAOG,EAAQ7B,EAAMC,EAAQ,GAAIC,EAAW,GAAI/F,GAASwH,GAE3G,MAAdhC,EACH,GAAe,IAAXoC,EACHN,GAAM7B,EAAYE,EAAMwC,EAAWA,EAAWrC,EAAO0B,EAAUxH,EAAQ0H,EAAQ3B,QAE/E,OAAmB,KAAX8B,GAA2C,MAA1B,EAAOpC,EAAY,GAAa,IAAMoC,GAE9D,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAClCP,GAAM7C,EAAO0D,EAAWA,EAAWhF,GAAQ,EAAOmF,GAAQ7D,EAAO0D,EAAWA,EAAW,EAAG,EAAGZ,EAAOG,EAAQ7B,EAAM0B,EAAOzB,EAAQ,GAAI9F,GAAS+F,GAAWwB,EAAOxB,EAAU/F,EAAQ0H,EAAQvE,EAAO2C,EAAQC,GACzM,MACD,QACCuB,GAAM7B,EAAY0C,EAAWA,EAAWA,EAAW,CAAC,IAAKpC,EAAU,EAAG2B,EAAQ3B,IAIpFf,EAAQ4C,EAASE,EAAW,EAAGE,EAAWE,EAAY,EAAGrC,EAAOJ,EAAa,GAAIzF,EAASyH,EAC1F,MAED,KAAK,GACJzH,EAAS,EAAI,EAAOyF,GAAaqC,EAAWC,EAC7C,QACC,GAAIC,EAAW,EACd,GAAiB,KAAbxC,IACDwC,OACE,GAAiB,KAAbxC,GAAkC,GAAdwC,KAA6B,KAAV/B,IAC/C,SAEF,OAAQR,GAAc,EAAKD,GAAYA,EAAYwC,GAElD,KAAK,GACJE,EAAYN,EAAS,EAAI,GAAKnC,GAAc,MAAO,GACnD,MAED,KAAK,GACJiC,EAAO1C,MAAY,EAAOS,GAAc,GAAKyC,EAAWA,EAAY,EACpE,MAED,KAAK,GAEW,KAAX/B,MACHV,GAAce,EAAQN,MAEvB2B,EAAS1B,IAAQyB,EAAS5H,EAAS,EAAO6F,EAAOJ,GAAcqB,EAAWV,MAAWZ,IACrF,MAED,KAAK,GACa,KAAbuC,GAAyC,GAAtB,EAAOtC,KAC7BuC,EAAW,IAIjB,OAAOR,CACR,CAgBO,SAASc,GAAS7D,EAAOkB,EAAMC,EAAQZ,EAAO4C,EAAQL,EAAOG,EAAQ7B,EAAMC,EAAOC,EAAU/F,GAKlG,IAJA,IAAIuI,EAAOX,EAAS,EAChBzE,EAAkB,IAAXyE,EAAeL,EAAQ,CAAC,IAC/BiB,EAAO,EAAOrF,GAET/B,EAAI,EAAGqH,EAAI,EAAGC,EAAI,EAAGtH,EAAI4D,IAAS5D,EAC1C,IAAK,IAAIuH,EAAI,EAAGC,EAAI,EAAOnE,EAAO8D,EAAO,EAAGA,EAAOnE,EAAIqE,EAAIf,EAAOtG,KAAMyH,EAAIpE,EAAOkE,EAAIH,IAAQG,GAC1FE,EAAIrE,EAAKiE,EAAI,EAAItF,EAAKwF,GAAK,IAAMC,EAAI,EAAQA,EAAG,OAAQzF,EAAKwF,QAChE7C,EAAM4C,KAAOG,GAEhB,OAAOnD,EAAKjB,EAAOkB,EAAMC,EAAmB,IAAXgC,EAAe,EAAU/B,EAAMC,EAAOC,EAAU/F,EAClF,CAQO,SAASoI,GAAS3D,EAAOkB,EAAMC,GACrC,OAAOF,EAAKjB,EAAOkB,EAAMC,EAAQmB,EAAS,EH/InCvB,GG+IiD,EAAOf,EAAO,GAAI,GAAI,EAC/E,CASO,SAAS4D,GAAa5D,EAAOkB,EAAMC,EAAQ5F,GACjD,OAAO0F,EAAKjB,EAAOkB,EAAMC,EAAQ,EAAa,EAAOnB,EAAO,EAAGzE,GAAS,EAAOyE,EAAOzE,EAAS,GAAI,GAAIA,EACxG,CCzLA,IAAI8I,GAA8B,SAAqC5D,EAAOwC,EAAQ1C,GAIpF,IAHA,IAAI+C,EAAW,EACXvC,EAAY,EAGduC,EAAWvC,EACXA,EAAYW,IAEK,KAAb4B,GAAiC,KAAdvC,IACrBkC,EAAO1C,GAAS,IAGdqB,EAAMb,IAIVU,IAGF,OAAOnF,EAAMmE,EAAOK,EACtB,EA6CIwD,GAAW,SAAkBtE,EAAOiD,GACtC,OAAOnB,EA5CK,SAAiByC,EAAQtB,GAErC,IAAI1C,GAAS,EACTQ,EAAY,GAEhB,GACE,OAAQa,EAAMb,IACZ,KAAK,EAEe,KAAdA,GAA+B,KAAXW,MAKtBuB,EAAO1C,GAAS,GAGlBgE,EAAOhE,IAAU8D,GAA4BvD,EAAW,EAAGmC,EAAQ1C,GACnE,MAEF,KAAK,EACHgE,EAAOhE,IAAUwB,EAAQhB,GACzB,MAEF,KAAK,EAEH,GAAkB,KAAdA,EAAkB,CAEpBwD,IAAShE,GAAoB,KAAXmB,IAAgB,MAAQ,GAC1CuB,EAAO1C,GAASgE,EAAOhE,GAAOhF,OAC9B,KACF,CAIF,QACEgJ,EAAOhE,IAAU,EAAKQ,UAEnBA,EAAYU,KAErB,OAAO8C,CACT,CAGiBC,CAAQ3C,EAAM7B,GAAQiD,GACvC,EAGIwB,GAA+B,IAAIC,QACnCC,GAAS,SAAgBjC,GAC3B,GAAqB,SAAjBA,EAAQtB,MAAoBsB,EAAQvB,UAExCuB,EAAQnH,OAAS,GAFjB,CAUA,IAJA,IAAIyE,EAAQ0C,EAAQ1C,MAChBmB,EAASuB,EAAQvB,OACjByD,EAAiBlC,EAAQ7B,SAAWM,EAAON,QAAU6B,EAAQ9B,OAASO,EAAOP,KAE1D,SAAhBO,EAAOC,MAEZ,KADAD,EAASA,EAAOA,QACH,OAIf,IAA6B,IAAzBuB,EAAQrB,MAAM9F,QAAwC,KAAxByE,EAAMQ,WAAW,IAE/CiE,GAAcI,IAAI1D,MAMlByD,EAAJ,CAIAH,GAAcK,IAAIpC,GAAS,GAK3B,IAJA,IAAIO,EAAS,GACTH,EAAQwB,GAAStE,EAAOiD,GACxB8B,EAAc5D,EAAOE,MAEhB1E,EAAI,EAAGsH,EAAI,EAAGtH,EAAImG,EAAMvH,OAAQoB,IACvC,IAAK,IAAIqH,EAAI,EAAGA,EAAIe,EAAYxJ,OAAQyI,IAAKC,IAC3CvB,EAAQrB,MAAM4C,GAAKhB,EAAOtG,GAAKmG,EAAMnG,GAAGwD,QAAQ,OAAQ4E,EAAYf,IAAMe,EAAYf,GAAK,IAAMlB,EAAMnG,EAT3G,CAtBA,CAkCF,EACIqI,GAAc,SAAqBtC,GACrC,GAAqB,SAAjBA,EAAQtB,KAAiB,CAC3B,IAAIpB,EAAQ0C,EAAQ1C,MAGI,MAAxBA,EAAMQ,WAAW,IACO,KAAxBR,EAAMQ,WAAW,KAEfkC,EAAgB,OAAI,GACpBA,EAAQ1C,MAAQ,GAEpB,CACF,EAIA,SAAS,GAAOA,EAAOzE,GACrB,OL9GK,SAAeyE,EAAOzE,GAC5B,OAA0B,GAAnB,EAAOyE,EAAO,MAAiBzE,GAAU,EAAK,EAAOyE,EAAO,KAAO,EAAK,EAAOA,EAAO,KAAO,EAAK,EAAOA,EAAO,KAAO,EAAK,EAAOA,EAAO,GAAK,CACvJ,CK4GUiF,CAAKjF,EAAOzE,IAElB,KAAK,KACH,OAAO,EAAS,SAAWyE,EAAQA,EAGrC,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KAEL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KAEL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KAEL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACH,OAAO,EAASA,EAAQA,EAG1B,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACH,OAAO,EAASA,EAAQ,EAAMA,EAAQ,EAAKA,EAAQA,EAGrD,KAAK,KACL,KAAK,KACH,OAAO,EAASA,EAAQ,EAAKA,EAAQA,EAGvC,KAAK,KACH,OAAO,EAASA,EAAQ,EAAK,QAAUA,EAAQA,EAGjD,KAAK,KACH,OAAO,EAASA,EAAQ,EAAQA,EAAO,iBAAkB,EAAS,WAAa,EAAK,aAAeA,EAGrG,KAAK,KACH,OAAO,EAASA,EAAQ,EAAK,aAAe,EAAQA,EAAO,cAAe,IAAMA,EAGlF,KAAK,KACH,OAAO,EAASA,EAAQ,EAAK,iBAAmB,EAAQA,EAAO,4BAA6B,IAAMA,EAGpG,KAAK,KACH,OAAO,EAASA,EAAQ,EAAK,EAAQA,EAAO,SAAU,YAAcA,EAGtE,KAAK,KACH,OAAO,EAASA,EAAQ,EAAK,EAAQA,EAAO,QAAS,kBAAoBA,EAG3E,KAAK,KACH,OAAO,EAAS,OAAS,EAAQA,EAAO,QAAS,IAAM,EAASA,EAAQ,EAAK,EAAQA,EAAO,OAAQ,YAAcA,EAGpH,KAAK,KACH,OAAO,EAAS,EAAQA,EAAO,qBAAsB,KAAO,EAAS,MAAQA,EAG/E,KAAK,KACH,OAAO,EAAQ,EAAQ,EAAQA,EAAO,eAAgB,EAAS,MAAO,cAAe,EAAS,MAAOA,EAAO,IAAMA,EAGpH,KAAK,KACL,KAAK,KACH,OAAO,EAAQA,EAAO,oBAAqB,YAG7C,KAAK,KACH,OAAO,EAAQ,EAAQA,EAAO,oBAAqB,EAAS,cAAgB,EAAK,gBAAiB,aAAc,WAAa,EAASA,EAAQA,EAGhJ,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACH,OAAO,EAAQA,EAAO,kBAAmB,EAAS,QAAUA,EAG9D,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KAEH,GAAI,EAAOA,GAAS,EAAIzE,EAAS,EAAG,OAAQ,EAAOyE,EAAOzE,EAAS,IAEjE,KAAK,IAEH,GAAkC,KAA9B,EAAOyE,EAAOzE,EAAS,GAAW,MAGxC,KAAK,IACH,OAAO,EAAQyE,EAAO,mBAAoB,KAAO,EAAP,UAAiC,GAAoC,KAA7B,EAAOA,EAAOzE,EAAS,GAAY,KAAO,UAAYyE,EAG1I,KAAK,IACH,OAAQI,EAAQJ,EAAO,WAAa,GAAO,EAAQA,EAAO,UAAW,kBAAmBzE,GAAUyE,EAAQA,EAE9G,MAGF,KAAK,KAEH,GAAkC,MAA9B,EAAOA,EAAOzE,EAAS,GAAY,MAGzC,KAAK,KACH,OAAQ,EAAOyE,EAAO,EAAOA,GAAS,IAAMI,EAAQJ,EAAO,eAAiB,MAE1E,KAAK,IACH,OAAO,EAAQA,EAAO,IAAK,IAAM,GAAUA,EAG7C,KAAK,IACH,OAAO,EAAQA,EAAO,wBAAyB,KAAO,GAAgC,KAAtB,EAAOA,EAAO,IAAa,UAAY,IAAxD,UAA+E,EAA/E,SAAwG,EAAK,WAAaA,EAG7K,MAGF,KAAK,KACH,OAAQ,EAAOA,EAAOzE,EAAS,KAE7B,KAAK,IACH,OAAO,EAASyE,EAAQ,EAAK,EAAQA,EAAO,qBAAsB,MAAQA,EAG5E,KAAK,IACH,OAAO,EAASA,EAAQ,EAAK,EAAQA,EAAO,qBAAsB,SAAWA,EAG/E,KAAK,GACH,OAAO,EAASA,EAAQ,EAAK,EAAQA,EAAO,qBAAsB,MAAQA,EAG9E,OAAO,EAASA,EAAQ,EAAKA,EAAQA,EAGzC,OAAOA,CACT,CAEA,IAqCIkF,GAAuB,CArCZ,SAAkBxC,EAASnC,EAAOe,EAAUiB,GACzD,GAAIG,EAAQnH,QAAU,IAAQmH,EAAgB,OAAG,OAAQA,EAAQtB,MAC/D,KAAK,EACHsB,EAAgB,OAAI,GAAOA,EAAQ1C,MAAO0C,EAAQnH,QAClD,MAEF,KAAK,EACH,OAAO,EAAU,CAAC,EAAKmH,EAAS,CAC9B1C,MAAO,EAAQ0C,EAAQ1C,MAAO,IAAK,IAAM,MACtCuC,GAEP,KAAK,EACH,GAAIG,EAAQnH,OAAQ,OL7MnB,SAAkBoF,EAAO4B,GAC/B,OAAO5B,EAAMwE,IAAI5C,GAAUI,KAAK,GACjC,CK2MiC,CAAQD,EAAQrB,OAAO,SAAUrB,GAC1D,OLtRD,SAAgBA,EAAOC,GAC7B,OAAQD,EAAQC,EAAQmF,KAAKpF,IAAUA,EAAM,GAAKA,CACnD,CKoRgB,CAAMA,EAAO,0BAEnB,IAAK,aACL,IAAK,cACH,OAAO,EAAU,CAAC,EAAK0C,EAAS,CAC9BrB,MAAO,CAAC,EAAQrB,EAAO,cAAe,gBACnCuC,GAGP,IAAK,gBACH,OAAO,EAAU,CAAC,EAAKG,EAAS,CAC9BrB,MAAO,CAAC,EAAQrB,EAAO,aAAc,IAAM,EAAS,eAClD,EAAK0C,EAAS,CAChBrB,MAAO,CAAC,EAAQrB,EAAO,aAAc,eACnC,EAAK0C,EAAS,CAChBrB,MAAO,CAAC,EAAQrB,EAAO,aAAc,EAAK,gBACvCuC,GAGT,MAAO,EACT,IAEN,GAII8C,GAAc,SAAqBjI,GACrC,IAAIP,EAAMO,EAAQP,IAElB,GAAY,QAARA,EAAe,CACjB,IAAIyI,EAAY3G,SAAS4G,iBAAiB,qCAK1CnK,MAAM0B,UAAUhB,QAAQkB,KAAKsI,GAAW,SAAUrE,IASL,IAFhBA,EAAKuE,aAAa,gBAEpBlF,QAAQ,OAIjC3B,SAAS8G,KAAK3G,YAAYmC,GAC1BA,EAAKpC,aAAa,SAAU,IAC9B,GACF,CAEA,IAGIhB,EAkBA6H,EArBAC,EAAgBvI,EAAQuI,eAAiBT,GAEzCU,EAAW,CAAC,EAEZC,EAAiB,GAGnBhI,EAAYT,EAAQS,WAAac,SAAS8G,KAC1CrK,MAAM0B,UAAUhB,QAAQkB,KAExB2B,SAAS4G,iBAAiB,wBAA2B1I,EAAM,QAAS,SAAUoE,GAG5E,IAFA,IAAI6E,EAAS7E,EAAKuE,aAAa,gBAAgBO,MAAM,KAE5CpJ,EAAI,EAAGA,EAAImJ,EAAOvK,OAAQoB,IACjCiJ,EAASE,EAAOnJ,KAAM,EAGxBkJ,EAAe7H,KAAKiD,EACtB,IAKF,IAGM+E,ECnYoBC,EACvB1K,EAgBsBgH,EDmXnB2D,EAAoB,CAACzD,GCnXFF,EDmXuB,SAAU7D,GACtDsH,EAAavH,OAAOC,EACtB,ECpXI,SAAUgE,GACXA,EAAQxB,OACRwB,EAAUA,EAAQnB,SACrBgB,EAASG,EACZ,IDiXOyD,GCvYoBF,EDgYD,CAACtB,GAAQK,IAOeoB,OAAOT,EAAeO,GCtYpE3K,EAAS,EAAO0K,GAEb,SAAUvD,EAASnC,EAAOe,EAAUiB,GAG1C,IAFA,IAAIC,EAAS,GAEJ7F,EAAI,EAAGA,EAAIpB,EAAQoB,IAC3B6F,GAAUyD,EAAWtJ,GAAG+F,EAASnC,EAAOe,EAAUiB,IAAa,GAEhE,OAAOC,CACR,GDmYGkD,EAAU,SAAgBW,EAAUC,EAAYrH,EAAOsH,GACrDP,EAAe/G,EAJR,EAAU2D,GAMVyD,EAAWA,EAAW,IAAMC,EAAWE,OAAS,IAAMF,EAAWE,QANtCL,GAQ9BI,IACFE,EAAMb,SAASU,EAAWI,OAAQ,EAEtC,EAGF,IAAID,EAAQ,CACV5J,IAAKA,EACLoC,MAAO,IAAI9B,EAAW,CACpBN,IAAKA,EACLgB,UAAWA,EACXQ,MAAOjB,EAAQiB,MACfF,OAAQf,EAAQe,OAChBP,QAASR,EAAQQ,QACjBF,eAAgBN,EAAQM,iBAE1BW,MAAOjB,EAAQiB,MACfuH,SAAUA,EACVe,WAAY,CAAC,EACblI,OAAQiH,GAGV,OADAe,EAAMxH,MAAMV,QAAQsH,GACbY,CACT,EEnbA,IAAIG,GAAe,CACjBC,wBAAyB,EACzBC,YAAa,EACbC,kBAAmB,EACnBC,iBAAkB,EAClBC,iBAAkB,EAClBC,QAAS,EACTC,aAAc,EACdC,gBAAiB,EACjBC,YAAa,EACbC,QAAS,EACTC,KAAM,EACNC,SAAU,EACVC,aAAc,EACdC,WAAY,EACZC,aAAc,EACdC,UAAW,EACXC,QAAS,EACTC,WAAY,EACZC,YAAa,EACbC,aAAc,EACdC,WAAY,EACZC,cAAe,EACfC,eAAgB,EAChBC,gBAAiB,EACjBC,UAAW,EACXC,cAAe,EACfC,aAAc,EACdC,iBAAkB,EAClBC,WAAY,EACZC,WAAY,EACZC,QAAS,EACTC,MAAO,EACPC,QAAS,EACTC,MAAO,EACPC,QAAS,EACTC,OAAQ,EACRC,OAAQ,EACRC,KAAM,EACNC,gBAAiB,EAEjBC,YAAa,EACbC,aAAc,EACdC,YAAa,EACbC,gBAAiB,EACjBC,iBAAkB,EAClBC,iBAAkB,EAClBC,cAAe,EACfC,YAAa,GChDf,SAASC,GAAQC,GACf,IAAIpD,EAAQlK,OAAOuN,OAAO,MAC1B,OAAO,SAAU/N,GAEf,YADmBmC,IAAfuI,EAAM1K,KAAoB0K,EAAM1K,GAAO8N,EAAG9N,IACvC0K,EAAM1K,EACf,CACF,CCFA,IAEIgO,GAAiB,aACjBC,GAAiB,8BAEjBC,GAAmB,SAA0B5G,GAC/C,OAAkC,KAA3BA,EAAS7C,WAAW,EAC7B,EAEI0J,GAAqB,SAA4BlK,GACnD,OAAgB,MAATA,GAAkC,kBAAVA,CACjC,EAEImK,GAAkCP,IAAQ,SAAUQ,GACtD,OAAOH,GAAiBG,GAAaA,EAAYA,EAAUjK,QAAQ4J,GAAgB,OAAOM,aAC5F,IAEIC,GAAoB,SAA2BzN,EAAKmD,GACtD,OAAQnD,GACN,IAAK,YACL,IAAK,gBAED,GAAqB,iBAAVmD,EACT,OAAOA,EAAMG,QAAQ6J,IAAgB,SAAUO,EAAOC,EAAIC,GAMxD,OALAC,GAAS,CACPhE,KAAM8D,EACNhE,OAAQiE,EACRhJ,KAAMiJ,IAEDF,CACT,IAKR,OAAsB,IAAlB,GAAS3N,IAAeoN,GAAiBpN,IAAyB,iBAAVmD,GAAgC,IAAVA,EAI3EA,EAHEA,EAAQ,IAInB,EAIA,SAAS2K,GAAoBC,EAAajE,EAAYkE,GACpD,GAAqB,MAAjBA,EACF,MAAO,GAGT,IAAIC,EAAoBD,EAExB,QAA2C3M,IAAvC4M,EAAkBC,iBAEpB,OAAOD,EAGT,cAAeD,GACb,IAAK,UAED,MAAO,GAGX,IAAK,SAED,IAAIG,EAAYH,EAEhB,GAAuB,IAAnBG,EAAUC,KAMZ,OALAP,GAAS,CACPhE,KAAMsE,EAAUtE,KAChBF,OAAQwE,EAAUxE,OAClB/E,KAAMiJ,IAEDM,EAAUtE,KAGnB,IAAIwE,EAAmBL,EAEvB,QAAgC3M,IAA5BgN,EAAiB1E,OAAsB,CACzC,IAAI/E,EAAOyJ,EAAiBzJ,KAE5B,QAAavD,IAATuD,EAGF,UAAgBvD,IAATuD,GACLiJ,GAAS,CACPhE,KAAMjF,EAAKiF,KACXF,OAAQ/E,EAAK+E,OACb/E,KAAMiJ,IAERjJ,EAAOA,EAAKA,KAKhB,OADayJ,EAAiB1E,OAAS,GAEzC,CAEA,OA2BR,SAAgCoE,EAAajE,EAAYwE,GACvD,IAAIjP,EAAS,GAEb,GAAId,MAAMC,QAAQ8P,GAChB,IAAK,IAAIxO,EAAI,EAAGA,EAAIwO,EAAI5P,OAAQoB,IAC9BT,GAAUyO,GAAoBC,EAAajE,EAAYwE,EAAIxO,IAAM,SAGnE,IAAK,IAAIE,KAAOsO,EAAK,CACnB,IAAInL,EAAQmL,EAAItO,GAEhB,GAAqB,iBAAVmD,EAAoB,CAC7B,IAAIoL,EAAWpL,EAEG,MAAd2G,QAA+CzI,IAAzByI,EAAWyE,GACnClP,GAAUW,EAAM,IAAM8J,EAAWyE,GAAY,IACpClB,GAAmBkB,KAC5BlP,GAAUiO,GAAiBtN,GAAO,IAAMyN,GAAkBzN,EAAKuO,GAAY,IAE/E,MAKE,IAAIhQ,MAAMC,QAAQ2E,IAA8B,iBAAbA,EAAM,IAAkC,MAAd2G,QAA+CzI,IAAzByI,EAAW3G,EAAM,IAM7F,CACL,IAAIqL,EAAeV,GAAoBC,EAAajE,EAAY3G,GAEhE,OAAQnD,GACN,IAAK,YACL,IAAK,gBAEDX,GAAUiO,GAAiBtN,GAAO,IAAMwO,EAAe,IACvD,MAGJ,QAGInP,GAAUW,EAAM,IAAMwO,EAAe,IAG7C,MAtBE,IAAK,IAAIC,EAAK,EAAGA,EAAKtL,EAAMzE,OAAQ+P,IAC9BpB,GAAmBlK,EAAMsL,MAC3BpP,GAAUiO,GAAiBtN,GAAO,IAAMyN,GAAkBzN,EAAKmD,EAAMsL,IAAO,IAsBtF,CAGF,OAAOpP,CACT,CAhFeqP,CAAuBX,EAAajE,EAAYkE,GAG3D,IAAK,WAED,QAAoB3M,IAAhB0M,EAA2B,CAC7B,IAAIY,EAAiBd,GACjBe,EAASZ,EAAcD,GAE3B,OADAF,GAASc,EACFb,GAAoBC,EAAajE,EAAY8E,EACtD,EAON,IAAIL,EAAWP,EAEf,GAAkB,MAAdlE,EACF,OAAOyE,EAGT,IAAIM,EAAS/E,EAAWyE,GACxB,YAAkBlN,IAAXwN,EAAuBA,EAASN,CACzC,CAyDA,IAGIV,GAHAiB,GAAe,+BAInB,SAAS,GAAgBhQ,EAAMgL,EAAYiE,GACzC,GAAoB,IAAhBjP,EAAKJ,QAAmC,iBAAZI,EAAK,IAA+B,OAAZA,EAAK,SAAkCuC,IAAnBvC,EAAK,GAAG6K,OAClF,OAAO7K,EAAK,GAGd,IAAIiQ,GAAa,EACbpF,EAAS,GACbkE,QAASxM,EACT,IAAI2N,EAAUlQ,EAAK,GAEJ,MAAXkQ,QAAmC3N,IAAhB2N,EAAQC,KAC7BF,GAAa,EACbpF,GAAUmE,GAAoBC,EAAajE,EAAYkF,IAIvDrF,GAF2BqF,EAEI,GAIjC,IAAK,IAAIlP,EAAI,EAAGA,EAAIhB,EAAKJ,OAAQoB,IAAK,CAGpC,GAFA6J,GAAUmE,GAAoBC,EAAajE,EAAYhL,EAAKgB,IAExDiP,EAGFpF,GAFyBqF,EAEIlP,EAEjC,CAGAgP,GAAaI,UAAY,EAIzB,IAHA,IACIxB,EADAyB,EAAiB,GAG0B,QAAvCzB,EAAQoB,GAAavG,KAAKoB,KAChCwF,GAAkB,IAAMzB,EAAM,GAGhC,IAAI7D,EC/NN,SAAiBuF,GAYf,IANA,IAEIhI,EAFAiI,EAAI,EAGJvP,EAAI,EACJwP,EAAMF,EAAI1Q,OAEP4Q,GAAO,IAAKxP,EAAGwP,GAAO,EAE3BlI,EAEe,YAAV,OAHLA,EAAwB,IAApBgI,EAAIzL,WAAW7D,IAAmC,IAAtBsP,EAAIzL,aAAa7D,KAAc,GAA2B,IAAtBsP,EAAIzL,aAAa7D,KAAc,IAA4B,IAAtBsP,EAAIzL,aAAa7D,KAAc,MAG9F,OAAZsH,IAAM,KAAgB,IAIpDiI,EAEe,YAAV,OALLjI,GAEAA,IAAM,MAGoC,OAAZA,IAAM,KAAgB,IAErC,YAAV,MAAJiI,IAAyC,OAAZA,IAAM,KAAgB,IAItD,OAAQC,GACN,KAAK,EACHD,IAA8B,IAAxBD,EAAIzL,WAAW7D,EAAI,KAAc,GAEzC,KAAK,EACHuP,IAA8B,IAAxBD,EAAIzL,WAAW7D,EAAI,KAAc,EAEzC,KAAK,EAEHuP,EAEe,YAAV,OAHLA,GAAyB,IAApBD,EAAIzL,WAAW7D,MAGsB,OAAZuP,IAAM,KAAgB,IASxD,SAHAA,EAEe,YAAV,OAHLA,GAAKA,IAAM,MAG+B,OAAZA,IAAM,KAAgB,KACvCA,IAAM,MAAQ,GAAGE,SAAS,GACzC,CD8Ka,CAAW5F,GAAUwF,EAEhC,MAAO,CACLtF,KAAMA,EACNF,OAAQA,EACR/E,KAAMiJ,GAEV,CEvOA,IAII2B,KAAqB,EAA+B,oBAAI,EAA+B,mBACvF,GAA2CA,IAL5B,SAAsBvC,GACvC,OAAOA,GACT,ECQIwC,IDJuCD,IAAsB,kBCIxB,gBAMlB,oBAAhBE,YAA6ClH,GAAY,CAC9DxI,IAAK,QACF,OAOD2P,IALgBF,GAAoBG,SAKjB,SAA0BC,GAC/C,OAAoB,IAAAC,aAAW,SAAUtL,EAAOuL,GAE9C,IAAInG,GAAQ,IAAAoG,YAAWP,IACvB,OAAOI,EAAKrL,EAAOoF,EAAOmG,EAC5B,GACF,GAEIE,GAA8B,gBAAoB,CAAC,GCtBvD,IAAI,GAAiB,SAAwBrG,EAAOH,EAAYyG,GAC9D,IAAIC,EAAYvG,EAAM5J,IAAM,IAAMyJ,EAAWI,MAO5B,IAAhBqG,QAIwD7O,IAAhCuI,EAAME,WAAWqG,KACxCvG,EAAME,WAAWqG,GAAa1G,EAAWE,OAE7C,ECzBIyG,GAAkB,sgICOlBC,GDL6BtD,IAAQ,SAAUuD,GACjD,OAAOF,GAAgBG,KAAKD,IAAgC,MAAvBA,EAAK3M,WAAW,IAE3B,MAAvB2M,EAAK3M,WAAW,IAEhB2M,EAAK3M,WAAW,GAAK,EAC1B,ICCI6M,GAA2B,SAAkCxQ,GAC/D,MAAe,UAARA,CACT,EAEIyQ,GAA8B,SAAqC/P,GACrE,MAAsB,iBAARA,GAGdA,EAAIiD,WAAW,GAAK,GAAK0M,GAA2BG,EACtD,EACIE,GAA4B,SAAmChQ,EAAKH,EAASoQ,GAC/E,IAAIC,EAEJ,GAAIrQ,EAAS,CACX,IAAIsQ,EAA2BtQ,EAAQqQ,kBACvCA,EAAoBlQ,EAAIoQ,uBAAyBD,EAA2B,SAAUE,GACpF,OAAOrQ,EAAIoQ,sBAAsBC,IAAaF,EAAyBE,EACzE,EAAIF,CACN,CAMA,MAJiC,mBAAtBD,GAAoCD,IAC7CC,EAAoBlQ,EAAIoQ,uBAGnBF,CACT,EAEI,GAAY,SAAmBI,GACjC,IAAIpH,EAAQoH,EAAKpH,MACbH,EAAauH,EAAKvH,WAClByG,EAAcc,EAAKd,YAMvB,OALA,GAAetG,EAAOH,EAAYyG,GAClC,IAAyC,WACvC,OFhBe,SAAsBtG,EAAOH,EAAYyG,GAC1D,GAAetG,EAAOH,EAAYyG,GAClC,IAAIC,EAAYvG,EAAM5J,IAAM,IAAMyJ,EAAWI,KAE7C,QAAwCxI,IAApCuI,EAAMb,SAASU,EAAWI,MAAqB,CACjD,IAAIoH,EAAUxH,EAEd,GACEG,EAAMhI,OAAO6H,IAAewH,EAAU,IAAMd,EAAY,GAAIc,EAASrH,EAAMxH,OAAO,GAElF6O,EAAUA,EAAQrM,gBACCvD,IAAZ4P,EACX,CACF,CEGW,CAAarH,EAAOH,EAAYyG,EACzC,IAEO,IACT,ECpCIgB,YDsCe,SAASC,EAAazQ,EAAKH,GAE5C,IAEI4O,EACAiC,EAHAT,EAASjQ,EAAI2Q,iBAAmB3Q,EAChC4Q,EAAUX,GAAUjQ,EAAI6Q,gBAAkB7Q,OAI9BW,IAAZd,IACF4O,EAAiB5O,EAAQiR,MACzBJ,EAAkB7Q,EAAQV,QAG5B,IAAI+Q,EAAoBF,GAA0BhQ,EAAKH,EAASoQ,GAC5Dc,EAA2Bb,GAAqBH,GAA4Ba,GAC5EI,GAAeD,EAAyB,MAC5C,OAAO,WAEL,IAAI3S,EAAOH,UACPgL,EAASgH,QAAmCtP,IAAzBX,EAAIwN,iBAAiCxN,EAAIwN,iBAAiBzO,MAAM,GAAK,GAM5F,QAJuB4B,IAAnB8N,GACFxF,EAAOxI,KAAK,SAAWgO,EAAiB,KAG3B,MAAXrQ,EAAK,SAA8BuC,IAAhBvC,EAAK,GAAGmQ,IAE7BtF,EAAOxI,KAAKf,MAAMuJ,EAAQ7K,OACrB,CACL,IAAI6S,EAAqB7S,EAAK,GAE9B6K,EAAOxI,KAAKwQ,EAAmB,IAI/B,IAHA,IAAIrC,EAAMxQ,EAAKJ,OACXoB,EAAI,EAEDA,EAAIwP,EAAKxP,IAEd6J,EAAOxI,KAAKrC,EAAKgB,GAAI6R,EAAmB7R,GAE5C,CAEA,IAAI8R,EAASjC,IAAiB,SAAUnL,EAAOoF,EAAOmG,GACpD,IF1FuBjG,EAAY+H,EAAkBC,EACrDC,EEyFIC,EAAWN,GAAelN,EAAMyN,IAAMX,EACtCnB,EAAY,GACZ+B,EAAsB,GACtBnE,EAAcvJ,EAElB,GAAmB,MAAfA,EAAM2N,MAAe,CAGvB,IAAK,IAAInS,KAFT+N,EAAc,CAAC,EAECvJ,EACduJ,EAAY/N,GAAOwE,EAAMxE,GAG3B+N,EAAYoE,MAAQ,aAAiBlC,GACvC,CAE+B,iBAApBzL,EAAM2L,WFzGMrG,EE0GWF,EAAME,WF1GL+H,EE0GiBK,EF1GCJ,EE0GoBtN,EAAM2L,UFzG/E4B,EAAe,GACnBD,EAAW5I,MAAM,KAAKjK,SAAQ,SAAUkR,QACR9O,IAA1ByI,EAAWqG,GACb0B,EAAiB1Q,KAAK2I,EAAWqG,GAAa,KACrCA,IACT4B,GAAgB5B,EAAY,IAEhC,IEkGMA,EFjGC4B,GEkG2B,MAAnBvN,EAAM2L,YACfA,EAAY3L,EAAM2L,UAAY,KAGhC,IAAI1G,EAAa,GAAgBE,EAAOJ,OAAO2I,GAAsBtI,EAAME,WAAYiE,GACvFoC,GAAavG,EAAM5J,IAAM,IAAMyJ,EAAWI,UAElBxI,IAApB+P,IACFjB,GAAa,IAAMiB,GAGrB,IAAIgB,EAAyBV,QAAqCrQ,IAAtBuP,EAAkCH,GAA4BuB,GAAYP,EAClHY,EAAW,CAAC,EAEhB,IAAK,IAAIC,KAAQ9N,EACXkN,GAAwB,OAATY,GAEfF,EAAuBE,KACzBD,EAASC,GAAQ9N,EAAM8N,IAU3B,OANAD,EAASlC,UAAYA,EAEjBJ,IACFsC,EAAStC,IAAMA,GAGG,gBAAoB,WAAgB,KAAmB,gBAAoB,GAAW,CACxGnG,MAAOA,EACPH,WAAYA,EACZyG,YAAiC,iBAAb8B,IACL,gBAAoBA,EAAUK,GACjD,IAwBA,OAvBAT,EAAOW,iBAAiClR,IAAnB8N,EAA+BA,EAAiB,WAAgC,iBAAZmC,EAAuBA,EAAUA,EAAQiB,aAAejB,EAAQzH,MAAQ,aAAe,IAChL+H,EAAOY,aAAe9R,EAAI8R,aAC1BZ,EAAOP,eAAiBO,EACxBA,EAAOL,eAAiBD,EACxBM,EAAO1D,iBAAmBvE,EAC1BiI,EAAOd,sBAAwBF,EAC/BlR,OAAO+S,eAAeb,EAAQ,WAAY,CACxCzO,MAAO,WAKL,MAAO,IAAMiO,CACf,IAGFQ,EAAOc,cAAgB,SAAUC,EAASC,GAIxC,OAHgBzB,EAAawB,EAAS,EAAS,CAAC,EAAGpS,EAASqS,EAAa,CACvEhC,kBAAmBF,GAA0BkB,EAAQgB,GAAa,MAEnDxS,WAAM,EAAQuJ,EACjC,EAEOiI,CACT,CACF,EC3J6BhS,KAAK,OAJvB,CAAC,IAAK,OAAQ,UAAW,OAAQ,UAAW,QAAS,QAAS,IAAK,OAAQ,MAAO,MAAO,MAAO,aAAc,OAAQ,KAAM,SAAU,SAAU,UAAW,OAAQ,OAAQ,MAAO,WAAY,OAAQ,WAAY,KAAM,MAAO,UAAW,MAAO,SAAU,MAAO,KAAM,KAAM,KAAM,QAAS,WAAY,aAAc,SAAU,SAAU,OAAQ,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAAQ,SAAU,SAAU,KAAM,OAAQ,IAAK,SAAU,MAAO,QAAS,MAAO,MAAO,SAAU,QAAS,SAAU,KAAM,OAAQ,OAAQ,MAAO,OAAQ,UAAW,OAAQ,WAAY,OAAQ,QAAS,MAAO,WAAY,SAAU,KAAM,WAAY,SAAU,SAAU,IAAK,QAAS,UAAW,MAAO,WAAY,IAAK,KAAM,KAAM,OAAQ,IAAK,OAAQ,SAAU,UAAW,SAAU,QAAS,SAAU,OAAQ,SAAU,QAAS,MAAO,UAAW,MAAO,QAAS,QAAS,KAAM,WAAY,QAAS,KAAM,QAAS,OAAQ,QAAS,KAAM,QAAS,IAAK,KAAM,MAAO,QAAS,MAC77B,SAAU,WAAY,OAAQ,UAAW,gBAAiB,IAAK,QAAS,OAAQ,iBAAkB,OAAQ,OAAQ,UAAW,UAAW,WAAY,iBAAkB,OAAQ,OAAQ,MAAO,OAAQ,SAIhMX,SAAQ,SAAU4T,GACrB3B,GAAU2B,GAAW3B,GAAU2B,EACjC,ICoBA,MAAMC,GAAU,GAET,SAASC,GAAyBpJ,GAEvC,OADAmJ,GAAQ,GAAKnJ,EACN,GAAkBmJ,GAC3B,gBCrCO,SAASE,GAAcC,GAC5B,GAAoB,iBAATA,GAA8B,OAATA,EAC9B,OAAO,EAET,MAAMhT,EAAYP,OAAOwT,eAAeD,GACxC,QAAsB,OAAdhT,GAAsBA,IAAcP,OAAOO,WAAkD,OAArCP,OAAOwT,eAAejT,IAA0BkT,OAAOC,eAAeH,GAAWE,OAAOE,YAAYJ,EACtK,CACA,SAASK,GAAUvT,GACjB,GAAiB,iBAAqBA,KAAW,SAAmBA,KAAYiT,GAAcjT,GAC5F,OAAOA,EAET,MAAM4F,EAAS,CAAC,EAIhB,OAHAjG,OAAO6T,KAAKxT,GAAQd,SAAQe,IAC1B2F,EAAO3F,GAAOsT,GAAUvT,EAAOC,GAAK,IAE/B2F,CACT,CAoBe,SAAS,GAAU9F,EAAQE,EAAQQ,EAAU,CAC1DiT,OAAO,IAEP,MAAM7N,EAASpF,EAAQiT,MAAQ,IAC1B3T,GACDA,EAiBJ,OAhBImT,GAAcnT,IAAWmT,GAAcjT,IACzCL,OAAO6T,KAAKxT,GAAQd,SAAQe,IACT,iBAAqBD,EAAOC,MAAS,SAAmBD,EAAOC,IAC9E2F,EAAO3F,GAAOD,EAAOC,GACZgT,GAAcjT,EAAOC,KAEhCN,OAAOO,UAAUC,eAAeC,KAAKN,EAAQG,IAAQgT,GAAcnT,EAAOG,IAExE2F,EAAO3F,GAAO,GAAUH,EAAOG,GAAMD,EAAOC,GAAMO,GACzCA,EAAQiT,MACjB7N,EAAO3F,GAAOgT,GAAcjT,EAAOC,IAAQsT,GAAUvT,EAAOC,IAAQD,EAAOC,GAE3E2F,EAAO3F,GAAOD,EAAOC,EACvB,IAGG2F,CACT,CC5Ce,SAAS8N,GAAkBC,GACxC,MAAM,OAGJC,EAAS,CACPC,GAAI,EAEJC,GAAI,IAEJC,GAAI,IAEJC,GAAI,KAEJC,GAAI,MACL,KACDC,EAAO,KAAI,KACXC,EAAO,KACJC,GACDT,EACEU,EAnCsBT,KAC5B,MAAMU,EAAqB3U,OAAO6T,KAAKI,GAAQrL,KAAItI,IAAO,CACxDA,MACAsU,IAAKX,EAAO3T,QACP,GAGP,OADAqU,EAAmBE,MAAK,CAACC,EAAaC,IAAgBD,EAAYF,IAAMG,EAAYH,MAC7ED,EAAmBK,QAAO,CAACC,EAAKrG,KAC9B,IACFqG,EACH,CAACrG,EAAItO,KAAMsO,EAAIgG,OAEhB,CAAC,EAAE,EAuBeM,CAAsBjB,GACrCJ,EAAO7T,OAAO6T,KAAKa,GACzB,SAASS,EAAG7U,GAEV,MAAO,qBAD8B,iBAAhB2T,EAAO3T,GAAoB2T,EAAO3T,GAAOA,IAC1BiU,IACtC,CACA,SAASa,EAAK9U,GAEZ,MAAO,sBAD8B,iBAAhB2T,EAAO3T,GAAoB2T,EAAO3T,GAAOA,GAC1BkU,EAAO,MAAMD,IACnD,CACA,SAASc,EAAQC,EAAOnR,GACtB,MAAMoR,EAAW1B,EAAK9P,QAAQI,GAC9B,MAAO,qBAA8C,iBAAlB8P,EAAOqB,GAAsBrB,EAAOqB,GAASA,IAAQf,uBAA4C,IAAdgB,GAAqD,iBAA3BtB,EAAOJ,EAAK0B,IAA0BtB,EAAOJ,EAAK0B,IAAapR,GAAOqQ,EAAO,MAAMD,IACrO,CAkBA,MAAO,CACLV,OACAI,OAAQS,EACRS,KACAC,OACAC,UACAG,KAvBF,SAAclV,GACZ,OAAIuT,EAAK9P,QAAQzD,GAAO,EAAIuT,EAAK7U,OACxBqW,EAAQ/U,EAAKuT,EAAKA,EAAK9P,QAAQzD,GAAO,IAExC6U,EAAG7U,EACZ,EAmBEmV,IAlBF,SAAanV,GAEX,MAAMoV,EAAW7B,EAAK9P,QAAQzD,GAC9B,OAAiB,IAAboV,EACKP,EAAGtB,EAAK,IAEb6B,IAAa7B,EAAK7U,OAAS,EACtBoW,EAAKvB,EAAK6B,IAEZL,EAAQ/U,EAAKuT,EAAKA,EAAK9P,QAAQzD,GAAO,IAAIsD,QAAQ,SAAU,qBACrE,EASE2Q,UACGE,EAEP,CC7EA,OAHc,CACZkB,aAAc,GCMT,MAAM1B,GAAS,CACpBC,GAAI,EAEJC,GAAI,IAEJC,GAAI,IAEJC,GAAI,KAEJC,GAAI,MAEAsB,GAAqB,CAGzB/B,KAAM,CAAC,KAAM,KAAM,KAAM,KAAM,MAC/BsB,GAAI7U,GAAO,qBAAqB2T,GAAO3T,SAEnCuV,GAA0B,CAC9BC,iBAAkBC,IAAiB,CACjCZ,GAAI7U,IACF,IAAI4O,EAAwB,iBAAR5O,EAAmBA,EAAM2T,GAAO3T,IAAQA,EAI5D,MAHsB,iBAAX4O,IACTA,EAAS,GAAGA,OAEP6G,EAAgB,cAAcA,gBAA4B7G,KAAY,yBAAyBA,IAAS,KAI9G,SAAS8G,GAAkBlR,EAAOmR,EAAWC,GAClD,MAAMzD,EAAQ3N,EAAM2N,OAAS,CAAC,EAC9B,GAAI5T,MAAMC,QAAQmX,GAAY,CAC5B,MAAME,EAAmB1D,EAAMuB,aAAe4B,GAC9C,OAAOK,EAAUjB,QAAO,CAACC,EAAK1B,EAAMvP,KAClCiR,EAAIkB,EAAiBhB,GAAGgB,EAAiBtC,KAAK7P,KAAWkS,EAAmBD,EAAUjS,IAC/EiR,IACN,CAAC,EACN,CACA,GAAyB,iBAAdgB,EAAwB,CACjC,MAAME,EAAmB1D,EAAMuB,aAAe4B,GAC9C,OAAO5V,OAAO6T,KAAKoC,GAAWjB,QAAO,CAACC,EAAKmB,KACzC,GCpBC,SAAuBC,EAAgB5S,GAC5C,MAAiB,MAAVA,GAAiBA,EAAM6S,WAAW,OAASD,EAAeE,MAAKjW,GAAOmD,EAAM6S,WAAW,IAAIhW,UAAamD,EAAMuK,MAAM,QAC7H,CDkBUwI,CAAcL,EAAiBtC,KAAMuC,GAAa,CACpD,MAAMK,EClBP,SAA2BhE,EAAOiE,GACvC,MAAMC,EAAUD,EAAU1I,MAAM,uBAChC,IAAK2I,EAIH,OAAO,KAET,MAAO,CAAEC,EAAgBb,GAAiBY,EACpClT,EAAQoT,OAAOC,OAAOF,GAAkBA,GAAkB,GAAKA,EACrE,OAAOnE,EAAMqD,iBAAiBC,GAAeZ,GAAG1R,EAClD,CDO6BsT,CAAkBtE,EAAMqD,iBAAmBrD,EAAQoD,GAAyBO,GAC7FK,IACFxB,EAAIwB,GAAgBP,EAAmBD,EAAUG,GAAaA,GAElE,MAEK,GAAIpW,OAAO6T,KAAKsC,EAAiBlC,QAAUA,IAAQ+C,SAASZ,GAAa,CAE5EnB,EADiBkB,EAAiBhB,GAAGiB,IACrBF,EAAmBD,EAAUG,GAAaA,EAC5D,KAAO,CACL,MAAMa,EAASb,EACfnB,EAAIgC,GAAUhB,EAAUgB,EAC1B,CACA,OAAOhC,CAAG,GACT,CAAC,EACN,CAEA,OADeiB,EAAmBD,EAEpC,CA+BO,SAASiB,GAA4BC,EAAmB,CAAC,GAC9D,MAAMC,EAAqBD,EAAiBtD,MAAMmB,QAAO,CAACC,EAAK3U,KAE7D2U,EAD2BkC,EAAiBhC,GAAG7U,IACrB,CAAC,EACpB2U,IACN,CAAC,GACJ,OAAOmC,GAAsB,CAAC,CAChC,CACO,SAASC,GAAwBhB,EAAgBiB,GACtD,OAAOjB,EAAerB,QAAO,CAACC,EAAK3U,KACjC,MAAMiX,EAAmBtC,EAAI3U,GAK7B,QAJ4BiX,GAA6D,IAAzCvX,OAAO6T,KAAK0D,GAAkBvY,gBAErEiW,EAAI3U,GAEN2U,CAAG,GACTqC,EACL,CE/GO,SAASE,GAAQ5I,EAAK6I,EAAMC,GAAY,GAC7C,IAAKD,GAAwB,iBAATA,EAClB,OAAO,KAIT,GAAI7I,GAAOA,EAAI+I,MAAQD,EAAW,CAChC,MAAM9C,EAAM,QAAQ6C,IAAOjO,MAAM,KAAKwL,QAAO,CAACC,EAAK1B,IAAS0B,GAAOA,EAAI1B,GAAQ0B,EAAI1B,GAAQ,MAAM3E,GACjG,GAAW,MAAPgG,EACF,OAAOA,CAEX,CACA,OAAO6C,EAAKjO,MAAM,KAAKwL,QAAO,CAACC,EAAK1B,IAC9B0B,GAAoB,MAAbA,EAAI1B,GACN0B,EAAI1B,GAEN,MACN3E,EACL,CACO,SAASgJ,GAAcC,EAAcC,EAAWC,EAAgBC,EAAYD,GACjF,IAAItU,EAWJ,OATEA,EAD0B,mBAAjBoU,EACDA,EAAaE,GACZlZ,MAAMC,QAAQ+Y,GACfA,EAAaE,IAAmBC,EAEhCR,GAAQK,EAAcE,IAAmBC,EAE/CF,IACFrU,EAAQqU,EAAUrU,EAAOuU,EAAWH,IAE/BpU,CACT,CAuCA,OAtCA,SAAe5C,GACb,MAAM,KACJ+P,EAAI,YACJqH,EAAcpX,EAAQ+P,KAAI,SAC1BsH,EAAQ,UACRJ,GACEjX,EAIEyM,EAAKxI,IACT,GAAmB,MAAfA,EAAM8L,GACR,OAAO,KAET,MAAMqF,EAAYnR,EAAM8L,GAElBiH,EAAeL,GADP1S,EAAM2N,MACgByF,IAAa,CAAC,EAclD,OAAOlC,GAAkBlR,EAAOmR,GAbL8B,IACzB,IAAItU,EAAQmU,GAAcC,EAAcC,EAAWC,GAKnD,OAJIA,IAAmBtU,GAAmC,iBAAnBsU,IAErCtU,EAAQmU,GAAcC,EAAcC,EAAW,GAAGlH,IAA0B,YAAnBmH,EAA+B,GAAK,EAAWA,KAAmBA,KAEzG,IAAhBE,EACKxU,EAEF,CACL,CAACwU,GAAcxU,EAChB,GAE2D,EAMhE,OAJA6J,EAAG6K,UAEC,CAAC,EACL7K,EAAG8K,YAAc,CAACxH,GACXtD,CACT,EChEA,OARA,SAAe2H,EAAK1B,GAClB,OAAKA,EAGE,GAAU0B,EAAK1B,EAAM,CAC1BO,OAAO,IAHAmB,CAKX,ECHA,MAAMoD,GAAa,CACjBC,EAAG,SACHC,EAAG,WAECC,GAAa,CACjB9Z,EAAG,MACHF,EAAG,QACHia,EAAG,SACHC,EAAG,OACH/Q,EAAG,CAAC,OAAQ,SACZC,EAAG,CAAC,MAAO,WAEP+Q,GAAU,CACdC,QAAS,KACTC,QAAS,KACTC,SAAU,KACVC,SAAU,MAMNC,GC3BS,SAAiB1L,GAC9B,MAAMpD,EAAQ,CAAC,EACf,OAAO1K,SACcmC,IAAfuI,EAAM1K,KACR0K,EAAM1K,GAAO8N,EAAG9N,IAEX0K,EAAM1K,GAEjB,CDmByB,EAAQoR,IAE/B,GAAIA,EAAK5R,OAAS,EAAG,CACnB,IAAI2Z,GAAQ/H,GAGV,MAAO,CAACA,GAFRA,EAAO+H,GAAQ/H,EAInB,CACA,MAAOqI,EAAGR,GAAK7H,EAAKpH,MAAM,IACpB1C,EAAWuR,GAAWY,GACtBC,EAAYV,GAAWC,IAAM,GACnC,OAAO5Z,MAAMC,QAAQoa,GAAaA,EAAUtQ,KAAIuQ,GAAOrS,EAAWqS,IAAO,CAACrS,EAAWoS,EAAU,IAEpFE,GAAa,CAAC,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,SAAU,YAAa,cAAe,eAAgB,aAAc,UAAW,UAAW,eAAgB,oBAAqB,kBAAmB,cAAe,mBAAoB,kBAC5OC,GAAc,CAAC,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,UAAW,aAAc,eAAgB,gBAAiB,cAAe,WAAY,WAAY,gBAAiB,qBAAsB,mBAAoB,eAAgB,oBAAqB,mBAChQC,GAAc,IAAIF,MAAeC,IAChC,SAASE,GAAgB9G,EAAOyF,EAAUsB,EAAcnI,GAC7D,MAAMoI,EAAejC,GAAQ/E,EAAOyF,GAAU,IAASsB,EACvD,MAA4B,iBAAjBC,GAAqD,iBAAjBA,EACtC7E,GACc,iBAARA,EACFA,EAOmB,iBAAjB6E,EACF,QAAQ7E,OAAS6E,KAEnBA,EAAe7E,EAGtB/V,MAAMC,QAAQ2a,GACT7E,IACL,GAAmB,iBAARA,EACT,OAAOA,EAET,MAAMxR,EAAMC,KAAKD,IAAIwR,GAQrB,MAAM8E,EAAcD,EAAarW,GACjC,OAAIwR,GAAO,EACF8E,EAEkB,iBAAhBA,GACDA,EAEH,IAAIA,GAAa,EAGA,mBAAjBD,EACFA,EAKF,KAAe,CACxB,CACO,SAASE,GAAmBlH,GACjC,OAAO8G,GAAgB9G,EAAO,UAAW,EAC3C,CACO,SAASmH,GAASC,EAAa5D,GACpC,MAAyB,iBAAdA,GAAuC,MAAbA,EAC5BA,EAEF4D,EAAY5D,EACrB,CAOA,SAAS6D,GAAmBhV,EAAO+O,EAAMjD,EAAMiJ,GAG7C,IAAKhG,EAAKmD,SAASpG,GACjB,OAAO,KAET,MACMsF,EAbD,SAA+B6D,EAAeF,GACnD,OAAO5D,GAAa8D,EAAc/E,QAAO,CAACC,EAAKgD,KAC7ChD,EAAIgD,GAAe2B,GAASC,EAAa5D,GAClChB,IACN,CAAC,EACN,CAQ6B+E,CADLhB,GAAiBpI,GACyBiJ,GAEhE,OAAO7D,GAAkBlR,EADPA,EAAM8L,GACmBsF,EAC7C,CACA,SAAS,GAAMpR,EAAO+O,GACpB,MAAMgG,EAAcF,GAAmB7U,EAAM2N,OAC7C,OAAOzS,OAAO6T,KAAK/O,GAAO8D,KAAIgI,GAAQkJ,GAAmBhV,EAAO+O,EAAMjD,EAAMiJ,KAAc7E,OAAO,GAAO,CAAC,EAC3G,CACO,SAASiF,GAAOnV,GACrB,OAAO,GAAMA,EAAOsU,GACtB,CAMO,SAASc,GAAQpV,GACtB,OAAO,GAAMA,EAAOuU,GACtB,CAMA,SAASc,GAAQrV,GACf,OAAO,GAAMA,EAAOwU,GACtB,CAfAW,GAAO9B,UAGE,CAAC,EACV8B,GAAO7B,YAAcgB,GAIrBc,GAAQ/B,UAGC,CAAC,EACV+B,GAAQ9B,YAAciB,GAItBc,GAAQhC,UAGC,CAAC,EACVgC,GAAQ/B,YAAckB,GE7IP,SAASc,GAAcC,EAAe,EAIrDvC,EAAY6B,GAAmB,CAC7BQ,QAASE,KAGT,GAAIA,EAAaC,IACf,OAAOD,EAET,MAAMF,EAAU,IAAII,KAOlB,OADkC,IAArBA,EAAUvb,OAAe,CAAC,GAAKub,GAChC3R,KAAI4R,IACd,MAAMvU,EAAS6R,EAAU0C,GACzB,MAAyB,iBAAXvU,EAAsB,GAAGA,MAAaA,CAAM,IACzDG,KAAK,IAAI,EAGd,OADA+T,EAAQG,KAAM,EACPH,CACT,CCPA,OAtBA,YAAoBlQ,GAClB,MAAMwQ,EAAWxQ,EAAO+K,QAAO,CAACC,EAAKqC,KACnCA,EAAMc,YAAY7Y,SAAQqR,IACxBqE,EAAIrE,GAAQ0G,CAAK,IAEZrC,IACN,CAAC,GAIE3H,EAAKxI,GACF9E,OAAO6T,KAAK/O,GAAOkQ,QAAO,CAACC,EAAKrE,IACjC6J,EAAS7J,GACJ,GAAMqE,EAAKwF,EAAS7J,GAAM9L,IAE5BmQ,GACN,CAAC,GAIN,OAFA3H,EAAG6K,UAA6H,CAAC,EACjI7K,EAAG8K,YAAcnO,EAAO+K,QAAO,CAACC,EAAKqC,IAAUrC,EAAIpL,OAAOyN,EAAMc,cAAc,IACvE9K,CACT,ECjBO,SAASoN,GAAgBjX,GAC9B,MAAqB,iBAAVA,EACFA,EAEF,GAAGA,WACZ,CACA,SAASkX,GAAkB/J,EAAMkH,GAC/B,OAAO,GAAM,CACXlH,OACAsH,SAAU,UACVJ,aAEJ,CACO,MAAM8C,GAASD,GAAkB,SAAUD,IACrCG,GAAYF,GAAkB,YAAaD,IAC3CI,GAAcH,GAAkB,cAAeD,IAC/CK,GAAeJ,GAAkB,eAAgBD,IACjDM,GAAaL,GAAkB,aAAcD,IAC7CO,GAAcN,GAAkB,eAChCO,GAAiBP,GAAkB,kBACnCQ,GAAmBR,GAAkB,oBACrCS,GAAoBT,GAAkB,qBACtCU,GAAkBV,GAAkB,mBACpCW,GAAUX,GAAkB,UAAWD,IACvCa,GAAeZ,GAAkB,gBAIjChF,GAAe7Q,IAC1B,QAA2BnD,IAAvBmD,EAAM6Q,cAAqD,OAAvB7Q,EAAM6Q,aAAuB,CACnE,MAAMkE,EAAcN,GAAgBzU,EAAM2N,MAAO,qBAAsB,GACjEyD,EAAqBD,IAAa,CACtCN,aAAciE,GAASC,EAAa5D,KAEtC,OAAOD,GAAkBlR,EAAOA,EAAM6Q,aAAcO,EACtD,CACA,OAAO,IAAI,EAEbP,GAAawC,UAET,CAAC,EACLxC,GAAayC,YAAc,CAAC,gBACZ,GAAQwC,GAAQC,GAAWC,GAAaC,GAAcC,GAAYC,GAAaC,GAAgBC,GAAkBC,GAAmBC,GAAiB1F,GAAc2F,GAASC,ICvCrL,MAAMC,GAAM1W,IACjB,QAAkBnD,IAAdmD,EAAM0W,KAAmC,OAAd1W,EAAM0W,IAAc,CACjD,MAAM3B,EAAcN,GAAgBzU,EAAM2N,MAAO,UAAW,GACtDyD,EAAqBD,IAAa,CACtCuF,IAAK5B,GAASC,EAAa5D,KAE7B,OAAOD,GAAkBlR,EAAOA,EAAM0W,IAAKtF,EAC7C,CACA,OAAO,IAAI,EAEbsF,GAAIrD,UAEA,CAAC,EACLqD,GAAIpD,YAAc,CAAC,OAIZ,MAAMqD,GAAY3W,IACvB,QAAwBnD,IAApBmD,EAAM2W,WAA+C,OAApB3W,EAAM2W,UAAoB,CAC7D,MAAM5B,EAAcN,GAAgBzU,EAAM2N,MAAO,UAAW,GACtDyD,EAAqBD,IAAa,CACtCwF,UAAW7B,GAASC,EAAa5D,KAEnC,OAAOD,GAAkBlR,EAAOA,EAAM2W,UAAWvF,EACnD,CACA,OAAO,IAAI,EAEbuF,GAAUtD,UAEN,CAAC,EACLsD,GAAUrD,YAAc,CAAC,aAIlB,MAAMsD,GAAS5W,IACpB,QAAqBnD,IAAjBmD,EAAM4W,QAAyC,OAAjB5W,EAAM4W,OAAiB,CACvD,MAAM7B,EAAcN,GAAgBzU,EAAM2N,MAAO,UAAW,GACtDyD,EAAqBD,IAAa,CACtCyF,OAAQ9B,GAASC,EAAa5D,KAEhC,OAAOD,GAAkBlR,EAAOA,EAAM4W,OAAQxF,EAChD,CACA,OAAO,IAAI,EAEbwF,GAAOvD,UAEH,CAAC,EACLuD,GAAOtD,YAAc,CAAC,UA4BT,GAAQoD,GAAKC,GAAWC,GA3BX,GAAM,CAC9B9K,KAAM,eAEe,GAAM,CAC3BA,KAAM,YAEoB,GAAM,CAChCA,KAAM,iBAEuB,GAAM,CACnCA,KAAM,oBAEoB,GAAM,CAChCA,KAAM,iBAE2B,GAAM,CACvCA,KAAM,wBAEwB,GAAM,CACpCA,KAAM,qBAEyB,GAAM,CACrCA,KAAM,sBAEgB,GAAM,CAC5BA,KAAM,cC/ED,SAAS+K,GAAiBlY,EAAOuU,GACtC,MAAkB,SAAdA,EACKA,EAEFvU,CACT,CAiBgB,GAhBK,GAAM,CACzBmN,KAAM,QACNsH,SAAU,UACVJ,UAAW6D,KAEU,GAAM,CAC3B/K,KAAM,UACNqH,YAAa,kBACbC,SAAU,UACVJ,UAAW6D,KAEkB,GAAM,CACnC/K,KAAM,kBACNsH,SAAU,UACVJ,UAAW6D,MCnBN,SAASC,GAAgBnY,GAC9B,OAAOA,GAAS,GAAe,IAAVA,EAAyB,IAARA,EAAH,IAAoBA,CACzD,CACO,MAAMoY,GAAQ,GAAM,CACzBjL,KAAM,QACNkH,UAAW8D,KAEAE,GAAWhX,IACtB,QAAuBnD,IAAnBmD,EAAMgX,UAA6C,OAAnBhX,EAAMgX,SAAmB,CAC3D,MAAM5F,EAAqBD,IACzB,MAAMG,EAAatR,EAAM2N,OAAOuB,aAAaC,SAASgC,IAAc,GAAkBA,GACtF,OAAKG,EAKkC,OAAnCtR,EAAM2N,OAAOuB,aAAaO,KACrB,CACLuH,SAAU,GAAG1F,IAAatR,EAAM2N,MAAMuB,YAAYO,QAG/C,CACLuH,SAAU1F,GAVH,CACL0F,SAAUF,GAAgB3F,GAU7B,EAEH,OAAOD,GAAkBlR,EAAOA,EAAMgX,SAAU5F,EAClD,CACA,OAAO,IAAI,EAEb4F,GAAS1D,YAAc,CAAC,YACjB,MAAM2D,GAAW,GAAM,CAC5BnL,KAAM,WACNkH,UAAW8D,KAEAI,GAAS,GAAM,CAC1BpL,KAAM,SACNkH,UAAW8D,KAEAK,GAAY,GAAM,CAC7BrL,KAAM,YACNkH,UAAW8D,KAEAM,GAAY,GAAM,CAC7BtL,KAAM,YACNkH,UAAW8D,KAEY,GAAM,CAC7BhL,KAAM,OACNqH,YAAa,QACbH,UAAW8D,KAEa,GAAM,CAC9BhL,KAAM,OACNqH,YAAa,SACbH,UAAW8D,KAKE,GAAQC,GAAOC,GAAUC,GAAUC,GAAQC,GAAWC,GAH5C,GAAM,CAC7BtL,KAAM,eCyOR,OAhSwB,CAEtBgK,OAAQ,CACN1C,SAAU,UACVJ,UAAW4C,IAEbG,UAAW,CACT3C,SAAU,UACVJ,UAAW4C,IAEbI,YAAa,CACX5C,SAAU,UACVJ,UAAW4C,IAEbK,aAAc,CACZ7C,SAAU,UACVJ,UAAW4C,IAEbM,WAAY,CACV9C,SAAU,UACVJ,UAAW4C,IAEbO,YAAa,CACX/C,SAAU,WAEZgD,eAAgB,CACdhD,SAAU,WAEZiD,iBAAkB,CAChBjD,SAAU,WAEZkD,kBAAmB,CACjBlD,SAAU,WAEZmD,gBAAiB,CACfnD,SAAU,WAEZoD,QAAS,CACPpD,SAAU,UACVJ,UAAW4C,IAEba,aAAc,CACZrD,SAAU,WAEZvC,aAAc,CACZuC,SAAU,qBACVZ,MAAO3B,IAGTwG,MAAO,CACLjE,SAAU,UACVJ,UAAW6D,IAEbS,QAAS,CACPlE,SAAU,UACVD,YAAa,kBACbH,UAAW6D,IAEbU,gBAAiB,CACfnE,SAAU,UACVJ,UAAW6D,IAGbpD,EAAG,CACDjB,MAAO4C,IAEToC,GAAI,CACFhF,MAAO4C,IAETqC,GAAI,CACFjF,MAAO4C,IAETsC,GAAI,CACFlF,MAAO4C,IAETuC,GAAI,CACFnF,MAAO4C,IAETwC,GAAI,CACFpF,MAAO4C,IAETyC,GAAI,CACFrF,MAAO4C,IAETA,QAAS,CACP5C,MAAO4C,IAET0C,WAAY,CACVtF,MAAO4C,IAET2C,aAAc,CACZvF,MAAO4C,IAET4C,cAAe,CACbxF,MAAO4C,IAET6C,YAAa,CACXzF,MAAO4C,IAETpB,SAAU,CACRxB,MAAO4C,IAETnB,SAAU,CACRzB,MAAO4C,IAET8C,cAAe,CACb1F,MAAO4C,IAET+C,mBAAoB,CAClB3F,MAAO4C,IAETgD,iBAAkB,CAChB5F,MAAO4C,IAETiD,aAAc,CACZ7F,MAAO4C,IAETkD,kBAAmB,CACjB9F,MAAO4C,IAETmD,gBAAiB,CACf/F,MAAO4C,IAET5B,EAAG,CACDhB,MAAO2C,IAETqD,GAAI,CACFhG,MAAO2C,IAETsD,GAAI,CACFjG,MAAO2C,IAETuD,GAAI,CACFlG,MAAO2C,IAETwD,GAAI,CACFnG,MAAO2C,IAETyD,GAAI,CACFpG,MAAO2C,IAET0D,GAAI,CACFrG,MAAO2C,IAETA,OAAQ,CACN3C,MAAO2C,IAET2D,UAAW,CACTtG,MAAO2C,IAET4D,YAAa,CACXvG,MAAO2C,IAET6D,aAAc,CACZxG,MAAO2C,IAET8D,WAAY,CACVzG,MAAO2C,IAETrB,QAAS,CACPtB,MAAO2C,IAETpB,QAAS,CACPvB,MAAO2C,IAET+D,aAAc,CACZ1G,MAAO2C,IAETgE,kBAAmB,CACjB3G,MAAO2C,IAETiE,gBAAiB,CACf5G,MAAO2C,IAETkE,YAAa,CACX7G,MAAO2C,IAETmE,iBAAkB,CAChB9G,MAAO2C,IAEToE,eAAgB,CACd/G,MAAO2C,IAGTqE,aAAc,CACZrG,aAAa,EACbH,UAAWrU,IAAS,CAClB,eAAgB,CACd8a,QAAS9a,MAIf8a,QAAS,CAAC,EACVC,SAAU,CAAC,EACXC,aAAc,CAAC,EACfC,WAAY,CAAC,EACbC,WAAY,CAAC,EAEbC,UAAW,CAAC,EACZC,cAAe,CAAC,EAChBC,SAAU,CAAC,EACXC,eAAgB,CAAC,EACjBC,WAAY,CAAC,EACbC,aAAc,CAAC,EACf5S,MAAO,CAAC,EACRrB,KAAM,CAAC,EACPC,SAAU,CAAC,EACXE,WAAY,CAAC,EACb+T,UAAW,CAAC,EACZC,aAAc,CAAC,EACfC,YAAa,CAAC,EAEd5D,IAAK,CACHlE,MAAOkE,IAETE,OAAQ,CACNpE,MAAOoE,IAETD,UAAW,CACTnE,MAAOmE,IAET/P,WAAY,CAAC,EACbJ,QAAS,CAAC,EACV+T,aAAc,CAAC,EACfC,gBAAiB,CAAC,EAClBC,aAAc,CAAC,EACfC,oBAAqB,CAAC,EACtBC,iBAAkB,CAAC,EACnBC,kBAAmB,CAAC,EACpBC,SAAU,CAAC,EAEXpb,SAAU,CAAC,EACXmI,OAAQ,CACNwL,SAAU,UAEZ0H,IAAK,CAAC,EACNC,MAAO,CAAC,EACRC,OAAQ,CAAC,EACTC,KAAM,CAAC,EAEPC,UAAW,CACT9H,SAAU,WAGZ2D,MAAO,CACL/D,UAAW8D,IAEbE,SAAU,CACRxE,MAAOwE,IAETC,SAAU,CACRjE,UAAW8D,IAEbI,OAAQ,CACNlE,UAAW8D,IAEbK,UAAW,CACTnE,UAAW8D,IAEbM,UAAW,CACTpE,UAAW8D,IAEbqE,UAAW,CAAC,EAEZC,KAAM,CACJhI,SAAU,QAEZiI,WAAY,CACVjI,SAAU,cAEZkI,SAAU,CACRlI,SAAU,cAEZmI,UAAW,CACTnI,SAAU,cAEZhM,WAAY,CACVgM,SAAU,cAEZoI,cAAe,CAAC,EAChBC,cAAe,CAAC,EAChBpU,WAAY,CAAC,EACbqU,UAAW,CAAC,EACZC,WAAY,CACVxI,aAAa,EACbC,SAAU,eCtKd,MAAMwI,GA5GC,WACL,SAASC,EAAc/P,EAAMgE,EAAKnC,EAAOmO,GACvC,MAAM9b,EAAQ,CACZ,CAAC8L,GAAOgE,EACRnC,SAEI5R,EAAU+f,EAAOhQ,GACvB,IAAK/P,EACH,MAAO,CACL,CAAC+P,GAAOgE,GAGZ,MAAM,YACJqD,EAAcrH,EAAI,SAClBsH,EAAQ,UACRJ,EAAS,MACTR,GACEzW,EACJ,GAAW,MAAP+T,EACF,OAAO,KAIT,GAAiB,eAAbsD,GAAqC,YAARtD,EAC/B,MAAO,CACL,CAAChE,GAAOgE,GAGZ,MAAMiD,EAAeL,GAAQ/E,EAAOyF,IAAa,CAAC,EAClD,GAAIZ,EACF,OAAOA,EAAMxS,GAef,OAAOkR,GAAkBlR,EAAO8P,GAbLmD,IACzB,IAAItU,EAAQ,GAASoU,EAAcC,EAAWC,GAK9C,OAJIA,IAAmBtU,GAAmC,iBAAnBsU,IAErCtU,EAAQ,GAASoU,EAAcC,EAAW,GAAGlH,IAA0B,YAAnBmH,EAA+B,GAAK,EAAWA,KAAmBA,KAEpG,IAAhBE,EACKxU,EAEF,CACL,CAACwU,GAAcxU,EAChB,GAGL,CA4DA,OA3DA,SAASid,EAAgB5b,GACvB,MAAM,GACJ+b,EAAE,MACFpO,EAAQ,CAAC,GACP3N,GAAS,CAAC,EACd,IAAK+b,EACH,OAAO,KAET,MAAMD,EAASnO,EAAMqO,mBAAqB,GAO1C,SAASC,EAASC,GAChB,IAAIC,EAAWD,EACf,GAAuB,mBAAZA,EACTC,EAAWD,EAAQvO,QACd,GAAuB,iBAAZuO,EAEhB,OAAOA,EAET,IAAKC,EACH,OAAO,KAET,MAAMC,EAAmBhK,GAA4BzE,EAAMuB,aACrDmN,EAAkBnhB,OAAO6T,KAAKqN,GACpC,IAAIE,EAAMF,EA2BV,OA1BAlhB,OAAO6T,KAAKoN,GAAU1hB,SAAQ8hB,IAC5B,MAAM5d,EAlFd,SAAkB6d,EAAS9hB,GACzB,MAA0B,mBAAZ8hB,EAAyBA,EAAQ9hB,GAAO8hB,CACxD,CAgFsBC,CAASN,EAASI,GAAW5O,GAC3C,GAAIhP,QACF,GAAqB,iBAAVA,EACT,GAAImd,EAAOS,GACTD,EAAM,GAAMA,EAAKT,EAAcU,EAAU5d,EAAOgP,EAAOmO,QAClD,CACL,MAAMY,EAAoBxL,GAAkB,CAC1CvD,SACChP,GAAOkE,IAAK,CACb,CAAC0Z,GAAW1Z,OAhG5B,YAAgC8Z,GAC9B,MAAMC,EAAUD,EAAQzM,QAAO,CAACnB,EAAM8N,IAAW9N,EAAKhK,OAAO7J,OAAO6T,KAAK8N,KAAU,IAC7EC,EAAQ,IAAIC,IAAIH,GACtB,OAAOD,EAAQK,OAAMH,GAAUC,EAAMpa,OAASxH,OAAO6T,KAAK8N,GAAQ3iB,QACpE,CA8FkB+iB,CAAoBP,EAAmB/d,GAMzC2d,EAAM,GAAMA,EAAKI,GALjBJ,EAAIC,GAAYX,EAAgB,CAC9BG,GAAIpd,EACJgP,SAKN,MAEA2O,EAAM,GAAMA,EAAKT,EAAcU,EAAU5d,EAAOgP,EAAOmO,GAE3D,IZ7GD,SAA8BnO,EAAO2O,GAC1C,IAAK3O,EAAMqD,iBACT,OAAOsL,EAET,MAAMY,EAAShiB,OAAO6T,KAAKuN,GAAKa,QAAO3hB,GAAOA,EAAIgW,WAAW,gBAAezB,MAAK,CAACoE,EAAGR,KACnF,MAAMyJ,EAAQ,yBACd,QAASjJ,EAAEjL,MAAMkU,KAAS,IAAM,KAAOzJ,EAAEzK,MAAMkU,KAAS,IAAM,EAAE,IAElE,OAAKF,EAAOhjB,OAGLgjB,EAAOhN,QAAO,CAACC,EAAK3U,KACzB,MAAMmD,EAAQ2d,EAAI9gB,GAGlB,cAFO2U,EAAI3U,GACX2U,EAAI3U,GAAOmD,EACJwR,CAAG,GACT,IACEmM,IARIA,CAUX,CY4Fae,CAAqB1P,EAAO4E,GAAwB8J,EAAiBC,GAC9E,CACA,OAAOviB,MAAMC,QAAQ+hB,GAAMA,EAAGjY,IAAImY,GAAYA,EAASF,EACzD,CAEF,CACwBuB,GACxB1B,GAAgBtI,YAAc,CAAC,MAC/B,UChEe,SAASiK,GAAY/hB,EAAK2J,GAEvC,MAAMwI,EAAQ9R,KACd,GAAI8R,EAAMkF,KAAM,CACd,IAAKlF,EAAM6P,eAAehiB,IAAgD,mBAAjCmS,EAAM8P,uBAC7C,MAAO,CAAC,EAGV,IAAIzY,EAAW2I,EAAM8P,uBAAuBjiB,GAC5C,MAAiB,MAAbwJ,EACKG,IAELH,EAASkN,SAAS,UAAYlN,EAASkN,SAAS,QAElDlN,EAAW,WAAWA,EAASlG,QAAQ,QAAS,UAE3C,CACL,CAACkG,GAAWG,GAEhB,CACA,OAAIwI,EAAM+P,QAAQC,OAASniB,EAClB2J,EAEF,CAAC,CACV,CCtCA,OAxCA,SAAqBpJ,EAAU,CAAC,KAAMzB,GACpC,MACE4U,YAAamD,EAAmB,CAAC,EACjCqL,QAASE,EAAe,CAAC,EACzBvI,QAASE,EACTsI,MAAOC,EAAa,CAAC,KAClBnO,GACD5T,EAGJ,IAAIgiB,EAAW,GAAU,CACvB7O,YAHkBD,GAAkBoD,GAIpC+B,UAAW,MACX4J,WAAY,CAAC,EAEbN,QAAS,CACPC,KAAM,WACHC,GAELvI,QAVcC,GAAcC,GAW5BsI,MAAO,IACF,MACAC,IAEJnO,GAcH,OAbAoO,EdSa,SAA6BE,GAC1C,MAAMC,EAAmB,CAACC,EAAY9Y,IAAS8Y,EAAWrf,QAAQ,SAAUuG,EAAO,cAAcA,IAAS,cAC1G,SAAS+Y,EAASxe,EAAMyF,GACtBzF,EAAKyQ,GAAK,IAAI/V,IAAS4jB,EAAiBD,EAAW/O,YAAYmB,MAAM/V,GAAO+K,GAC5EzF,EAAK0Q,KAAO,IAAIhW,IAAS4jB,EAAiBD,EAAW/O,YAAYoB,QAAQhW,GAAO+K,GAChFzF,EAAK2Q,QAAU,IAAIjW,IAAS4jB,EAAiBD,EAAW/O,YAAYqB,WAAWjW,GAAO+K,GACtFzF,EAAK8Q,KAAO,IAAIpW,IAAS4jB,EAAiBD,EAAW/O,YAAYwB,QAAQpW,GAAO+K,GAChFzF,EAAK+Q,IAAM,IAAIrW,KACb,MAAM8P,EAAS8T,EAAiBD,EAAW/O,YAAYyB,OAAOrW,GAAO+K,GACrE,OAAI+E,EAAO8H,SAAS,eAEX9H,EAAOtL,QAAQ,eAAgB,IAAIA,QAAQ,aAAc,UAAUA,QAAQ,aAAc,UAAUA,QAAQ,MAAO,MAEpHsL,CAAM,CAEjB,CACA,MAAMxK,EAAO,CAAC,EACRoR,EAAmB3L,IACvB+Y,EAASxe,EAAMyF,GACRzF,GAGT,OADAwe,EAASpN,GACF,IACFiN,EACHjN,mBAEJ,CcnCaqN,CAAoBN,GAC/BA,EAASR,YAAcA,GACvBQ,EAAWzjB,EAAK4V,QAAO,CAACC,EAAKuF,IAAa,GAAUvF,EAAKuF,IAAWqI,GACpEA,EAAS/B,kBAAoB,IACxB,MACArM,GAAOqM,mBAEZ+B,EAASO,YAAc,SAAYte,GACjC,OAAO,GAAgB,CACrB+b,GAAI/b,EACJ2N,MAAO9R,MAEX,EACOkiB,CACT,EC9Ce,SAASQ,GAAiBC,GACvC,MAAM,SACJC,KACGjM,GACDgM,EACEpU,EAAS,CACbqU,WACAjM,MAAOjE,GAAyBiE,GAChCkM,aAAa,GAIf,OAAItU,EAAOoI,QAAUA,GAGjBiM,GACFA,EAAShkB,SAAQkkB,IACc,mBAAlBA,EAAQnM,QACjBmM,EAAQnM,MAAQjE,GAAyBoQ,EAAQnM,OACnD,IANKpI,CAUX,CCZO,MAAMwU,GAAqB,KAG3B,SAASxS,GAAkBN,GAChC,MAAgB,eAATA,GAAkC,UAATA,GAA6B,OAATA,GAA0B,OAATA,CACvE,CACA,SAAS+S,GAAyBC,GAChC,OAAKA,EAGE,CAACC,EAAQ5Z,IAAWA,EAAO2Z,GAFzB,IAGX,CAIA,SAASE,GAAahf,EAAOwS,GAU3B,MAAMyM,EAAiC,mBAAVzM,EAAuBA,EAAMxS,GAASwS,EACnE,GAAIzY,MAAMC,QAAQilB,GAChB,OAAOA,EAAcC,SAAQC,GAAYH,GAAahf,EAAOmf,KAE/D,GAAIplB,MAAMC,QAAQilB,GAAeR,UAAW,CAC1C,IAAIW,EACJ,GAAIH,EAAcP,YAChBU,EAAYH,EAAczM,UACrB,CACL,MAAM,SACJiM,KACGY,GACDJ,EACJG,EAAYC,CACd,CACA,OAAOC,GAAqBtf,EAAOif,EAAcR,SAAU,CAACW,GAC9D,CACA,OAAIH,GAAeP,YACVO,EAAczM,MAEhByM,CACT,CACA,SAASK,GAAqBtf,EAAOye,EAAUc,EAAU,IACvD,IAAIC,EAEJC,EAAa,IAAK,IAAInkB,EAAI,EAAGA,EAAImjB,EAASvkB,OAAQoB,GAAK,EAAG,CACxD,MAAMqjB,EAAUF,EAASnjB,GACzB,GAA6B,mBAAlBqjB,EAAQ3e,OAMjB,GALAwf,IAAgB,IACXxf,KACAA,EAAM0f,WACTA,WAAY1f,EAAM0f,aAEff,EAAQ3e,MAAMwf,GACjB,cAGF,IAAK,MAAMhkB,KAAOmjB,EAAQ3e,MACxB,GAAIA,EAAMxE,KAASmjB,EAAQ3e,MAAMxE,IAAQwE,EAAM0f,aAAalkB,KAASmjB,EAAQ3e,MAAMxE,GACjF,SAASikB,EAIc,mBAAlBd,EAAQnM,OACjBgN,IAAgB,IACXxf,KACAA,EAAM0f,WACTA,WAAY1f,EAAM0f,YAEpBH,EAAQ5iB,KAAKgiB,EAAQnM,MAAMgN,KAE3BD,EAAQ5iB,KAAKgiB,EAAQnM,MAEzB,CACA,OAAO+M,CACT,CAuJA,SAASI,GAAoBC,EAAeC,GAU5C,CAiBA,SAASC,GAAqBjlB,GAC5B,OAAKA,EAGEA,EAAOE,OAAO,GAAGiO,cAAgBnO,EAAOI,MAAM,GAF5CJ,CAGX,CChRA,OAHA,SAAeiV,EAAKiQ,EAAMhO,OAAOiO,iBAAkBC,EAAMlO,OAAOmO,kBAC9D,OAAO3hB,KAAK0hB,IAAIF,EAAKxhB,KAAKwhB,IAAIjQ,EAAKmQ,GACrC,ECSA,SAASE,GAAaxhB,EAAOohB,EAAM,EAAGE,EAAM,GAM1C,OAAO,GAAMthB,EAAOohB,EAAKE,EAC3B,CAmCO,SAASG,GAAe/I,GAE7B,GAAIA,EAAMtX,KACR,OAAOsX,EAET,GAAwB,MAApBA,EAAMtc,OAAO,GACf,OAAOqlB,GAlCJ,SAAkB/I,GACvBA,EAAQA,EAAMpc,MAAM,GACpB,MAAMolB,EAAK,IAAIC,OAAO,OAAOjJ,EAAMnd,QAAU,EAAI,EAAI,KAAM,KAC3D,IAAIqmB,EAASlJ,EAAMnO,MAAMmX,GASzB,OARIE,GAA+B,IAArBA,EAAO,GAAGrmB,SACtBqmB,EAASA,EAAOzc,KAAIhK,GAAKA,EAAIA,KAOxBymB,EAAS,MAAwB,IAAlBA,EAAOrmB,OAAe,IAAM,MAAMqmB,EAAOzc,KAAI,CAAChK,EAAGoF,IAC9DA,EAAQ,EAAIshB,SAAS1mB,EAAG,IAAMyE,KAAKkiB,MAAMD,SAAS1mB,EAAG,IAAM,IAAM,KAAQ,MAC/EwH,KAAK,SAAW,EACrB,CAmB0Bof,CAASrJ,IAEjC,MAAMsJ,EAAStJ,EAAMpY,QAAQ,KACvBc,EAAOsX,EAAMuJ,UAAU,EAAGD,GAChC,IAAK,CAAC,MAAO,OAAQ,MAAO,OAAQ,SAASzO,SAASnS,GACpD,MAAM,IAAIjF,MAAwL,EAAuB,EAAGuc,IAE9N,IACIwJ,EADA1R,EAASkI,EAAMuJ,UAAUD,EAAS,EAAGtJ,EAAMnd,OAAS,GAExD,GAAa,UAAT6F,GAMF,GALAoP,EAASA,EAAOzK,MAAM,KACtBmc,EAAa1R,EAAO2R,QACE,IAAlB3R,EAAOjV,QAAwC,MAAxBiV,EAAO,GAAGpU,OAAO,KAC1CoU,EAAO,GAAKA,EAAO,GAAGlU,MAAM,KAEzB,CAAC,OAAQ,aAAc,UAAW,eAAgB,YAAYiX,SAAS2O,GAC1E,MAAM,IAAI/lB,MAAqM,EAAuB,GAAI+lB,SAG5O1R,EAASA,EAAOzK,MAAM,KAGxB,OADAyK,EAASA,EAAOrL,KAAInF,GAASoiB,WAAWpiB,KACjC,CACLoB,OACAoP,SACA0R,aAEJ,CAQO,MAIMG,GAA2B,CAAC3J,EAAO4J,KAC9C,IACE,MANwB5J,KAC1B,MAAM6J,EAAkBd,GAAe/I,GACvC,OAAO6J,EAAgB/R,OAAOlU,MAAM,EAAG,GAAG6I,KAAI,CAACgM,EAAKqR,IAAQD,EAAgBnhB,KAAKmS,SAAS,QAAkB,IAARiP,EAAY,GAAGrR,KAASA,IAAKxO,KAAK,IAAI,EAIjI8f,CAAa/J,EACtB,CAAE,MAAOgK,GAIP,OAAOhK,CACT,GAUK,SAASiK,GAAejK,GAC7B,MAAM,KACJtX,EAAI,WACJ8gB,GACExJ,EACJ,IAAI,OACFlI,GACEkI,EAaJ,OAZItX,EAAKmS,SAAS,OAEhB/C,EAASA,EAAOrL,KAAI,CAAChK,EAAGwB,IAAMA,EAAI,EAAIklB,SAAS1mB,EAAG,IAAMA,IAC/CiG,EAAKmS,SAAS,SACvB/C,EAAO,GAAK,GAAGA,EAAO,MACtBA,EAAO,GAAK,GAAGA,EAAO,OAGtBA,EADEpP,EAAKmS,SAAS,SACP,GAAG2O,KAAc1R,EAAO7N,KAAK,OAE7B,GAAG6N,EAAO7N,KAAK,QAEnB,GAAGvB,KAAQoP,IACpB,CAuBO,SAASoS,GAASlK,GACvBA,EAAQ+I,GAAe/I,GACvB,MAAM,OACJlI,GACEkI,EACExM,EAAIsE,EAAO,GACXqS,EAAIrS,EAAO,GAAK,IAChByE,EAAIzE,EAAO,GAAK,IAChBgF,EAAIqN,EAAIjjB,KAAKwhB,IAAInM,EAAG,EAAIA,GACxB/Z,EAAI,CAACC,EAAG8I,GAAK9I,EAAI+Q,EAAI,IAAM,KAAO+I,EAAIO,EAAI5V,KAAK0hB,IAAI1hB,KAAKwhB,IAAInd,EAAI,EAAG,EAAIA,EAAG,IAAK,GACrF,IAAI7C,EAAO,MACX,MAAM0hB,EAAM,CAACljB,KAAKkiB,MAAa,IAAP5mB,EAAE,IAAW0E,KAAKkiB,MAAa,IAAP5mB,EAAE,IAAW0E,KAAKkiB,MAAa,IAAP5mB,EAAE,KAK1E,MAJmB,SAAfwd,EAAMtX,OACRA,GAAQ,IACR0hB,EAAI9kB,KAAKwS,EAAO,KAEXmS,GAAe,CACpBvhB,OACAoP,OAAQsS,GAEZ,CASO,SAASC,GAAarK,GAE3B,IAAIoK,EAAqB,SADzBpK,EAAQ+I,GAAe/I,IACPtX,MAAiC,SAAfsX,EAAMtX,KAAkBqgB,GAAemB,GAASlK,IAAQlI,OAASkI,EAAMlI,OASzG,OARAsS,EAAMA,EAAI3d,KAAIgM,IACO,UAAfuH,EAAMtX,OACR+P,GAAO,KAEFA,GAAO,OAAUA,EAAM,QAAUA,EAAM,MAAS,QAAU,OAI5DiC,QAAQ,MAAS0P,EAAI,GAAK,MAASA,EAAI,GAAK,MAASA,EAAI,IAAIE,QAAQ,GAC9E,CAoCO,SAASC,GAAkBvK,EAAO1Y,EAAOsiB,GAC9C,IACE,OAfG,SAAe5J,EAAO1Y,GAW3B,OAVA0Y,EAAQ+I,GAAe/I,GACvB1Y,EAAQwhB,GAAaxhB,GACF,QAAf0Y,EAAMtX,MAAiC,QAAfsX,EAAMtX,OAChCsX,EAAMtX,MAAQ,KAEG,UAAfsX,EAAMtX,KACRsX,EAAMlI,OAAO,GAAK,IAAIxQ,IAEtB0Y,EAAMlI,OAAO,GAAKxQ,EAEb2iB,GAAejK,EACxB,CAGWwK,CAAMxK,EAAO1Y,EACtB,CAAE,MAAO0iB,GAIP,OAAOhK,CACT,CACF,CAQO,SAASyK,GAAOzK,EAAO0K,GAG5B,GAFA1K,EAAQ+I,GAAe/I,GACvB0K,EAAc5B,GAAa4B,GACvB1K,EAAMtX,KAAKmS,SAAS,OACtBmF,EAAMlI,OAAO,IAAM,EAAI4S,OAClB,GAAI1K,EAAMtX,KAAKmS,SAAS,QAAUmF,EAAMtX,KAAKmS,SAAS,SAC3D,IAAK,IAAI5W,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAC1B+b,EAAMlI,OAAO7T,IAAM,EAAIymB,EAG3B,OAAOT,GAAejK,EACxB,CACO,SAAS2K,GAAmB3K,EAAO0K,EAAad,GACrD,IACE,OAAOa,GAAOzK,EAAO0K,EACvB,CAAE,MAAOV,GAIP,OAAOhK,CACT,CACF,CAQO,SAAS4K,GAAQ5K,EAAO0K,GAG7B,GAFA1K,EAAQ+I,GAAe/I,GACvB0K,EAAc5B,GAAa4B,GACvB1K,EAAMtX,KAAKmS,SAAS,OACtBmF,EAAMlI,OAAO,KAAO,IAAMkI,EAAMlI,OAAO,IAAM4S,OACxC,GAAI1K,EAAMtX,KAAKmS,SAAS,OAC7B,IAAK,IAAI5W,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAC1B+b,EAAMlI,OAAO7T,KAAO,IAAM+b,EAAMlI,OAAO7T,IAAMymB,OAE1C,GAAI1K,EAAMtX,KAAKmS,SAAS,SAC7B,IAAK,IAAI5W,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAC1B+b,EAAMlI,OAAO7T,KAAO,EAAI+b,EAAMlI,OAAO7T,IAAMymB,EAG/C,OAAOT,GAAejK,EACxB,CACO,SAAS6K,GAAoB7K,EAAO0K,EAAad,GACtD,IACE,OAAOgB,GAAQ5K,EAAO0K,EACxB,CAAE,MAAOV,GAIP,OAAOhK,CACT,CACF,CAYO,SAAS8K,GAAsB9K,EAAO0K,EAAad,GACxD,IACE,OALG,SAAmB5J,EAAO0K,EAAc,KAC7C,OAAOL,GAAarK,GAAS,GAAMyK,GAAOzK,EAAO0K,GAAeE,GAAQ5K,EAAO0K,EACjF,CAGWK,CAAU/K,EAAO0K,EAC1B,CAAE,MAAOV,GAIP,OAAOhK,CACT,CACF,CCrUA,OAJe,CACbgL,MAAO,OACPC,MAAO,QCcT,OAhBa,CACX,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACLC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WCER,OAhBe,CACb,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACLH,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WCER,OAhBY,CACV,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACLH,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WCER,OAhBe,CACb,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACLH,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WCER,OAhBa,CACX,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACLH,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WCER,OAhBkB,CAChB,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACLH,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WCER,OAhBc,CACZ,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACLH,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,WCHR,SAASC,KACP,MAAO,CAELC,KAAM,CAEJC,QAAS,sBAETC,UAAW,qBAEXC,SAAU,uBAGZC,QAAS,sBAGTC,WAAY,CACVC,MAAO,GAAOZ,MACda,QAAS,GAAOb,OAGlBc,OAAQ,CAENC,OAAQ,sBAERC,MAAO,sBACPC,aAAc,IAEdC,SAAU,sBACVC,gBAAiB,IAEjBV,SAAU,sBAEVW,mBAAoB,sBACpBC,gBAAiB,IACjBC,MAAO,sBACPC,aAAc,IACdC,iBAAkB,KAGxB,CACO,MAAMC,GAAQpB,KACrB,SAASqB,KACP,MAAO,CACLpB,KAAM,CACJC,QAAS,GAAOP,MAChBQ,UAAW,2BACXC,SAAU,2BACVkB,KAAM,4BAERjB,QAAS,4BACTC,WAAY,CACVC,MAAO,UACPC,QAAS,WAEXC,OAAQ,CACNC,OAAQ,GAAOf,MACfgB,MAAO,4BACPC,aAAc,IACdC,SAAU,4BACVC,gBAAiB,IACjBV,SAAU,2BACVW,mBAAoB,4BACpBC,gBAAiB,IACjBC,MAAO,4BACPC,aAAc,IACdC,iBAAkB,KAGxB,CACO,MAAMI,GAAOF,KACpB,SAASG,GAAeC,EAAQhQ,EAAWiQ,EAAOC,GAChD,MAAMC,EAAmBD,EAAYP,OAASO,EACxCE,EAAkBF,EAAYJ,MAAsB,IAAdI,EACvCF,EAAOhQ,KACNgQ,EAAO1oB,eAAe2oB,GACxBD,EAAOhQ,GAAagQ,EAAOC,GACJ,UAAdjQ,EACTgQ,EAAOL,MAAQ9B,GAAQmC,EAAOK,KAAMF,GACb,SAAdnQ,IACTgQ,EAAOF,KAAOpC,GAAOsC,EAAOK,KAAMD,IAGxC,CAsFe,SAASE,GAAchH,GACpC,MAAM,KACJC,EAAO,QAAO,kBACdgH,EAAoB,EAAC,YACrBL,EAAc,MACX3U,GACD+N,EACEmF,EAAUnF,EAAQmF,SA5F1B,SAA2BlF,EAAO,SAChC,MAAa,SAATA,EACK,CACL8G,KAAM,GAAK,KACXV,MAAO,GAAK,IACZG,KAAM,GAAK,MAGR,CACLO,KAAM,GAAK,KACXV,MAAO,GAAK,KACZG,KAAM,GAAK,KAEf,CA+EqCU,CAAkBjH,GAC/CmF,EAAYpF,EAAQoF,WA/E5B,SAA6BnF,EAAO,SAClC,MAAa,SAATA,EACK,CACL8G,KAAM,GAAO,KACbV,MAAO,GAAO,IACdG,KAAM,GAAO,MAGV,CACLO,KAAM,GAAO,KACbV,MAAO,GAAO,KACdG,KAAM,GAAO,KAEjB,CAkEyCW,CAAoBlH,GACrD0D,EAAQ3D,EAAQ2D,OAlExB,SAAyB1D,EAAO,SAC9B,MAAa,SAATA,EACK,CACL8G,KAAM,GAAI,KACVV,MAAO,GAAI,KACXG,KAAM,GAAI,MAGP,CACLO,KAAM,GAAI,KACVV,MAAO,GAAI,KACXG,KAAM,GAAI,KAEd,CAqDiCY,CAAgBnH,GACzCoH,EAAOrH,EAAQqH,MArDvB,SAAwBpH,EAAO,SAC7B,MAAa,SAATA,EACK,CACL8G,KAAM,GAAU,KAChBV,MAAO,GAAU,KACjBG,KAAM,GAAU,MAGb,CACLO,KAAM,GAAU,KAChBV,MAAO,GAAU,KACjBG,KAAM,GAAU,KAEpB,CAwC+Bc,CAAerH,GACtCsH,EAAUvH,EAAQuH,SAxC1B,SAA2BtH,EAAO,SAChC,MAAa,SAATA,EACK,CACL8G,KAAM,GAAM,KACZV,MAAO,GAAM,KACbG,KAAM,GAAM,MAGT,CACLO,KAAM,GAAM,KACZV,MAAO,GAAM,KACbG,KAAM,GAAM,KAEhB,CA2BqCgB,CAAkBvH,GAC/CsD,EAAUvD,EAAQuD,SA3B1B,SAA2BtD,EAAO,SAChC,MAAa,SAATA,EACK,CACL8G,KAAM,GAAO,KACbV,MAAO,GAAO,KACdG,KAAM,GAAO,MAGV,CACLO,KAAM,UAENV,MAAO,GAAO,KACdG,KAAM,GAAO,KAEjB,CAaqCiB,CAAkBxH,GAKrD,SAASyH,EAAgBnC,GACvB,MAAMoC,ETcH,SAA0BC,EAAYrC,GAC3C,MAAMsC,EAAO7D,GAAa4D,GACpBE,EAAO9D,GAAauB,GAC1B,OAAQ1kB,KAAK0hB,IAAIsF,EAAMC,GAAQ,MAASjnB,KAAKwhB,IAAIwF,EAAMC,GAAQ,IACjE,CSlByBC,CAAiBxC,EAAYiB,GAAKtB,KAAKC,UAAY8B,EAAoBT,GAAKtB,KAAKC,QAAUkB,GAAMnB,KAAKC,QAO3H,OAAOwC,CACT,CACA,MAAMK,EAAe,EACnBrO,QACAhS,OACAsgB,YAAY,IACZC,aAAa,IACbC,YAAY,QAQZ,KANAxO,EAAQ,IACHA,IAEMoN,MAAQpN,EAAMsO,KACvBtO,EAAMoN,KAAOpN,EAAMsO,KAEhBtO,EAAM3b,eAAe,QACxB,MAAM,IAAIZ,MAAiO,EAAuB,GAAIuK,EAAO,KAAKA,KAAU,GAAIsgB,IAElS,GAA0B,iBAAftO,EAAMoN,KACf,MAAM,IAAI3pB,MAA6iB,EAAuB,GAAIuK,EAAO,KAAKA,KAAU,GAAIygB,KAAK1kB,UAAUiW,EAAMoN,QAOnoB,OALAN,GAAe9M,EAAO,QAASuO,EAAYtB,GAC3CH,GAAe9M,EAAO,OAAQwO,EAAWvB,GACpCjN,EAAMgO,eACThO,EAAMgO,aAAeD,EAAgB/N,EAAMoN,OAEtCpN,CAAK,EAEd,IAAI0O,EACS,UAATpI,EACFoI,EAAepD,KACG,SAAThF,IACToI,EAAe/B,MAgEjB,OAzDsB,GAAU,CAE9BgC,OAAQ,IACH,IAILrI,OAEAkF,QAAS6C,EAAa,CACpBrO,MAAOwL,EACPxd,KAAM,YAGRyd,UAAW4C,EAAa,CACtBrO,MAAOyL,EACPzd,KAAM,YACNsgB,UAAW,OACXC,WAAY,OACZC,UAAW,SAGbxE,MAAOqE,EAAa,CAClBrO,MAAOgK,EACPhc,KAAM,UAGR4b,QAASyE,EAAa,CACpBrO,MAAO4J,EACP5b,KAAM,YAGR0f,KAAMW,EAAa,CACjBrO,MAAO0N,EACP1f,KAAM,SAGR4f,QAASS,EAAa,CACpBrO,MAAO4N,EACP5f,KAAM,YAGR4gB,KAAI,GAGJtB,oBAEAS,kBAEAM,eAIApB,iBAEGyB,GACFpW,EAEL,CCzSe,SAASuW,GAAgBC,EAAS,IAC/C,SAASC,KAAavT,GACpB,IAAKA,EAAK3Y,OACR,MAAO,GAET,MAAMyE,EAAQkU,EAAK,GACnB,MAAqB,iBAAVlU,GAAuBA,EAAMuK,MAAM,+GAGvC,KAAKvK,IAFH,WAAWwnB,EAAS,GAAGA,KAAY,KAAKxnB,IAAQynB,KAAavT,EAAK5X,MAAM,MAGnF,CAMA,MAHkB,CAACorB,KAAUC,IACpB,SAASH,EAAS,GAAGA,KAAY,KAAKE,IAAQD,KAAaE,KAGtE,CCrBe,SAASC,GAAsB5K,GAC5C,MAAM9I,EAAO,CAAC,EAQd,OAPgB3X,OAAOsrB,QAAQ7K,GACvBlhB,SAAQgsB,IACd,MAAOjrB,EAAKmD,GAAS8nB,EACA,iBAAV9nB,IACTkU,EAAKrX,GAAO,GAAGmD,EAAM4c,UAAY,GAAG5c,EAAM4c,aAAe,KAAK5c,EAAM+nB,YAAc,GAAG/nB,EAAM+nB,eAAiB,KAAK/nB,EAAMyI,WAAa,GAAGzI,EAAMyI,cAAgB,KAAKzI,EAAMgoB,YAAc,GAAGhoB,EAAMgoB,eAAiB,KAAKhoB,EAAM2c,UAAY,KAAK3c,EAAM0I,WAAa,IAAI1I,EAAM0I,cAAgB,KAAK1I,EAAM0c,YAAc,KACpT,IAEKxI,CACT,CCOO,MAAM+T,GAAmB,CAAC9c,EAAKiF,EAAMpQ,EAAOkoB,EAAY,MAC7D,IAAIC,EAAOhd,EACXiF,EAAKtU,SAAQ,CAACmI,EAAG1D,KACXA,IAAU6P,EAAK7U,OAAS,EACtBH,MAAMC,QAAQ8sB,GAChBA,EAAK/U,OAAOnP,IAAMjE,EACTmoB,GAAwB,iBAATA,IACxBA,EAAKlkB,GAAKjE,GAEHmoB,GAAwB,iBAATA,IACnBA,EAAKlkB,KACRkkB,EAAKlkB,GAAKikB,EAAU3U,SAAStP,GAAK,GAAK,CAAC,GAE1CkkB,EAAOA,EAAKlkB,GACd,GACA,EAoEW,SAASmkB,GAAcpZ,EAAO5R,GAC3C,MAAM,OACJoqB,EAAM,wBACNa,GACEjrB,GAAW,CAAC,EACVugB,EAAM,CAAC,EACPzJ,EAAO,CAAC,EACRoU,EAAmB,CAAC,EA7DE,IAAM/lB,EAAUgmB,EA6E5C,OA7EkChmB,EA8DZ,CAAC6N,EAAMpQ,EAAOkoB,KAClC,KAAqB,iBAAVloB,GAAuC,iBAAVA,GACjCqoB,GAA4BA,EAAwBjY,EAAMpQ,IAAQ,CAErE,MAAMwoB,EAAS,KAAKhB,EAAS,GAAGA,KAAY,KAAKpX,EAAKzN,KAAK,OACrD8lB,EAnDM,EAACrY,EAAMpQ,IACJ,iBAAVA,EACL,CAAC,aAAc,aAAc,UAAW,UAAU8S,MAAK3F,GAAQiD,EAAKmD,SAASpG,MAIjEiD,EAAKA,EAAK7U,OAAS,GACvB8O,cAAckJ,SAAS,WAH1BvT,EAOF,GAAGA,MAELA,EAsCqB0oB,CAAYtY,EAAMpQ,GACxCzD,OAAOC,OAAOmhB,EAAK,CACjB,CAAC6K,GAASC,IAEZR,GAAiB/T,EAAM9D,EAAM,OAAOoY,KAAWN,GAC/CD,GAAiBK,EAAkBlY,EAAM,OAAOoY,MAAWC,KAAkBP,EAC/E,CACF,EA1E0CK,EA2EzCnY,GAAoB,SAAZA,EAAK,GA1EhB,SAASuY,EAAQzK,EAAQ0K,EAAa,GAAIV,EAAY,IACpD3rB,OAAOsrB,QAAQ3J,GAAQpiB,SAAQ,EAAEe,EAAKmD,QAC/BuoB,GAAmBA,IAAoBA,EAAgB,IAAIK,EAAY/rB,MACtEmD,UACmB,iBAAVA,GAAsBzD,OAAO6T,KAAKpQ,GAAOzE,OAAS,EAC3DotB,EAAQ3oB,EAAO,IAAI4oB,EAAY/rB,GAAMzB,MAAMC,QAAQ2E,GAAS,IAAIkoB,EAAWrrB,GAAOqrB,GAElF3lB,EAAS,IAAIqmB,EAAY/rB,GAAMmD,EAAOkoB,GAG5C,GAEJ,CACAS,CAgDe3Z,GAeR,CACL2O,MACAzJ,OACAoU,mBAEJ,CCwBA,OAtJA,SAAwBtZ,EAAO6Z,EAAe,CAAC,GAC7C,MAAM,YACJC,EAAcC,EAAkB,sBAChCC,EACAC,oBAAqB5iB,GACnBwiB,GAEE,aACJhK,EAAe,CAAC,EAAC,WACjBQ,EAAU,mBACV6J,EAAqB,WAClBC,GACDna,GAEFkF,KAAMkV,EACNzL,IAAK0L,EACLf,iBAAkBgB,GAChBlB,GAAce,EAAYN,GAC9B,IAAIU,EAAYD,EAChB,MAAME,EAAkB,CAAC,GAEvB,CAACN,GAAqBO,KACnBC,GACD7K,EAaJ,GAZAtiB,OAAOsrB,QAAQ6B,GAAqB,CAAC,GAAG5tB,SAAQ,EAAEe,EAAK8sB,MACrD,MAAM,KACJzV,EAAI,IACJyJ,EAAG,iBACH2K,GACEF,GAAcuB,EAAQd,GAC1BU,EAAY,GAAUA,EAAWjB,GACjCkB,EAAgB3sB,GAAO,CACrB8gB,MACAzJ,OACD,IAECuV,EAAe,CAEjB,MAAM,IACJ9L,EAAG,KACHzJ,EAAI,iBACJoU,GACEF,GAAcqB,EAAeZ,GACjCU,EAAY,GAAUA,EAAWjB,GACjCkB,EAAgBN,GAAsB,CACpCvL,MACAzJ,OAEJ,CACA,SAAS6U,EAAmBa,EAAaC,GACvC,IAAInrB,EAAO2H,EAWX,GAViB,UAAbA,IACF3H,EAAO,OAEQ,SAAb2H,IACF3H,EAAO,aAEL2H,GAAUwM,WAAW,WAAaxM,EAASkN,SAAS,QAEtD7U,EAAO,IAAI2H,WAETujB,EAAa,CACf,GAAa,UAATlrB,EAAkB,CACpB,GAAIsQ,EAAMka,qBAAuBU,EAC/B,MAAO,QAET,MAAM5K,EAAOH,EAAa+K,IAAc7K,SAASC,MAAQ4K,EACzD,MAAO,CACL,CAAC,iCAAiC5K,MAAU,CAC1C,QAAS6K,GAGf,CACA,GAAInrB,EACF,OAAIsQ,EAAMka,qBAAuBU,EACxB,UAAUlrB,EAAKyB,QAAQ,KAAMN,OAAO+pB,MAEtClrB,EAAKyB,QAAQ,KAAMN,OAAO+pB,GAErC,CACA,MAAO,OACT,CA+DA,MAAO,CACL1V,KAAMqV,EACNO,kBAhEwB,KACxB,IAAI5V,EAAO,IACNkV,GAOL,OALA7sB,OAAOsrB,QAAQ2B,GAAiB1tB,SAAQ,EAAE,EACxCoY,KAAM6V,OAEN7V,EAAO,GAAUA,EAAM6V,EAAW,IAE7B7V,CAAI,EAwDX8V,oBAtD0B,KAC1B,MAAMC,EAAc,GACdL,EAAc5a,EAAMka,oBAAsB,QAChD,SAASgB,EAAiBrtB,EAAK8gB,GACzBphB,OAAO6T,KAAKuN,GAAKpiB,QACnB0uB,EAAYjsB,KAAoB,iBAARnB,EAAmB,CACzC,CAACA,GAAM,IACF8gB,IAEH9gB,EAER,CACAqtB,EAAiBpB,OAAY5qB,EAAW,IACnCmrB,IACDA,GACJ,MACE,CAACO,GAAcO,KACZnZ,GACDwY,EACJ,GAAIW,EAAkB,CAEpB,MAAM,IACJxM,GACEwM,EACEC,EAAgBvL,EAAa+K,IAAc7K,SAASC,KACpDqL,GAAYrB,GAAyBoB,EAAgB,CACzDR,YAAaQ,KACVzM,GACD,IACCA,GAELuM,EAAiBpB,EAAYc,EAAa,IACrCS,IACDA,EACN,CAeA,OAdA9tB,OAAOsrB,QAAQ7W,GAAOlV,SAAQ,EAAEe,GAC9B8gB,WAEA,MAAMyM,EAAgBvL,EAAahiB,IAAMkiB,SAASC,KAC5CqL,GAAYrB,GAAyBoB,EAAgB,CACzDR,YAAaQ,KACVzM,GACD,IACCA,GAELuM,EAAiBpB,EAAYjsB,EAAK,IAC7BwtB,IACDA,EAAS,IAERJ,CAAW,EAOtB,ECvJe,SAASK,GAAa/Z,EAAaga,GAChD,MAAO,CACLC,QAAS,CACP/R,UAAW,GACX,CAAClI,EAAYmB,GAAG,OAAQ,CACtB,kCAAmC,CACjC+G,UAAW,KAGf,CAAClI,EAAYmB,GAAG,OAAQ,CACtB+G,UAAW,QAGZ8R,EAEP,CCXA,MAAME,GAAc,CAClB3N,cAAe,aAEX4N,GAAoB,6CAMX,SAASC,GAAiB5L,EAAS/B,GAChD,MAAM,WACJN,EAAagO,GAAiB,SAE9B/N,EAAW,GAAE,gBAEbiO,EAAkB,IAAG,kBACrBC,EAAoB,IAAG,iBACvBC,EAAmB,IAAG,eACtBC,EAAiB,IAAG,aAGpBC,EAAe,GAAE,YAEjBC,EACAC,QAASC,KACNna,GACqB,mBAAfgM,EAA4BA,EAAW+B,GAAW/B,EAS7D,MAAMoO,EAAOzO,EAAW,GAClBuO,EAAUC,GAAY,CAACpnB,GAAWA,EAAOinB,EAAeI,EAAzB,OAC/BC,EAAe,CAAC5iB,EAAY1E,EAAM2E,EAAYmU,EAAeyO,KAAW,OAC5E5O,aACAjU,aACAkU,SAAUuO,EAAQnnB,GAElB2E,gBAGIgU,IAAegO,GAAoB,CACrC7N,eAjDS7c,EAiDe6c,EAAgB9Y,EAhDrCnE,KAAKkiB,MAAc,IAAR9hB,GAAe,KAgDd,MACb,CAAC,KACFsrB,KACAL,GApDP,IAAejrB,CAqDX,EACI8f,EAAW,CACfyL,GAAIF,EAAaT,EAAiB,GAAI,OAAQ,KAC9CY,GAAIH,EAAaT,EAAiB,GAAI,KAAM,IAC5Ca,GAAIJ,EAAaR,EAAmB,GAAI,MAAO,GAC/Ca,GAAIL,EAAaR,EAAmB,GAAI,MAAO,KAC/Cc,GAAIN,EAAaR,EAAmB,GAAI,MAAO,GAC/Ce,GAAIP,EAAaP,EAAkB,GAAI,IAAK,KAC5Ce,UAAWR,EAAaR,EAAmB,GAAI,KAAM,KACrDiB,UAAWT,EAAaP,EAAkB,GAAI,KAAM,IACpDiB,MAAOV,EAAaR,EAAmB,GAAI,IAAK,KAChDmB,MAAOX,EAAaR,EAAmB,GAAI,KAAM,KACjDoB,OAAQZ,EAAaP,EAAkB,GAAI,KAAM,GAAKL,IACtDyB,QAASb,EAAaR,EAAmB,GAAI,KAAM,IACnDsB,SAAUd,EAAaR,EAAmB,GAAI,KAAM,EAAGJ,IAEvD2B,QAAS,CACP1P,WAAY,UACZjU,WAAY,UACZkU,SAAU,UACVjU,WAAY,UACZmU,cAAe,YAGnB,OAAO,GAAU,CACfmO,eACAE,UACAxO,aACAC,WACAiO,kBACAC,oBACAC,mBACAC,oBACGjL,GACF9O,EAAO,CACRX,OAAO,GAEX,CCxFA,SAASgc,MAAgBpT,GACvB,MAAO,CAAC,GAAGA,EAAG,QAAQA,EAAG,QAAQA,EAAG,QAAQA,EAAG,uBAA6C,GAAGA,EAAG,QAAQA,EAAG,QAAQA,EAAG,QAAQA,EAAG,wBAAgD,GAAGA,EAAG,QAAQA,EAAG,QAAQA,EAAG,SAASA,EAAG,0BAAmDtW,KAAK,IACrR,CAIA,OADgB,CAAC,OAAQ0pB,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,ICN3xC,MAAMC,GAAS,CAEpBC,UAAW,+BAGXC,QAAS,+BAETC,OAAQ,6BAERC,MAAO,gCAKIC,GAAW,CACtBC,SAAU,IACVC,QAAS,IACTC,MAAO,IAEPC,SAAU,IAEVC,QAAS,IAETC,eAAgB,IAEhBC,cAAe,KAEjB,SAASC,GAASC,GAChB,MAAO,GAAGxtB,KAAKkiB,MAAMsL,MACvB,CACA,SAASC,GAAsB9U,GAC7B,IAAKA,EACH,OAAO,EAET,MAAM+U,EAAW/U,EAAS,GAG1B,OAAO3Y,KAAKwhB,IAAIxhB,KAAKkiB,MAAmD,IAA5C,EAAI,GAAKwL,GAAY,IAAOA,EAAW,IAAU,IAC/E,CACe,SAASC,GAAkBC,GACxC,MAAMC,EAAe,IAChBnB,MACAkB,EAAiBlB,QAEhBoB,EAAiB,IAClBf,MACAa,EAAiBb,UAiCtB,MAAO,CACLU,yBACAvjB,OAjCa,CAACzI,EAAQ,CAAC,OAAQjE,EAAU,CAAC,KAC1C,MACEuvB,SAAUgB,EAAiBD,EAAeX,SAC1CT,OAAQsB,EAAeH,EAAalB,UAAS,MAC7CsB,EAAQ,KACL7c,GACD5T,EAuBJ,OAAQhC,MAAMC,QAAQgG,GAASA,EAAQ,CAACA,IAAQ8D,KAAI2oB,GAAgB,GAAGA,KAA0C,iBAAnBH,EAA8BA,EAAiBR,GAASQ,MAAmBC,KAAiC,iBAAVC,EAAqBA,EAAQV,GAASU,OAAUlrB,KAAK,IAAI,KAKtP6qB,EACHlB,OAAQmB,EACRd,SAAUe,EAEd,CC5EA,OAVe,CACbK,cAAe,IACfC,IAAK,KACLC,UAAW,KACXC,OAAQ,KACRC,OAAQ,KACRC,MAAO,KACPC,SAAU,KACVC,QAAS,MCeJ,SAASC,GAAeC,EAAY,CAAC,GAC1C,MAAMC,EAAoB,IACrBD,GAkBL,OAhBA,SAASE,EAAexQ,GACtB,MAAMvd,EAAQpE,OAAOsrB,QAAQ3J,GAE7B,IAAK,IAAI3d,EAAQ,EAAGA,EAAQI,EAAMpF,OAAQgF,IAAS,CACjD,MAAO1D,EAAKmD,GAASW,EAAMJ,IA9BxBsP,GADesB,EAgCEnR,SA/BoB,IAARmR,GAAsC,iBAARA,GAAmC,kBAARA,GAAoC,iBAARA,IAAoB/V,MAAMC,QAAQ8V,IA+BzHtU,EAAIgW,WAAW,oBACpCqL,EAAOrhB,GACLgT,GAAc7P,KACvBke,EAAOrhB,GAAO,IACTmD,GAEL0uB,EAAexQ,EAAOrhB,IAE1B,CAxCJ,IAAwBsU,CAyCtB,CACAud,CAAeD,GACR,+HAEOtH,KAAK1kB,UAAUgsB,EAAmB,KAAM,kKAMxD,CCzCA,SAASE,GAAkBvxB,EAAU,CAAC,KAAMzB,GAC1C,MACE4U,YAAamD,EACb6W,OAAQqE,EAAc,CAAC,EACvBlY,QAASE,EACTmI,QAASE,EAAe,CAAC,EACzB4P,YAAaC,EAAmB,CAAC,EACjC9R,WAAY+R,EAAkB,CAAC,EAC/B7P,MAAOC,KACJnO,GACD5T,EACJ,GAAIA,EAAQ8W,KACV,MAAM,IAAI/X,MAAgJ,EAAuB,KAEnL,MAAM4iB,EAAUgH,GAAc9G,GACxB+P,EAAc,GAAkB5xB,GACtC,IAAIgiB,EAAW,GAAU4P,EAAa,CACpCzE,OAAQD,GAAa0E,EAAYze,YAAaqe,GAC9C7P,UAEAkQ,QAAS,GAAQ3yB,QACjB0gB,WAAY2N,GAAiB5L,EAASgQ,GACtCF,YAAatB,GAAkBuB,GAC/B7lB,OAAQ,IACH,MA+CP,OA5CAmW,EAAW,GAAUA,EAAUpO,GAC/BoO,EAAWzjB,EAAK4V,QAAO,CAACC,EAAKuF,IAAa,GAAUvF,EAAKuF,IAAWqI,GA+BpEA,EAAS/B,kBAAoB,IACxB,MACArM,GAAOqM,mBAEZ+B,EAASO,YAAc,SAAYte,GACjC,OAAO,GAAgB,CACrB+b,GAAI/b,EACJ2N,MAAO9R,MAEX,EACAkiB,EAAS8P,gBAAkBX,GAEpBnP,CACT,CAWA,UC7FA,MAAM+P,GAAsB,IAAI/zB,MAAM,KAAK+J,KAAI,CAACiqB,EAAG7uB,KACjD,GAAc,IAAVA,EACF,MAAO,OAET,MAAM8uB,ECLO,SAAyBC,GACtC,IAAIC,EAMJ,OAJEA,EADED,EAAY,EACD,QAAUA,GAAa,EAEvB,IAAM1vB,KAAK4vB,IAAIF,EAAY,GAAK,EAExC1vB,KAAKkiB,MAAmB,GAAbyN,GAAmB,GACvC,CDHkBE,CAAgBlvB,GAChC,MAAO,sCAAsC8uB,0BAAgCA,KAAW,IAEnF,SAASK,GAAW1Q,GACzB,MAAO,CACL2Q,iBAA2B,SAAT3Q,EAAkB,GAAM,IAC1C4Q,eAAyB,SAAT5Q,EAAkB,GAAM,IACxC6Q,oBAA8B,SAAT7Q,EAAkB,GAAM,IAC7C8Q,YAAsB,SAAT9Q,EAAkB,GAAM,IAEzC,CACO,SAAS+Q,GAAY/Q,GAC1B,MAAgB,SAATA,EAAkBmQ,GAAsB,EACjD,CEnBe,SAAS,GAAwB/e,GAC9C,QAASA,EAAK,GAAG7F,MAAM,0GAA4G6F,EAAK,GAAG7F,MAAM,cAErI,YAAZ6F,EAAK,MAAsBA,EAAK,IAAI7F,MAAM,uCAC5C,CCAA,OADiCylB,GAAgB,IAAI,IAAI50B,MAAM,KAAK+J,KAAI,CAACiqB,EAAG7uB,IAAU,KAAKyvB,EAAe,GAAGA,KAAkB,cAAczvB,MAAU,KAAKyvB,EAAe,GAAGA,KAAkB,0BAA2B,KAAKA,EAAe,GAAGA,KAAkB,8BCFpQ,GAAehhB,GAAS,CAAC4a,EAAajM,KACpC,MAAMzc,EAAO8N,EAAMihB,cAAgB,QAC7B5pB,EAAW2I,EAAMia,oBACvB,IAAIvqB,EAAO2H,EAWX,GAViB,UAAbA,IACF3H,EAAO,OAEQ,SAAb2H,IACF3H,EAAO,aAEL2H,GAAUwM,WAAW,WAAaxM,EAASkN,SAAS,QAEtD7U,EAAO,IAAI2H,WAET2I,EAAMka,qBAAuBU,EAAa,CAC5C,GAAoB,SAAhBA,EAAwB,CAC1B,MAAMsG,EAAoB,CAAC,EAK3B,OAJA,GAAyBlhB,EAAMghB,cAAcl0B,SAAQ0sB,IACnD0H,EAAkB1H,GAAU7K,EAAI6K,UACzB7K,EAAI6K,EAAO,IAEP,UAAT9pB,EACK,CACL,CAACwC,GAAOyc,EACR,sCAAyC,CACvC,CAACzc,GAAOgvB,IAIVxxB,EACK,CACL,CAACA,EAAKyB,QAAQ,KAAMypB,IAAesG,EACnC,CAAC,GAAGhvB,MAASxC,EAAKyB,QAAQ,KAAMypB,MAAiBjM,GAG9C,CACL,CAACzc,GAAO,IACHyc,KACAuS,GAGT,CACA,GAAIxxB,GAAiB,UAATA,EACV,MAAO,GAAGwC,MAASxC,EAAKyB,QAAQ,KAAMN,OAAO+pB,KAEjD,MAAO,GAAIA,EAAa,CACtB,GAAa,UAATlrB,EACF,MAAO,CACL,CAAC,iCAAiCmB,OAAO+pB,OAAkB,CACzD,CAAC1oB,GAAOyc,IAId,GAAIjf,EACF,OAAOA,EAAKyB,QAAQ,KAAMN,OAAO+pB,GAErC,CACA,OAAO1oB,CAAI,ECvCb,SAASivB,GAAShlB,EAAKtO,EAAKkZ,IACrB5K,EAAItO,IAAQkZ,IACf5K,EAAItO,GAAOkZ,EAEf,CACA,SAASqa,GAAM1X,GACb,MAAqB,iBAAVA,GAAuBA,EAAM7F,WAAW,OAG5C+P,GAASlK,GAFPA,CAGX,CACA,SAAS2X,GAAgBllB,EAAKtO,GACtB,GAAGA,aAAgBsO,IAGvBA,EAAI,GAAGtO,YAAgB,GAAiBuzB,GAAMjlB,EAAItO,KAEtD,CAUA,MAAMyzB,GAASzmB,IACb,IACE,OAAOA,GACT,CAAE,MAAO6Y,GAET,CACgB,EAGlB,SAAS6N,GAAkB1R,EAAc8K,EAAQ6G,EAAW5G,GAC1D,IAAKD,EACH,OAEFA,GAAoB,IAAXA,EAAkB,CAAC,EAAIA,EAChC,MAAM3K,EAAuB,SAAhB4K,EAAyB,OAAS,QAC/C,IAAK4G,EAQH,YAPA3R,EAAa+K,GL1CF,SAA2BxsB,GACxC,MACE2hB,QAASE,EAAe,CACtBD,KAAM,SACP,QAEDrW,EAAO,SACP8nB,KACGC,GACDtzB,EACE2hB,EAAUgH,GAAc9G,GAC9B,MAAO,CACLF,UACApW,QAAS,IACJ+mB,GAAW3Q,EAAQC,SACnBrW,GAEL8nB,SAAUA,GAAYV,GAAYhR,EAAQC,SACvC0R,EAEP,CKsBgCC,CAAkB,IACzChH,EACH5K,QAAS,CACPC,UACG2K,GAAQ5K,YAKjB,MAAM,QACJA,KACGK,GACD,GAAkB,IACjBoR,EACHzR,QAAS,CACPC,UACG2K,GAAQ5K,WAYf,OATAF,EAAa+K,GAAe,IACvBD,EACH5K,UACApW,QAAS,IACJ+mB,GAAW1Q,MACX2K,GAAQhhB,SAEb8nB,SAAU9G,GAAQ8G,UAAYV,GAAY/Q,IAErCI,CACT,CAUe,SAASwR,GAAoBxzB,EAAU,CAAC,KAAMzB,GAC3D,MACEkjB,aAAcgS,EAAoB,CAChCzL,OAAO,GAET8D,mBAAoB4H,EAAuB,sBAC3C9H,GAAwB,EAAK,aAC7BgH,EAAe,MAAK,wBACpB3H,EAA0B,GAC1BY,oBAAqB5iB,GAAWwqB,EAAkBzL,OAASyL,EAAkBtL,KAAO,aAAUrnB,GAAS,aACvG+xB,EAAe,WACZpQ,GACDziB,EACE2zB,EAAmBx0B,OAAO6T,KAAKygB,GAAmB,GAClD3H,EAAqB4H,IAA4BD,EAAkBzL,OAA8B,UAArB2L,EAA+B,QAAUA,GACrHC,EA9DuB,EAAChB,EAAe,QAAU,GAAsBA,GA8D3D,CAAgBA,IAEhC,CAAC9G,GAAqB+H,EACtB7L,MAAO8L,EACP3L,KAAM4L,KACHC,GACDP,EACEhS,EAAe,IAChBuS,GAEL,IAAI3H,EAAgBwH,EAMpB,IAH2B,SAAvB/H,KAAmC,SAAU2H,IAA6C,UAAvB3H,KAAoC,UAAW2H,MACpHpH,GAAgB,IAEbA,EACH,MAAM,IAAIttB,MAAuI,EAAuB,GAAI+sB,IAI9K,MAAM9J,EAAWmR,GAAkB1R,EAAc4K,EAAe5J,EAAOqJ,GACnEgI,IAAiBrS,EAAauG,OAChCmL,GAAkB1R,EAAcqS,OAAchzB,EAAW,SAEvDizB,IAAgBtS,EAAa0G,MAC/BgL,GAAkB1R,EAAcsS,OAAajzB,EAAW,QAE1D,IAAI8Q,EAAQ,CACVka,wBACG9J,EACH4Q,eACA/G,oBAAqB5iB,EACrB4pB,eACAe,YACAnS,eACApC,KAAM,IACDmL,GAAsBxI,EAASpC,eAC/BoC,EAAS3C,MAEd/F,SAvHmBE,EAuHIiJ,EAAMnJ,QAtHH,iBAAjBE,EACF,GAAGA,MAEgB,iBAAjBA,GAAqD,mBAAjBA,GAA+Bxb,MAAMC,QAAQub,GACnFA,EAEF,QAPT,IAAuBA,EAyHrBra,OAAO6T,KAAKpB,EAAM6P,cAAc/iB,SAAQe,IACtC,MAAMkiB,EAAU/P,EAAM6P,aAAahiB,GAAKkiB,QAClCsS,EAAiB7I,IACrB,MAAM8I,EAAS9I,EAAOziB,MAAM,KACtB2S,EAAQ4Y,EAAO,GACfC,EAAaD,EAAO,GAC1B,OAAON,EAAUxI,EAAQzJ,EAAQrG,GAAO6Y,GAAY,EAxJ1D,IAAoBpmB,EAuKhB,GAXqB,UAAjB4T,EAAQC,OACVmR,GAASpR,EAAQsI,OAAQ,aAAc,QACvC8I,GAASpR,EAAQsI,OAAQ,eAAgB,SAEtB,SAAjBtI,EAAQC,OACVmR,GAASpR,EAAQsI,OAAQ,aAAc,QACvC8I,GAASpR,EAAQsI,OAAQ,eAAgB,SAlK3Blc,EAsKL4T,EAAS,CAAC,QAAS,SAAU,SAAU,SAAU,OAAQ,cAAe,iBAAkB,WAAY,SAAU,kBAAmB,kBAAmB,gBAAiB,cAAe,SAAU,YAAa,WArKrNjjB,SAAQmI,IACNkH,EAAIlH,KACPkH,EAAIlH,GAAK,CAAC,EACZ,IAmKqB,UAAjB8a,EAAQC,KAAkB,CAC5BmR,GAASpR,EAAQyS,MAAO,aAAc,GAAWzS,EAAQ2D,MAAM0C,MAAO,KACtE+K,GAASpR,EAAQyS,MAAO,YAAa,GAAWzS,EAAQqH,KAAKhB,MAAO,KACpE+K,GAASpR,EAAQyS,MAAO,eAAgB,GAAWzS,EAAQuH,QAAQlB,MAAO,KAC1E+K,GAASpR,EAAQyS,MAAO,eAAgB,GAAWzS,EAAQuD,QAAQ8C,MAAO,KAC1E+K,GAASpR,EAAQyS,MAAO,gBAAiBH,EAAe,uBACxDlB,GAASpR,EAAQyS,MAAO,eAAgBH,EAAe,sBACvDlB,GAASpR,EAAQyS,MAAO,kBAAmBH,EAAe,yBAC1DlB,GAASpR,EAAQyS,MAAO,kBAAmBH,EAAe,yBAC1DlB,GAASpR,EAAQyS,MAAO,mBAAoBlB,IAAO,IAAMvR,EAAQ0H,gBAAgB1H,EAAQ2D,MAAMoD,SAC/FqK,GAASpR,EAAQyS,MAAO,kBAAmBlB,IAAO,IAAMvR,EAAQ0H,gBAAgB1H,EAAQqH,KAAKN,SAC7FqK,GAASpR,EAAQyS,MAAO,qBAAsBlB,IAAO,IAAMvR,EAAQ0H,gBAAgB1H,EAAQuH,QAAQR,SACnGqK,GAASpR,EAAQyS,MAAO,qBAAsBlB,IAAO,IAAMvR,EAAQ0H,gBAAgB1H,EAAQuD,QAAQwD,SACnGqK,GAASpR,EAAQyS,MAAO,kBAAmB,GAAYzS,EAAQ2D,MAAM0C,MAAO,KAC5E+K,GAASpR,EAAQyS,MAAO,iBAAkB,GAAYzS,EAAQqH,KAAKhB,MAAO,KAC1E+K,GAASpR,EAAQyS,MAAO,oBAAqB,GAAYzS,EAAQuH,QAAQlB,MAAO,KAChF+K,GAASpR,EAAQyS,MAAO,oBAAqB,GAAYzS,EAAQuD,QAAQ8C,MAAO,KAChF+K,GAASpR,EAAQyS,MAAO,iBAAkBH,EAAe,uBACzDlB,GAASpR,EAAQyS,MAAO,gBAAiBH,EAAe,sBACxDlB,GAASpR,EAAQyS,MAAO,mBAAoBH,EAAe,yBAC3DlB,GAASpR,EAAQyS,MAAO,mBAAoBH,EAAe,yBAC3DlB,GAASpR,EAAQ0S,OAAQ,YAAaJ,EAAe,qBACrDlB,GAASpR,EAAQ2S,OAAQ,YAAaL,EAAe,qBACrDlB,GAASpR,EAAQ4S,OAAQ,qBAAsBN,EAAe,qBAC9DlB,GAASpR,EAAQ4S,OAAQ,0BAA2BN,EAAe,sBACnElB,GAASpR,EAAQ6S,KAAM,gBAAiBP,EAAe,qBACvDlB,GAASpR,EAAQ6S,KAAM,qBAAsBP,EAAe,qBAC5DlB,GAASpR,EAAQ6S,KAAM,mBAAoBP,EAAe,qBAC1DlB,GAASpR,EAAQ8S,YAAa,KAAM,uBACpC1B,GAASpR,EAAQ8S,YAAa,UAAW,uBACzC1B,GAASpR,EAAQ8S,YAAa,aAAc,uBAC5C1B,GAASpR,EAAQ+S,eAAgB,YAAa,GAAY/S,EAAQmF,QAAQ4B,KAAM,MAChFqK,GAASpR,EAAQ+S,eAAgB,cAAe,GAAY/S,EAAQoF,UAAU2B,KAAM,MACpFqK,GAASpR,EAAQ+S,eAAgB,UAAW,GAAY/S,EAAQ2D,MAAMoD,KAAM,MAC5EqK,GAASpR,EAAQ+S,eAAgB,SAAU,GAAY/S,EAAQqH,KAAKN,KAAM,MAC1EqK,GAASpR,EAAQ+S,eAAgB,YAAa,GAAY/S,EAAQuH,QAAQR,KAAM,MAChFqK,GAASpR,EAAQ+S,eAAgB,YAAa,GAAY/S,EAAQuD,QAAQwD,KAAM,MAChFqK,GAASpR,EAAQgT,SAAU,KAAM,QAAQV,EAAe,0CACxDlB,GAASpR,EAAQiT,OAAQ,eAAgB,GAAYjT,EAAQmF,QAAQ4B,KAAM,MAC3EqK,GAASpR,EAAQiT,OAAQ,iBAAkB,GAAYjT,EAAQoF,UAAU2B,KAAM,MAC/EqK,GAASpR,EAAQiT,OAAQ,aAAc,GAAYjT,EAAQ2D,MAAMoD,KAAM,MACvEqK,GAASpR,EAAQiT,OAAQ,YAAa,GAAYjT,EAAQqH,KAAKN,KAAM,MACrEqK,GAASpR,EAAQiT,OAAQ,eAAgB,GAAYjT,EAAQuH,QAAQR,KAAM,MAC3EqK,GAASpR,EAAQiT,OAAQ,eAAgB,GAAYjT,EAAQuD,QAAQwD,KAAM,MAC3E,MAAMmM,EAA4B,GAAclT,EAAQuF,WAAWE,QAAS,IAC5E2L,GAASpR,EAAQmT,gBAAiB,KAAMD,GACxC9B,GAASpR,EAAQmT,gBAAiB,QAAS5B,IAAO,IAAMvR,EAAQ0H,gBAAgBwL,MAChF9B,GAASpR,EAAQoT,gBAAiB,aAAc,GAAcpT,EAAQuF,WAAWC,MAAO,MACxF4L,GAASpR,EAAQqT,cAAe,SAAUf,EAAe,qBACzDlB,GAASpR,EAAQsT,YAAa,SAAUhB,EAAe,qBACvDlB,GAASpR,EAAQuT,OAAQ,eAAgBjB,EAAe,yBACxDlB,GAASpR,EAAQuT,OAAQ,uBAAwBjB,EAAe,qBAChElB,GAASpR,EAAQuT,OAAQ,uBAAwB,GAAYvT,EAAQmF,QAAQ4B,KAAM,MACnFqK,GAASpR,EAAQuT,OAAQ,yBAA0B,GAAYvT,EAAQoF,UAAU2B,KAAM,MACvFqK,GAASpR,EAAQuT,OAAQ,qBAAsB,GAAYvT,EAAQ2D,MAAMoD,KAAM,MAC/EqK,GAASpR,EAAQuT,OAAQ,oBAAqB,GAAYvT,EAAQqH,KAAKN,KAAM,MAC7EqK,GAASpR,EAAQuT,OAAQ,uBAAwB,GAAYvT,EAAQuH,QAAQR,KAAM,MACnFqK,GAASpR,EAAQuT,OAAQ,uBAAwB,GAAYvT,EAAQuD,QAAQwD,KAAM,MACnFqK,GAASpR,EAAQwT,UAAW,SAAU,GAAY,GAAUxT,EAAQsF,QAAS,GAAI,MACjF8L,GAASpR,EAAQyT,QAAS,KAAM,GAAUzT,EAAQuI,KAAK,KAAM,KAC/D,CACA,GAAqB,SAAjBvI,EAAQC,KAAiB,CAC3BmR,GAASpR,EAAQyS,MAAO,aAAc,GAAYzS,EAAQ2D,MAAM0C,MAAO,KACvE+K,GAASpR,EAAQyS,MAAO,YAAa,GAAYzS,EAAQqH,KAAKhB,MAAO,KACrE+K,GAASpR,EAAQyS,MAAO,eAAgB,GAAYzS,EAAQuH,QAAQlB,MAAO,KAC3E+K,GAASpR,EAAQyS,MAAO,eAAgB,GAAYzS,EAAQuD,QAAQ8C,MAAO,KAC3E+K,GAASpR,EAAQyS,MAAO,gBAAiBH,EAAe,uBACxDlB,GAASpR,EAAQyS,MAAO,eAAgBH,EAAe,sBACvDlB,GAASpR,EAAQyS,MAAO,kBAAmBH,EAAe,yBAC1DlB,GAASpR,EAAQyS,MAAO,kBAAmBH,EAAe,yBAC1DlB,GAASpR,EAAQyS,MAAO,mBAAoBlB,IAAO,IAAMvR,EAAQ0H,gBAAgB1H,EAAQ2D,MAAM6C,SAC/F4K,GAASpR,EAAQyS,MAAO,kBAAmBlB,IAAO,IAAMvR,EAAQ0H,gBAAgB1H,EAAQqH,KAAKb,SAC7F4K,GAASpR,EAAQyS,MAAO,qBAAsBlB,IAAO,IAAMvR,EAAQ0H,gBAAgB1H,EAAQuH,QAAQf,SACnG4K,GAASpR,EAAQyS,MAAO,qBAAsBlB,IAAO,IAAMvR,EAAQ0H,gBAAgB1H,EAAQuD,QAAQiD,SACnG4K,GAASpR,EAAQyS,MAAO,kBAAmB,GAAWzS,EAAQ2D,MAAM0C,MAAO,KAC3E+K,GAASpR,EAAQyS,MAAO,iBAAkB,GAAWzS,EAAQqH,KAAKhB,MAAO,KACzE+K,GAASpR,EAAQyS,MAAO,oBAAqB,GAAWzS,EAAQuH,QAAQlB,MAAO,KAC/E+K,GAASpR,EAAQyS,MAAO,oBAAqB,GAAWzS,EAAQuD,QAAQ8C,MAAO,KAC/E+K,GAASpR,EAAQyS,MAAO,iBAAkBH,EAAe,uBACzDlB,GAASpR,EAAQyS,MAAO,gBAAiBH,EAAe,sBACxDlB,GAASpR,EAAQyS,MAAO,mBAAoBH,EAAe,yBAC3DlB,GAASpR,EAAQyS,MAAO,mBAAoBH,EAAe,yBAC3DlB,GAASpR,EAAQ0S,OAAQ,YAAaJ,EAAe,qBACrDlB,GAASpR,EAAQ0S,OAAQ,SAAUJ,EAAe,6BAClDlB,GAASpR,EAAQ0S,OAAQ,YAAaJ,EAAe,yBACrDlB,GAASpR,EAAQ2S,OAAQ,YAAaL,EAAe,qBACrDlB,GAASpR,EAAQ4S,OAAQ,qBAAsBN,EAAe,qBAC9DlB,GAASpR,EAAQ4S,OAAQ,0BAA2BN,EAAe,qBACnElB,GAASpR,EAAQ6S,KAAM,gBAAiBP,EAAe,qBACvDlB,GAASpR,EAAQ6S,KAAM,qBAAsBP,EAAe,qBAC5DlB,GAASpR,EAAQ6S,KAAM,mBAAoBP,EAAe,qBAC1DlB,GAASpR,EAAQ8S,YAAa,KAAM,6BACpC1B,GAASpR,EAAQ8S,YAAa,UAAW,6BACzC1B,GAASpR,EAAQ8S,YAAa,aAAc,6BAC5C1B,GAASpR,EAAQ+S,eAAgB,YAAa,GAAW/S,EAAQmF,QAAQ4B,KAAM,KAC/EqK,GAASpR,EAAQ+S,eAAgB,cAAe,GAAW/S,EAAQoF,UAAU2B,KAAM,KACnFqK,GAASpR,EAAQ+S,eAAgB,UAAW,GAAW/S,EAAQ2D,MAAMoD,KAAM,KAC3EqK,GAASpR,EAAQ+S,eAAgB,SAAU,GAAW/S,EAAQqH,KAAKN,KAAM,KACzEqK,GAASpR,EAAQ+S,eAAgB,YAAa,GAAW/S,EAAQuH,QAAQR,KAAM,KAC/EqK,GAASpR,EAAQ+S,eAAgB,YAAa,GAAW/S,EAAQuD,QAAQwD,KAAM,KAC/EqK,GAASpR,EAAQgT,SAAU,KAAM,QAAQV,EAAe,0CACxDlB,GAASpR,EAAQiT,OAAQ,eAAgB,GAAWjT,EAAQmF,QAAQ4B,KAAM,KAC1EqK,GAASpR,EAAQiT,OAAQ,iBAAkB,GAAWjT,EAAQoF,UAAU2B,KAAM,KAC9EqK,GAASpR,EAAQiT,OAAQ,aAAc,GAAWjT,EAAQ2D,MAAMoD,KAAM,KACtEqK,GAASpR,EAAQiT,OAAQ,YAAa,GAAWjT,EAAQqH,KAAKN,KAAM,KACpEqK,GAASpR,EAAQiT,OAAQ,eAAgB,GAAWjT,EAAQuH,QAAQR,KAAM,KAC1EqK,GAASpR,EAAQiT,OAAQ,eAAgB,GAAWjT,EAAQuD,QAAQwD,KAAM,KAC1E,MAAMmM,EAA4B,GAAclT,EAAQuF,WAAWE,QAAS,KAC5E2L,GAASpR,EAAQmT,gBAAiB,KAAMD,GACxC9B,GAASpR,EAAQmT,gBAAiB,QAAS5B,IAAO,IAAMvR,EAAQ0H,gBAAgBwL,MAChF9B,GAASpR,EAAQoT,gBAAiB,aAAc,GAAcpT,EAAQuF,WAAWC,MAAO,MACxF4L,GAASpR,EAAQqT,cAAe,SAAUf,EAAe,qBACzDlB,GAASpR,EAAQsT,YAAa,SAAUhB,EAAe,qBACvDlB,GAASpR,EAAQuT,OAAQ,eAAgBjB,EAAe,qBACxDlB,GAASpR,EAAQuT,OAAQ,uBAAwBjB,EAAe,qBAChElB,GAASpR,EAAQuT,OAAQ,uBAAwB,GAAWvT,EAAQmF,QAAQ4B,KAAM,MAClFqK,GAASpR,EAAQuT,OAAQ,yBAA0B,GAAWvT,EAAQoF,UAAU2B,KAAM,MACtFqK,GAASpR,EAAQuT,OAAQ,qBAAsB,GAAWvT,EAAQ2D,MAAMoD,KAAM,MAC9EqK,GAASpR,EAAQuT,OAAQ,oBAAqB,GAAWvT,EAAQqH,KAAKN,KAAM,MAC5EqK,GAASpR,EAAQuT,OAAQ,uBAAwB,GAAWvT,EAAQuH,QAAQR,KAAM,MAClFqK,GAASpR,EAAQuT,OAAQ,uBAAwB,GAAWvT,EAAQuD,QAAQwD,KAAM,MAClFqK,GAASpR,EAAQwT,UAAW,SAAU,GAAW,GAAUxT,EAAQsF,QAAS,GAAI,MAChF8L,GAASpR,EAAQyT,QAAS,KAAM,GAAUzT,EAAQuI,KAAK,KAAM,KAC/D,CAGA+I,GAAgBtR,EAAQuF,WAAY,WAGpC+L,GAAgBtR,EAAQuF,WAAY,SACpC+L,GAAgBtR,EAAQsI,OAAQ,cAChCgJ,GAAgBtR,EAAQsI,OAAQ,gBAChCgJ,GAAgBtR,EAAS,WACzBxiB,OAAO6T,KAAK2O,GAASjjB,SAAQ4c,IAC3B,MAAMkJ,EAAS7C,EAAQrG,GAIT,gBAAVA,GAA2BkJ,GAA4B,iBAAXA,IAE1CA,EAAOkE,MACTqK,GAASpR,EAAQrG,GAAQ,cAAe,GAAiB0X,GAAMxO,EAAOkE,QAEpElE,EAAOwD,OACT+K,GAASpR,EAAQrG,GAAQ,eAAgB,GAAiB0X,GAAMxO,EAAOwD,SAErExD,EAAO2D,MACT4K,GAASpR,EAAQrG,GAAQ,cAAe,GAAiB0X,GAAMxO,EAAO2D,QAEpE3D,EAAO8E,cACTyJ,GAASpR,EAAQrG,GAAQ,sBAAuB,GAAiB0X,GAAMxO,EAAO8E,gBAElE,SAAVhO,IAEF2X,GAAgBtR,EAAQrG,GAAQ,WAChC2X,GAAgBtR,EAAQrG,GAAQ,cAEpB,WAAVA,IAEEkJ,EAAO8C,QACT2L,GAAgBtR,EAAQrG,GAAQ,UAE9BkJ,EAAOiD,UACTwL,GAAgBtR,EAAQrG,GAAQ,aAGtC,GACA,IAEJ1J,EAAQrT,EAAK4V,QAAO,CAACC,EAAKuF,IAAa,GAAUvF,EAAKuF,IAAW/H,GACjE,MAAM6Z,EAAe,CACnBrB,OAAQwI,EACRhH,wBACAX,0BACAS,YAAa,GAAmB9Z,KAE5B,KACJkF,EAAI,kBACJ4V,EAAiB,oBACjBE,GACE,GAAehb,EAAO6Z,GAyB1B,OAxBA7Z,EAAMkF,KAAOA,EACb3X,OAAOsrB,QAAQ7Y,EAAM6P,aAAa7P,EAAMka,qBAAqBptB,SAAQ,EAAEe,EAAKmD,MAC1EgP,EAAMnS,GAAOmD,CAAK,IAEpBgP,EAAM8a,kBAAoBA,EAC1B9a,EAAMgb,oBAAsBA,EAC5Bhb,EAAMyjB,gBAAkB,WACtB,OAAO9b,GAAckJ,EAAMnJ,QAASR,GAAmBhZ,MACzD,EACA8R,EAAM8P,uBChXD,SAAsCzY,GAC3C,OAAO,SAAgCujB,GACrC,MAAiB,UAAbvjB,EAMK,iCAAiCujB,KAEtCvjB,EACEA,EAASwM,WAAW,WAAaxM,EAASkN,SAAS,MAC9C,IAAIlN,MAAaujB,QAET,UAAbvjB,EACK,IAAIujB,MAEI,SAAbvjB,EACK,SAASujB,OAEX,GAAGvjB,EAASlG,QAAQ,KAAMypB,OAE5B,GACT,CACF,CDwViC8I,CAA6BrsB,GAC5D2I,EAAM0H,QAAU1H,EAAMyjB,kBACtBzjB,EAAMqZ,wBAA0BA,EAChCrZ,EAAMqO,kBAAoB,IACrB,MACAwC,GAAOxC,mBAEZrO,EAAM2Q,YAAc,SAAYte,GAC9B,OAAO,GAAgB,CACrB+b,GAAI/b,EACJ2N,MAAO9R,MAEX,EACA8R,EAAMkgB,gBAAkBX,GAEjBvf,CACT,CE5XA,SAAS,GAAkBA,EAAO2a,EAAQC,GACnC5a,EAAM6P,cAGP+K,IACF5a,EAAM6P,aAAa8K,GAAU,KACP,IAAhBC,GAAwBA,EAC5B7K,QAASgH,GAAc,KACD,IAAhB6D,EAAuB,CAAC,EAAIA,EAAY7K,QAC5CC,KAAM2K,KAId,CCfA,MAAMgJ,GDuBS,SAAqBv1B,EAAU,CAAC,KAE5CzB,GACD,MAAM,QACJojB,EAAO,aACP6T,GAAe,EACf/T,aAAcgU,GAAuB9T,OAEjC7gB,EAF2C,CAC7CknB,OAAO,IAET8D,mBAAoB4J,EAA4B/T,GAASC,QACtD0R,GACDtzB,EACE0zB,EAA0BgC,GAA6B,QACvDrJ,EAAgBoJ,IAAsB/B,GACtCD,EAAoB,IACrBgC,KACC9T,EAAU,CACZ,CAAC+R,GAA0B,IACI,kBAAlBrH,GAA+BA,EAC1C1K,iBAEA7gB,GAEN,IAAqB,IAAjB00B,EAAwB,CAC1B,KAAM,iBAAkBx1B,GAEtB,OAAO,GAAkBA,KAAYzB,GAEvC,IAAIo3B,EAAiBhU,EACf,YAAa3hB,GACbyzB,EAAkBC,MAC+B,IAA/CD,EAAkBC,GACpBiC,EAAiBlC,EAAkBC,GAAyB/R,QACvB,SAA5B+R,IAETiC,EAAiB,CACf/T,KAAM,UAKd,MAAMhQ,EAAQ,GAAkB,IAC3B5R,EACH2hB,QAASgU,MACLp3B,GAiBN,OAhBAqT,EAAMka,mBAAqB4H,EAC3B9hB,EAAM6P,aAAegS,EACM,UAAvB7hB,EAAM+P,QAAQC,OAChBhQ,EAAM6P,aAAauG,MAAQ,KACO,IAA5ByL,EAAkBzL,OAAkByL,EAAkBzL,MAC1DrG,QAAS/P,EAAM+P,SAEjB,GAAkB/P,EAAO,OAAQ6hB,EAAkBtL,OAE1B,SAAvBvW,EAAM+P,QAAQC,OAChBhQ,EAAM6P,aAAa0G,KAAO,KACO,IAA3BsL,EAAkBtL,MAAiBsL,EAAkBtL,KACzDxG,QAAS/P,EAAM+P,SAEjB,GAAkB/P,EAAO,QAAS6hB,EAAkBzL,QAE/CpW,CACT,CAIA,OAHK+P,GAAa,UAAW8R,GAAkD,UAA5BC,IACjDD,EAAkBzL,OAAQ,GAErBwL,GAAoB,IACtBF,EACH7R,aAAcgS,EACd3H,mBAAoB4H,KACQ,kBAAjB8B,GAA8BA,MACrCj3B,EACR,CC/FqB,GCCrB,OAHA,SAA+BwR,GAC7B,MAAgB,eAATA,GAAkC,UAATA,GAA6B,OAATA,GAA0B,OAATA,CACvE,ECKA,MAAM6lB,GjCqFS,SAAsBnT,EAAQ,CAAC,GAC5C,MAAM,QACJoT,EAAO,aACPN,EAAe1S,GAAkB,sBACjCiT,EAAwBzlB,GAAiB,sBACzC0lB,EAAwB1lB,IACtBoS,EACJ,SAASuT,EAAiB/xB,IA5E5B,SAAqBA,EAAO4xB,EAASN,GACnCtxB,EAAM2N,MAqOR,SAAuBkP,GAErB,IAAK,MAAMkR,KAAKlR,EACd,OAAO,EAET,OAAO,CACT,CA3OgBmV,CAAchyB,EAAM2N,OAAS2jB,EAAetxB,EAAM2N,MAAMikB,IAAY5xB,EAAM2N,KAC1F,CA2EIskB,CAAYjyB,EAAO4xB,EAASN,EAC9B,CAqIA,MApIe,CAACp1B,EAAKg2B,EAAe,CAAC,MrB5EhC,SAA+Bh2B,EAAKi2B,GAGrCp4B,MAAMC,QAAQkC,EAAIwN,oBACpBxN,EAAIwN,iBAAmByoB,EAAUj2B,EAAIwN,kBAEzC,CqByEI,CAAaxN,GAAKiJ,GAAUA,EAAOgY,QAAO3K,GAASA,IAAU,OAC7D,MACEnN,KAAMua,EACNd,KAAMe,EACNuS,qBAAsBC,EACtBC,OAAQC,EAAW,kBAGnBC,EAAoB3T,GAAyBiB,GAAqBD,OAC/D9jB,GACDm2B,EAGEE,OAAqDv1B,IAA9Bw1B,EAA0CA,EAGvExS,GAAmC,SAAlBA,GAA8C,SAAlBA,IAA4B,EACnEyS,EAASC,IAAe,EAC9B,IAAIE,EAA0BrmB,GAIR,SAAlByT,GAA8C,SAAlBA,EAC9B4S,EAA0BZ,EACjBhS,EAET4S,EAA0BX,EAmIhC,SAAqB51B,GACnB,MAAsB,iBAARA,GAIdA,EAAIiD,WAAW,GAAK,EACtB,CAxIeuM,CAAYxP,KAErBu2B,OAA0B51B,GAE5B,MAAM61B,ErB/HK,SAAgBx2B,EAAKH,GAalC,OAZsB,GAASG,EAAKH,EAatC,CqBiHkC,CAAmBG,EAAK,CACpDkQ,kBAAmBqmB,EACnBzlB,MAAO2S,GAAoBC,EAAeC,MACvC9jB,IAEC42B,EAAiBngB,IAIrB,GAAqB,mBAAVA,GAAwBA,EAAM3F,iBAAmB2F,EAC1D,OAAO,SAAgCxS,GACrC,OAAOgf,GAAahf,EAAOwS,EAC7B,EAEF,GAAIhE,GAAcgE,GAAQ,CACxB,MAAMvN,EAAasZ,GAAiB/L,GACpC,OAAKvN,EAAWwZ,SAGT,SAA8Bze,GACnC,OAAOgf,GAAahf,EAAOiF,EAC7B,EAJSA,EAAWuN,KAKtB,CACA,OAAOA,CAAK,EAERogB,EAAoB,IAAIC,KAC5B,MAAMC,EAAkB,GAClBC,EAAkBF,EAAiB/uB,IAAI6uB,GACvCK,EAAkB,GAsCxB,GAlCAF,EAAgBn2B,KAAKo1B,GACjBnS,GAAiB4S,GACnBQ,EAAgBr2B,MAAK,SAA6BqD,GAChD,MAAM2N,EAAQ3N,EAAM2N,MACdslB,EAAiBtlB,EAAMqQ,aAAa4B,IAAgBqT,eAC1D,IAAKA,EACH,OAAO,KAET,MAAMC,EAAyB,CAAC,EAIhC,IAAK,MAAMC,KAAWF,EACpBC,EAAuBC,GAAWnU,GAAahf,EAAOizB,EAAeE,IAEvE,OAAOX,EAAkBxyB,EAAOkzB,EAClC,IAEEtT,IAAkBwS,GACpBY,EAAgBr2B,MAAK,SAA4BqD,GAC/C,MAAM2N,EAAQ3N,EAAM2N,MACdylB,EAAgBzlB,GAAOqQ,aAAa4B,IAAgBnB,SAC1D,OAAK2U,EAGE9T,GAAqBtf,EAAOozB,GAF1B,IAGX,IAEGd,GACHU,EAAgBr2B,KAAK,IAKnB5C,MAAMC,QAAQ+4B,EAAgB,IAAK,CACrC,MAAMM,EAAeN,EAAgBjS,QAI/BwS,EAAmB,IAAIv5B,MAAM+4B,EAAgB54B,QAAQq5B,KAAK,IAC1DC,EAAmB,IAAIz5B,MAAMi5B,EAAgB94B,QAAQq5B,KAAK,IAChE,IAAIE,EAGFA,EAAgB,IAAIH,KAAqBD,KAAiBG,GAC1DC,EAAchpB,IAAM,IAAI6oB,KAAqBD,EAAa5oB,OAAQ+oB,GAIpEV,EAAgBY,QAAQD,EAC1B,CACA,MAAME,EAAc,IAAIb,KAAoBC,KAAoBC,GAC1DY,EAAYlB,KAAyBiB,GAO3C,OANIz3B,EAAI23B,UACND,EAAUC,QAAU33B,EAAI23B,SAKnBD,CAAS,EAKlB,OAHIlB,EAAsBoB,aACxBlB,EAAkBkB,WAAapB,EAAsBoB,YAEhDlB,CAAiB,CAG5B,CiCpOe,CAAa,CAC1BhB,QCTF,aDUEN,aFNF,GEOEO,sBEV4B/lB,GAAQ,GAAsBA,IAAkB,YAATA,IFYrE,UGPA,MAAMpR,GAAM,CACViT,WAAO9Q,GCLT,ODYe,SAA4Bk3B,GACzC,IAAIC,EACAC,EACJ,OAAO,SAAuBj0B,GAC5B,IAAIrB,EAAQq1B,EAOZ,YANcn3B,IAAV8B,GAAuBqB,EAAM2N,QAAUsmB,IACzCv5B,GAAIiT,MAAQ3N,EAAM2N,MAClBhP,EAAQ4f,GAAiBwV,EAAQr5B,KACjCs5B,EAAYr1B,EACZs1B,EAAYj0B,EAAM2N,OAEbhP,CACT,CACF,EErBe,SAASu1B,GAAalmB,EAAchO,GACjD,MAAMmB,EAAS,IACVnB,GAEL,IAAK,MAAMxE,KAAOwS,EAChB,GAAI9S,OAAOO,UAAUC,eAAeC,KAAKqS,EAAcxS,GAAM,CAC3D,MAAM+Q,EAAW/Q,EACjB,GAAiB,eAAb+Q,GAA0C,UAAbA,EAC/BpL,EAAOoL,GAAY,IACdyB,EAAazB,MACbpL,EAAOoL,SAEP,GAAiB,oBAAbA,GAA+C,cAAbA,EAA0B,CACrE,MAAM4nB,EAAmBnmB,EAAazB,GAChC6nB,EAAYp0B,EAAMuM,GACxB,GAAK6nB,EAEE,GAAKD,EAEL,CACLhzB,EAAOoL,GAAY,IACd6nB,GAEL,IAAK,MAAMjB,KAAWgB,EACpB,GAAIj5B,OAAOO,UAAUC,eAAeC,KAAKw4B,EAAkBhB,GAAU,CACnE,MAAMkB,EAAelB,EACrBhyB,EAAOoL,GAAU8nB,GAAgBH,GAAaC,EAAiBE,GAAeD,EAAUC,GAC1F,CAEJ,MAXElzB,EAAOoL,GAAY6nB,OAFnBjzB,EAAOoL,GAAY4nB,GAAoB,CAAC,CAc5C,WAAgCt3B,IAArBsE,EAAOoL,KAChBpL,EAAOoL,GAAYyB,EAAazB,GAEpC,CAEF,OAAOpL,CACT,gBCpCA,MAAMmzB,GAA4B,qBAAoBz3B,GA4C/C,SAAS03B,IAAgB,MAC9Bv0B,EAAK,KACLqF,IAGA,OAzBF,SAAuBmvB,GACrB,MAAM,MACJ7mB,EAAK,KACLtI,EAAI,MACJrF,GACEw0B,EACJ,IAAK7mB,IAAUA,EAAMqQ,aAAerQ,EAAMqQ,WAAW3Y,GACnD,OAAOrF,EAET,MAAM8b,EAASnO,EAAMqQ,WAAW3Y,GAChC,OAAIyW,EAAO9N,aAEFkmB,GAAapY,EAAO9N,aAAchO,GAEtC8b,EAAOmX,gBAAmBnX,EAAO2C,SAI/Bze,EAFEk0B,GAAapY,EAAQ9b,EAGhC,CAMSy0B,CAAc,CACnBz0B,QACAqF,OACAsI,MAAO,CACLqQ,WALQ,aAAiBsW,MAQ/B,CC9DA,MAAMI,GAAmB9U,GAAiBA,EAgB1C,OAfiC,MAC/B,IAAI+U,EAAWD,GACf,MAAO,CACL,SAAAE,CAAUC,GACRF,EAAWE,CACb,EACA,QAAAF,CAAS/U,GACP,OAAO+U,EAAS/U,EAClB,EACA,KAAAkV,GACEH,EAAWD,EACb,EACD,EAEwBK,GCdpB,MAAMC,GAAqB,CAChC3R,OAAQ,SACR4R,QAAS,UACTC,UAAW,YACXnS,SAAU,WACV1B,MAAO,QACP8T,SAAU,WACVC,QAAS,UACTC,aAAc,eACdC,KAAM,OACNC,SAAU,WACVC,SAAU,WACVhS,SAAU,YAEG,SAASiS,GAAqB7V,EAAed,EAAM4W,EAAoB,OACpF,MAAMC,EAAmBX,GAAmBlW,GAC5C,OAAO6W,EAAmB,GAAGD,KAAqBC,IAAqB,GAAG,GAAmBhB,SAAS/U,MAAkBd,GAC1H,CChBO,SAAS8W,GAAuB9W,GACrC,OAAO2W,GAAqB,aAAc3W,EAC5C,ECHe,SAAgCc,EAAeiW,EAAOH,EAAoB,OACvF,MAAMtrB,EAAS,CAAC,EAChByrB,EAAMp7B,SAAQqkB,IACZ1U,EAAO0U,GAAQ2W,GAAqB7V,EAAed,EAAM4W,EAAkB,GAG/E,CDFuBI,CAAuB,aAAc,CAAC,OAAQ,eAAgB,iBAAkB,cAAe,aAAc,gBAAiB,kBAAmB,gBAAiB,iBAAkB,kBEO3M,MAWMC,GAAc,GAAO,MAAO,CAChC1wB,KAAM,aACNyZ,KAAM,OACN0T,kBAAmB,CAACxyB,EAAOmF,KACzB,MAAM,WACJua,GACE1f,EACJ,MAAO,CAACmF,EAAOtF,KAA2B,YAArB6f,EAAWrI,OAAuBlS,EAAO,QAAQ,EAAWua,EAAWrI,UAAWlS,EAAO,WAAW,EAAWua,EAAWpE,aAAa,GAP5I,CASjB,IAAU,EACX3N,YACI,CACJqoB,WAAY,OACZjf,MAAO,MACPG,OAAQ,MACRuC,QAAS,eACTpT,WAAY,EACZ4vB,WAAYtoB,EAAM6f,aAAa/kB,SAAS,OAAQ,CAC9C6iB,UAAW3d,EAAMkF,MAAQlF,GAAO6f,aAAalC,UAAUE,UAEzD/M,SAAU,CAAC,CACTze,MAAOA,IAAUA,EAAMk2B,cACvB1jB,MAAO,CAGL+gB,KAAM,iBAEP,CACDvzB,MAAO,CACLsb,SAAU,WAEZ9I,MAAO,CACL8I,SAAU,YAEX,CACDtb,MAAO,CACLsb,SAAU,SAEZ9I,MAAO,CACL8I,SAAU3N,EAAMgO,YAAYkO,UAAU,KAAO,YAE9C,CACD7pB,MAAO,CACLsb,SAAU,UAEZ9I,MAAO,CACL8I,SAAU3N,EAAMgO,YAAYkO,UAAU,KAAO,WAE9C,CACD7pB,MAAO,CACLsb,SAAU,SAEZ9I,MAAO,CACL8I,SAAU3N,EAAMgO,YAAYkO,UAAU,KAAO,iBAI9C3uB,OAAOsrB,SAAS7Y,EAAMkF,MAAQlF,GAAO+P,SAASP,QAAO,EAAE,CAAExe,KAAWA,GAASA,EAAM8lB,OAAM3gB,KAAI,EAAEuT,MAAW,CAC3GrX,MAAO,CACLqX,SAEF7E,MAAO,CACL6E,OAAQ1J,EAAMkF,MAAQlF,GAAO+P,UAAUrG,IAAQoN,UAE9C,CACHzkB,MAAO,CACLqX,MAAO,UAET7E,MAAO,CACL6E,OAAQ1J,EAAMkF,MAAQlF,GAAO+P,SAAS0F,QAAQC,SAE/C,CACDrjB,MAAO,CACLqX,MAAO,YAET7E,MAAO,CACL6E,OAAQ1J,EAAMkF,MAAQlF,GAAO+P,SAAS0F,QAAQL,WAE/C,CACD/iB,MAAO,CACLqX,MAAO,WAET7E,MAAO,CACL6E,WAAOxa,UAIPs5B,GAAuB,cAAiB,SAAiBC,EAAS7qB,GACtE,MAAMvL,ECpFC,GDoFuB,CAC5BA,MAAOo2B,EACP/wB,KAAM,eAER,MAAM,SACJpF,EAAQ,UACR0L,EAAS,MACT0L,EAAQ,UAAS,UACjBgf,EAAY,MAAK,SACjB/a,EAAW,SAAQ,UACnBgb,EAAS,eACTC,GAAiB,EAAK,YACtBC,EAAW,QACXC,EAAU,eACP9mB,GACD3P,EACEk2B,EAA6B,iBAAqBj2B,IAA+B,QAAlBA,EAASF,KACxE2f,EAAa,IACd1f,EACHqX,QACAgf,YACA/a,WACAob,iBAAkBN,EAAQ9a,SAC1Bib,iBACAE,UACAP,iBAEIS,EAAO,CAAC,EACTJ,IACHI,EAAKF,QAAUA,GAEjB,MAAMG,EAlIkBlX,KACxB,MAAM,MACJrI,EAAK,SACLiE,EAAQ,QACRsb,GACElX,EAIJ,OEYa,SAAwBmW,EAAOgB,EAAiBD,GAC7D,MAAMz1B,EAAS,CAAC,EAChB,IAAK,MAAM21B,KAAYjB,EAAO,CAC5B,MAAM/W,EAAO+W,EAAMiB,GACnB,IAAIC,EAAS,GACTvmB,GAAQ,EACZ,IAAK,IAAIlV,EAAI,EAAGA,EAAIwjB,EAAK5kB,OAAQoB,GAAK,EAAG,CACvC,MAAMqD,EAAQmgB,EAAKxjB,GACfqD,IACFo4B,KAAqB,IAAVvmB,EAAiB,GAAK,KAAOqmB,EAAgBl4B,GACxD6R,GAAQ,EACJomB,GAAWA,EAAQj4B,KACrBo4B,GAAU,IAAMH,EAAQj4B,IAG9B,CACAwC,EAAO21B,GAAYC,CACrB,CACA,OAAO51B,CACT,CF/BS61B,CAHO,CACZn3B,KAAM,CAAC,OAAkB,YAAVwX,GAAuB,QAAQ,EAAWA,KAAU,WAAW,EAAWiE,OAE9Dsa,GAAwBgB,EAAQ,EAyH7CK,CAAkBvX,GAClC,OAAoB,WAAMqW,GAAa,CACrCtoB,GAAI4oB,EACJ1qB,UAAW,EAAKirB,EAAQ/2B,KAAM8L,GAC9BurB,UAAW,QACX7f,MAAOif,EACP,eAAeE,QAAc35B,EAC7Bs6B,KAAMX,EAAc,WAAQ35B,EAC5B0O,IAAKA,KACForB,KACAhnB,KACCumB,GAAiBj2B,EAASD,MAC9B0f,WAAYA,EACZzf,SAAU,CAACi2B,EAAgBj2B,EAASD,MAAMC,SAAWA,EAAUu2B,GAA2B,UAAK,QAAS,CACtGv2B,SAAUu2B,IACP,OAET,IAyEAL,GAAQtC,QAAU,UAClB,UGhOe,SAASuD,GAAczkB,EAAM5E,GAC1C,SAAS6lB,EAAU5zB,EAAOuL,GACxB,OAAoB,UAAK,GAAS,CAChC,cAAe,GAAGwC,QAClBxC,IAAKA,KACFvL,EACHC,SAAU0S,GAEd,CAOA,OADAihB,EAAUC,QAAU,GAAQA,QACR,OAAwB,aAAiBD,GAC/D,wBCzBAyD,EAAOC,QAAU,EAAjB,yCCEA,IAAIC,EAAQ,EAAQ,MAChBC,EAAS,EAAQ,MACjBC,EAAU,EAAQ,MAClBC,EAAW,EAAQ,MACnBC,EAAgB,EAAQ,MACxBC,EAAe,EAAQ,MACvBC,EAAkB,EAAQ,MAC1BC,EAAuB,EAAQ,MAC/BC,EAAa,EAAQ,MACrBC,EAAgB,EAAQ,MACxBC,EAAgB,EAAQ,MAE5BZ,EAAOC,QAAU,SAAoBxb,GACnC,OAAO,IAAIoc,SAAQ,SAA4BC,EAASC,GACtD,IAGIC,EAHAC,EAAcxc,EAAOyc,KACrBC,EAAiB1c,EAAO2c,QACxBC,EAAe5c,EAAO4c,aAE1B,SAASC,IACH7c,EAAO8c,aACT9c,EAAO8c,YAAYC,YAAYR,GAG7Bvc,EAAOgd,QACThd,EAAOgd,OAAOC,oBAAoB,QAASV,EAE/C,CAEId,EAAMyB,WAAWV,IAAgBf,EAAM0B,+BAClCT,EAAe,gBAGxB,IAAIU,EAAU,IAAIC,eAGlB,GAAIrd,EAAOsd,KAAM,CACf,IAAIC,EAAWvd,EAAOsd,KAAKC,UAAY,GACnCC,EAAWxd,EAAOsd,KAAKE,SAAWC,SAASC,mBAAmB1d,EAAOsd,KAAKE,WAAa,GAC3Fd,EAAeiB,cAAgB,SAAWC,KAAKL,EAAW,IAAMC,EAClE,CAEA,IAAIK,EAAWhC,EAAc7b,EAAO8d,QAAS9d,EAAOvhB,KAOpD,SAASs/B,IACP,GAAKX,EAAL,CAIA,IAAIY,EAAkB,0BAA2BZ,EAAUtB,EAAasB,EAAQa,yBAA2B,KAGvGC,EAAW,CACbzB,KAHkBG,GAAiC,SAAjBA,GAA6C,SAAjBA,EACvCQ,EAAQc,SAA/Bd,EAAQe,aAGRC,OAAQhB,EAAQgB,OAChBC,WAAYjB,EAAQiB,WACpB1B,QAASqB,EACThe,OAAQA,EACRod,QAASA,GAGX1B,GAAO,SAAkB74B,GACvBw5B,EAAQx5B,GACRg6B,GACF,IAAG,SAAiByB,GAClBhC,EAAOgC,GACPzB,GACF,GAAGqB,GAGHd,EAAU,IAvBV,CAwBF,CAmEA,GAnGAA,EAAQ5D,KAAKxZ,EAAOue,OAAOr/B,cAAe08B,EAASiC,EAAU7d,EAAO0Y,OAAQ1Y,EAAOwe,mBAAmB,GAGtGpB,EAAQqB,QAAUze,EAAOye,QA+BrB,cAAerB,EAEjBA,EAAQW,UAAYA,EAGpBX,EAAQsB,mBAAqB,WACtBtB,GAAkC,IAAvBA,EAAQuB,aAQD,IAAnBvB,EAAQgB,QAAkBhB,EAAQwB,aAAwD,IAAzCxB,EAAQwB,YAAYz7B,QAAQ,WAKjF07B,WAAWd,EACb,EAIFX,EAAQ0B,QAAU,WACX1B,IAILd,EAAO,IAAIL,EAAW,kBAAmBA,EAAW8C,aAAc/e,EAAQod,IAG1EA,EAAU,KACZ,EAGAA,EAAQ4B,QAAU,WAGhB1C,EAAO,IAAIL,EAAW,gBAAiBA,EAAWgD,YAAajf,EAAQod,EAASA,IAGhFA,EAAU,IACZ,EAGAA,EAAQ8B,UAAY,WAClB,IAAIC,EAAsBnf,EAAOye,QAAU,cAAgBze,EAAOye,QAAU,cAAgB,mBACxFW,EAAepf,EAAOof,cAAgBpD,EACtChc,EAAOmf,sBACTA,EAAsBnf,EAAOmf,qBAE/B7C,EAAO,IAAIL,EACTkD,EACAC,EAAaC,oBAAsBpD,EAAWqD,UAAYrD,EAAW8C,aACrE/e,EACAod,IAGFA,EAAU,IACZ,EAKI3B,EAAM0B,uBAAwB,CAEhC,IAAIoC,GAAavf,EAAOwf,iBAAmBzD,EAAgB8B,KAAc7d,EAAOyf,eAC9E9D,EAAQ+D,KAAK1f,EAAOyf,qBACpB1+B,EAEEw+B,IACF7C,EAAe1c,EAAO2f,gBAAkBJ,EAE5C,CAGI,qBAAsBnC,GACxB3B,EAAM98B,QAAQ+9B,GAAgB,SAA0B1oB,EAAKtU,QAChC,IAAhB88B,GAAqD,iBAAtB98B,EAAIwN,qBAErCwvB,EAAeh9B,GAGtB09B,EAAQwC,iBAAiBlgC,EAAKsU,EAElC,IAIGynB,EAAMoE,YAAY7f,EAAOwf,mBAC5BpC,EAAQoC,kBAAoBxf,EAAOwf,iBAIjC5C,GAAiC,SAAjBA,IAClBQ,EAAQR,aAAe5c,EAAO4c,cAIS,mBAA9B5c,EAAO8f,oBAChB1C,EAAQ2C,iBAAiB,WAAY/f,EAAO8f,oBAIP,mBAA5B9f,EAAOggB,kBAAmC5C,EAAQ6C,QAC3D7C,EAAQ6C,OAAOF,iBAAiB,WAAY/f,EAAOggB,mBAGjDhgB,EAAO8c,aAAe9c,EAAOgd,UAG/BT,EAAa,SAAS2D,GACf9C,IAGLd,GAAQ4D,GAAWA,GAAUA,EAAOj8B,KAAQ,IAAIi4B,EAAkBgE,GAClE9C,EAAQ+C,QACR/C,EAAU,KACZ,EAEApd,EAAO8c,aAAe9c,EAAO8c,YAAYsD,UAAU7D,GAC/Cvc,EAAOgd,SACThd,EAAOgd,OAAOqD,QAAU9D,IAAevc,EAAOgd,OAAO+C,iBAAiB,QAASxD,KAI9EC,IACHA,EAAc,MAGhB,IAAI8D,EAAWnE,EAAc0B,GAEzByC,IAA+D,IAAnD,CAAE,OAAQ,QAAS,QAASn9B,QAAQm9B,GAClDhE,EAAO,IAAIL,EAAW,wBAA0BqE,EAAW,IAAKrE,EAAWsE,gBAAiBvgB,IAM9Fod,EAAQoD,KAAKhE,EACf,GACF,qCC3NA,IAAIf,EAAQ,EAAQ,MAChBn8B,EAAO,EAAQ,MACfmhC,EAAQ,EAAQ,MAChBC,EAAc,EAAQ,MA4B1B,IAAIC,EAnBJ,SAASC,EAAeC,GACtB,IAAIC,EAAU,IAAIL,EAAMI,GACpBE,EAAWzhC,EAAKmhC,EAAM9gC,UAAUy9B,QAAS0D,GAa7C,OAVArF,EAAMuF,OAAOD,EAAUN,EAAM9gC,UAAWmhC,GAGxCrF,EAAMuF,OAAOD,EAAUD,GAGvBC,EAASp0B,OAAS,SAAgBs0B,GAChC,OAAOL,EAAeF,EAAYG,EAAeI,GACnD,EAEOF,CACT,CAGYH,CA3BG,EAAQ,OA8BvBD,EAAMF,MAAQA,EAGdE,EAAMzE,cAAgB,EAAQ,MAC9ByE,EAAMO,YAAc,EAAQ,MAC5BP,EAAMQ,SAAW,EAAQ,MACzBR,EAAMS,QAAU,gBAChBT,EAAMU,WAAa,EAAQ,MAG3BV,EAAM1E,WAAa,EAAQ,MAG3B0E,EAAMW,OAASX,EAAMzE,cAGrByE,EAAMY,IAAM,SAAaC,GACvB,OAAOpF,QAAQmF,IAAIC,EACrB,EACAb,EAAMc,OAAS,EAAQ,MAGvBd,EAAMe,aAAe,EAAQ,MAE7BnG,EAAOC,QAAUmF,EAGjBpF,EAAOC,QAAP,QAAyBmF,qCC7DzB,IAAIzE,EAAgB,EAAQ,MAQ5B,SAASgF,EAAYS,GACnB,GAAwB,mBAAbA,EACT,MAAM,IAAIC,UAAU,gCAGtB,IAAIC,EAEJ9hC,KAAK+hC,QAAU,IAAI1F,SAAQ,SAAyBC,GAClDwF,EAAiBxF,CACnB,IAEA,IAAI53B,EAAQ1E,KAGZA,KAAK+hC,QAAQC,MAAK,SAAS7B,GACzB,GAAKz7B,EAAMu9B,WAAX,CAEA,IAAIxiC,EACAsY,EAAIrT,EAAMu9B,WAAW5jC,OAEzB,IAAKoB,EAAI,EAAGA,EAAIsY,EAAGtY,IACjBiF,EAAMu9B,WAAWxiC,GAAG0gC,GAEtBz7B,EAAMu9B,WAAa,IARU,CAS/B,IAGAjiC,KAAK+hC,QAAQC,KAAO,SAASE,GAC3B,IAAIC,EAEAJ,EAAU,IAAI1F,SAAQ,SAASC,GACjC53B,EAAM27B,UAAU/D,GAChB6F,EAAW7F,CACb,IAAG0F,KAAKE,GAMR,OAJAH,EAAQ5B,OAAS,WACfz7B,EAAMs4B,YAAYmF,EACpB,EAEOJ,CACT,EAEAH,GAAS,SAAgBQ,GACnB19B,EAAM29B,SAKV39B,EAAM29B,OAAS,IAAIlG,EAAciG,GACjCN,EAAep9B,EAAM29B,QACvB,GACF,CAKAlB,EAAYvhC,UAAU0iC,iBAAmB,WACvC,GAAItiC,KAAKqiC,OACP,MAAMriC,KAAKqiC,MAEf,EAMAlB,EAAYvhC,UAAUygC,UAAY,SAAmBkC,GAC/CviC,KAAKqiC,OACPE,EAASviC,KAAKqiC,QAIZriC,KAAKiiC,WACPjiC,KAAKiiC,WAAWnhC,KAAKyhC,GAErBviC,KAAKiiC,WAAa,CAACM,EAEvB,EAMApB,EAAYvhC,UAAUo9B,YAAc,SAAqBuF,GACvD,GAAKviC,KAAKiiC,WAAV,CAGA,IAAI5+B,EAAQrD,KAAKiiC,WAAW7+B,QAAQm/B,IACrB,IAAXl/B,GACFrD,KAAKiiC,WAAWO,OAAOn/B,EAAO,EAHhC,CAKF,EAMA89B,EAAYzhC,OAAS,WACnB,IAAIygC,EAIJ,MAAO,CACLz7B,MAJU,IAAIy8B,GAAY,SAAkBsB,GAC5CtC,EAASsC,CACX,IAGEtC,OAAQA,EAEZ,EAEA3E,EAAOC,QAAU0F,qCCpHjB,IAAIjF,EAAa,EAAQ,MASzB,SAASC,EAAciG,GAErBlG,EAAWp8B,KAAKE,KAAiB,MAAXoiC,EAAkB,WAAaA,EAASlG,EAAWwG,cACzE1iC,KAAKwJ,KAAO,eACd,CAZY,EAAQ,MAcdm5B,SAASxG,EAAeD,EAAY,CACxC0G,YAAY,IAGdpH,EAAOC,QAAUU,iCCnBjBX,EAAOC,QAAU,SAAkB34B,GACjC,SAAUA,IAASA,EAAM8/B,WAC3B,qCCFA,IAAIlH,EAAQ,EAAQ,MAChBG,EAAW,EAAQ,MACnBgH,EAAqB,EAAQ,MAC7BC,EAAkB,EAAQ,MAC1BnC,EAAc,EAAQ,MACtB7E,EAAgB,EAAQ,MACxBiH,EAAY,EAAQ,MAEpBC,EAAaD,EAAUC,WAM3B,SAAStC,EAAMQ,GACblhC,KAAKijC,SAAW/B,EAChBlhC,KAAKkjC,aAAe,CAClB7F,QAAS,IAAIwF,EACb1E,SAAU,IAAI0E,EAElB,CAOAnC,EAAM9gC,UAAUy9B,QAAU,SAAiB8F,EAAaljB,GAG3B,iBAAhBkjB,GACTljB,EAASA,GAAU,CAAC,GACbvhB,IAAMykC,EAEbljB,EAASkjB,GAAe,CAAC,GAG3BljB,EAAS0gB,EAAY3gC,KAAKijC,SAAUhjB,IAGzBue,OACTve,EAAOue,OAASve,EAAOue,OAAOrxB,cACrBnN,KAAKijC,SAASzE,OACvBve,EAAOue,OAASx+B,KAAKijC,SAASzE,OAAOrxB,cAErC8S,EAAOue,OAAS,MAGlB,IAAIa,EAAepf,EAAOof,kBAELr+B,IAAjBq+B,GACF0D,EAAUK,cAAc/D,EAAc,CACpCgE,kBAAmBL,EAAW3D,aAAa2D,EAAWM,SACtDC,kBAAmBP,EAAW3D,aAAa2D,EAAWM,SACtDhE,oBAAqB0D,EAAW3D,aAAa2D,EAAWM,WACvD,GAIL,IAAIE,EAA0B,GAC1BC,GAAiC,EACrCzjC,KAAKkjC,aAAa7F,QAAQz+B,SAAQ,SAAoC8kC,GACjC,mBAAxBA,EAAYC,UAA0D,IAAhCD,EAAYC,QAAQ1jB,KAIrEwjB,EAAiCA,GAAkCC,EAAYE,YAE/EJ,EAAwB3L,QAAQ6L,EAAYG,UAAWH,EAAYI,UACrE,IAEA,IAKI/B,EALAgC,EAA2B,GAO/B,GANA/jC,KAAKkjC,aAAa/E,SAASv/B,SAAQ,SAAkC8kC,GACnEK,EAAyBjjC,KAAK4iC,EAAYG,UAAWH,EAAYI,SACnE,KAIKL,EAAgC,CACnC,IAAIO,EAAQ,CAAClB,OAAiB9hC,GAM9B,IAJA9C,MAAM0B,UAAUi4B,QAAQ93B,MAAMikC,EAAOR,GACrCQ,EAAQA,EAAM96B,OAAO66B,GAErBhC,EAAU1F,QAAQC,QAAQrc,GACnB+jB,EAAM3lC,QACX0jC,EAAUA,EAAQC,KAAKgC,EAAM/e,QAAS+e,EAAM/e,SAG9C,OAAO8c,CACT,CAIA,IADA,IAAIkC,EAAYhkB,EACTujB,EAAwBnlC,QAAQ,CACrC,IAAI6lC,EAAcV,EAAwBve,QACtCkf,EAAaX,EAAwBve,QACzC,IACEgf,EAAYC,EAAYD,EAC1B,CAAE,MAAOze,GACP2e,EAAW3e,GACX,KACF,CACF,CAEA,IACEuc,EAAUe,EAAgBmB,EAC5B,CAAE,MAAOze,GACP,OAAO6W,QAAQE,OAAO/W,EACxB,CAEA,KAAOue,EAAyB1lC,QAC9B0jC,EAAUA,EAAQC,KAAK+B,EAAyB9e,QAAS8e,EAAyB9e,SAGpF,OAAO8c,CACT,EAEArB,EAAM9gC,UAAUwkC,OAAS,SAAgBnkB,GACvCA,EAAS0gB,EAAY3gC,KAAKijC,SAAUhjB,GACpC,IAAI6d,EAAWhC,EAAc7b,EAAO8d,QAAS9d,EAAOvhB,KACpD,OAAOm9B,EAASiC,EAAU7d,EAAO0Y,OAAQ1Y,EAAOwe,iBAClD,EAGA/C,EAAM98B,QAAQ,CAAC,SAAU,MAAO,OAAQ,YAAY,SAA6B4/B,GAE/EkC,EAAM9gC,UAAU4+B,GAAU,SAAS9/B,EAAKuhB,GACtC,OAAOjgB,KAAKq9B,QAAQsD,EAAY1gB,GAAU,CAAC,EAAG,CAC5Cue,OAAQA,EACR9/B,IAAKA,EACLg+B,MAAOzc,GAAU,CAAC,GAAGyc,OAEzB,CACF,IAEAhB,EAAM98B,QAAQ,CAAC,OAAQ,MAAO,UAAU,SAA+B4/B,GAGrE,SAAS6F,EAAmBC,GAC1B,OAAO,SAAoB5lC,EAAKg+B,EAAMzc,GACpC,OAAOjgB,KAAKq9B,QAAQsD,EAAY1gB,GAAU,CAAC,EAAG,CAC5Cue,OAAQA,EACR5B,QAAS0H,EAAS,CAChB,eAAgB,uBACd,CAAC,EACL5lC,IAAKA,EACLg+B,KAAMA,IAEV,CACF,CAEAgE,EAAM9gC,UAAU4+B,GAAU6F,IAE1B3D,EAAM9gC,UAAU4+B,EAAS,QAAU6F,GAAmB,EACxD,IAEA7I,EAAOC,QAAUiF,qCC7JjB,IAAIhF,EAAQ,EAAQ,MAYpB,SAASQ,EAAWkG,EAAS5jC,EAAMyhB,EAAQod,EAASc,GAClDl/B,MAAMa,KAAKE,MACXA,KAAKoiC,QAAUA,EACfpiC,KAAKwJ,KAAO,aACZhL,IAASwB,KAAKxB,KAAOA,GACrByhB,IAAWjgB,KAAKigB,OAASA,GACzBod,IAAYr9B,KAAKq9B,QAAUA,GAC3Bc,IAAan+B,KAAKm+B,SAAWA,EAC/B,CAEAzC,EAAMiH,SAASzG,EAAYj9B,MAAO,CAChCslC,OAAQ,WACN,MAAO,CAELnC,QAASpiC,KAAKoiC,QACd54B,KAAMxJ,KAAKwJ,KAEXg7B,YAAaxkC,KAAKwkC,YAClBC,OAAQzkC,KAAKykC,OAEbC,SAAU1kC,KAAK0kC,SACfC,WAAY3kC,KAAK2kC,WACjBC,aAAc5kC,KAAK4kC,aACnBC,MAAO7kC,KAAK6kC,MAEZ5kB,OAAQjgB,KAAKigB,OACbzhB,KAAMwB,KAAKxB,KACX6/B,OAAQr+B,KAAKm+B,UAAYn+B,KAAKm+B,SAASE,OAASr+B,KAAKm+B,SAASE,OAAS,KAE3E,IAGF,IAAIz+B,EAAYs8B,EAAWt8B,UACvBklC,EAAc,CAAC,EAEnB,CACE,uBACA,iBACA,eACA,YACA,cACA,4BACA,iBACA,mBACA,kBACA,gBAEAlmC,SAAQ,SAASJ,GACjBsmC,EAAYtmC,GAAQ,CAACsE,MAAOtE,EAC9B,IAEAa,OAAO0lC,iBAAiB7I,EAAY4I,GACpCzlC,OAAO+S,eAAexS,EAAW,eAAgB,CAACkD,OAAO,IAGzDo5B,EAAW8I,KAAO,SAASxf,EAAOhnB,EAAMyhB,EAAQod,EAASc,EAAU8G,GACjE,IAAIC,EAAa7lC,OAAOuN,OAAOhN,GAY/B,OAVA87B,EAAMyJ,aAAa3f,EAAO0f,GAAY,SAAgBj3B,GACpD,OAAOA,IAAQhP,MAAMW,SACvB,IAEAs8B,EAAWp8B,KAAKolC,EAAY1f,EAAM4c,QAAS5jC,EAAMyhB,EAAQod,EAASc,GAElE+G,EAAW17B,KAAOgc,EAAMhc,KAExBy7B,GAAe5lC,OAAOC,OAAO4lC,EAAYD,GAElCC,CACT,EAEA1J,EAAOC,QAAUS,qCCnFjB,IAAIR,EAAQ,EAAQ,MAEpB,SAASmH,IACP7iC,KAAK8Z,SAAW,EAClB,CAUA+oB,EAAmBjjC,UAAUwlC,IAAM,SAAavB,EAAWC,EAAU5jC,GAOnE,OANAF,KAAK8Z,SAAShZ,KAAK,CACjB+iC,UAAWA,EACXC,SAAUA,EACVF,cAAa1jC,GAAUA,EAAQ0jC,YAC/BD,QAASzjC,EAAUA,EAAQyjC,QAAU,OAEhC3jC,KAAK8Z,SAASzb,OAAS,CAChC,EAOAwkC,EAAmBjjC,UAAUylC,MAAQ,SAAeC,GAC9CtlC,KAAK8Z,SAASwrB,KAChBtlC,KAAK8Z,SAASwrB,GAAM,KAExB,EAUAzC,EAAmBjjC,UAAUhB,QAAU,SAAiB+N,GACtD+uB,EAAM98B,QAAQoB,KAAK8Z,UAAU,SAAwB9K,GACzC,OAANA,GACFrC,EAAGqC,EAEP,GACF,EAEAwsB,EAAOC,QAAUoH,qCCnDjB,IAAI0C,EAAgB,EAAQ,MACxBC,EAAc,EAAQ,MAW1BhK,EAAOC,QAAU,SAAuBsC,EAAS0H,GAC/C,OAAI1H,IAAYwH,EAAcE,GACrBD,EAAYzH,EAAS0H,GAEvBA,CACT,qCCjBA,IAAI/J,EAAQ,EAAQ,MAChBgK,EAAgB,EAAQ,MACxBtE,EAAW,EAAQ,MACnB6B,EAAW,EAAQ,MACnB9G,EAAgB,EAAQ,MAK5B,SAASwJ,EAA6B1lB,GAKpC,GAJIA,EAAO8c,aACT9c,EAAO8c,YAAYuF,mBAGjBriB,EAAOgd,QAAUhd,EAAOgd,OAAOqD,QACjC,MAAM,IAAInE,CAEd,CAQAX,EAAOC,QAAU,SAAyBxb,GA8BxC,OA7BA0lB,EAA6B1lB,GAG7BA,EAAO2c,QAAU3c,EAAO2c,SAAW,CAAC,EAGpC3c,EAAOyc,KAAOgJ,EAAc5lC,KAC1BmgB,EACAA,EAAOyc,KACPzc,EAAO2c,QACP3c,EAAO2lB,kBAIT3lB,EAAO2c,QAAUlB,EAAMmK,MACrB5lB,EAAO2c,QAAQzS,QAAU,CAAC,EAC1BlK,EAAO2c,QAAQ3c,EAAOue,SAAW,CAAC,EAClCve,EAAO2c,SAGTlB,EAAM98B,QACJ,CAAC,SAAU,MAAO,OAAQ,OAAQ,MAAO,QAAS,WAClD,SAA2B4/B,UAClBve,EAAO2c,QAAQ4B,EACxB,KAGYve,EAAO6lB,SAAW7C,EAAS6C,SAE1B7lB,GAAQ+hB,MAAK,SAA6B7D,GAWvD,OAVAwH,EAA6B1lB,GAG7Bke,EAASzB,KAAOgJ,EAAc5lC,KAC5BmgB,EACAke,EAASzB,KACTyB,EAASvB,QACT3c,EAAO8lB,mBAGF5H,CACT,IAAG,SAA4BkE,GAe7B,OAdKjB,EAASiB,KACZsD,EAA6B1lB,GAGzBoiB,GAAUA,EAAOlE,WACnBkE,EAAOlE,SAASzB,KAAOgJ,EAAc5lC,KACnCmgB,EACAoiB,EAAOlE,SAASzB,KAChB2F,EAAOlE,SAASvB,QAChB3c,EAAO8lB,qBAKN1J,QAAQE,OAAO8F,EACxB,GACF,qCCpFA,IAAI3G,EAAQ,EAAQ,MAUpBF,EAAOC,QAAU,SAAqBuK,EAASC,GAE7CA,EAAUA,GAAW,CAAC,EACtB,IAAIhmB,EAAS,CAAC,EAEd,SAASimB,EAAe1mC,EAAQE,GAC9B,OAAIg8B,EAAM/oB,cAAcnT,IAAWk8B,EAAM/oB,cAAcjT,GAC9Cg8B,EAAMmK,MAAMrmC,EAAQE,GAClBg8B,EAAM/oB,cAAcjT,GACtBg8B,EAAMmK,MAAM,CAAC,EAAGnmC,GACdg8B,EAAMv9B,QAAQuB,GAChBA,EAAON,QAETM,CACT,CAGA,SAASymC,EAAoBl2B,GAC3B,OAAKyrB,EAAMoE,YAAYmG,EAAQh2B,IAEnByrB,EAAMoE,YAAYkG,EAAQ/1B,SAA/B,EACEi2B,OAAellC,EAAWglC,EAAQ/1B,IAFlCi2B,EAAeF,EAAQ/1B,GAAOg2B,EAAQh2B,GAIjD,CAGA,SAASm2B,EAAiBn2B,GACxB,IAAKyrB,EAAMoE,YAAYmG,EAAQh2B,IAC7B,OAAOi2B,OAAellC,EAAWilC,EAAQh2B,GAE7C,CAGA,SAASo2B,EAAiBp2B,GACxB,OAAKyrB,EAAMoE,YAAYmG,EAAQh2B,IAEnByrB,EAAMoE,YAAYkG,EAAQ/1B,SAA/B,EACEi2B,OAAellC,EAAWglC,EAAQ/1B,IAFlCi2B,OAAellC,EAAWilC,EAAQh2B,GAI7C,CAGA,SAASq2B,EAAgBr2B,GACvB,OAAIA,KAAQg2B,EACHC,EAAeF,EAAQ/1B,GAAOg2B,EAAQh2B,IACpCA,KAAQ+1B,EACVE,OAAellC,EAAWglC,EAAQ/1B,SADpC,CAGT,CAEA,IAAIs2B,EAAW,CACb,IAAOH,EACP,OAAUA,EACV,KAAQA,EACR,QAAWC,EACX,iBAAoBA,EACpB,kBAAqBA,EACrB,iBAAoBA,EACpB,QAAWA,EACX,eAAkBA,EAClB,gBAAmBA,EACnB,QAAWA,EACX,aAAgBA,EAChB,eAAkBA,EAClB,eAAkBA,EAClB,iBAAoBA,EACpB,mBAAsBA,EACtB,WAAcA,EACd,iBAAoBA,EACpB,cAAiBA,EACjB,eAAkBA,EAClB,UAAaA,EACb,UAAaA,EACb,WAAcA,EACd,YAAeA,EACf,WAAcA,EACd,iBAAoBA,EACpB,eAAkBC,GASpB,OANA5K,EAAM98B,QAAQS,OAAO6T,KAAK8yB,GAAS98B,OAAO7J,OAAO6T,KAAK+yB,KAAW,SAA4Bh2B,GAC3F,IAAI41B,EAAQU,EAASt2B,IAASk2B,EAC1BK,EAAcX,EAAM51B,GACvByrB,EAAMoE,YAAY0G,IAAgBX,IAAUS,IAAqBrmB,EAAOhQ,GAAQu2B,EACnF,IAEOvmB,CACT,qCCjGA,IAAIic,EAAa,EAAQ,MASzBV,EAAOC,QAAU,SAAgBa,EAASC,EAAQ4B,GAChD,IAAIsI,EAAiBtI,EAASle,OAAOwmB,eAChCtI,EAASE,QAAWoI,IAAkBA,EAAetI,EAASE,QAGjE9B,EAAO,IAAIL,EACT,mCAAqCiC,EAASE,OAC9C,CAACnC,EAAWsE,gBAAiBtE,EAAWwK,kBAAkBhkC,KAAKikC,MAAMxI,EAASE,OAAS,KAAO,GAC9FF,EAASle,OACTke,EAASd,QACTc,IAPF7B,EAAQ6B,EAUZ,qCCtBA,IAAIzC,EAAQ,EAAQ,MAChBuH,EAAW,EAAQ,MAUvBzH,EAAOC,QAAU,SAAuBiB,EAAME,EAASgK,GACrD,IAAI7F,EAAU/gC,MAAQijC,EAMtB,OAJAvH,EAAM98B,QAAQgoC,GAAK,SAAmBj6B,GACpC+vB,EAAO/vB,EAAG7M,KAAKihC,EAASrE,EAAME,EAChC,IAEOF,CACT,qCCnBA,IAAIhB,EAAQ,EAAQ,MAChBmL,EAAsB,EAAQ,MAC9B3K,EAAa,EAAQ,MACrBD,EAAuB,EAAQ,MAC/BqF,EAAa,EAAQ,MAErBwF,EAAuB,CACzB,eAAgB,qCAGlB,SAASC,EAAsBnK,EAAS95B,IACjC44B,EAAMoE,YAAYlD,IAAYlB,EAAMoE,YAAYlD,EAAQ,mBAC3DA,EAAQ,gBAAkB95B,EAE9B,CA6BA,IA1BMgjC,EA0BF7C,EAAW,CAEb5D,aAAcpD,EAEd6J,UA7B8B,oBAAnBxI,gBAGmB,oBAAZ0J,SAAuE,qBAA5C3nC,OAAOO,UAAUsP,SAASpP,KAAKknC,YAD1ElB,EAAU,EAAQ,OAKbA,GAwBPF,iBAAkB,CAAC,SAA0BlJ,EAAME,GAIjD,GAHAiK,EAAoBjK,EAAS,UAC7BiK,EAAoBjK,EAAS,gBAEzBlB,EAAMyB,WAAWT,IACnBhB,EAAMuL,cAAcvK,IACpBhB,EAAMwL,SAASxK,IACfhB,EAAMyL,SAASzK,IACfhB,EAAM0L,OAAO1K,IACbhB,EAAM2L,OAAO3K,GAEb,OAAOA,EAET,GAAIhB,EAAM4L,kBAAkB5K,GAC1B,OAAOA,EAAKxB,OAEd,GAAIQ,EAAM6L,kBAAkB7K,GAE1B,OADAqK,EAAsBnK,EAAS,mDACxBF,EAAKxtB,WAGd,IAGIs4B,EAHAC,EAAkB/L,EAAMgM,SAAShL,GACjCiL,EAAc/K,GAAWA,EAAQ,gBAIrC,IAAK4K,EAAa9L,EAAM8L,WAAW9K,KAAW+K,GAAmC,wBAAhBE,EAAwC,CACvG,IAAIC,EAAY5nC,KAAK6nC,KAAO7nC,KAAK6nC,IAAIC,SACrC,OAAOxG,EAAWkG,EAAa,CAAC,UAAW9K,GAAQA,EAAMkL,GAAa,IAAIA,EAC5E,CAAO,OAAIH,GAAmC,qBAAhBE,GAC5BZ,EAAsBnK,EAAS,oBAnDrC,SAAyBmL,EAAUC,EAAQC,GACzC,GAAIvM,EAAMwM,SAASH,GACjB,IAEE,OADCC,GAAU/d,KAAKtkB,OAAOoiC,GAChBrM,EAAM74B,KAAKklC,EACpB,CAAE,MAAOjqC,GACP,GAAe,gBAAXA,EAAE0L,KACJ,MAAM1L,CAEV,CAGF,OAAQmqC,GAAWhe,KAAK1kB,WAAWwiC,EACrC,CAuCaI,CAAgBzL,IAGlBA,CACT,GAEAqJ,kBAAmB,CAAC,SAA2BrJ,GAC7C,IAAI2C,EAAer/B,KAAKq/B,cAAgB4D,EAAS5D,aAC7CgE,EAAoBhE,GAAgBA,EAAagE,kBACjDE,EAAoBlE,GAAgBA,EAAakE,kBACjD6E,GAAqB/E,GAA2C,SAAtBrjC,KAAK68B,aAEnD,GAAIuL,GAAsB7E,GAAqB7H,EAAMwM,SAASxL,IAASA,EAAKr+B,OAC1E,IACE,OAAO4rB,KAAKtkB,MAAM+2B,EACpB,CAAE,MAAO5+B,GACP,GAAIsqC,EAAmB,CACrB,GAAe,gBAAXtqC,EAAE0L,KACJ,MAAM0yB,EAAW8I,KAAKlnC,EAAGo+B,EAAWwK,iBAAkB1mC,KAAM,KAAMA,KAAKm+B,UAEzE,MAAMrgC,CACR,CACF,CAGF,OAAO4+B,CACT,GAMAgC,QAAS,EAETgB,eAAgB,aAChBE,eAAgB,eAEhByI,kBAAmB,EACnBC,eAAgB,EAEhBT,IAAK,CACHC,SAAU,EAAQ,OAGpBrB,eAAgB,SAAwBpI,GACtC,OAAOA,GAAU,KAAOA,EAAS,GACnC,EAEAzB,QAAS,CACPzS,OAAQ,CACN,OAAU,uCAKhBuR,EAAM98B,QAAQ,CAAC,SAAU,MAAO,SAAS,SAA6B4/B,GACpEyE,EAASrG,QAAQ4B,GAAU,CAAC,CAC9B,IAEA9C,EAAM98B,QAAQ,CAAC,OAAQ,MAAO,UAAU,SAA+B4/B,GACrEyE,EAASrG,QAAQ4B,GAAU9C,EAAMmK,MAAMiB,EACzC,IAEAtL,EAAOC,QAAUwH,iCC/IjBzH,EAAOC,QAAU,CACf4H,mBAAmB,EACnBE,mBAAmB,EACnBjE,qBAAqB,qBCLvB9D,EAAOC,QAAU,CACf,QAAW,yCCCbD,EAAOC,QAAU,SAAc9uB,EAAI47B,GACjC,OAAO,WAEL,IADA,IAAI9pC,EAAO,IAAIP,MAAMI,UAAUD,QACtBoB,EAAI,EAAGA,EAAIhB,EAAKJ,OAAQoB,IAC/BhB,EAAKgB,GAAKnB,UAAUmB,GAEtB,OAAOkN,EAAG5M,MAAMwoC,EAAS9pC,EAC3B,CACF,qCCRA,IAAIi9B,EAAQ,EAAQ,MAEpB,SAAS8M,EAAOv0B,GACd,OAAO0pB,mBAAmB1pB,GACxBhR,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,IACrB,CASAu4B,EAAOC,QAAU,SAAkB/8B,EAAKi6B,EAAQ8F,GAE9C,IAAK9F,EACH,OAAOj6B,EAGT,IAAI+pC,EACJ,GAAIhK,EACFgK,EAAmBhK,EAAiB9F,QAC/B,GAAI+C,EAAM6L,kBAAkB5O,GACjC8P,EAAmB9P,EAAOzpB,eACrB,CACL,IAAIw5B,EAAQ,GAEZhN,EAAM98B,QAAQ+5B,GAAQ,SAAmB1kB,EAAKtU,GACxCsU,UAIAynB,EAAMv9B,QAAQ8V,GAChBtU,GAAY,KAEZsU,EAAM,CAACA,GAGTynB,EAAM98B,QAAQqV,GAAK,SAAoB00B,GACjCjN,EAAMkN,OAAOD,GACfA,EAAIA,EAAEE,cACGnN,EAAMgM,SAASiB,KACxBA,EAAI1e,KAAK1kB,UAAUojC,IAErBD,EAAM5nC,KAAK0nC,EAAO7oC,GAAO,IAAM6oC,EAAOG,GACxC,IACF,IAEAF,EAAmBC,EAAMjjC,KAAK,IAChC,CAEA,GAAIgjC,EAAkB,CACpB,IAAIK,EAAgBpqC,EAAI0E,QAAQ,MACT,IAAnB0lC,IACFpqC,EAAMA,EAAIU,MAAM,EAAG0pC,IAGrBpqC,KAA8B,IAAtBA,EAAI0E,QAAQ,KAAc,IAAM,KAAOqlC,CACjD,CAEA,OAAO/pC,CACT,iCC5DA88B,EAAOC,QAAU,SAAqBsC,EAASgL,GAC7C,OAAOA,EACHhL,EAAQ96B,QAAQ,OAAQ,IAAM,IAAM8lC,EAAY9lC,QAAQ,OAAQ,IAChE86B,CACN,qCCXA,IAAIrC,EAAQ,EAAQ,MAEpBF,EAAOC,QACLC,EAAM0B,uBAIK,CACL4L,MAAO,SAAex/B,EAAM1G,EAAOmmC,EAASnyB,EAAMoyB,EAAQC,GACxD,IAAIC,EAAS,GACbA,EAAOtoC,KAAK0I,EAAO,IAAMm0B,mBAAmB76B,IAExC44B,EAAM2N,SAASJ,IACjBG,EAAOtoC,KAAK,WAAa,IAAIwoC,KAAKL,GAASM,eAGzC7N,EAAMwM,SAASpxB,IACjBsyB,EAAOtoC,KAAK,QAAUgW,GAGpB4kB,EAAMwM,SAASgB,IACjBE,EAAOtoC,KAAK,UAAYooC,IAGX,IAAXC,GACFC,EAAOtoC,KAAK,UAGdW,SAAS2nC,OAASA,EAAO3jC,KAAK,KAChC,EAEAk6B,KAAM,SAAcn2B,GAClB,IAAI6D,EAAQ5L,SAAS2nC,OAAO/7B,MAAM,IAAIoX,OAAO,aAAejb,EAAO,cACnE,OAAQ6D,EAAQm8B,mBAAmBn8B,EAAM,IAAM,IACjD,EAEAo8B,OAAQ,SAAgBjgC,GACtBxJ,KAAKgpC,MAAMx/B,EAAM,GAAI8/B,KAAKI,MAAQ,MACpC,GAMK,CACLV,MAAO,WAAkB,EACzBrJ,KAAM,WAAkB,OAAO,IAAM,EACrC8J,OAAQ,WAAmB,kCCzCnCjO,EAAOC,QAAU,SAAuB/8B,GAItC,MAAO,8BAA8BwR,KAAKxR,EAC5C,qCCXA,IAAIg9B,EAAQ,EAAQ,MAQpBF,EAAOC,QAAU,SAAsBkO,GACrC,OAAOjO,EAAMgM,SAASiC,KAAsC,IAAzBA,EAAQhI,YAC7C,qCCVA,IAAIjG,EAAQ,EAAQ,MAEpBF,EAAOC,QACLC,EAAM0B,uBAIJ,WACE,IAEIwM,EAFAC,EAAO,kBAAkB35B,KAAK45B,UAAUC,WACxCC,EAAiBvoC,SAASC,cAAc,KAS5C,SAASuoC,EAAWvrC,GAClB,IAAIwrC,EAAOxrC,EAWX,OATImrC,IAEFG,EAAeroC,aAAa,OAAQuoC,GACpCA,EAAOF,EAAeE,MAGxBF,EAAeroC,aAAa,OAAQuoC,GAG7B,CACLA,KAAMF,EAAeE,KACrB3J,SAAUyJ,EAAezJ,SAAWyJ,EAAezJ,SAASt9B,QAAQ,KAAM,IAAM,GAChFknC,KAAMH,EAAeG,KACrBhnC,OAAQ6mC,EAAe7mC,OAAS6mC,EAAe7mC,OAAOF,QAAQ,MAAO,IAAM,GAC3E8E,KAAMiiC,EAAejiC,KAAOiiC,EAAejiC,KAAK9E,QAAQ,KAAM,IAAM,GACpEmnC,SAAUJ,EAAeI,SACzBC,KAAML,EAAeK,KACrBC,SAAiD,MAAtCN,EAAeM,SAASprC,OAAO,GACxC8qC,EAAeM,SACf,IAAMN,EAAeM,SAE3B,CAUA,OARAV,EAAYK,EAAWM,OAAOC,SAASN,MAQhC,SAAyBO,GAC9B,IAAIpjC,EAAUq0B,EAAMwM,SAASuC,GAAeR,EAAWQ,GAAcA,EACrE,OAAQpjC,EAAOk5B,WAAaqJ,EAAUrJ,UAClCl5B,EAAO8iC,OAASP,EAAUO,IAChC,CACD,CAlDD,GAsDS,WACL,OAAO,CACT,qCC/DN,IAAIzO,EAAQ,EAAQ,MAEpBF,EAAOC,QAAU,SAA6BmB,EAAS8N,GACrDhP,EAAM98B,QAAQg+B,GAAS,SAAuB95B,EAAO0G,GAC/CA,IAASkhC,GAAkBlhC,EAAKrK,gBAAkBurC,EAAevrC,gBACnEy9B,EAAQ8N,GAAkB5nC,SACnB85B,EAAQpzB,GAEnB,GACF,oBCVAgyB,EAAOC,QAAU,wCCCjB,IAAIC,EAAQ,EAAQ,MAIhBiP,EAAoB,CACtB,MAAO,gBAAiB,iBAAkB,eAAgB,OAC1D,UAAW,OAAQ,OAAQ,oBAAqB,sBAChD,gBAAiB,WAAY,eAAgB,sBAC7C,UAAW,cAAe,cAgB5BnP,EAAOC,QAAU,SAAsBmB,GACrC,IACIj9B,EACAsU,EACAxU,EAHA4H,EAAS,CAAC,EAKd,OAAKu1B,GAELlB,EAAM98B,QAAQg+B,EAAQ/zB,MAAM,OAAO,SAAgBnF,GAKjD,GAJAjE,EAAIiE,EAAKN,QAAQ,KACjBzD,EAAM+7B,EAAM74B,KAAKa,EAAKknC,OAAO,EAAGnrC,IAAI0N,cACpC8G,EAAMynB,EAAM74B,KAAKa,EAAKknC,OAAOnrC,EAAI,IAE7BE,EAAK,CACP,GAAI0H,EAAO1H,IAAQgrC,EAAkBvnC,QAAQzD,IAAQ,EACnD,OAGA0H,EAAO1H,GADG,eAARA,GACa0H,EAAO1H,GAAO0H,EAAO1H,GAAO,IAAIuJ,OAAO,CAAC+K,IAEzC5M,EAAO1H,GAAO0H,EAAO1H,GAAO,KAAOsU,EAAMA,CAE3D,CACF,IAEO5M,GAnBgBA,CAoBzB,iCClDAm0B,EAAOC,QAAU,SAAuB/8B,GACtC,IAAI2O,EAAQ,4BAA4BnF,KAAKxJ,GAC7C,OAAO2O,GAASA,EAAM,IAAM,EAC9B,iCCiBAmuB,EAAOC,QAAU,SAAgBp2B,GAC/B,OAAO,SAAcwlC,GACnB,OAAOxlC,EAAStF,MAAM,KAAM8qC,EAC9B,CACF,qCCxBA,IAAInP,EAAQ,EAAQ,MAqEpBF,EAAOC,QA5DP,SAAoBxtB,EAAK68B,GAEvBA,EAAWA,GAAY,IAAIhD,SAE3B,IAAIjD,EAAQ,GAEZ,SAASkG,EAAajoC,GACpB,OAAc,OAAVA,EAAuB,GAEvB44B,EAAMkN,OAAO9lC,GACRA,EAAM+lC,cAGXnN,EAAMuL,cAAcnkC,IAAU44B,EAAMsP,aAAaloC,GAC5B,mBAATmoC,KAAsB,IAAIA,KAAK,CAACnoC,IAAUooC,OAAOlG,KAAKliC,GAG/DA,CACT,CAuCA,OArCA,SAASqoC,EAAMzO,EAAM0O,GACnB,GAAI1P,EAAM/oB,cAAc+pB,IAAShB,EAAMv9B,QAAQu+B,GAAO,CACpD,IAA6B,IAAzBmI,EAAMzhC,QAAQs5B,GAChB,MAAMz9B,MAAM,kCAAoCmsC,GAGlDvG,EAAM/jC,KAAK47B,GAEXhB,EAAM98B,QAAQ89B,GAAM,SAAc55B,EAAOnD,GACvC,IAAI+7B,EAAMoE,YAAYh9B,GAAtB,CACA,IACI+nC,EADAQ,EAAUD,EAAYA,EAAY,IAAMzrC,EAAMA,EAGlD,GAAImD,IAAUsoC,GAA8B,iBAAVtoC,EAChC,GAAI44B,EAAM4P,SAAS3rC,EAAK,MAEtBmD,EAAQmnB,KAAK1kB,UAAUzC,QAClB,GAAI44B,EAAM4P,SAAS3rC,EAAK,QAAUkrC,EAAMnP,EAAM6P,QAAQzoC,IAK3D,YAHA+nC,EAAIjsC,SAAQ,SAAS4sC,IAClB9P,EAAMoE,YAAY0L,IAAOV,EAAS/rC,OAAOssC,EAASN,EAAaS,GAClE,IAKJL,EAAMroC,EAAOuoC,EAjBuB,CAkBtC,IAEAxG,EAAM4G,KACR,MACEX,EAAS/rC,OAAOqsC,EAAWL,EAAarO,GAE5C,CAEAyO,CAAMl9B,GAEC68B,CACT,qCCnEA,IAAIzJ,EAAU,gBACVnF,EAAa,EAAQ,MAErB8G,EAAa,CAAC,EAGlB,CAAC,SAAU,UAAW,SAAU,WAAY,SAAU,UAAUpkC,SAAQ,SAASsF,EAAMzE,GACrFujC,EAAW9+B,GAAQ,SAAmBwnC,GACpC,cAAcA,IAAUxnC,GAAQ,KAAOzE,EAAI,EAAI,KAAO,KAAOyE,CAC/D,CACF,IAEA,IAAIynC,EAAqB,CAAC,EAS1B3I,EAAW3D,aAAe,SAAsB0D,EAAW6I,EAASxJ,GAClE,SAASyJ,EAAcC,EAAKC,GAC1B,MAAO,WAAa1K,EAAU,0BAA6ByK,EAAM,IAAOC,GAAQ3J,EAAU,KAAOA,EAAU,GAC7G,CAGA,OAAO,SAASt/B,EAAOgpC,EAAKE,GAC1B,IAAkB,IAAdjJ,EACF,MAAM,IAAI7G,EACR2P,EAAcC,EAAK,qBAAuBF,EAAU,OAASA,EAAU,KACvE1P,EAAW+P,gBAef,OAXIL,IAAYD,EAAmBG,KACjCH,EAAmBG,IAAO,EAE1BI,QAAQC,KACNN,EACEC,EACA,+BAAiCF,EAAU,8CAK1C7I,GAAYA,EAAUjgC,EAAOgpC,EAAKE,EAC3C,CACF,EAgCAxQ,EAAOC,QAAU,CACf2H,cAxBF,SAAuBljC,EAASksC,EAAQC,GACtC,GAAuB,iBAAZnsC,EACT,MAAM,IAAIg8B,EAAW,4BAA6BA,EAAWoQ,sBAI/D,IAFA,IAAIp5B,EAAO7T,OAAO6T,KAAKhT,GACnBT,EAAIyT,EAAK7U,OACNoB,KAAM,GAAG,CACd,IAAIqsC,EAAM54B,EAAKzT,GACXsjC,EAAYqJ,EAAON,GACvB,GAAI/I,EAAJ,CACE,IAAIjgC,EAAQ5C,EAAQ4rC,GAChBv9B,OAAmBvN,IAAV8B,GAAuBigC,EAAUjgC,EAAOgpC,EAAK5rC,GAC1D,IAAe,IAAXqO,EACF,MAAM,IAAI2tB,EAAW,UAAY4P,EAAM,YAAcv9B,EAAQ2tB,EAAWoQ,qBAG5E,MACA,IAAqB,IAAjBD,EACF,MAAM,IAAInQ,EAAW,kBAAoB4P,EAAK5P,EAAWqQ,eAE7D,CACF,EAIEvJ,WAAYA,sCClFd,IAOuBz5B,EAPnBhK,EAAO,EAAQ,MAIf2P,EAAW7P,OAAOO,UAAUsP,SAG5Bs9B,GAAmBjjC,EAMpBlK,OAAOuN,OAAO,MAJR,SAAS8+B,GACd,IAAI38B,EAAMG,EAASpP,KAAK4rC,GACxB,OAAOniC,EAAMwF,KAASxF,EAAMwF,GAAOA,EAAI3P,MAAM,GAAI,GAAG+N,cACtD,GAGF,SAASs/B,EAAWvoC,GAElB,OADAA,EAAOA,EAAKiJ,cACL,SAAkBu+B,GACvB,OAAOc,EAAOd,KAAWxnC,CAC3B,CACF,CAQA,SAAS/F,EAAQ8V,GACf,OAAO/V,MAAMC,QAAQ8V,EACvB,CAQA,SAAS6rB,EAAY7rB,GACnB,YAAsB,IAARA,CAChB,CAoBA,IAAIgzB,EAAgBwF,EAAW,eA6C/B,SAAS/E,EAASzzB,GAChB,OAAe,OAARA,GAA+B,iBAARA,CAChC,CAQA,SAAStB,EAAcsB,GACrB,GAAoB,WAAhBu4B,EAAOv4B,GACT,OAAO,EAGT,IAAIrU,EAAYP,OAAOwT,eAAeoB,GACtC,OAAqB,OAAdrU,GAAsBA,IAAcP,OAAOO,SACpD,CASA,IAAIgpC,EAAS6D,EAAW,QASpBrF,EAASqF,EAAW,QASpBpF,EAASoF,EAAW,QASpBjF,EAAaiF,EAAW,YAQ5B,SAASC,EAAWz4B,GAClB,MAA8B,sBAAvB/E,EAASpP,KAAKmU,EACvB,CAiCA,IAAIszB,EAAoBkF,EAAW,mBAmDnC,SAAS7tC,EAAQqP,EAAKtB,GAEpB,GAAIsB,QAUJ,GALmB,iBAARA,IAETA,EAAM,CAACA,IAGL9P,EAAQ8P,GAEV,IAAK,IAAIxO,EAAI,EAAGsY,EAAI9J,EAAI5P,OAAQoB,EAAIsY,EAAGtY,IACrCkN,EAAG7M,KAAK,KAAMmO,EAAIxO,GAAIA,EAAGwO,QAI3B,IAAK,IAAItO,KAAOsO,EACV5O,OAAOO,UAAUC,eAAeC,KAAKmO,EAAKtO,IAC5CgN,EAAG7M,KAAK,KAAMmO,EAAItO,GAAMA,EAAKsO,EAIrC,CAwJA,IAA6B0+B,EAAzB3B,GAAyB2B,EAKJ,oBAAfC,YAA8BvtC,OAAOwT,eAAe+5B,YAHrD,SAASlB,GACd,OAAOiB,GAAcjB,aAAiBiB,CACxC,GAGFnR,EAAOC,QAAU,CACft9B,QAASA,EACT8oC,cAAeA,EACfC,SAvYF,SAAkBjzB,GAChB,OAAe,OAARA,IAAiB6rB,EAAY7rB,IAA4B,OAApBA,EAAI44B,cAAyB/M,EAAY7rB,EAAI44B,cAChD,mBAA7B54B,EAAI44B,YAAY3F,UAA2BjzB,EAAI44B,YAAY3F,SAASjzB,EAClF,EAqYEkpB,WA9PF,SAAoBuO,GAClB,IAAI3oC,EAAU,oBACd,OAAO2oC,IACgB,mBAAb5D,UAA2B4D,aAAiB5D,UACpD54B,EAASpP,KAAK4rC,KAAW3oC,GACxB2pC,EAAWhB,EAAMx8B,WAAaw8B,EAAMx8B,aAAenM,EAExD,EAwPEukC,kBApXF,SAA2BrzB,GAOzB,MAL4B,oBAAhB64B,aAAiCA,YAAkB,OACpDA,YAAYC,OAAO94B,GAEnB,GAAUA,EAAU,QAAMgzB,EAAchzB,EAAIinB,OAGzD,EA6WEgN,SArWF,SAAkBj0B,GAChB,MAAsB,iBAARA,CAChB,EAoWEo1B,SA5VF,SAAkBp1B,GAChB,MAAsB,iBAARA,CAChB,EA2VEyzB,SAAUA,EACV/0B,cAAeA,EACfmtB,YAAaA,EACb8I,OAAQA,EACRxB,OAAQA,EACRC,OAAQA,EACRqF,WAAYA,EACZvF,SAnRF,SAAkBlzB,GAChB,OAAOyzB,EAASzzB,IAAQy4B,EAAWz4B,EAAI+4B,KACzC,EAkREzF,kBAAmBA,EACnBnK,qBAjOF,WACE,OAAyB,oBAAd0M,WAAoD,gBAAtBA,UAAUmD,SACY,iBAAtBnD,UAAUmD,SACY,OAAtBnD,UAAUmD,WAI/B,oBAAX1C,QACa,oBAAb9oC,SAEX,EAwNE7C,QAASA,EACTinC,MA/JF,SAASA,IACP,IAAIt3B,EAAS,CAAC,EACd,SAAS2+B,EAAYj5B,EAAKtU,GACpBgT,EAAcpE,EAAO5O,KAASgT,EAAcsB,GAC9C1F,EAAO5O,GAAOkmC,EAAMt3B,EAAO5O,GAAMsU,GACxBtB,EAAcsB,GACvB1F,EAAO5O,GAAOkmC,EAAM,CAAC,EAAG5xB,GACf9V,EAAQ8V,GACjB1F,EAAO5O,GAAOsU,EAAI7U,QAElBmP,EAAO5O,GAAOsU,CAElB,CAEA,IAAK,IAAIxU,EAAI,EAAGsY,EAAIzZ,UAAUD,OAAQoB,EAAIsY,EAAGtY,IAC3Cb,EAAQN,UAAUmB,GAAIytC,GAExB,OAAO3+B,CACT,EA8IE0yB,OApIF,SAAgB3oB,EAAGR,EAAGywB,GAQpB,OAPA3pC,EAAQkZ,GAAG,SAAqB7D,EAAKtU,GAEjC2Y,EAAE3Y,GADA4oC,GAA0B,mBAARt0B,EACX1U,EAAK0U,EAAKs0B,GAEVt0B,CAEb,IACOqE,CACT,EA4HEzV,KAxPF,SAAckM,GACZ,OAAOA,EAAIlM,KAAOkM,EAAIlM,OAASkM,EAAI9L,QAAQ,aAAc,GAC3D,EAuPEkqC,SArHF,SAAkBC,GAIhB,OAH8B,QAA1BA,EAAQ9pC,WAAW,KACrB8pC,EAAUA,EAAQhuC,MAAM,IAEnBguC,CACT,EAiHEzK,SAvGF,SAAkBkK,EAAaQ,EAAkBlpC,EAAO2gC,GACtD+H,EAAYjtC,UAAYP,OAAOuN,OAAOygC,EAAiBztC,UAAWklC,GAClE+H,EAAYjtC,UAAUitC,YAAcA,EACpC1oC,GAAS9E,OAAOC,OAAOutC,EAAYjtC,UAAWuE,EAChD,EAoGEghC,aA1FF,SAAsBmI,EAAWC,EAASjsB,GACxC,IAAInd,EACA1E,EACAwQ,EACAu9B,EAAS,CAAC,EAEdD,EAAUA,GAAW,CAAC,EAEtB,EAAG,CAGD,IADA9tC,GADA0E,EAAQ9E,OAAOouC,oBAAoBH,IACzBjvC,OACHoB,KAAM,GAEN+tC,EADLv9B,EAAO9L,EAAM1E,MAEX8tC,EAAQt9B,GAAQq9B,EAAUr9B,GAC1Bu9B,EAAOv9B,IAAQ,GAGnBq9B,EAAYjuC,OAAOwT,eAAey6B,EACpC,OAASA,KAAehsB,GAAUA,EAAOgsB,EAAWC,KAAaD,IAAcjuC,OAAOO,WAEtF,OAAO2tC,CACT,EAqEEf,OAAQA,EACRC,WAAYA,EACZnB,SA9DF,SAAkBv8B,EAAK2+B,EAAc9pC,GACnCmL,EAAMpM,OAAOoM,SACI/N,IAAb4C,GAA0BA,EAAWmL,EAAI1Q,UAC3CuF,EAAWmL,EAAI1Q,QAEjBuF,GAAY8pC,EAAarvC,OACzB,IAAIwQ,EAAYE,EAAI3L,QAAQsqC,EAAc9pC,GAC1C,OAAsB,IAAfiL,GAAoBA,IAAcjL,CAC3C,EAuDE2nC,QA/CF,SAAiBG,GACf,IAAKA,EAAO,OAAO,KACnB,IAAIjsC,EAAIisC,EAAMrtC,OACd,GAAIyhC,EAAYrgC,GAAI,OAAO,KAE3B,IADA,IAAIorC,EAAM,IAAI3sC,MAAMuB,GACbA,KAAM,GACXorC,EAAIprC,GAAKisC,EAAMjsC,GAEjB,OAAOorC,CACT,EAuCEG,aAAcA,EACdxD,WAAYA,sCCldd,IAAIjoC,EAAO,EAAQ,MAEfouC,EAAS,EAAQ,MACjBC,EAAQ,EAAQ,IAChBC,EAAgB,EAAQ,MAG5BrS,EAAOC,QAAUoS,GAAiBtuC,EAAKO,KAAK8tC,EAAOD,kCCNnDnS,EAAOC,QAAUqS,SAASluC,UAAUG,mCCApCy7B,EAAOC,QAAUqS,SAASluC,UAAUE,wCCDpC,IAAIP,EAAO,EAAQ,MACfwuC,EAAa,EAAQ,MAErBH,EAAQ,EAAQ,IAChBI,EAAe,EAAQ,MAG3BxS,EAAOC,QAAU,SAAuBh9B,GACvC,GAAIA,EAAKJ,OAAS,GAAwB,mBAAZI,EAAK,GAClC,MAAM,IAAIsvC,EAAW,0BAEtB,OAAOC,EAAazuC,EAAMquC,EAAOnvC,EAClC,iCCXA+8B,EAAOC,QAA6B,oBAAZwS,SAA2BA,SAAWA,QAAQluC,yCCDtE,IAAImuC,EAAe,EAAQ,KAEvBC,EAAgB,EAAQ,MAGxBC,EAAWD,EAAc,CAACD,EAAa,gCAG3C1S,EAAOC,QAAU,SAA4BjyB,EAAM6kC,GAElD,IAAIC,EAAmEJ,EAAa1kC,IAAQ6kC,GAC5F,MAAyB,mBAAdC,GAA4BF,EAAS5kC,EAAM,gBAAkB,EAChE2kC,EAAc,CAACG,IAEhBA,CACR,iCCfA,MAAMC,EAAY,YACZC,EAAY,YACZC,EAAkB,0BAClBC,EAAa,yBACbC,EAAa,WAEbC,EAAqB,IAAInqB,OAAO,IAAMkqB,EAAWjvC,QACjDmvC,EAA4B,IAAIpqB,OAAOkqB,EAAWjvC,OAASgvC,EAAWhvC,OAAQ,MAC9EovC,EAAyB,IAAIrqB,OAAO,OAASiqB,EAAWhvC,OAAQ,MA6ChEqvC,EAAY,CAACpsB,EAAOziB,KACzB,GAAuB,iBAAVyiB,IAAsBzkB,MAAMC,QAAQwkB,GAChD,MAAM,IAAIkf,UAAU,gDAiBrB,GAdA3hC,EAAU,CACT8uC,YAAY,EACZC,8BAA8B,KAC3B/uC,GAWiB,KAPpByiB,EADGzkB,MAAMC,QAAQwkB,GACTA,EAAM1a,KAAIjB,GAAKA,EAAEnE,SACvBye,QAAOta,GAAKA,EAAE3I,SACdoH,KAAK,KAECkd,EAAM9f,QAGLxE,OACT,MAAO,GAGR,MAAM8O,GAAiC,IAAnBjN,EAAQgvC,OAC3BlwC,GAAUA,EAAOmO,cACjBnO,GAAUA,EAAOmwC,kBAAkBjvC,EAAQgvC,QACtC/vC,GAAiC,IAAnBe,EAAQgvC,OAC3BlwC,GAAUA,EAAOG,cACjBH,GAAUA,EAAOowC,kBAAkBlvC,EAAQgvC,QAE5C,GAAqB,IAAjBvsB,EAAMtkB,OACT,OAAO6B,EAAQ8uC,WAAa7vC,EAAYwjB,GAASxV,EAAYwV,GAqB9D,OAlBqBA,IAAUxV,EAAYwV,KAG1CA,EAhFwB,EAAC3jB,EAAQmO,EAAahO,KAC/C,IAAIkwC,GAAkB,EAClBC,GAAkB,EAClBC,GAAsB,EAE1B,IAAK,IAAI9vC,EAAI,EAAGA,EAAIT,EAAOX,OAAQoB,IAAK,CACvC,MAAMoE,EAAY7E,EAAOS,GAErB4vC,GAAmBd,EAAUr+B,KAAKrM,IACrC7E,EAASA,EAAOI,MAAM,EAAGK,GAAK,IAAMT,EAAOI,MAAMK,GACjD4vC,GAAkB,EAClBE,EAAsBD,EACtBA,GAAkB,EAClB7vC,KACU6vC,GAAmBC,GAAuBf,EAAUt+B,KAAKrM,IACnE7E,EAASA,EAAOI,MAAM,EAAGK,EAAI,GAAK,IAAMT,EAAOI,MAAMK,EAAI,GACzD8vC,EAAsBD,EACtBA,GAAkB,EAClBD,GAAkB,IAElBA,EAAkBliC,EAAYtJ,KAAeA,GAAa1E,EAAY0E,KAAeA,EACrF0rC,EAAsBD,EACtBA,EAAkBnwC,EAAY0E,KAAeA,GAAasJ,EAAYtJ,KAAeA,EAEvF,CAEA,OAAO7E,CAAM,EAsDJwwC,CAAkB7sB,EAAOxV,EAAahO,IAG/CwjB,EAAQA,EAAM1f,QAAQ2rC,EAAoB,IAGzCjsB,EADGziB,EAAQ+uC,6BAxDwB,EAACtsB,EAAOxV,KAC5CshC,EAAgB5/B,UAAY,EAErB8T,EAAM1f,QAAQwrC,GAAiBgB,GAAMtiC,EAAYsiC,MAsD/CR,CAA6BtsB,EAAOxV,GAEpCA,EAAYwV,GAGjBziB,EAAQ8uC,aACXrsB,EAAQxjB,EAAYwjB,EAAMzjB,OAAO,IAAMyjB,EAAMvjB,MAAM,IAzDjC,EAACujB,EAAOxjB,KAC3B0vC,EAA0BhgC,UAAY,EACtCigC,EAAuBjgC,UAAY,EAE5B8T,EAAM1f,QAAQ4rC,GAA2B,CAAC3c,EAAG/sB,IAAehG,EAAYgG,KAC7ElC,QAAQ6rC,GAAwBn3B,GAAKxY,EAAYwY,MAuD5C+3B,CAAY/sB,EAAOxjB,EAAY,EAGvCq8B,EAAOC,QAAUsT,EAEjBvT,EAAOC,QAAP,QAAyBsT,mCC5GzB,IAAIY,EAHJtwC,OAAO+S,eAAeqpB,EAAS,aAAc,CAAE34B,OAAO,IACtD24B,EAAQmU,QAAUnU,EAAQoU,MAAQpU,EAAQqU,IAAMrU,EAAQsU,MAAQtU,EAAQuU,OAASvU,EAAQwU,QAAUxU,EAAQyU,UAAYzU,EAAQ0U,KAAO1U,EAAQ2U,KAAO3U,EAAQ4U,MAAQ5U,EAAQkU,iBAAc,EAG3L,SAAWA,GAEPA,EAAkB,KAAI,OAEtBA,EAAkB,KAAI,OAEtBA,EAAuB,UAAI,YAE3BA,EAAqB,QAAI,UAEzBA,EAAoB,OAAI,SAExBA,EAAmB,MAAI,QAEvBA,EAAiB,IAAI,MAErBA,EAAmB,MAAI,QAEvBA,EAAqB,QAAI,SAC5B,CAnBD,CAmBGA,EAAclU,EAAQkU,cAAgBlU,EAAQkU,YAAc,CAAC,IAWhElU,EAAQ4U,MALR,SAAeC,GACX,OAAQA,EAAKpsC,OAASyrC,EAAYG,KAC9BQ,EAAKpsC,OAASyrC,EAAYK,QAC1BM,EAAKpsC,OAASyrC,EAAYI,KAClC,EAIAtU,EAAQ2U,KAAOT,EAAYS,KAE3B3U,EAAQ0U,KAAOR,EAAYQ,KAE3B1U,EAAQyU,UAAYP,EAAYO,UAEhCzU,EAAQwU,QAAUN,EAAYM,QAE9BxU,EAAQuU,OAASL,EAAYK,OAE7BvU,EAAQsU,MAAQJ,EAAYI,MAE5BtU,EAAQqU,IAAMH,EAAYG,IAE1BrU,EAAQoU,MAAQF,EAAYE,MAE5BpU,EAAQmU,QAAUD,EAAYC,2CCrD9B,IAAIW,EAAmBvwC,MAAQA,KAAKuwC,kBAAqBlxC,OAAOuN,OAAS,SAAUxO,EAAGuZ,EAAG5Q,EAAGypC,QAC7ExvC,IAAPwvC,IAAkBA,EAAKzpC,GAC3B,IAAIglC,EAAO1sC,OAAOoxC,yBAAyB94B,EAAG5Q,GACzCglC,KAAS,QAASA,GAAQp0B,EAAE+4B,WAAa3E,EAAK4E,UAAY5E,EAAK6E,gBAClE7E,EAAO,CAAE8E,YAAY,EAAMlpC,IAAK,WAAa,OAAOgQ,EAAE5Q,EAAI,IAE5D1H,OAAO+S,eAAehU,EAAGoyC,EAAIzE,EAChC,EAAI,SAAU3tC,EAAGuZ,EAAG5Q,EAAGypC,QACTxvC,IAAPwvC,IAAkBA,EAAKzpC,GAC3B3I,EAAEoyC,GAAM74B,EAAE5Q,EACb,GACG+pC,EAAgB9wC,MAAQA,KAAK8wC,cAAiB,SAASn5B,EAAG8jB,GAC1D,IAAK,IAAI7jB,KAAKD,EAAa,YAANC,GAAoBvY,OAAOO,UAAUC,eAAeC,KAAK27B,EAAS7jB,IAAI24B,EAAgB9U,EAAS9jB,EAAGC,EAC3H,EACAvY,OAAO+S,eAAeqpB,EAAS,aAAc,CAAE34B,OAAO,IACtD24B,EAAQsV,gBAAa,EACrB,IAAIC,EAAmB,EAAQ,MAC3BC,EAAY,EAAQ,MACxBH,EAAa,EAAQ,MAAcrV,GAEnC,IAAIyV,EAAc,CACdC,kBAAkB,EAClBC,gBAAgB,EAChBC,SAAS,GAETN,EAA4B,WAM5B,SAASA,EAAW1rC,EAAUnF,EAASoxC,GAEnCtxC,KAAKuxC,IAAM,GAEXvxC,KAAKgE,KAAO,IAAIitC,EAAUO,SAASxxC,KAAKuxC,KAExCvxC,KAAK88B,MAAO,EAEZ98B,KAAKyxC,SAAW,CAACzxC,KAAKgE,MAEtBhE,KAAK0xC,SAAW,KAEhB1xC,KAAKgoC,OAAS,KAES,mBAAZ9nC,IACPoxC,EAAYpxC,EACZA,EAAUgxC,GAEU,iBAAb7rC,IACPnF,EAAUmF,EACVA,OAAWrE,GAEfhB,KAAKqF,SAAWA,QAA2CA,EAAW,KACtErF,KAAKE,QAAUA,QAAyCA,EAAUgxC,EAClElxC,KAAKsxC,UAAYA,QAA6CA,EAAY,IAC9E,CAwGA,OAvGAP,EAAWnxC,UAAU+xC,aAAe,SAAU3J,GAC1ChoC,KAAKgoC,OAASA,CAClB,EAEA+I,EAAWnxC,UAAUgyC,QAAU,WAC3B5xC,KAAKuxC,IAAM,GACXvxC,KAAKgE,KAAO,IAAIitC,EAAUO,SAASxxC,KAAKuxC,KACxCvxC,KAAK88B,MAAO,EACZ98B,KAAKyxC,SAAW,CAACzxC,KAAKgE,MACtBhE,KAAK0xC,SAAW,KAChB1xC,KAAKgoC,OAAS,IAClB,EAEA+I,EAAWnxC,UAAUiyC,MAAQ,WACrB7xC,KAAK88B,OAET98B,KAAK88B,MAAO,EACZ98B,KAAKgoC,OAAS,KACdhoC,KAAK8xC,eAAe,MACxB,EACAf,EAAWnxC,UAAUq/B,QAAU,SAAUzZ,GACrCxlB,KAAK8xC,eAAetsB,EACxB,EACAurB,EAAWnxC,UAAUmyC,WAAa,WAC9B/xC,KAAK0xC,SAAW,KAChB,IAAIpB,EAAOtwC,KAAKyxC,SAAShG,MACrBzrC,KAAKE,QAAQkxC,iBACbd,EAAK17B,SAAW5U,KAAKgoC,OAAOpzB,UAE5B5U,KAAKsxC,WACLtxC,KAAKsxC,UAAUhB,EACvB,EACAS,EAAWnxC,UAAUoyC,UAAY,SAAUxoC,EAAMyoC,GAC7C,IAAI/tC,EAAOlE,KAAKE,QAAQmxC,QAAUL,EAAiBrB,YAAYG,SAAM9uC,EACjEwE,EAAU,IAAIyrC,EAAUiB,QAAQ1oC,EAAMyoC,OAASjxC,EAAWkD,GAC9DlE,KAAKmyC,QAAQ3sC,GACbxF,KAAKyxC,SAAS3wC,KAAK0E,EACvB,EACAurC,EAAWnxC,UAAUwyC,OAAS,SAAU1V,GACpC,IAAIgV,EAAW1xC,KAAK0xC,SACpB,GAAIA,GAAYA,EAASxtC,OAAS8sC,EAAiBrB,YAAYQ,KAC3DuB,EAAShV,MAAQA,EACb18B,KAAKE,QAAQkxC,iBACbM,EAAS98B,SAAW5U,KAAKgoC,OAAOpzB,cAGnC,CACD,IAAI7Q,EAAO,IAAIktC,EAAUd,KAAKzT,GAC9B18B,KAAKmyC,QAAQpuC,GACb/D,KAAK0xC,SAAW3tC,CACpB,CACJ,EACAgtC,EAAWnxC,UAAUyyC,UAAY,SAAU3V,GACvC,GAAI18B,KAAK0xC,UAAY1xC,KAAK0xC,SAASxtC,OAAS8sC,EAAiBrB,YAAYM,QACrEjwC,KAAK0xC,SAAShV,MAAQA,MAD1B,CAIA,IAAI34B,EAAO,IAAIktC,EAAUhB,QAAQvT,GACjC18B,KAAKmyC,QAAQpuC,GACb/D,KAAK0xC,SAAW3tC,CAHhB,CAIJ,EACAgtC,EAAWnxC,UAAU0yC,aAAe,WAChCtyC,KAAK0xC,SAAW,IACpB,EACAX,EAAWnxC,UAAU2yC,aAAe,WAChC,IAAIxrB,EAAO,IAAIkqB,EAAUd,KAAK,IAC1BpsC,EAAO,IAAIktC,EAAUpB,MAAM,CAAC9oB,IAChC/mB,KAAKmyC,QAAQpuC,GACbgjB,EAAK9iB,OAASF,EACd/D,KAAK0xC,SAAW3qB,CACpB,EACAgqB,EAAWnxC,UAAU4yC,WAAa,WAC9BxyC,KAAK0xC,SAAW,IACpB,EACAX,EAAWnxC,UAAU6yC,wBAA0B,SAAUjpC,EAAMkzB,GAC3D,IAAI34B,EAAO,IAAIktC,EAAUyB,sBAAsBlpC,EAAMkzB,GACrD18B,KAAKmyC,QAAQpuC,EACjB,EACAgtC,EAAWnxC,UAAUkyC,eAAiB,SAAUtsB,GAC5C,GAA6B,mBAAlBxlB,KAAKqF,SACZrF,KAAKqF,SAASmgB,EAAOxlB,KAAKuxC,UAEzB,GAAI/rB,EACL,MAAMA,CAEd,EACAurB,EAAWnxC,UAAUuyC,QAAU,SAAUpuC,GACrC,IAAIE,EAASjE,KAAKyxC,SAASzxC,KAAKyxC,SAASpzC,OAAS,GAC9Cs0C,EAAkB1uC,EAAOG,SAASH,EAAOG,SAAS/F,OAAS,GAC3D2B,KAAKE,QAAQixC,mBACbptC,EAAK6uC,WAAa5yC,KAAKgoC,OAAO4K,YAE9B5yC,KAAKE,QAAQkxC,iBACbrtC,EAAK6Q,SAAW5U,KAAKgoC,OAAOpzB,UAEhC3Q,EAAOG,SAAStD,KAAKiD,GACjB4uC,IACA5uC,EAAKO,KAAOquC,EACZA,EAAgBpuC,KAAOR,GAE3BA,EAAKE,OAASA,EACdjE,KAAK0xC,SAAW,IACpB,EACOX,CACX,CAxI+B,GAyI/BtV,EAAQsV,WAAaA,EACrBtV,EAAA,QAAkBsV,qCCnKlB,IACQ8B,EADJC,EAAa9yC,MAAQA,KAAK8yC,YACtBD,EAAgB,SAAUj1C,EAAGka,GAI7B,OAHA+6B,EAAgBxzC,OAAO0zC,gBAClB,CAAEC,UAAW,cAAgB90C,OAAS,SAAUN,EAAGka,GAAKla,EAAEo1C,UAAYl7B,CAAG,GAC1E,SAAUla,EAAGka,GAAK,IAAK,IAAIF,KAAKE,EAAOzY,OAAOO,UAAUC,eAAeC,KAAKgY,EAAGF,KAAIha,EAAEga,GAAKE,EAAEF,GAAI,EAC7Fi7B,EAAcj1C,EAAGka,EAC5B,EACO,SAAUla,EAAGka,GAChB,GAAiB,mBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAI+pB,UAAU,uBAAyBl/B,OAAOmV,GAAK,iCAE7D,SAASm7B,IAAOjzC,KAAK6sC,YAAcjvC,CAAG,CADtCi1C,EAAcj1C,EAAGka,GAEjBla,EAAEgC,UAAkB,OAANkY,EAAazY,OAAOuN,OAAOkL,IAAMm7B,EAAGrzC,UAAYkY,EAAElY,UAAW,IAAIqzC,EACnF,GAEAC,EAAYlzC,MAAQA,KAAKkzC,UAAa,WAStC,OARAA,EAAW7zC,OAAOC,QAAU,SAASvB,GACjC,IAAK,IAAI4nB,EAAGlmB,EAAI,EAAGxB,EAAIK,UAAUD,OAAQoB,EAAIxB,EAAGwB,IAE5C,IAAK,IAAImY,KADT+N,EAAIrnB,UAAUmB,GACOJ,OAAOO,UAAUC,eAAeC,KAAK6lB,EAAG/N,KACzD7Z,EAAE6Z,GAAK+N,EAAE/N,IAEjB,OAAO7Z,CACX,EACOm1C,EAASnzC,MAAMC,KAAM1B,UAChC,EACAe,OAAO+S,eAAeqpB,EAAS,aAAc,CAAE34B,OAAO,IACtD24B,EAAQ0X,UAAY1X,EAAQ2X,YAAc3X,EAAQ4X,WAAa5X,EAAQ6X,YAAc7X,EAAQ8X,UAAY9X,EAAQ+X,OAAS/X,EAAQgY,QAAUhY,EAAQ4U,MAAQ5U,EAAQyW,QAAUzW,EAAQ+V,SAAW/V,EAAQoU,MAAQpU,EAAQiY,iBAAmBjY,EAAQiX,sBAAwBjX,EAAQwU,QAAUxU,EAAQ0U,KAAO1U,EAAQkY,SAAWlY,EAAQmY,UAAO,EAC/U,IAAI5C,EAAmB,EAAQ,MAK3B4C,EAAsB,WACtB,SAASA,IAEL5zC,KAAKiE,OAAS,KAEdjE,KAAKsE,KAAO,KAEZtE,KAAKuE,KAAO,KAEZvE,KAAK4yC,WAAa,KAElB5yC,KAAK4U,SAAW,IACpB,CAsDA,OArDAvV,OAAO+S,eAAewhC,EAAKh0C,UAAW,aAAc,CAMhD+H,IAAK,WACD,OAAO3H,KAAKiE,MAChB,EACA2D,IAAK,SAAU3D,GACXjE,KAAKiE,OAASA,CAClB,EACA4sC,YAAY,EACZD,cAAc,IAElBvxC,OAAO+S,eAAewhC,EAAKh0C,UAAW,kBAAmB,CAKrD+H,IAAK,WACD,OAAO3H,KAAKsE,IAChB,EACAsD,IAAK,SAAUtD,GACXtE,KAAKsE,KAAOA,CAChB,EACAusC,YAAY,EACZD,cAAc,IAElBvxC,OAAO+S,eAAewhC,EAAKh0C,UAAW,cAAe,CAKjD+H,IAAK,WACD,OAAO3H,KAAKuE,IAChB,EACAqD,IAAK,SAAUrD,GACXvE,KAAKuE,KAAOA,CAChB,EACAssC,YAAY,EACZD,cAAc,IAQlBgD,EAAKh0C,UAAUuzC,UAAY,SAAUU,GAEjC,YADkB,IAAdA,IAAwBA,GAAY,GACjCV,EAAUnzC,KAAM6zC,EAC3B,EACOD,CACX,CAnEyB,GAoEzBnY,EAAQmY,KAAOA,EAIf,IAAID,EAA0B,SAAUG,GAKpC,SAASH,EAASjX,GACd,IAAIv8B,EAAQ2zC,EAAOh0C,KAAKE,OAASA,KAEjC,OADAG,EAAMu8B,KAAOA,EACNv8B,CACX,CAeA,OAvBA2yC,EAAUa,EAAUG,GASpBz0C,OAAO+S,eAAeuhC,EAAS/zC,UAAW,YAAa,CAKnD+H,IAAK,WACD,OAAO3H,KAAK08B,IAChB,EACA90B,IAAK,SAAU80B,GACX18B,KAAK08B,KAAOA,CAChB,EACAmU,YAAY,EACZD,cAAc,IAEX+C,CACX,CAzB6B,CAyB3BC,GACFnY,EAAQkY,SAAWA,EAInB,IAAIxD,EAAsB,SAAU2D,GAEhC,SAAS3D,IACL,IAAIhwC,EAAmB,OAAX2zC,GAAmBA,EAAO/zC,MAAMC,KAAM1B,YAAc0B,KAEhE,OADAG,EAAM+D,KAAO8sC,EAAiBrB,YAAYQ,KACnChwC,CACX,CAQA,OAbA2yC,EAAU3C,EAAM2D,GAMhBz0C,OAAO+S,eAAe+9B,EAAKvwC,UAAW,WAAY,CAC9C+H,IAAK,WACD,OAAO,CACX,EACAkpC,YAAY,EACZD,cAAc,IAEXT,CACX,CAfyB,CAevBwD,GACFlY,EAAQ0U,KAAOA,EAIf,IAAIF,EAAyB,SAAU6D,GAEnC,SAAS7D,IACL,IAAI9vC,EAAmB,OAAX2zC,GAAmBA,EAAO/zC,MAAMC,KAAM1B,YAAc0B,KAEhE,OADAG,EAAM+D,KAAO8sC,EAAiBrB,YAAYM,QACnC9vC,CACX,CAQA,OAbA2yC,EAAU7C,EAAS6D,GAMnBz0C,OAAO+S,eAAe69B,EAAQrwC,UAAW,WAAY,CACjD+H,IAAK,WACD,OAAO,CACX,EACAkpC,YAAY,EACZD,cAAc,IAEXX,CACX,CAf4B,CAe1B0D,GACFlY,EAAQwU,QAAUA,EAIlB,IAAIyC,EAAuC,SAAUoB,GAEjD,SAASpB,EAAsBlpC,EAAMkzB,GACjC,IAAIv8B,EAAQ2zC,EAAOh0C,KAAKE,KAAM08B,IAAS18B,KAGvC,OAFAG,EAAMqJ,KAAOA,EACbrJ,EAAM+D,KAAO8sC,EAAiBrB,YAAYO,UACnC/vC,CACX,CAQA,OAdA2yC,EAAUJ,EAAuBoB,GAOjCz0C,OAAO+S,eAAesgC,EAAsB9yC,UAAW,WAAY,CAC/D+H,IAAK,WACD,OAAO,CACX,EACAkpC,YAAY,EACZD,cAAc,IAEX8B,CACX,CAhB0C,CAgBxCiB,GACFlY,EAAQiX,sBAAwBA,EAIhC,IAAIgB,EAAkC,SAAUI,GAK5C,SAASJ,EAAiBtvC,GACtB,IAAIjE,EAAQ2zC,EAAOh0C,KAAKE,OAASA,KAEjC,OADAG,EAAMiE,SAAWA,EACVjE,CACX,CAmCA,OA3CA2yC,EAAUY,EAAkBI,GAS5Bz0C,OAAO+S,eAAeshC,EAAiB9zC,UAAW,aAAc,CAG5D+H,IAAK,WACD,IAAIosC,EACJ,OAAmC,QAA3BA,EAAK/zC,KAAKoE,SAAS,UAAuB,IAAP2vC,EAAgBA,EAAK,IACpE,EACAlD,YAAY,EACZD,cAAc,IAElBvxC,OAAO+S,eAAeshC,EAAiB9zC,UAAW,YAAa,CAE3D+H,IAAK,WACD,OAAO3H,KAAKoE,SAAS/F,OAAS,EACxB2B,KAAKoE,SAASpE,KAAKoE,SAAS/F,OAAS,GACrC,IACV,EACAwyC,YAAY,EACZD,cAAc,IAElBvxC,OAAO+S,eAAeshC,EAAiB9zC,UAAW,aAAc,CAK5D+H,IAAK,WACD,OAAO3H,KAAKoE,QAChB,EACAwD,IAAK,SAAUxD,GACXpE,KAAKoE,SAAWA,CACpB,EACAysC,YAAY,EACZD,cAAc,IAEX8C,CACX,CA7CqC,CA6CnCE,GACFnY,EAAQiY,iBAAmBA,EAC3B,IAAI7D,EAAuB,SAAUiE,GAEjC,SAASjE,IACL,IAAI1vC,EAAmB,OAAX2zC,GAAmBA,EAAO/zC,MAAMC,KAAM1B,YAAc0B,KAEhE,OADAG,EAAM+D,KAAO8sC,EAAiBrB,YAAYE,MACnC1vC,CACX,CAQA,OAbA2yC,EAAUjD,EAAOiE,GAMjBz0C,OAAO+S,eAAey9B,EAAMjwC,UAAW,WAAY,CAC/C+H,IAAK,WACD,OAAO,CACX,EACAkpC,YAAY,EACZD,cAAc,IAEXf,CACX,CAf0B,CAexB6D,GACFjY,EAAQoU,MAAQA,EAIhB,IAAI2B,EAA0B,SAAUsC,GAEpC,SAAStC,IACL,IAAIrxC,EAAmB,OAAX2zC,GAAmBA,EAAO/zC,MAAMC,KAAM1B,YAAc0B,KAEhE,OADAG,EAAM+D,KAAO8sC,EAAiBrB,YAAYS,KACnCjwC,CACX,CAQA,OAbA2yC,EAAUtB,EAAUsC,GAMpBz0C,OAAO+S,eAAeo/B,EAAS5xC,UAAW,WAAY,CAClD+H,IAAK,WACD,OAAO,CACX,EACAkpC,YAAY,EACZD,cAAc,IAEXY,CACX,CAf6B,CAe3BkC,GACFjY,EAAQ+V,SAAWA,EAInB,IAAIU,EAAyB,SAAU4B,GAOnC,SAAS5B,EAAQ1oC,EAAMyoC,EAAS7tC,EAAUF,QACrB,IAAbE,IAAuBA,EAAW,SACzB,IAATF,IAAmBA,EAAgB,WAATsF,EACxBwnC,EAAiBrB,YAAYK,OACpB,UAATxmC,EACIwnC,EAAiBrB,YAAYI,MAC7BiB,EAAiBrB,YAAYG,KACvC,IAAI3vC,EAAQ2zC,EAAOh0C,KAAKE,KAAMoE,IAAapE,KAI3C,OAHAG,EAAMqJ,KAAOA,EACbrJ,EAAM8xC,QAAUA,EAChB9xC,EAAM+D,KAAOA,EACN/D,CACX,CAuCA,OAzDA2yC,EAAUZ,EAAS4B,GAmBnBz0C,OAAO+S,eAAe8/B,EAAQtyC,UAAW,WAAY,CACjD+H,IAAK,WACD,OAAO,CACX,EACAkpC,YAAY,EACZD,cAAc,IAElBvxC,OAAO+S,eAAe8/B,EAAQtyC,UAAW,UAAW,CAMhD+H,IAAK,WACD,OAAO3H,KAAKwJ,IAChB,EACA5B,IAAK,SAAU4B,GACXxJ,KAAKwJ,KAAOA,CAChB,EACAqnC,YAAY,EACZD,cAAc,IAElBvxC,OAAO+S,eAAe8/B,EAAQtyC,UAAW,aAAc,CACnD+H,IAAK,WACD,IAAIxH,EAAQH,KACZ,OAAOX,OAAO6T,KAAKlT,KAAKiyC,SAAShqC,KAAI,SAAUuB,GAC3C,IAAIuqC,EAAIC,EACR,MAAO,CACHxqC,KAAMA,EACN1G,MAAO3C,EAAM8xC,QAAQzoC,GACrByqC,UAAkD,QAAtCF,EAAK5zC,EAAM,6BAA0C,IAAP4zC,OAAgB,EAASA,EAAGvqC,GACtF8gB,OAA4C,QAAnC0pB,EAAK7zC,EAAM,0BAAuC,IAAP6zC,OAAgB,EAASA,EAAGxqC,GAExF,GACJ,EACAqnC,YAAY,EACZD,cAAc,IAEXsB,CACX,CA3D4B,CA2D1BwB,GAMF,SAASrD,EAAMtsC,GACX,OAAO,EAAIitC,EAAiBX,OAAOtsC,EACvC,CAMA,SAAS0vC,EAAQ1vC,GACb,OAAOA,EAAKG,OAAS8sC,EAAiBrB,YAAYE,KACtD,CAMA,SAAS2D,EAAOzvC,GACZ,OAAOA,EAAKG,OAAS8sC,EAAiBrB,YAAYQ,IACtD,CAMA,SAASoD,EAAUxvC,GACf,OAAOA,EAAKG,OAAS8sC,EAAiBrB,YAAYM,OACtD,CAMA,SAASqD,EAAYvvC,GACjB,OAAOA,EAAKG,OAAS8sC,EAAiBrB,YAAYO,SACtD,CAMA,SAASmD,EAAWtvC,GAChB,OAAOA,EAAKG,OAAS8sC,EAAiBrB,YAAYS,IACtD,CAgBA,SAAS+C,EAAUpvC,EAAM8vC,GAErB,IAAItlC,EACJ,QAFkB,IAAdslC,IAAwBA,GAAY,GAEpCL,EAAOzvC,GACPwK,EAAS,IAAI4hC,EAAKpsC,EAAK24B,WAEtB,GAAI6W,EAAUxvC,GACfwK,EAAS,IAAI0hC,EAAQlsC,EAAK24B,WAEzB,GAAI2T,EAAMtsC,GAAO,CAClB,IAAIK,EAAWyvC,EAAYK,EAAcnwC,EAAKK,UAAY,GACtD+vC,EAAU,IAAIjC,EAAQnuC,EAAKyF,KAAM0pC,EAAS,CAAC,EAAGnvC,EAAKkuC,SAAU7tC,GACjEA,EAASxF,SAAQ,SAAUw1C,GAAS,OAAQA,EAAMnwC,OAASkwC,CAAU,IAC/C,MAAlBpwC,EAAKkwC,YACLE,EAAQF,UAAYlwC,EAAKkwC,WAEzBlwC,EAAK,wBACLowC,EAAQ,sBAAwBjB,EAAS,CAAC,EAAGnvC,EAAK,wBAElDA,EAAK,qBACLowC,EAAQ,mBAAqBjB,EAAS,CAAC,EAAGnvC,EAAK,qBAEnDwK,EAAS4lC,CACb,MACK,GAAIV,EAAQ1vC,GAAO,CAChBK,EAAWyvC,EAAYK,EAAcnwC,EAAKK,UAAY,GAA1D,IACIiwC,EAAU,IAAIxE,EAAMzrC,GACxBA,EAASxF,SAAQ,SAAUw1C,GAAS,OAAQA,EAAMnwC,OAASowC,CAAU,IACrE9lC,EAAS8lC,CACb,MACK,GAAIhB,EAAWtvC,GAAO,CACnBK,EAAWyvC,EAAYK,EAAcnwC,EAAKK,UAAY,GAA1D,IACIkwC,EAAU,IAAI9C,EAASptC,GAC3BA,EAASxF,SAAQ,SAAUw1C,GAAS,OAAQA,EAAMnwC,OAASqwC,CAAU,IACjEvwC,EAAK,YACLuwC,EAAQ,UAAYvwC,EAAK,WAE7BwK,EAAS+lC,CACb,KACK,KAAIhB,EAAYvvC,GAUjB,MAAM,IAAI9E,MAAM,wBAAwBiK,OAAOnF,EAAKG,OATpD,IAAIqwC,EAAc,IAAI7B,EAAsB3uC,EAAKyF,KAAMzF,EAAK24B,MACtC,MAAlB34B,EAAK,YACLwwC,EAAY,UAAYxwC,EAAK,UAC7BwwC,EAAY,cAAgBxwC,EAAK,cACjCwwC,EAAY,cAAgBxwC,EAAK,eAErCwK,EAASgmC,CAIb,CAMA,OALAhmC,EAAOqkC,WAAa7uC,EAAK6uC,WACzBrkC,EAAOqG,SAAW7Q,EAAK6Q,SACQ,MAA3B7Q,EAAKywC,qBACLjmC,EAAOimC,mBAAqBzwC,EAAKywC,oBAE9BjmC,CACX,CAEA,SAAS2lC,EAAcO,GAEnB,IADA,IAAIrwC,EAAWqwC,EAAOxsC,KAAI,SAAUmsC,GAAS,OAAOjB,EAAUiB,GAAO,EAAO,IACnE30C,EAAI,EAAGA,EAAI2E,EAAS/F,OAAQoB,IACjC2E,EAAS3E,GAAG6E,KAAOF,EAAS3E,EAAI,GAChC2E,EAAS3E,EAAI,GAAG8E,KAAOH,EAAS3E,GAEpC,OAAO2E,CACX,CAjIAq3B,EAAQyW,QAAUA,EAQlBzW,EAAQ4U,MAAQA,EAQhB5U,EAAQgY,QAAUA,EAQlBhY,EAAQ+X,OAASA,EAQjB/X,EAAQ8X,UAAYA,EAQpB9X,EAAQ6X,YAAcA,EAQtB7X,EAAQ4X,WAAaA,EAQrB5X,EAAQ2X,YAHR,SAAqBrvC,GACjB,OAAO1E,OAAOO,UAAUC,eAAeC,KAAKiE,EAAM,WACtD,EAkEA03B,EAAQ0X,UAAYA,qCC/cpB,IAGIuB,EAHAC,EAAW,EAAQ,MACnBC,EAAO,EAAQ,MAGnB,IAECF,EAAyE,GAAK1B,YAAc90C,MAAM0B,SACnG,CAAE,MAAO9B,GACR,IAAKA,GAAkB,iBAANA,KAAoB,SAAUA,IAAiB,qBAAXA,EAAEU,KACtD,MAAMV,CAER,CAGA,IAAIiuC,IAAS2I,GAAoBE,GAAQA,EAAKv1C,OAAOO,UAAwD,aAEzGi1C,EAAUx1C,OACVy1C,EAAkBD,EAAQhiC,eAG9B2oB,EAAOC,QAAUsQ,GAA4B,mBAAbA,EAAKpkC,IAClCgtC,EAAS,CAAC5I,EAAKpkC,MACY,mBAApBmtC,GACyB,SAAmBhyC,GAEnD,OAAOgyC,EAAyB,MAAThyC,EAAgBA,EAAQ+xC,EAAQ/xC,GACxD,gCCzBF,IAAIiyC,EAAkB11C,OAAO+S,iBAAkB,EAC/C,GAAI2iC,EACH,IACCA,EAAgB,CAAC,EAAG,IAAK,CAAEjyC,MAAO,GACnC,CAAE,MAAOhF,GAERi3C,GAAkB,CACnB,CAGDvZ,EAAOC,QAAUsZ,iCCVjBvZ,EAAOC,QAAUuZ,yCCAjBxZ,EAAOC,QAAUx8B,qCCAjBu8B,EAAOC,QAAUwZ,0CCAjBzZ,EAAOC,QAAUyZ,8CCAjB1Z,EAAOC,QAAU0Z,2CCAjB3Z,EAAOC,QAAUoG,yCCAjBrG,EAAOC,QAAU2Z,wCCAjB5Z,EAAOC,QAAUp8B,6BCHjB,QAsBoB,oBAAVkrC,QAAwBA,YATf,0BAAf,EAS6C,WAEjD,aAEA,SAAS8K,IAAa,CAEtB,IAAIC,EAAQD,EAAUz1C,UAiFtB,OA/EA01C,EAAMC,GAAK,SAAUC,EAAWjT,GAC9B,GAAMiT,GAAcjT,EAApB,CAIA,IAAIkT,EAASz1C,KAAK01C,QAAU11C,KAAK01C,SAAW,CAAC,EAEzCC,EAAYF,EAAQD,GAAcC,EAAQD,IAAe,GAM7D,OAJuC,GAAlCG,EAAUvyC,QAASm/B,IACtBoT,EAAU70C,KAAMyhC,GAGXviC,IAVP,CAWF,EAEAs1C,EAAMM,KAAO,SAAUJ,EAAWjT,GAChC,GAAMiT,GAAcjT,EAApB,CAIAviC,KAAKu1C,GAAIC,EAAWjT,GAGpB,IAAIsT,EAAa71C,KAAK81C,YAAc91C,KAAK81C,aAAe,CAAC,EAMzD,OAJoBD,EAAYL,GAAcK,EAAYL,IAAe,CAAC,GAE3DjT,IAAa,EAErBviC,IAXP,CAYF,EAEAs1C,EAAMS,IAAM,SAAUP,EAAWjT,GAC/B,IAAIoT,EAAY31C,KAAK01C,SAAW11C,KAAK01C,QAASF,GAC9C,GAAMG,GAAcA,EAAUt3C,OAA9B,CAGA,IAAIgF,EAAQsyC,EAAUvyC,QAASm/B,GAK/B,OAJe,GAAVl/B,GACHsyC,EAAUnT,OAAQn/B,EAAO,GAGpBrD,IANP,CAOF,EAEAs1C,EAAMU,UAAY,SAAUR,EAAW/2C,GACrC,IAAIk3C,EAAY31C,KAAK01C,SAAW11C,KAAK01C,QAASF,GAC9C,GAAMG,GAAcA,EAAUt3C,OAA9B,CAIAs3C,EAAYA,EAAUv2C,MAAM,GAC5BX,EAAOA,GAAQ,GAIf,IAFA,IAAIw3C,EAAgBj2C,KAAK81C,aAAe91C,KAAK81C,YAAaN,GAEhD/1C,EAAE,EAAGA,EAAIk2C,EAAUt3C,OAAQoB,IAAM,CACzC,IAAI8iC,EAAWoT,EAAUl2C,GACZw2C,GAAiBA,EAAe1T,KAI3CviC,KAAK+1C,IAAKP,EAAWjT,UAEd0T,EAAe1T,IAGxBA,EAASxiC,MAAOC,KAAMvB,EACxB,CAEA,OAAOuB,IArBP,CAsBF,EAEAs1C,EAAMY,OAAS,kBACNl2C,KAAK01C,eACL11C,KAAK81C,WACd,EAEOT,CAEP,GAlGmB,iECXnB,IAAIc,EAAS92C,OAAOO,UAAUC,eAC1Bu2C,EAAQ/2C,OAAOO,UAAUsP,SACzBkD,EAAiB/S,OAAO+S,eACxBwiC,EAAOv1C,OAAOoxC,yBAEdtyC,EAAU,SAAiB0sC,GAC9B,MAA6B,mBAAlB3sC,MAAMC,QACTD,MAAMC,QAAQ0sC,GAGK,mBAApBuL,EAAMt2C,KAAK+qC,EACnB,EAEIl4B,EAAgB,SAAuB1E,GAC1C,IAAKA,GAA2B,oBAApBmoC,EAAMt2C,KAAKmO,GACtB,OAAO,EAGR,IASItO,EATA02C,EAAoBF,EAAOr2C,KAAKmO,EAAK,eACrCqoC,EAAmBroC,EAAI4+B,aAAe5+B,EAAI4+B,YAAYjtC,WAAau2C,EAAOr2C,KAAKmO,EAAI4+B,YAAYjtC,UAAW,iBAE9G,GAAIqO,EAAI4+B,cAAgBwJ,IAAsBC,EAC7C,OAAO,EAMR,IAAK32C,KAAOsO,GAEZ,YAAsB,IAARtO,GAAuBw2C,EAAOr2C,KAAKmO,EAAKtO,EACvD,EAGI42C,EAAc,SAAqB/2C,EAAQU,GAC1CkS,GAAmC,cAAjBlS,EAAQsJ,KAC7B4I,EAAe5S,EAAQU,EAAQsJ,KAAM,CACpCqnC,YAAY,EACZD,cAAc,EACd9tC,MAAO5C,EAAQs2C,SACf7F,UAAU,IAGXnxC,EAAOU,EAAQsJ,MAAQtJ,EAAQs2C,QAEjC,EAGIC,EAAc,SAAqBxoC,EAAKzE,GAC3C,GAAa,cAATA,EAAsB,CACzB,IAAK2sC,EAAOr2C,KAAKmO,EAAKzE,GACrB,OACM,GAAIorC,EAGV,OAAOA,EAAK3mC,EAAKzE,GAAM1G,KAEzB,CAEA,OAAOmL,EAAIzE,EACZ,EAEAgyB,EAAOC,QAAU,SAASwF,IACzB,IAAI/gC,EAASsJ,EAAMktC,EAAKC,EAAMC,EAAazjC,EACvC3T,EAASlB,UAAU,GACnBmB,EAAI,EACJpB,EAASC,UAAUD,OACnBw4C,GAAO,EAaX,IAVsB,kBAAXr3C,IACVq3C,EAAOr3C,EACPA,EAASlB,UAAU,IAAM,CAAC,EAE1BmB,EAAI,IAES,MAAVD,GAAqC,iBAAXA,GAAyC,mBAAXA,KAC3DA,EAAS,CAAC,GAGJC,EAAIpB,IAAUoB,EAGpB,GAAe,OAFfS,EAAU5B,UAAUmB,IAInB,IAAK+J,KAAQtJ,EACZw2C,EAAMD,EAAYj3C,EAAQgK,GAItBhK,KAHJm3C,EAAOF,EAAYv2C,EAASsJ,MAKvBqtC,GAAQF,IAAShkC,EAAcgkC,KAAUC,EAAcz4C,EAAQw4C,MAC9DC,GACHA,GAAc,EACdzjC,EAAQujC,GAAOv4C,EAAQu4C,GAAOA,EAAM,IAEpCvjC,EAAQujC,GAAO/jC,EAAc+jC,GAAOA,EAAM,CAAC,EAI5CH,EAAY/2C,EAAQ,CAAEgK,KAAMA,EAAMgtC,SAAUvV,EAAO4V,EAAM1jC,EAAOwjC,WAGtC,IAATA,GACjBJ,EAAY/2C,EAAQ,CAAEgK,KAAMA,EAAMgtC,SAAUG,KAQjD,OAAOn3C,CACR,iCChHA,IACI42C,EAAQ/2C,OAAOO,UAAUsP,SACzBkV,EAAM1hB,KAAK0hB,IAGX0yB,EAAW,SAAkBx+B,EAAGR,GAGhC,IAFA,IAAI+yB,EAAM,GAEDprC,EAAI,EAAGA,EAAI6Y,EAAEja,OAAQoB,GAAK,EAC/BorC,EAAIprC,GAAK6Y,EAAE7Y,GAEf,IAAK,IAAIqH,EAAI,EAAGA,EAAIgR,EAAEzZ,OAAQyI,GAAK,EAC/B+jC,EAAI/jC,EAAIwR,EAAEja,QAAUyZ,EAAEhR,GAG1B,OAAO+jC,CACX,EAqBArP,EAAOC,QAAU,SAAcsb,GAC3B,IAAIv3C,EAASQ,KACb,GAAsB,mBAAXR,GApCA,sBAoCyB42C,EAAMr2C,MAAMP,GAC5C,MAAM,IAAIqiC,UAxCE,kDAwCwBriC,GAyBxC,IAvBA,IAEIw3C,EAFAv4C,EAxBI,SAAew4C,EAAShxC,GAEhC,IADA,IAAI4kC,EAAM,GACDprC,EAAIwG,GAAU,EAAGa,EAAI,EAAGrH,EAAIw3C,EAAQ54C,OAAQoB,GAAK,EAAGqH,GAAK,EAC9D+jC,EAAI/jC,GAAKmwC,EAAQx3C,GAErB,OAAOorC,CACX,CAkBeqM,CAAM54C,UAAW,GAqBxB64C,EAAc/yB,EAAI,EAAG5kB,EAAOnB,OAASI,EAAKJ,QAC1C+4C,EAAY,GACP33C,EAAI,EAAGA,EAAI03C,EAAa13C,IAC7B23C,EAAU33C,GAAK,IAAMA,EAKzB,GAFAu3C,EAAQlJ,SAAS,SAAU,oBA3CnB,SAAUjD,EAAKwM,GAEvB,IADA,IAAItoC,EAAM,GACDtP,EAAI,EAAGA,EAAIorC,EAAIxsC,OAAQoB,GAAK,EACjCsP,GAAO87B,EAAIprC,GACPA,EAAI,EAAIorC,EAAIxsC,SACZ0Q,GAAOsoC,GAGf,OAAOtoC,CACX,CAkCqDuoC,CAAMF,EAAW,KAAO,4CAAjEtJ,EAxBK,WACT,GAAI9tC,gBAAgBg3C,EAAO,CACvB,IAAIzoC,EAAS/O,EAAOO,MAChBC,KACA82C,EAASr4C,EAAMH,YAEnB,OAAIe,OAAOkP,KAAYA,EACZA,EAEJvO,IACX,CACA,OAAOR,EAAOO,MACVg3C,EACAD,EAASr4C,EAAMH,WAGvB,IAUIkB,EAAOI,UAAW,CAClB,IAAI23C,EAAQ,WAAkB,EAC9BA,EAAM33C,UAAYJ,EAAOI,UACzBo3C,EAAMp3C,UAAY,IAAI23C,EACtBA,EAAM33C,UAAY,IACtB,CAEA,OAAOo3C,CACX,qCCjFA,IAAIQ,EAAiB,EAAQ,MAE7Bhc,EAAOC,QAAUqS,SAASluC,UAAUL,MAAQi4C,iCCF5Chc,EAAOC,QAAUp8B,OAAOC,4qBC8mBxB,MCjmBam4C,EAA2BC,IACC,oBAAhCC,kBACP,YAA6BA,iBAAC/3C,UAgBhC,MAAAsyB,EAwBEp0B,IACgC,IAAAC,EAEhC,MA3BwB,CAExBD,IAA4B,IAAAC,EAAAua,EAAA,OAGrBs/B,QAAC,MAAA95C,GAAA,OAAAC,EAAAD,EAAM+5C,SAAgB,OAAtBv/B,EAAAva,EAAc+5C,eAAA,EAAdx/B,EAAwBo+B,IAAG,EALX,CA2BF54C,GAErBA,EAtB6B,CAE9BA,GACsC85C,QAAQ,MAAA95C,OAAA,EAAAA,EAAMi6C,iBAHtB,CAwBFj6C,GACfA,EAACi6C,gBApBY,CAE1Bj6C,GACkC85C,QAAQ,MAAA95C,OAAA,EAAAA,EAAMk6C,aAHtB,CAuBFl6C,GACfA,EAAKk6C,YAEH,MAAAl6C,GAAiB,OAAjBC,EAAJD,EAAMm6C,sBAAA,EAANl6C,EAAuBg6C,eAAA,EAOI,SAAA7wC,EAGlCpJ,EACAC,EACAua,GAIA,MAAM7Y,EAA8B,CAAC,EAErC,IAAakmB,EAAG,uBAmBhB,MAXe,UAAXrN,GACF7Y,EAAayb,MAAQpd,EACrB2B,EAAa4b,OAAStd,GACF,gBAAXua,IAKTqN,EAAA,yDAGK,CACL7V,UAAA6V,EACA,4BAA+B,GAC/BhP,MAAOlX,EAEX,CA0GgB,SAAYy4C,EAC1Bp6C,EACAC,EACAua,EACA7Y,EACAkmB,GA4BA,YA5BA,IAAAA,IAAAA,EAAuB,CAAC,GAkBnB3W,EAAA,GAAAsJ,EACH,CAAA6/B,QAAA14C,EACA24C,WAAYt6C,EACZ,kBAAqB,GACrB6Y,MAAK3H,EAAA,GACA2W,EAAK,CACRla,QAAS1N,EAAW,EAAI,KAK9B,UAOmCs6C,EACjCv6C,EACAC,EACAua,EACA7Y,EACAkmB,EACA9nB,EACAI,EACAG,GAEA,MAAkB2Z,EAAkB,CAAC,EAEjCla,IACFka,EAAa2D,gBAAkB7d,EAEhB,UAAXya,GACFP,EAAamD,MAAQzb,EACrBsY,EAAasD,OAASsK,EACtB5N,EAAa2D,gBAAkB7d,EAC/Bka,EAAanU,SAAW,aACJ,gBAAX0U,GAMW,cAAXA,KALTP,EAAanU,SAAW,WACxBmU,EAAakH,IAAM,EACnBlH,EAAaqH,KAAO,EACpBrH,EAAaoH,OAAS,EACtBpH,EAAamH,MAAQ,IAUrBjhB,IACF8Z,EAAaugC,UAAYr6C,GAGvBG,IACF2Z,EAAawgC,eAAiBn6C,GAEhC,MAAYR,EAAAoR,EAAA,GACPlR,EAAW,CACd,eAAc,EACd,yBAA4B,GAC5B6Y,MACE3H,EAAA,CAAAvD,QAAS1N,EAAW,EAAI,EACxBq8B,WAAkC,wBAC/BriB,KAeP,OACFna,CAAA,CCrUA,MAAA46C,EAAA,aAkEWC,EAA2C,SAAAC,GAGpD,IAHmEC,OACnE56C,EAAMmd,MACN5C,EAAK+C,OACL5b,GAAAi5C,EAEA,MAAe,cAAX36C,EAEAD,EAAAA,cAAiB,wBAAA6Y,MAAO,CAAEsF,WAAgBxc,EAAS6Y,EAAS,IAAnB,OAI9B,gBAAXva,EAEAD,EAAAA,cAAA,OAAK6Y,MAAO,CAAEwE,SAAU7C,EAAOsF,QAAS,UACtC9f,EAAAA,cAAA,OACE86C,IAAI,GACJtd,KAAK,eACO,qBACZob,IAAA,qDAA0Dj3C,eAAoB6Y,uEAC9E3B,MAAO,CACLwE,SAAgB,OAChByC,QAAgB,QAChBha,SAAkB,aAOrB,IACT,EAE0Bi1C,EAEtB,SAA6CvgC,GAAA,IAAtBlU,SAAE3E,GAAoB6Y,EAAPqN,EAAKmzB,EAAAxgC,EAAAkgC,GAC7C,OACE16C,EAAAA,cAACC,EAAAA,SAAQ,KACPD,EAAAA,cAAC26C,EAAUzpC,EAAA,GAAA2W,IACVlmB,EAEmC,KAG1C,EAAAs5C,EAAA,8CAAAC,EAAA,oCC1EWC,EAAkC,SAAcl7C,GAAA,IAAC24C,IAC1Dp+B,EAAG4gC,OACHz5C,EAAM04C,QACNxyB,EAAOizB,IACP/6C,EAAQ,GAAAu6C,WACRn6C,GACGF,EAAAK,EAEH06C,EAAA/6C,EAAAg7C,GAAA,OACEj7C,EAAAA,cAAA,MAAAkR,EAAA,GACM5Q,EAAK,CACT+6C,SAAS,QACThB,QAASxyB,EACT+wB,IAAKz4C,EAAaqa,OAAA,EAAe,WACtBra,OAAA,EAAaqa,EACxB4gC,OAAQj7C,EAAawB,OAAA,EACR,cAACxB,OAAA,EAAawB,EAC3Bm5C,IAAK/6C,IAGX,EAEoBu7C,EAA2B,SAAgBr7C,GAAC,IAAA+5C,SAC9Dx/B,EAAQ+gC,QACR55C,EAAU,GAAE24C,WACZzyB,GAAA,GAED5nB,EADIF,EAEHi7C,EAAA/6C,EAAAi7C,GAAA,MAAA/6C,EAAcJ,EAAMy7C,QAAS,MAAAhhC,OAAA,EAAAA,EAAUghC,OAAAl7C,EAErCN,EAAAA,cAACm7C,EAAUjqC,EAAA,GAAAnR,EAAWya,EAAU,CAAAghC,MAAOr7C,EAAOm6C,WAAYzyB,KAG5D,OAAKlmB,EAAQpB,OAAAP,EAAAA,cAKX,eACG2B,EAAQwI,KAAIsxC,IAAA,IAAGC,MAAAz7C,EAAOm7C,OAAA5gC,EAAQpU,KAAAzE,GAAA85C,EAAA,OAC7Bz7C,EAAAA,cAAA,UACE6B,IAAQ,GAAA5B,KAAS0B,KAAQ6Y,IACzBpU,KAAMzE,EACN+5C,MAAOz7C,EACPm7C,OAAQvzB,EAAarN,OAAA,EACR,cAACqN,OAAA,EAAarN,EAC3BghC,MAAOr7C,GAAA,IAGVG,GAAAA,CAGP,ECvFA,IAAAq7C,EDyFAR,EAAMzhC,UAAY,CAChBk/B,IAAK94C,EAAAA,OAAiB87C,WACtBd,IAAKh7C,EAAAA,OAAiB87C,WACtBJ,MAAO17C,EAAAA,OACPs7C,OAAQt7C,EAAAA,OACRw6C,WAAYx6C,EAAAA,MAGdw7C,EAAQlnC,YAAc,UACtBknC,EAAQ5hC,UAAY,CAClBohC,IAAKh7C,EAAAA,OAAiB87C,WACtBtB,WAAYx6C,EAAAA,KACZk6C,SAAUl6C,EAAAA,MAAgB,CACxB84C,IAAK94C,EAAAA,OAAiB87C,WACtBR,OAAQt7C,EAAAA,OACR07C,MAAO17C,EAAAA,SAETy7C,QAASz7C,EAAAA,QACPA,EAAAA,UAAoB,CAClBA,EAAAA,MAAgB,CACd47C,MAAO57C,EAAAA,OAAiB87C,WACxBx1C,KAAMtG,EAAAA,OACN07C,MAAO17C,EAAAA,OACPs7C,OAAQt7C,EAAAA,OAAiB87C,aAE3B97C,EAAAA,MAAgB,CACd47C,MAAO57C,EAAAA,OACPsG,KAAMtG,EAAAA,OAAiB87C,WACvBJ,MAAO17C,EAAAA,OACPs7C,OAAQt7C,EAAAA,OAAiB87C,iBCtHjC,MAAAC,EAAA,aASaC,EACX,SAAoB77C,GAAC,IAAA+5C,SAAEx/B,GAAava,EAAA0B,EAAAq5C,EAAA/6C,EAAA47C,GAClC,OAAIrhC,EAEAxa,EAAAA,cAACs7C,EACKpqC,EAAA,GAAAvP,EACJ,CAAAq4C,SAAU,CACRpB,IAAKp+B,GACN,iBAEDsgC,IAAI,MAAA96C,EAAAA,cAID,MAASkR,EAAA,GAAAvP,GAEpB,EAEFm6C,EAAY1nC,YAAc,cAC1B0nC,EAAYpiC,UAAY,CACtBsgC,SAAUl6C,EAAAA,OACVy7C,QAA0B,OAAnBI,EAAEL,EAAQ5hC,gBAAA,EAARiiC,EAAmBJ,QAC5BT,IAAK,SAAU96C,EAAOC,EAAUua,GAC9B,OAAKxa,EAAMC,GAIJ,IAASkB,MACd,kBAAkBlB,qBAA4Bua,2BAH/C,IAKH,GClCW,MAAAuhC,EAAoC,SAAmB97C,GAClE,OACED,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACs7C,EAAYpqC,EAAA,GAAAjR,IACbD,EAAAA,cAAA,gBACEA,EAAAA,cAACs7C,EAAYpqC,EAAA,GAAAjR,EAAA,CAAOq6C,YAAA,MAI5B,EAEAyB,EAAU3nC,YAAc,YACxB2nC,EAAUriC,UAAY4hC,EAAQ5hC,UAAA,MAAAsiC,EAAA,8HAAAC,EAAA,sBCRxBC,EAAkBl8C,GAAwBA,EAAImF,QAAQ,MAAO,IAmHtDg3C,EAA4C,SACvDn8C,EACAC,EACAua,GAAA,QAAA4hC,EAAA57C,UAAAD,OACGoB,EAAA,IAAAvB,MAAAg8C,EAAA,EAAAA,EAAA,KAAAjoC,EAAA,EAAAA,EAAAioC,EAAAjoC,IAAAxS,EAAAwS,EAAA,GAAA3T,UAAA2T,GAAA,OAEEnU,EAAM86C,KAAqB,KAAd96C,EAAM86C,IAMRnW,IAAAA,OAAC1iC,MAAD0iC,IAAA,CAAQ3kC,EAAOC,EAAUua,GAAApP,OAAkBzJ,IALlD,IAAAR,MAAA,iCAC4BqZ,2JAAA,EAOjB6hC,EAAG,CACvBC,MAAO3X,IAAAA,OAAiBiX,WACxBd,IAAKqB,GC7IPI,EAAA,8FAAA71B,EAAA,sBAAA81B,EA4BmB,IAAAp5B,IACnB,IAA8Bq5B,EACyBC,EAgCvD,MAAMC,EAA4C,SAWjD38C,GAAA,IAX8E8T,GAC7E7T,EAAU,MAAAq8C,MACV9hC,EAAK3B,MACLoB,EAAK2D,gBACL9d,EAAekS,UACf2yB,EACAiY,MAAOC,EAAWC,YAClBhjC,EAAWijC,OACXljC,EAAMmjC,QACN98C,GAEDF,EADIi9C,EAEHjC,EAAAh7C,EAAAu8C,GAAA,MAAMn/B,MAAEjU,EAAKoU,OAAEvD,EAAM6gC,OAAEhQ,GAAWrwB,EAAA0iC,EAK9B9zC,EAAgBD,EAAO6Q,EAAQ6wB,IAHjChyB,MAAO5P,EACP+I,UAAWmrC,GACRD,EAAAE,EAAApC,EAAAkC,EAAAx2B,GAEC22B,GAAOx1B,EAAAA,EAAAA,UAAAy1B,GACIv9C,EAAAA,EAAAA,UAAQ,IAAMosB,KAAK1kB,UAAU+S,EAAMu/B,SAAS,CAACv/B,EAAMu/B,SAGhE8C,IACFlY,EAAYkY,GAGd,MAAWU,EAAA,SLxCXv9C,EACAC,EACAua,GAEA,IAAS7Y,EAAG,GAWZ,MAVe,cAAX3B,IACF2B,EACE,+CAAC6Y,EAASva,EAAS,iBAIR,gBAAXD,IACF2B,EAAA,0BAAkC1B,mIAAuIua,eAAoBva,2IAGxL0B,CACT,CKwBa,CAAYkpC,EAAQ1hC,EAAO6Q,GA+HtC,OA7HA7Z,EAAAA,EAAAA,YAAU,KACHs8C,IACHA,EAA6B,8BAAyBvY,MACpDsZ,IAAA,IAAGC,oBAAAz9C,EAAqB09C,qBAAAz9C,GAAAu9C,EAAA,OACtBd,EAAc18C,EAEP,CACLy9C,oBAAAz9C,EACA09C,qBAAAz9C,EAAA,KAQR,MAAMD,EAAWq9C,EAAKvqC,QAAQ6qC,cACH,2BAE3B,GAAI39C,GAAY25C,IAkCd,OAjCI35C,EAAS49C,UAAA,MAEX9jC,GAAAA,EAAc,CACZ+jC,WAAA,IAAW,MAEbhkC,GAAAA,EAAS,CACPgkC,WAAA,IAIF7c,YAAW,KACThhC,EAAS89C,gBAAgB,2BACxB,KAEQ,MAAXhkC,GAAAA,EAAc,CACZ+jC,WAAA,IAGF79C,EAASkiC,iBAAuB,QAAE,SAAAjiC,IAChCD,EAASo/B,oBAAA,OAA4Bn/B,GAE/B,MAAN4Z,GAAAA,EAAS,CACPgkC,WAAA,IAGF7c,YAAW,KACThhC,EAAS89C,gBAAgB,wBAAuB,GAC/C,EACL,UAGFtB,EAAWuB,IAAIT,GAKjB,GAAIZ,GAAeF,EAAWwB,IAAIV,GAChC,OAGF,IAAIr9C,EACA0B,EAiCJ,OAhCA86C,EAA2BvY,MACzB+Z,IAAwB,IAArBR,oBAAAz9C,EAAqB09C,qBAAA71B,GAAAo2B,EACjBZ,EAAKvqC,UAIVuqC,EAAKvqC,QAAQorC,UAAYl+C,EAAAkR,EAAA,CACvBitC,WAAA,EACAC,SAAU5B,EAAWwB,IAAIV,GACzBhB,MAAA9hC,GACGyiC,IAGAT,EAAWwB,IAAIV,KAClBr9C,EAAiBo+C,uBAAsB,KACjChB,EAAKvqC,UACPnR,EAAkBkmB,EAChBw1B,EAAKvqC,QACLwqC,EACAd,EACAviC,EACAH,EACAD,EACA3Z,GAEH,KAEJ,IAKE,KACDD,GACFq+C,qBAAqBr+C,GAEnB0B,GACFA,GACD,CACH,GACC,CAAC6Y,KAGJla,EAAAA,EAAAA,kBAAgB,KACVk8C,EAAWwB,IAAIV,IAAaZ,IAC9BW,EAAKvqC,QAAQorC,UAAYxB,EACvBxrC,EAAA,CAAAitC,UAAW3B,EAAWwB,IAAIV,GAC1Bc,SAAU5B,EAAWwB,IAAIV,GACzBhB,MAAA9hC,GACGyiC,IAAA,MAILnjC,GAAAA,EAAc,CACZ+jC,WAAA,IAAW,MAEbhkC,GAAAA,EAAS,CACPgkC,WAAA,IAEH,GACA,CAACrjC,KAGG7Y,EAAAA,EAAAA,eAAc1B,EAAAiR,EAAA,GAChBksC,EAAY,CACfvkC,MAAK3H,EAAA,GACAjI,EACAgR,EACH,CAAA2D,gBAAA9d,IAEFkS,UAAW,GAAGmrC,IAASxY,EAAY,IAAIA,IAAA,KACvC/yB,IAAKyrC,EACLkB,wBAAyB,CACvBC,OAAQjB,GAEVkB,0BAAA,IAEJ,EAEwBC,GAAwClkC,EAAAA,EAAAA,OAC9D,SAAqBxa,GACnB,OAAKA,EAAMs8C,OAcJ36C,EAAAA,EAAAA,eAAcg7C,EAAqB38C,GARzC,IASH,IAGF0+C,EAAYhlC,UAAY2iC,EACxBqC,EAAYtqC,YAAc,cC5P1B,MAAAuqC,EAAA,mPAsBgB,SAAAC,EACd3+C,GAEA,OAAgB,SAuBfua,GAAA,IAvB2Bo+B,IAC1Bj3C,EACAk9C,YAAah3B,EAASi3B,QACtB/+C,GAmBGya,EAAAra,EAEH66C,EAAAxgC,EAAAmkC,GAIA,OAJI5+C,GACFquC,QAAQC,KAAKtuC,GAGX8nB,EACK7nB,EAAAA,cAACC,EAAYiR,EAAA,CAAAorC,MAAOz0B,GAAe1nB,KAE5CiuC,QAAQC,KAAA,mBAAyB1sC,GAOnC,MACF,CAEA,MAAiBo9C,EACfH,GFvDA,SAAoB3+C,GAAA,IAAC6T,GACnB0G,EAAA,MAAUxI,UACVrQ,EACAi7C,MAAO/0B,EAAWhP,MAClB9Y,EAAKu8C,MACLn8C,EAAKk6C,QACL/5C,EAAgB,OAAA0+C,aAChB/kC,EAAYglC,SACZn/C,EAAQ8d,gBACR+mB,EAAe6V,UACfqC,EAASpC,eACT3gC,GAAA7Z,EACG4Z,EAAKmhC,EAAA/6C,EAAA+7C,GAER,IAAK77C,EAEH,OADAiuC,QAAQC,KAAK,4CACN,KAGLxmB,IACFlmB,EAAYkmB,GAGd/nB,EAAAoR,EAAA,CACEspC,UAAAqC,EACApC,eAAA3gC,EACA8D,gBAAA+mB,GACG7kC,GAGL,MAAMsd,MACJld,EAAKqd,OACL0/B,EAAMpC,OACN1xC,EAAM4wC,OACN//B,EAAMklC,YACNrU,EACAjtB,gBAAiBs/B,GACf/8C,EAMA8I,EAAAG,EAAgBlJ,EAAO+8C,EAAQ9zC,IAHjC0P,MAAOskC,EACPnrC,UAAWorC,GACRn0C,EAAAo0C,EAAArC,EAAA/xC,EAAAgzC,GAGCqB,EAA4C,CAChDtD,cAAA,EACAuB,QAAS,IAoBX,OAlBIvhC,EAAOggC,WACTsD,EAActD,SAAQ9oC,EAAA,GACjB8I,EAAOggC,SAAA,CACVoB,OAAQphC,EAAOggC,SAASoB,OACpBc,EAAeliC,EAAOggC,SAASoB,aAAA,KAKnCphC,EAAOuhC,UACT+B,EAAc/B,QAAUvhC,EAAOuhC,QAAQpxC,KAAInK,GAAAkR,EAAA,GAEpClR,EAAM,CACTo7C,OAAQc,EAAel8C,EAAOo7C,aAAAp7C,EAAAA,cAMlCwa,EAEKtJ,EAAA,GAAAmsC,EAAA,CACHxkC,MAAK3H,EAAA,GACAisC,EACAp9C,EAAK,CACR6d,gBAAA+mB,IAEF3yB,UAAW,GAAGorC,IAASz7C,EAAY,IAAIA,IAAA,OAEzC3B,EAAAA,cAAC+6C,EAAc,CAAAF,OAAQ1xC,EAAQiU,MAAOld,EAAOqd,OAAQ0/B,GACnDj9C,EAAAA,cAAC87C,EAAW5qC,EAAA,GACNqpC,EACF1P,GAAA,EAEA1hC,EACAjJ,EACA+8C,EACAC,EACAL,EACA/iC,KAIJ9Z,EAAAA,cAAC+7C,EACuB7qC,EAAA,4BACtBc,UAAWiI,GACNJ,EAKDugC,EACU,UAAZ95C,GAAA,EAEAg9C,EACAh9C,EACAR,MAKV,IErDuBq/C,EAAgC,SACvDn/C,EACAC,GAAA,QAAAm/C,EAAA5+C,UAAAD,OACGia,EAAA,IAAApa,MAAAg/C,EAAA,EAAAA,EAAA,KAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAA7kC,EAAA6kC,EAAA,GAAA7+C,UAAA6+C,GAAA,MAG2B,cAA5Br/C,EAAM66C,QACQ,UAAb56C,GAAA,WAAwBA,IACzBD,EAAMC,GAAA0kC,IAAAA,OAMS1iC,MANT0iC,IAAA,CAMgB3kC,EAAOC,GAAAmL,OAAaoP,IAJnC,IAASrZ,MACd,IAAIlB,MAAaD,EAAMC,iDAAA,EAMXq/C,EAAG,IAAIl8B,IAAI,CAAQ,QAAa,YAAe,gBAEpDm8B,EAAY,CACvB3G,IAAKjU,IAAAA,OAAiBiX,WACtBd,IAAKqB,EACL/+B,MAAO+hC,EACP5hC,OAAQ4hC,EACR3D,MAAO7W,IAAAA,OACPkW,OAAS76C,IACP,YAAIA,EAAM66C,SAGNyE,EAAatB,IAAIh+C,EAAM66C,QAI3B,OAAW,IAAA15C,MACT,iBAAiBnB,EAAM66C,2HAA0H,GAKvJkE,EAAY3qC,YAAc,cAC1B2qC,EAAYrlC,UAAY6lC,EC7FlB,MAAAC,EACJZ,EAAgBF,GAElBc,EAAYprC,YAAc,cAC1BorC,EAAY9lC,UAAY6lC,qCCXxB,IAAIE,EAAuBC,EAAQ,KAEnC,SAASC,IAAiB,CAC1B,SAASC,IAA0B,CACnCA,EAAuBC,kBAAoBF,EAE3CjiB,EAAOC,QAAU,WACf,SAASmiB,EAAKz5C,EAAOuM,EAAUqT,EAAeymB,EAAUqT,EAAcC,GACpE,GAAIA,IAAWP,EAAf,CAIA,IAAIhf,EAAM,IAAIt/B,MACZ,mLAKF,MADAs/B,EAAI/0B,KAAO,sBACL+0B,CAPN,CAQF,CAEA,SAASwf,IACP,OAAOH,CACT,CAHAA,EAAKlE,WAAakE,EAMlB,IAAII,EAAiB,CACnBv6C,MAAOm6C,EACPK,OAAQL,EACRM,KAAMN,EACNpuC,KAAMouC,EACNnZ,OAAQmZ,EACR58B,OAAQ48B,EACR5+C,OAAQ4+C,EACRO,OAAQP,EAERQ,IAAKR,EACLS,QAASN,EACTv4C,QAASo4C,EACTU,YAAaV,EACbW,WAAYR,EACZh6C,KAAM65C,EACNY,SAAUT,EACVU,MAAOV,EACPW,UAAWX,EACX/7B,MAAO+7B,EACPY,MAAOZ,EAEPa,eAAgBlB,EAChBC,kBAAmBF,GAKrB,OAFAO,EAAea,UAAYb,EAEpBA,CACT,wBC/CExiB,EAAOC,QAAU+hB,EAAQ,KAARA,iCCNnBhiB,EAAOC,QAFoB,kFCP3B,IAAIqjB,EAAyBtB,EAAQ,MACrC/hB,EAAQiV,YAAa,EACrBjV,EAAQsjB,UAAO,EACf,IAAIC,EAAYF,EAAuBtB,EAAQ,OAC3CyB,EAAiCH,EAAuBtB,EAAQ,OAChE0B,EAMJ,SAAiCjxC,EAAKkxC,GAAe,IAAKA,GAAelxC,GAAOA,EAAIyiC,WAAc,OAAOziC,EAAO,GAAY,OAARA,GAA+B,iBAARA,GAAmC,mBAARA,EAAsB,MAAO,CAAEqZ,QAASrZ,GAAS,IAAI1E,EAAQ61C,EAAyBD,GAAc,GAAI51C,GAASA,EAAMuyC,IAAI7tC,GAAQ,OAAO1E,EAAM5B,IAAIsG,GAAQ,IAAIoxC,EAAS,CAAC,EAAOC,EAAwBjgD,OAAO+S,gBAAkB/S,OAAOoxC,yBAA0B,IAAK,IAAI9wC,KAAOsO,EAAO,GAAY,YAARtO,GAAqBN,OAAOO,UAAUC,eAAeC,KAAKmO,EAAKtO,GAAM,CAAE,IAAIosC,EAAOuT,EAAwBjgD,OAAOoxC,yBAAyBxiC,EAAKtO,GAAO,KAAUosC,IAASA,EAAKpkC,KAAOokC,EAAKnkC,KAAQvI,OAAO+S,eAAeitC,EAAQ1/C,EAAKosC,GAAgBsT,EAAO1/C,GAAOsO,EAAItO,EAAQ,CAAI0/C,EAAO/3B,QAAUrZ,EAAS1E,GAASA,EAAM3B,IAAIqG,EAAKoxC,GAAW,OAAOA,CAAQ,CANtxBE,CAAwB/B,EAAQ,OACzCgC,EAAkBhC,EAAQ,MAC1BiC,EAAUjC,EAAQ,MAClBkC,EAASlC,EAAQ,MACjBmC,EAAY,CAAC,WAAY,KAAM,WACnC,SAASP,EAAyBD,GAAe,GAAuB,mBAAZ33C,QAAwB,OAAO,KAAM,IAAIo4C,EAAoB,IAAIp4C,QAAeq4C,EAAmB,IAAIr4C,QAAW,OAAQ43C,EAA2B,SAAkCD,GAAe,OAAOA,EAAcU,EAAmBD,CAAmB,GAAGT,EAAc,CAE9U,IAAIJ,EAAoBG,EAAO53B,QAAQ7X,YAAW,SAAUkB,EAAMjB,GAChE,IAAIowC,EAAWnvC,EAAKmvC,SAClBC,EAAKpvC,EAAKovC,GACVC,EAAWrvC,EAAKsvC,QAChBzsB,GAAO,EAAIyrB,EAA+B33B,SAAS3W,EAAMgvC,GACvD5e,GAAU,EAAIme,EAAOvvC,YAAY6vC,EAAgBU,gBACjDC,EAAcL,GAAY/e,EAAQ+e,SAIlCM,EAAO,GAHW,SAAyBN,GAC7C,OAAO/e,EAAQsf,6BAA+BP,IAAa/e,EAAQuf,gBAAkB,IAAMR,EAAW,EACxG,CACgBS,CAAgBJ,GAAeJ,EAC/C,OAGEb,EAAO53B,QAAQ5lB,cAAc+9C,EAAQV,MAAM,EAAIC,EAAU13B,SAAS,CAAC,EAAGkM,EAAM,CAC1EusB,GAAIK,EACJI,SAAU9wC,EACV+wC,SAAUN,EACVF,QAAS,SAAiBniD,GACpBgiD,GACFY,aAAaC,QAAQjB,EAAOkB,aAAcd,GAExCE,GACFA,EAASliD,EAEb,IAGN,IACA29B,EAAQsjB,KAAOA,qCCzCftjB,EAAQiV,YAAa,EACrB,IAAImQ,EAAgBrD,EAAQ,MAC5Bn+C,OAAO6T,KAAK2tC,GAAejiD,SAAQ,SAAUe,GAC/B,YAARA,GAA6B,eAARA,IACrBA,KAAO87B,GAAWA,EAAQ97B,KAASkhD,EAAclhD,KACrD87B,EAAQ97B,GAAOkhD,EAAclhD,IAC/B,IACA,IAAI6/C,EAAkBhC,EAAQ,MAC9Bn+C,OAAO6T,KAAKssC,GAAiB5gD,SAAQ,SAAUe,GACjC,YAARA,GAA6B,eAARA,IACrBA,KAAO87B,GAAWA,EAAQ97B,KAAS6/C,EAAgB7/C,KACvD87B,EAAQ97B,GAAO6/C,EAAgB7/C,IACjC,IACA,IAAImhD,EAActD,EAAQ,MAC1Bn+C,OAAO6T,KAAK4tC,GAAaliD,SAAQ,SAAUe,GAC7B,YAARA,GAA6B,eAARA,IACrBA,KAAO87B,GAAWA,EAAQ97B,KAASmhD,EAAYnhD,KACnD87B,EAAQ97B,GAAOmhD,EAAYnhD,IAC7B,IACA,IAAIohD,EAAQvD,EAAQ,MACpBn+C,OAAO6T,KAAK6tC,GAAOniD,SAAQ,SAAUe,GACvB,YAARA,GAA6B,eAARA,IACrBA,KAAO87B,GAAWA,EAAQ97B,KAASohD,EAAMphD,KAC7C87B,EAAQ97B,GAAOohD,EAAMphD,IACvB,uCCxBA,IAAIm/C,EAAyBtB,EAAQ,MACrC/hB,EAAQiV,YAAa,EACrBjV,EAAQulB,gBAAa,EACrB,IAAIhC,EAAYF,EAAuBtB,EAAQ,OAC3CqD,EAAgBrD,EAAQ,MACxB0B,EAAS1B,EAAQ,MACjBiC,EAAUjC,EAAQ,MAClBgC,EAAkBhC,EAAQ,MAC1BkC,EAASlC,EAAQ,MA6CrB/hB,EAAQulB,WA5CS,SAAoBC,EAAI/gD,GACvC,IAAIghD,GAAkB,EAAIL,EAAcM,gBAAgBF,EAAI/gD,GAC1DkhD,EAAOF,EAAgBE,KACvBrjD,EAAImjD,EAAgBnjD,EACpBsjD,EAAQH,EAAgBG,MACtBtgB,GAAU,EAAIme,EAAOvvC,YAAY6vC,EAAgBU,gBACjDoB,EAASvgB,EAAQugB,OACnBhB,EAAkBvf,EAAQuf,gBAC1BD,EAA8Btf,EAAQsf,4BACpCE,EAAkB,SAAyBT,GAC7C,OAAOO,GAA+BP,IAAaQ,EAAkB,IAAMR,EAAW,EACxF,EAyBA,OAAO,EAAId,EAAU13B,SAAS,CAAC,EAAGyZ,EAAS,CACzCqgB,KAAMA,EACNrjD,EAAGA,EACHsjD,MAAOA,EACPE,SAhBa,SAAkBxB,EAAI7/C,GACnC,IAAIshD,EAAejB,EAAgBxf,EAAQ+e,UACvCM,EAAOkB,EAAS,GAAKE,EAAezB,EAAK,GAAKA,EAClD,OAAO,EAAIN,EAAQ8B,UAAUnB,EAAMlgD,EACrC,EAaEuhD,eAZmB,SAAwB3B,EAAUC,EAAI7/C,GACzD,IAEIkgD,EAAO,GAFQG,EAAgBT,IACpBC,GAZM,SAA0BzV,GAC/C,IAAKgX,EAAQ,OAAOhX,EACpB,IAAI7qC,EAAI6qC,EAASlnC,QAAQ,IAAK,GAC9B,OAAOknC,EAASvlB,UAAUtlB,EAC5B,CAQuBiiD,CAA8BnX,OAAOC,SAASF,WACzBC,OAAOC,SAASrnC,OAE1D,OADAu9C,aAAaC,QAAQjB,EAAOkB,aAAcd,IACnC,EAAIL,EAAQ8B,UAAUnB,EAAMlgD,EACrC,GAQF,wBCtDAs7B,EAAOC,QAAU,EAAjBD,mHCIA,GAAe,EAAAD,EAAA,IAA2B,SAAK,OAAQ,CACrD39B,EAAG,wCACD,0BCYJ,MAAMglB,EAAW,CACf++B,MAAO,cACPr6B,QAAS,yBACTs6B,MAAO,qBACPxuB,OAAQ,sBACRyuB,KAAM,oBACNx5B,KAAM,oBACN5B,MAAO,qBACPq7B,SAAU,wBACVC,gBAAiB,uBACjB/6B,QAAS,cACTC,UAAW,gBACX+6B,SAAU,gBAwEZ,MArEerxC,IAYR,IAXLiB,GAAIk+B,EAAM,IAAG,UACbhgC,EAAS,SACT1L,EAAQ,QACR0e,EAAO,KACPm/B,EAAI,WACJC,EAAU,aACVC,GAAe,EAAK,WACpBC,GAAa,EAAK,KAClBlY,EAAI,KACJhmC,EAAI,QACJ+7C,GACDtvC,EACC,MAAM0xC,EAAqB,WAARvS,GAAqB5rC,EAAkBA,EAAX,SACzCo+C,IAAqBx/B,GAAWF,EAASE,IACzCy/B,EACJz/B,GAAWF,EAASE,GAAWF,EAASE,GAAWF,EAAS0E,QAE9D,OACEk7B,EAAAA,cAAC1S,EAAG,CACFhgC,WAAW2B,EAAAA,EAAAA,IAAWmR,EAAS++B,MAAOY,EAAgBzyC,GACtDo6B,KAAMA,EACN1qC,OAAQ4iD,GAAc,SACtBK,SAAUL,EACVl+C,KAAMm+C,EACNpC,QAASA,GAERmC,GACCI,EAAAA,cAAA,QAAM1yC,UAAU,eACd0yC,EAAAA,cAACE,EAAgB,CAAC,cAAY,SAC9BF,EAAAA,cAACE,EAAgB,CAAC,cAAY,UAGjCT,GACCO,EAAAA,cAAA,QAAM1yC,UAAU,eACd0yC,EAAAA,cAACP,EAAI,CAAC,cAAY,SAClBO,EAAAA,cAACP,EAAI,CAAC,cAAY,UAGrB79C,GACCg+C,IAAeE,GAAoBH,KAAkBD,GACrDM,EAAAA,cAAA,QAAM1yC,UAAU,gBACd0yC,EAAAA,cAACG,EAAAA,EAAgB,CAAC,cAAY,SAC9BH,EAAAA,cAACG,EAAAA,EAAgB,CAAC,cAAY,UAGjCT,GACCM,EAAAA,cAAA,QAAM,cAAY,OAAO1yC,UAAU,gBACjC0yC,EAAAA,cAACN,EAAU,MACXM,EAAAA,cAACN,EAAU,OAGX,mDCvEV,IAXoBvxC,IAAwC,IAAvC,MAAEjF,EAAQ,EAAC,SAAEtH,KAAaD,GAAOwM,EACpD,MAAMm/B,EAAM,IAAIptC,KAAK0hB,IAAI,EAAG1hB,KAAKwhB,IAAIxY,EAAO,MAE5C,OAAO82C,EAAAA,cAAC1S,EAAQ3rC,EAAQC,EAAe,yECNrCw+C,EAAOC,sBACX,SAASC,IAAa,OAAOA,EAAWzjD,OAAOC,OAASD,OAAOC,OAAOC,OAAS,SAAUtB,GAAK,IAAK,IAAIH,EAAI,EAAGA,EAAIQ,UAAUD,OAAQP,IAAK,CAAE,IAAIC,EAAIO,UAAUR,GAAI,IAAK,IAAID,KAAKE,GAAG,CAAG,GAAE8B,eAAeC,KAAK/B,EAAGF,KAAOI,EAAEJ,GAAKE,EAAEF,GAAK,CAAE,OAAOI,CAAG,EAAG6kD,EAAS/iD,MAAM,KAAMzB,UAAY,CAEnR,ICHI,EAAO,EDGPykD,EAAyB,SAAgC5+C,GAC3D,OAAoB,gBAAoB,MAAO2+C,EAAS,CACtD,YAAa,UACbE,MAAO,6BACPpoB,QAAS,aACRz2B,GAAQy+C,IAAUA,EAAqB,gBAAoB,OAAQ,CACpE,YAAa,YACbhlD,EAAG,8CACH85B,KAAM,aACHmrB,IAAWA,EAAsB,gBAAoB,OAAQ,CAChE,YAAa,OACbjlD,EAAG,sUACH85B,KAAM,UAEV,EChBA,SAAS,IAAa,OAAO,EAAWr4B,OAAOC,OAASD,OAAOC,OAAOC,OAAS,SAAUtB,GAAK,IAAK,IAAIH,EAAI,EAAGA,EAAIQ,UAAUD,OAAQP,IAAK,CAAE,IAAIC,EAAIO,UAAUR,GAAI,IAAK,IAAID,KAAKE,GAAG,CAAG,GAAE8B,eAAeC,KAAK/B,EAAGF,KAAOI,EAAEJ,GAAKE,EAAEF,GAAK,CAAE,OAAOI,CAAG,EAAG,EAAS8B,MAAM,KAAMzB,UAAY,CAEnR,ICHI,EAAO2kD,EDGPC,EAAuB,SAA8B/+C,GACvD,OAAoB,gBAAoB,MAAO,EAAS,CACtD,YAAa,UACb6+C,MAAO,6BACPpoB,QAAS,aACRz2B,GAAQ,IAAU,EAAqB,gBAAoB,OAAQ,CACpE,YAAa,YACbvG,EAAG,8CACH85B,KAAM,aACH,IAAW,EAAsB,gBAAoB,OAAQ,CAChE,YAAa,OACb95B,EAAG,0cACH85B,KAAM,UAEV,EChBA,SAAS,IAAa,OAAO,EAAWr4B,OAAOC,OAASD,OAAOC,OAAOC,OAAS,SAAUtB,GAAK,IAAK,IAAIH,EAAI,EAAGA,EAAIQ,UAAUD,OAAQP,IAAK,CAAE,IAAIC,EAAIO,UAAUR,GAAI,IAAK,IAAID,KAAKE,GAAG,CAAG,GAAE8B,eAAeC,KAAK/B,EAAGF,KAAOI,EAAEJ,GAAKE,EAAEF,GAAK,CAAE,OAAOI,CAAG,EAAG,EAAS8B,MAAM,KAAMzB,UAAY,CAEnR,ICHI,EAAO,EACX,SAAS,IAAa,OAAO,EAAWe,OAAOC,OAASD,OAAOC,OAAOC,OAAS,SAAUtB,GAAK,IAAK,IAAIH,EAAI,EAAGA,EAAIQ,UAAUD,OAAQP,IAAK,CAAE,IAAIC,EAAIO,UAAUR,GAAI,IAAK,IAAID,KAAKE,GAAG,CAAG,GAAE8B,eAAeC,KAAK/B,EAAGF,KAAOI,EAAEJ,GAAKE,EAAEF,GAAK,CAAE,OAAOI,CAAG,EAAG,EAAS8B,MAAM,KAAMzB,UAAY,CAEnR,ICHI,EAAO,EACX,SAAS,IAAa,OAAO,EAAWe,OAAOC,OAASD,OAAOC,OAAOC,OAAS,SAAUtB,GAAK,IAAK,IAAIH,EAAI,EAAGA,EAAIQ,UAAUD,OAAQP,IAAK,CAAE,IAAIC,EAAIO,UAAUR,GAAI,IAAK,IAAID,KAAKE,GAAG,CAAG,GAAE8B,eAAeC,KAAK/B,EAAGF,KAAOI,EAAEJ,GAAKE,EAAEF,GAAK,CAAE,OAAOI,CAAG,EAAG,EAAS8B,MAAM,KAAMzB,UAAY,CAEnR,ICHI6kD,EAAQ,EAAO,EAAQC,EAAQC,EAAQC,EAAQC,EAAQC,EAAQC,EAAQC,EDGvEC,EAAyB,SAAgCx/C,GAC3D,OAAoB,gBAAoB,MAAO,EAAS,CACtD,YAAa,UACb6+C,MAAO,6BACPpoB,QAAS,aACRz2B,GAAQ,IAAU,EAAqB,gBAAoB,OAAQ,CACpE,YAAa,YACbvG,EAAG,8CACH85B,KAAM,aACH,IAAO,EAAkB,gBAAoB,IAAK,CACrD,YAAa,OACbA,KAAM,QACQ,gBAAoB,OAAQ,CAC1C95B,EAAG,gOAEP,ECjBA,SAAS,IAAa,OAAO,EAAWyB,OAAOC,OAASD,OAAOC,OAAOC,OAAS,SAAUtB,GAAK,IAAK,IAAIH,EAAI,EAAGA,EAAIQ,UAAUD,OAAQP,IAAK,CAAE,IAAIC,EAAIO,UAAUR,GAAI,IAAK,IAAID,KAAKE,GAAG,CAAG,GAAE8B,eAAeC,KAAK/B,EAAGF,KAAOI,EAAEJ,GAAKE,EAAEF,GAAK,CAAE,OAAOI,CAAG,EAAG,EAAS8B,MAAM,KAAMzB,UAAY,CAEnR,IAAIslD,EAAwB,SAA+Bz/C,GACzD,OAAoB,gBAAoB,MAAO,EAAS,CACtDmhC,GAAI,oCACJ0d,MAAO,6BACPh8C,EAAG,EACHC,EAAG,EACH2zB,QAAS,gBACTjkB,MAAO,CACLktC,iBAAkB,qBAEpBC,SAAU,YACT3/C,GAAQg/C,IAAWA,EAAsB,gBAAoB,QAAS,KAAM,0FAAwG,gBAAoB,OAAQ,CACjNxsC,MAAO,CACLlL,QAAS,IACTisB,KAAM,QAER95B,EAAG,mCACD,IAAU,EAAqB,gBAAoB,OAAQ,CAC7DkS,UAAW,gCACXlS,EAAG,uDACA,IAAW,EAAsB,gBAAoB,OAAQ,CAChEkS,UAAW,gCACXlS,EAAG,oQACAwlD,IAAWA,EAAsB,gBAAoB,OAAQ,CAChEtzC,UAAW,gCACXlS,EAAG,8SACAylD,IAAWA,EAAsB,gBAAoB,OAAQ,CAChEvzC,UAAW,gCACXlS,EAAG,wRACA0lD,IAAWA,EAAsB,gBAAoB,OAAQ,CAChExzC,UAAW,gCACXlS,EAAG,uHACA2lD,IAAWA,EAAsB,gBAAoB,OAAQ,CAChEzzC,UAAW,gCACXlS,EAAG,0DACA4lD,IAAWA,EAAsB,gBAAoB,OAAQ,CAChE1zC,UAAW,gCACXlS,EAAG,2TACA6lD,IAAWA,EAAsB,gBAAoB,OAAQ,CAChE3zC,UAAW,gCACXlS,EAAG,2XACA8lD,IAAWA,EAAsB,gBAAoB,OAAQ,CAChE5zC,UAAW,gCACXlS,EAAG,gcAEP,ECrCA,MAAMmmD,EAAQ,CACZ,CAACC,EAAAA,GAAUC,OAAQ,CACjB77B,KAAM67B,EACNC,aAAcD,GAEhB,CAACD,EAAAA,GAAUG,SAAU,CACnB/7B,KAAM+7B,EACND,aAAcC,GAEhB,CAACH,EAAAA,GAAUI,SAAU,CACnBh8B,KAAMg8B,EACNF,aAAcE,GAEhB,CAACJ,EAAAA,GAAUK,UAAW,CACpBj8B,KJtB0B,SAAiCjkB,GAC7D,OAAoB,gBAAoB,MAAO,EAAS,CACtD,YAAa,UACb6+C,MAAO,6BACPpoB,QAAS,aACRz2B,GAAQ,IAAU,EAAqB,gBAAoB,OAAQ,CACpE,YAAa,YACbvG,EAAG,8CACH85B,KAAM,aACHurB,IAAOA,EAAkB,gBAAoB,IAAK,CACrD,YAAa,OACbvrB,KAAM,QACQ,gBAAoB,OAAQ,CAC1C95B,EAAG,6DACY,gBAAoB,OAAQ,CAC3CA,EAAG,wFAEP,EIMIsmD,aHvBkC,SAAyC//C,GAC7E,OAAoB,gBAAoB,MAAO,EAAS,CACtD,YAAa,UACb6+C,MAAO,6BACPpoB,QAAS,aACRz2B,GAAQ,IAAU,EAAqB,gBAAoB,OAAQ,CACpE,YAAa,YACbvG,EAAG,8CACH85B,KAAM,UACH,IAAO,EAAkB,gBAAoB,IAAK,CACrD,YAAa,OACbA,KAAM,WACQ,gBAAoB,OAAQ,CAC1C95B,EAAG,6DACY,gBAAoB,OAAQ,CAC3CA,EAAG,wFAEP,GGQE,CAAComD,EAAAA,GAAUM,UAAW,CACpBl8B,KAAMm8B,EACNL,aAAcK,IAgBlB,MAZqB5zC,IAA0D,IAAzD,SAAE6zC,EAAWR,EAAAA,GAAUK,SAAQ,SAAEvC,GAAW,GAAOnxC,EACvE,MAAM8zC,EAAiBD,GAAYT,EAAMS,GACnC1U,EAAMgS,EAAW2C,EAAeP,aAAeO,EAAer8B,KAEpE,OAAOo6B,EAAAA,cAAC1S,EAAG,KAAG,iFC9BhB,MAAM4U,EAAQ,CACZnxC,GAAI,UACJ+T,QAAS,qCAGL1E,EAAW,CACf++B,MAAO,yBAGHgD,EAAiB,CACrBX,EAAAA,GAAUC,MACVD,EAAAA,GAAUG,QACVH,EAAAA,GAAUI,QACVJ,EAAAA,GAAUM,SACVN,EAAAA,GAAUK,UAyCZ,IAtCsB1zC,IAKf,IALgB,UACrBb,EAAS,UACT80C,EAAY,GAAE,SACd9C,GAAW,EAAK,KAChBj7C,EAAO,WACR8J,EACC,MAAMk0C,EAAkBH,EAAM79C,GACxBi+C,EAAkBF,EAAU1wC,MAChC,CAACoE,EAAGR,IACF6sC,EAAevhD,QAAQkV,EAAEysC,YACzBJ,EAAevhD,QAAQ0U,EAAEitC,cAG7B,OACEvC,EAAAA,cAAA,MAAI1yC,WAAWk1C,EAAAA,EAAAA,IAAGpiC,EAAS++B,MAAO7xC,IAC/Bg1C,GACCA,EAAgB78C,KAAKu8C,GACnBhC,EAAAA,cAAA,MACE7iD,IAAK6kD,EAASO,YAAcP,EAC5B10C,WAAWk1C,EAAAA,EAAAA,IAAG,YAAaH,IAE3BrC,EAAAA,cAACyC,EAAAA,EAAY,CACXT,SAAUA,EAASO,YAAcP,EACjC1C,SAAUA,OAIf,qIC+CT,MA3FyBnxC,IAWlB,IAVLiB,GAAIk+B,EAAM,UAAS,UACnBhgC,EAAS,cACTo1C,EAAgB,EAAC,SACjBC,EAAQ,QACRC,EAAO,KACPC,EAAI,SACJC,EAAQ,KACRvG,EAAI,UACJ6F,EAAY,GAAE,QACd9hC,EAAUyiC,EAAAA,GAAaC,aACxB70C,EACC,MAAM80C,EACJ3iC,IAAYyiC,EAAAA,GAAaG,QACvBlD,EAAAA,cAAA,OAAK1yC,UAAU,6DAEf0yC,EAAAA,cAAA,OAAK1yC,UAAU,4DAGb61C,EAAgBL,GAAYD,EAC5BO,EAAehO,QAAQ+N,GAAkBf,GAAaA,EAAUvmD,QAEtE,OACEmkD,EAAAA,cAAC1S,EAAG,CACFhgC,WAAW2B,EAAAA,EAAAA,IACT,6BACAqR,IAAYyiC,EAAAA,GAAaG,SAAW,aACpC51C,IAGF0yC,EAAAA,cAAA,OAAK1yC,UAAU,sCACZ21C,EACDjD,EAAAA,cAAA,OACE1yC,WAAW2B,EAAAA,EAAAA,IACT,0DACAm0C,EAAe,OAAS,iBAGzBT,GACC3C,EAAAA,cAACqD,EAAAA,EAAW,CACV/1C,UAAU,2DACVpE,MAAOw5C,EAAgB,GAEvB1C,EAAAA,cAAA,QAAM1yC,UAAU,SAASq1C,GACxBC,GACC5C,EAAAA,cAAA,QAAM1yC,UAAU,6CACbs1C,IAKRQ,GACCpD,EAAAA,cAAA,OAAK1yC,UAAU,oDACZ61C,GACCnD,EAAAA,cAAA,KAAG1yC,UAAU,qBAAqB61C,GAEnCf,GACCpC,EAAAA,cAACsD,EAAAA,EAAa,CACZlB,UAAWA,EACX9C,SAAUh/B,IAAYyiC,EAAAA,GAAaG,QACnC51C,UAAU,kBACVjJ,KAAK,UAOjB27C,EAAAA,cAAA,OAAK1yC,UAAU,0BAA0B,mBACxCivC,GACCyD,EAAAA,cAACzD,EAAI,CAACjvC,UAAU,4CACd0yC,EAAAA,cAAA,QAAM1yC,UAAU,WAAWq1C,IAG3B,ECjCV,MAzCgCx0C,IAAA,IAC9BiB,GAAIk+B,EAAM,QAAO,UACjBhgC,EAAS,cACTo1C,EAAgB,EAAC,SACjBC,EAAQ,MACRY,EAAQ,IACTp1C,EAAA,OACC6xC,EAAAA,cAAC1S,EAAG,CAAChgC,WAAWk1C,EAAAA,EAAAA,IAAGl1C,IAChBq1C,GACC3C,EAAAA,cAACqD,EAAAA,EAAW,CACV/1C,UAAU,sEACVpE,MAAOw5C,EAAgB,GAEtBC,GAGJY,GAASA,EAAM1nD,QACdmkD,EAAAA,cAAA,MAAI1yC,UAAU,+EACXi2C,EAAM99C,KAAK2K,GACV4vC,EAAAA,cAAA,MAAI7iD,KAAKqmD,EAAAA,EAAAA,GAAIpzC,GAAO9C,UAAU,iBAC5B0yC,EAAAA,cAACyD,EAAgB5mD,OAAAC,OAAA,CACf4lD,cAAeA,EAAgB,EAC/BtzC,GAAG,WACCgB,EAAI,CACR9C,UAAU,gBAMhB,qSCtCgF,SAAS6H,EAAEmhC,EAAE/6C,GAAG,IAAID,GAAE,YAAE,IAAID,GAAE,OAAEi7C,IAAG,gBAAE,KAAK,IAAI16C,EAAE,IAAIN,EAAE8S,SAAS,IAAI,IAAI3S,EAAEqa,KAAKva,EAAE4sB,UAAU,GAAG7sB,EAAE8S,QAAQ3S,KAAKqa,EAAE,CAAC,IAAIP,EAAEla,EAAEE,EAAEK,GAAG,OAAON,EAAE8S,QAAQ7S,EAAEga,CAAC,IAAG,CAACla,KAAKE,GAAG,eCA9L,IAAI,EAAE,ICA5D,SAAWE,GAAG,SAASH,IAA0B,YAAtB2D,SAASm9B,aAAyB3gC,IAAIwD,SAASy7B,oBAAoB,mBAAmBp/B,GAAG,CAAgB,oBAARysC,QAAsC,oBAAV9oC,WAAwBA,SAASu+B,iBAAiB,mBAAmBliC,GAAGA,IAAI,CDArK,EAAE,KAAK,SAASA,EAAEG,GAAGA,EAAEuB,kBAAkB6P,aAAapR,EAAEuB,SAASiC,SAASykD,MAAM,EAAE,KAAKjoD,EAAEuB,SAAS,EAAEq4B,QAAQ55B,EAAEuB,QAAQ,EAAE,EAAE8hB,QAAOzjB,GAAM,MAAHA,GAASA,EAAEsoD,cAAa,EAAE3jB,OAAO,IAAI,CAAC+H,OAAOvK,iBAAiB,QAAQliC,EAAE,CAACsoD,SAAQ,IAAK7b,OAAOvK,iBAAiB,YAAYliC,EAAE,CAACsoD,SAAQ,IAAK7b,OAAOvK,iBAAiB,QAAQliC,EAAE,CAACsoD,SAAQ,IAAK3kD,SAASykD,KAAKlmB,iBAAiB,QAAQliC,EAAE,CAACsoD,SAAQ,IAAK3kD,SAASykD,KAAKlmB,iBAAiB,YAAYliC,EAAE,CAACsoD,SAAQ,IAAK3kD,SAASykD,KAAKlmB,iBAAiB,QAAQliC,EAAE,CAACsoD,SAAQ,GAAG,gDEAohB,SAASlO,EAAEn6C,GAAG,IAAIA,EAAE,OAAO,IAAImjB,IAAI,GAAa,mBAAHnjB,EAAc,OAAO,IAAImjB,IAAInjB,KAAK,IAAIE,EAAE,IAAIijB,IAAI,IAAI,IAAIpjB,KAAKC,EAAE6S,QAAQ9S,EAAE8S,mBAAmBvB,aAAapR,EAAE49C,IAAI/9C,EAAE8S,SAAS,OAAO3S,CAAC,CAAa,IAAIi0B,EAAE,CAACr0B,IAAIA,EAAEA,EAAEwoD,KAAK,GAAG,OAAOxoD,EAAEA,EAAEyoD,aAAa,GAAG,eAAezoD,EAAEA,EAAE0oD,QAAQ,GAAG,UAAU1oD,EAAEA,EAAE2oD,UAAU,GAAG,YAAY3oD,EAAEA,EAAE4oD,aAAa,IAAI,eAAe5oD,EAAEA,EAAE6oD,IAAI,IAAI,MAAM7oD,GAAvK,CAA2Kq0B,GAAG,CAAC,GAAmyC,IAAIy0B,GAAE,SAAtyC,SAAW5oD,EAAEE,GAAG,IAAIH,GAAE,YAAE,MAAMM,GAAE,OAAEN,EAAEG,IAAI2oD,aAAa7uC,EAAE8uC,WAAWpkB,EAAEqkB,SAASjpD,EAAE,MAAM8nB,GAAG5nB,GAAE,WAAMF,EAAE,GAAG,IAAI4B,GAAE,OAAE3B,IAAq8C,UAAYipD,cAAchpD,GAAGE,GAAG,IAAIH,EAA1Q,SAAWC,GAAE,GAAI,IAAIE,GAAE,YAAE,EAAEmB,SAAS,OAAO,GAAE,EAAEtB,IAAIM,OAAU,IAAJA,IAAY,IAAJN,IAAQ,QAAE,KAAKG,EAAE2S,QAAQ4xB,OAAO,EAAC,KAAQ,IAAJpkC,IAAY,IAAJN,IAASG,EAAE2S,QAAQ,EAAExR,QAAO,GAAG,CAACrB,EAAE,EAAEE,KAAI,QAAE,KAAK,IAAIH,EAAE,OAAqD,OAA9CA,EAAEG,EAAE2S,QAAQo2C,MAAK5oD,GAAM,MAAHA,GAASA,EAAE+nD,eAAoBroD,EAAE,OAAM,CAAuCg8C,CAAE77C,GAAG,GAAE,KAAKA,IAAO,MAAHF,OAAQ,EAAOA,EAAEkpD,kBAAqB,MAAHlpD,OAAQ,EAAOA,EAAEmoD,QAAO,QAAEpoD,IAAG,GAAG,CAACG,KAAI,QAAE,KAAKA,IAAG,QAAEH,IAAG,GAAG,CAAllDs7C,CAAE,CAAC2N,cAActnD,GAAGm4C,QAAU,GAAF/5C,IAAO,IAAIi7C,EAA4iD,UAAYiO,cAAchpD,EAAE4C,UAAU1C,EAAE2oD,aAAa9oD,GAAGM,GAAG,IAAI2Z,GAAE,YAAE,MAAM0qB,GAAE,SAAI,OAAO,GAAE,KAAK,IAAIrkC,EAAE,OAAO,IAAIP,EAAEI,EAAE2S,QAAQ/S,IAAG,QAAE,KAAK,IAAI4kC,EAAE7xB,QAAQ,OAAO,IAAI+U,EAAK,MAAH5nB,OAAQ,EAAOA,EAAEkpD,cAAc,GAAM,MAAHnpD,GAASA,EAAE8S,SAAS,IAAO,MAAH9S,OAAQ,EAAOA,EAAE8S,WAAW+U,EAAe,YAAZ5N,EAAEnH,QAAQ+U,QAAe,GAAG9nB,EAAEqpD,SAASvhC,GAAgB,YAAZ5N,EAAEnH,QAAQ+U,GAAY,MAAH7nB,GAASA,EAAE8S,SAAQ,QAAE9S,EAAE8S,UAAS,QAAE/S,EAAE,KAAEspD,SAAS,KAAEloD,OAAOitC,QAAQC,KAAK,4DAA4Dp0B,EAAEnH,QAAW,MAAH7S,OAAQ,EAAOA,EAAEkpD,gBAAc,GAAG,CAAC7oD,IAAI2Z,CAAC,CAAnhE6hC,CAAE,CAACmN,cAActnD,EAAEkB,UAAU7C,EAAE8oD,aAAa7uC,GAAG6/B,QAAU,EAAF/5C,KAA69D,UAAYkpD,cAAchpD,EAAE4C,UAAU1C,EAAE4oD,WAAW/oD,EAAEspD,sBAAsBhpD,GAAG2Z,GAAG,IAAI0qB,GAAE,UAAI,OAAK,MAAH1kC,OAAQ,EAAOA,EAAEspD,YAAY,SAAQxpD,IAAI,IAAIka,IAAI0qB,EAAE7xB,QAAQ,OAAO,IAAI+U,EAAEuyB,EAAEp6C,GAAGG,EAAE2S,mBAAmBvB,aAAasW,EAAEk2B,IAAI59C,EAAE2S,SAAS,IAAInR,EAAErB,EAAEwS,QAAQ,IAAInR,EAAE,OAAO,IAAIq5C,EAAEj7C,EAAE2B,OAAOs5C,GAAGA,aAAazpC,YAAY4rC,EAAEt1B,EAAEmzB,IAAI16C,EAAEwS,QAAQkoC,GAAE,QAAEA,KAAKj7C,EAAEypD,iBAAiBzpD,EAAE0pD,mBAAkB,QAAE9nD,KAAI,QAAErB,EAAEwS,QAAO,IAAG,EAAG,CAAr1EwqC,CAAE,CAAC2L,cAActnD,EAAEkB,UAAU7C,EAAE+oD,WAAWpkB,EAAE2kB,sBAAsBtO,GAAGlB,QAAU,EAAF/5C,IAAM,IAAIoJ,GAAE,SAAIugD,GAAE,QAAElvC,IAAI,IAAIX,EAAE7Z,EAAE8S,QAAY+G,IAAuB,OAAE1Q,EAAE2J,QAAQ,CAAC,CAAC,IAAE62C,UAAU,MAAK,QAAE9vC,EAAE,KAAEwvC,MAAM,CAACO,aAAa,CAACpvC,EAAEqvC,gBAAe,EAAG,CAAC,IAAEC,WAAW,MAAK,QAAEjwC,EAAE,KAAEkwC,KAAK,CAACH,aAAa,CAACpvC,EAAEqvC,gBAAe,GAAK,IAAI34C,GAAE,SAAIwpC,GAAE,aAAE,GAAI1xC,EAAE,CAAC4I,IAAItR,EAAE,SAAA0pD,CAAUxvC,GAAU,OAAPA,EAAE3Y,MAAa64C,EAAE5nC,SAAQ,EAAG5B,EAAEmtC,uBAAsB,KAAK3D,EAAE5nC,SAAQ,CAAC,IAAI,EAAE,MAAAm3C,CAAOzvC,GAAG,IAAIX,EAAEugC,EAAEzV,GAAG3kC,EAAE8S,mBAAmBvB,aAAasI,EAAEkkC,IAAI/9C,EAAE8S,SAAS,IAAIo3C,EAAE1vC,EAAEqvC,cAAcK,aAAa34C,aAA8C,SAAjC24C,EAAEC,QAAQC,uBAAgCjN,EAAEtjC,EAAEqwC,KAAKxP,EAAE5nC,SAAQ,QAAE9S,EAAE8S,SAAQ,OAAE3J,EAAE2J,QAAQ,CAAC,CAAC,IAAE62C,UAAU,IAAI,KAAEU,KAAK,CAAC,IAAEP,WAAW,IAAI,KAAEQ,WAAW,KAAEC,WAAW,CAACC,WAAWhwC,EAAE9Y,SAAS8Y,EAAE9Y,kBAAkB6P,cAAa,QAAEiJ,EAAE9Y,SAAS,GAAG,OAAO,gBAAgB,WAAW,KAAKo4C,QAAU,EAAF/5C,IAAM,gBAAgB,IAAE,CAAC+T,GAAG,SAAS1N,KAAK,SAAS,+BAA8B,EAAGqkD,QAAQf,EAAEV,SAAS,IAAE0B,aAAY,QAAE,CAACC,SAAS3hD,EAAE4hD,WAAW/iC,EAAEgjC,WAAh0C,MAA60Cn/C,KAAK,cAAcouC,QAAU,EAAF/5C,IAAM,gBAAgB,IAAE,CAAC+T,GAAG,SAAS1N,KAAK,SAAS,+BAA8B,EAAGqkD,QAAQf,EAAEV,SAAS,IAAE0B,YAAY,IAAY,EAAGnpD,OAAOC,OAAOqnD,EAAE,CAACG,SAAS50B,IAAouC,SAAS+oB,EAAEl9C,EAAEE,GAAG,IAAI,IAAIH,KAAKC,EAAE,GAAGD,EAAEopD,SAASjpD,GAAG,OAAM,EAAG,OAAM,CAAE,eCAl8H,MAAML,EAAoB,mBAAXyB,OAAOupD,GAAevpD,OAAOupD,GAA3G,SAAW9qD,EAAEC,GAAG,OAAOD,IAAIC,IAAQ,IAAJD,GAAO,EAAEA,GAAI,EAAEC,IAAID,GAAIA,GAAGC,GAAIA,CAAC,GAAmD8qD,SAAS/P,EAAEgQ,UAAU95C,EAAE+5C,gBAAgB/qD,EAAEgrD,cAAcpxC,GAAG,EAAkO,SAAS/Z,EAAEC,GAAG,MAAMC,EAAED,EAAEmrD,YAAYxmB,EAAE3kC,EAAEgF,MAAM,IAAI,MAAMwV,EAAEva,IAAI,OAAOH,EAAE6kC,EAAEnqB,EAAE,CAAC,MAAM,OAAM,CAAE,CAAC,CCA3T,oBAARiyB,aAA6C,IAAjBA,OAAO9oC,UAA8B8oC,OAAO9oC,SAASC,cAAhG,MAAwI4W,EAAyD,EAAtB4wC,6CCAzV,SAAS,IAAI,IAAI9qD,EAAE,MAAM,CAAC,MAAAkC,EAAQ6oD,IAAIrrD,IAAI,IAAIia,EAAE,IAAI9Z,EAAEH,EAAEsrD,gBAAgBhrD,GAAsB,OAAlB2Z,EAAEja,EAAEupD,aAAmBtvC,EAAEwyB,QAAQ8e,WAAWprD,EAAEqrD,WAAW,EAAE,KAAAC,EAAOJ,IAAIrrD,EAAEF,EAAEK,IAAI,IAAIF,EAAED,EAAEsrD,gBAAgBrxC,EAAEha,EAAEurD,YAAYvrD,EAAEyrD,YAAY3rD,EAAEO,EAAE2Z,EAAE9Z,EAAE0Y,MAAM5Y,EAAE,eAAe,GAAGF,MAAM,EAAE,eCAwC,SAAS,EAAEC,GAAG,IAAIG,EAAE,CAAC,EAAE,IAAI,IAAIF,KAAKD,EAAEuB,OAAOC,OAAOrB,EAAEF,EAAEE,IAAI,OAAOA,CAAC,CAAC,IAAI,ECA3W,SAAWG,EAAEP,GAAG,IAAIE,EAAEK,IAAIH,EAAE,IAAIijB,IAAI,MAAM,CAAC,WAAA+nC,GAAc,OAAOlrD,CAAC,EAAE,SAAAsiC,CAAUviC,GAAG,OAAOG,EAAE49C,IAAI/9C,GAAG,IAAIG,EAAEwrD,OAAO3rD,EAAE,EAAE,QAAA4rD,CAAS5rD,KAAK6nB,GAAG,IAAIlmB,EAAE5B,EAAEC,GAAGgC,KAAK/B,KAAK4nB,GAAGlmB,IAAI1B,EAAE0B,EAAExB,EAAEW,SAAQ6jC,GAAGA,MAAK,EAAE,CDAuL,EAAE,IAAI,IAAIknB,KAAI,CAAC,IAAAC,CAAK9rD,EAAEG,GAAG,IAAIG,EAAE,IAAIL,EAAmB,OAAhBK,EAAE4B,KAAK2H,IAAI7J,IAAUM,EAAE,CAAC+qD,IAAIrrD,EAAEmH,MAAM,EAAErH,GAAE,SAAIisD,KAAK,IAAI3oC,KAAK,OAAOnjB,EAAEkH,QAAQlH,EAAE8rD,KAAKhO,IAAI59C,GAAG+B,KAAK4H,IAAI9J,EAAEC,GAAGiC,IAAI,EAAE,GAAA8pD,CAAIhsD,EAAEG,GAAG,IAAIF,EAAEiC,KAAK2H,IAAI7J,GAAG,OAAOC,IAAIA,EAAEkH,QAAQlH,EAAE8rD,KAAKJ,OAAOxrD,IAAI+B,IAAI,EAAE,cAAA+pD,EAAgBZ,IAAIrrD,EAAEF,EAAEK,EAAE4rD,KAAK9rD,IAAI,IAAIK,EAAE,CAAC+qD,IAAIrrD,EAAEF,EAAEK,EAAE4rD,KAAK,EAAE9rD,IAAI0kC,EAAE,EEA5gB,UAAI,CAAC,MAAAniC,EAAQ6oD,IAAItrD,EAAED,EAAEma,EAAE8xC,KAAKpnB,IAAI,SAASrkC,EAAEka,GAAG,OAAOmqB,EAAEokB,WAAWxjC,SAAQplB,GAAGA,MAAK2X,MAAK3X,GAAGA,EAAEipD,SAAS5uC,IAAG,CAACP,EAAEiyC,WAAU,KAAK,IAAIrkC,EAAE,GAA+D,SAA5D4kB,OAAO0f,iBAAiBpsD,EAAEurD,iBAAiBc,eAAwB,CAAC,IAAInsD,GAAE,SAAIA,EAAE4Y,MAAM9Y,EAAEurD,gBAAgB,iBAAiB,QAAQrxC,EAAE8jC,KAAI,IAAI9jC,EAAEiyC,WAAU,IAAIjsD,EAAEosD,aAAW,CAAC,IAAI7xC,EAAsB,OAAnBqN,EAAE4kB,OAAO6f,SAAezkC,EAAE4kB,OAAO8f,YAAYpsD,EAAE,KAAK8Z,EAAEioB,iBAAiBniC,EAAE,SAAQE,IAAI,GAAGA,EAAEyB,kBAAkB6P,YAAY,IAAI,IAAIvR,EAAEC,EAAEyB,OAAO8qD,QAAQ,KAAK,IAAIxsD,EAAE,OAAO,IAAIiK,KAAK/J,GAAG,IAAIW,IAAIb,EAAEosC,MAAMzqC,EAAE5B,EAAE49C,cAAcz9C,GAAGyB,IAAIrB,EAAEqB,KAAKxB,EAAEwB,EAAE,CAAC,MAAM,KAAG,GAAIsY,EAAEioB,iBAAiBniC,EAAE,cAAaE,IAAI,GAAGA,EAAEyB,kBAAkB6P,YAAY,GAAGjR,EAAEL,EAAEyB,QAAQ,CAAC,IAAI1B,EAAEC,EAAEyB,OAAO,KAAK1B,EAAEysD,eAAensD,EAAEN,EAAEysD,gBAAgBzsD,EAAEA,EAAEysD,cAAcxyC,EAAEpB,MAAM7Y,EAAE,qBAAqB,UAAU,MAAMia,EAAEpB,MAAM5Y,EAAEyB,OAAO,cAAc,OAAM,IAAIuY,EAAEioB,iBAAiBniC,EAAE,aAAYE,IAAI,GAAGA,EAAEyB,kBAAkB6P,YAAY,GAAGjR,EAAEL,EAAEyB,QAAQ,CAAC,IAAI1B,EAAEC,EAAEyB,OAAO,KAAK1B,EAAEysD,eAA4C,KAA7BzsD,EAAEmqD,QAAQuC,oBAAyB1sD,EAAE2sD,aAAa3sD,EAAE4sD,cAAc5sD,EAAE6sD,YAAY7sD,EAAEwrD,cAAcxrD,EAAEA,EAAEysD,cAA2C,KAA7BzsD,EAAEmqD,QAAQuC,kBAAuBzsD,EAAEupD,gBAAgB,MAAMvpD,EAAEupD,gBAAe,GAAG,CAACsD,SAAQ,IAAK7yC,EAAE8jC,KAAI,KAAK,IAAI/9C,EAAE,IAAIC,EAAsB,OAAnBD,EAAEysC,OAAO6f,SAAetsD,EAAEysC,OAAO8f,YAAY/xC,IAAIva,GAAGwsC,OAAOsgB,SAAS,EAAEvyC,GAAGra,GAAGA,EAAEkoD,cAAcloD,EAAE6sD,eAAe,CAACC,MAAM,YAAY9sD,EAAE,KAAI,GAAE,GAAG,GAAG,CAAC,EFAlwB,IGA3nB,CAAC,MAAAqC,EAAQ6oD,IAAIrrD,EAAEF,EAAEQ,IAAIA,EAAEuY,MAAM7Y,EAAEsrD,gBAAgB,WAAW,SAAS,IHAikB3mB,EAAE7jC,SAAQ,EAAE0B,OAAOzC,KAAQ,MAAHA,OAAQ,EAAOA,EAAEO,KAAIqkC,EAAE7jC,SAAQ,EAAE2qD,MAAM1rD,KAAQ,MAAHA,OAAQ,EAAOA,EAAEO,IAAG,EAAE,YAAA4sD,EAAcptD,EAAEE,IAAIA,EAAEqsD,SAAS,EAAE,QAAAc,EAAU9B,IAAIrrD,IAAIkC,KAAKypD,OAAO3rD,EAAE,IIA3oB,SAAS,EAAEA,EAAED,EAAEI,GAAG,IAAID,ECA7G,SAAWD,GAAG,OAAO,EAAEA,EAAEsiC,UAAUtiC,EAAEkrD,YAAYlrD,EAAEkrD,YAAY,CDAgD,CAAE,GAAG7qD,EAAEN,EAAEE,EAAE2J,IAAI7J,QAAG,EAAO2B,IAAErB,GAAEA,EAAE6G,MAAM,EAAK,OAAO,IAAA0gB,IAAE,KAAK,GAAM7nB,GAAID,EAAG,OAAO,EAAE6rD,SAAS,OAAO5rD,EAAEG,GAAG,IAAI,EAAEyrD,SAAS,MAAM5rD,EAAEG,EAAC,GAAG,CAACJ,EAAEC,IAAI2B,CAAC,CJAif,EAAE4gC,WAAU,KAAK,IAAIviC,EAAE,EAAEmrD,cAAchrD,EAAE,IAAI0rD,IAAI,IAAI,IAAI5rD,KAAKD,EAAEG,EAAE2J,IAAI7J,EAAEA,EAAEqrD,gBAAgBzyC,MAAMkH,UAAU,IAAI,IAAI9f,KAAKD,EAAEwV,SAAS,CAAC,IAAIlV,EAAiB,WAAfH,EAAE0J,IAAI5J,EAAEorD,KAAgB1mB,EAAY,IAAV1kC,EAAEkH,OAAWw9B,IAAIrkC,IAAIqkC,GAAGrkC,IAAI,EAAEsrD,SAAS3rD,EAAEkH,MAAM,EAAE,iBAAiB,eAAelH,GAAa,IAAVA,EAAEkH,OAAW,EAAEykD,SAAS,WAAW3rD,EAAE,kBMAhhC,IAAI,EAAE,IAAI4rD,IAAI,GAAE,IAAIA,IAAI,SAAS7xC,GAAEja,EAAEka,GAAE,IAAI,IAAA4N,IAAE,KAAK,IAAIvnB,EAAE,IAAI2Z,EAAE,OAAO,IAAIja,EAAY,mBAAHD,EAAcA,IAAIA,EAAE+S,QAAQ,IAAI9S,EAAE,OAA2Q,IAAIE,EAAgB,OAAbI,EAAE,GAAEuJ,IAAI7J,IAAUM,EAAE,EAAE,OAAO,GAAEwJ,IAAI9J,EAAEE,EAAE,GAAO,IAAJA,IAAQ,EAAE4J,IAAI9J,EAAE,CAAC,cAAcA,EAAEwK,aAAa,eAAe4iD,MAAMptD,EAAEotD,QAAQptD,EAAE6D,aAAa,cAAc,QAAQ7D,EAAEotD,OAAM,GAA/a,WAAa,IAAIttD,EAAE,IAAIE,EAAE,OAAO,IAAI2B,EAAgB,OAAb7B,EAAE,GAAE+J,IAAI7J,IAAUF,EAAE,EAAE,GAAO,IAAJ6B,EAAM,GAAEgqD,OAAO3rD,GAAG,GAAE8J,IAAI9J,EAAE2B,EAAE,GAAO,IAAJA,EAAM,OAAO,IAAIxB,EAAE,EAAE0J,IAAI7J,GAAGG,IAAuB,OAAnBA,EAAE,eAAsBH,EAAE89C,gBAAgB,eAAe99C,EAAE6D,aAAa,cAAc1D,EAAE,gBAAgBH,EAAEotD,MAAMjtD,EAAEitD,MAAM,EAAEzB,OAAO3rD,GAAG,CAAgLwa,GAAG,CAACza,EAAEka,GAAG,iDCAtc,IAAI,IAAE,oBAAE,SAAQ,GAAE7F,YAAY,eAAe,IAAOpU,GAAH,KAAGA,GAAgD,IAAG,CAAC,GAA9CA,GAAEqtD,IAAI,GAAG,MAAMrtD,GAAEA,GAAEstD,OAAO,GAAG,SAASttD,IAAoC,SAAS,IAAGsG,SAAS3E,EAAE4rD,SAASxtD,EAAEqG,KAAKpG,EAAE0H,QAAQvH,EAAEqtD,QAAQxS,IAAI,IAAI/gC,GAAxE,gBAAE,IAA4E3Z,GAAE,QAAE,IAAIL,KAAQ,MAAHF,GAASA,KAAKE,GAAGga,KAAKha,EAAC,IAAI,OAAO,QAAE,KAAK,IAAIA,OAAM,IAAJ+6C,IAAgB,IAAJA,EAAO,OAAO/6C,GAAGK,EAAE,EAAEN,EAAEG,GAAG,KAAKF,GAAGK,EAAE,EAAEN,EAAEG,EAAC,CAAC,GAAG,CAACG,EAAEN,EAAEG,EAAE66C,IAAI,gBAAgB,GAAEvpC,SAAS,CAACzM,MAAM1E,GAAGqB,EAAE,gBCArK,IAAI,IAAE,mBAAE,MAAM,SAAS,KAAI,IAAI5B,GAAE,gBAAE,IAAG,GAAO,OAAJA,EAAS,CAAC,IAAIE,EAAE,IAAIkB,MAAM,iFAAiF,MAAMA,MAAMssD,mBAAmBtsD,MAAMssD,kBAAkBxtD,EAAE,IAAGA,CAAC,CAAC,OAAOF,CAAC,CAA6kB,IAAI,IAAE,SAAvP,SAAWA,EAAEE,GAAG,IAAIua,GAAE,UAAKgtB,GAAGxnC,EAAE,0BAA0Bwa,OAAO7Y,GAAG5B,EAAEI,EAAE,KAAI0nB,GAAE,OAAE5nB,IAAG,QAAE,IAAIE,EAAEutD,SAAS1tD,IAAG,CAACA,EAAEG,EAAEutD,WAAW,IAAIptD,EAAE,CAACsR,IAAIiW,KAAK1nB,EAAEkG,MAAMmhC,GAAGxnC,GAAG,OAAO,QAAE,CAAC2qD,SAASrqD,EAAEsqD,WAAWjpD,EAAEwjB,KAAKhlB,EAAEglB,MAAM,CAAC,EAAE0lC,WAA3M,IAAwNn/C,KAAKvL,EAAEuL,MAAM,eAAe,IAAYqvC,GAAEx5C,OAAOC,OAAO,GAAE,CAAC,kBCAsTmsD,GAAG,CAAC5tD,IAAIA,EAAEA,EAAE6tD,KAAK,GAAG,OAAO7tD,EAAEA,EAAE8tD,OAAO,GAAG,SAAS9tD,GAA/C,CAAmD4tD,IAAI,CAAC,GAAGnO,GAAG,CAACx/C,IAAIA,EAAEA,EAAE8tD,WAAW,GAAG,aAAa9tD,GAApC,CAAwCw/C,IAAI,CAAC,GAAG,IAAIuO,GAAG,CAAC,CAAC,CAAGztD,EAAEN,GAAG,OAAOM,EAAE0tD,UAAUhuD,EAAEwnC,GAAGlnC,EAAE,IAAIA,EAAE0tD,QAAQhuD,EAAEwnC,GAAG,GAAG,IAAE,mBAAG,MAAoC,SAAS,GAAElnC,GAAG,IAAIN,GAAE,gBAAE,IAAG,GAAO,OAAJA,EAAS,CAAC,IAAID,EAAE,IAAIoB,MAAM,IAAIb,kDAAkD,MAAMa,MAAMssD,mBAAmBtsD,MAAMssD,kBAAkB1tD,EAAE,IAAGA,CAAC,CAAC,OAAOC,CAAC,CAAiH,SAASiuD,GAAG3tD,EAAEN,GAAG,OAAO,OAAEA,EAAEoG,KAAK2nD,GAAGztD,EAAEN,EAAE,CAAzW,GAAEoU,YAAY,gBAA4V,IAAa85C,GAAG,KAAEC,eAAe,KAAEC,OAAuwJ,IAAIC,IAAG,SAAvwJ,SAAY/tD,EAAEN,GAAG,IAAID,GAAE,UAAKynC,GAAG7lC,EAAE,qBAAqB5B,IAAI47B,KAAKx7B,EAAEmuD,QAAQr0C,EAAE6uC,aAAajhC,EAAE2V,KAAKhjB,EAAE,SAAS+zC,WAAWrE,GAAE,KAAMrwC,GAAGvZ,GAAG88C,EAAEl9C,IAAG,cAAG,GAAGi7C,GAAE,aAAE,GAAI3gC,EAAwB,WAAJA,GAAkB,gBAAJA,EAAkBA,GAAG2gC,EAAEroC,UAAUqoC,EAAEroC,SAAQ,EAAGs7B,QAAQC,KAAK,iBAAiB7zB,8GAA8G,UAAa,IAAI0iC,GAAE,gBAAS,IAAJ/8C,GAAgB,OAAJ+8C,IAAW/8C,GAAG+8C,EAAE,MAAE0Q,QAAQ,MAAEA,MAAM,IAAI/E,GAAE,YAAE,MAAM5M,GAAG,OAAE4M,EAAE7oD,GAAG68C,GAAE,OAAGgM,GAAGlP,EAAEr5C,EAAEyB,eAAe,SAAa,OAAJm7C,EAASI,EAAEh9C,EAAEyB,eAAe,WAAW,IAAI43C,IAAI2D,EAAE,MAAM,IAAIn8C,MAAM,kFAAkF,IAAIw4C,EAAE,MAAM,IAAIx4C,MAAM,8EAA8E,IAAIm8C,EAAE,MAAM,IAAIn8C,MAAM,8EAA8E,GAAa,kBAAHhB,EAAa,MAAM,IAAIgB,MAAM,8FAA8FhB,KAAK,GAAa,mBAAH8Z,EAAc,MAAM,IAAI9Y,MAAM,kGAAkG8Y,KAAK,IAAIH,EAAE3Z,EAAE,EAAE,GAAG+Q,EAAEgrC,IAAI,gBAAG+R,GAAG,CAACD,QAAQ,KAAKQ,cAAc,KAAKC,UAAS,mBAAOrU,GAAE,QAAE,IAAIngC,GAAE,KAAKqhC,GAAE,QAAEr7C,GAAGi8C,EAAG,CAAC91C,KAAK,EAAEohC,GAAGvnC,MAAKk9C,KAAE,YAAK+M,GAAS,IAAJpwC,GAAS5Q,EAAEk0C,EAAE,EAAEp0C,EAAS,QAAP,gBAAE,KAAWyzC,EAAG/1B,IAAI,SAAK81B,EAAG,CAAC,WAAI1pC,GAAU,IAAI7S,EAAE,OAA8B,OAAvBA,EAAEiR,EAAEu9C,SAAS37C,SAAe7S,EAAE4oD,EAAE/1C,OAAO,IAAI47C,kBAAkBzR,EAAE0R,gBAAgBC,EAAEC,aAAanS,IAAI,QAAG,CAACoS,QAAQrS,EAAGsS,kBAAkB,CAACvS,KAAML,EAAGjzC,EAAE,SAAS,OAAO2yC,EAAM,OAAJqB,IAAUA,EAAE,MAAE8R,WAAW,MAAEA,QAAW3S,GAAQrzC,IAAG6yC,GAAKsB,EAAKZ,GAAG,kBAAE,KAAK,IAAIt8C,EAAE0kC,EAAE,OAAgL,OAAzKA,EAAEvkC,MAAM8mC,KAAwD,OAAlDjnC,EAAK,MAAH48C,OAAQ,EAAOA,EAAEtyC,iBAAiB,aAAmBtK,EAAE,IAAIipD,MAAKppD,GAAU,2BAAPA,EAAE0nC,KAAiC1nC,EAAEspD,SAASwF,EAAE97C,UAAUhT,aAAayR,gBAAoBozB,EAAE,OAAM,CAACiqB,IAAI,GAAErS,EAAGF,GAAI,IAAI8C,IAAQj2C,GAAKi0C,EAAKR,GAAG,kBAAE,KAAK,IAAI18C,EAAE0kC,EAAE,OAA6J,OAAtJA,EAAEvkC,MAAM8mC,KAAwE,OAAlEjnC,EAAK,MAAH48C,OAAQ,EAAOA,EAAEtyC,iBAAiB,6BAAmCtK,EAAE,IAAIipD,MAAKppD,GAAGA,EAAEspD,SAASwF,EAAE97C,UAAUhT,aAAayR,eAAoBozB,EAAE,OAAM,CAACiqB,IAAI,GAAEjS,EAAGwC,GAAI,IAAIP,KAAWzB,GAAGj0C,IAAM,QAAG+zC,GAAEh9C,IAAIA,EAAEupD,iBAAiBpP,GAAE,GAAGwE,GAAI,IAAIW,IAAUr2C,GAAO,IAAJ4Q,IAAU,OAAM,MAAH+iC,OAAQ,EAAOA,EAAE0M,YAAY,WAAUtpD,IAAIs/C,IAAKt/C,EAAEgvD,kBAAkBhvD,EAAE4B,MAAM,KAAGqtD,SAASjvD,EAAEupD,iBAAiBvpD,EAAEwpD,kBAAkBrP,KAAI,IAA12E,SAAY95C,EAAEN,EAAED,EAAE,IAAI,CAAC4D,SAASykD,OAAO,EAAG9nD,EAAEN,GAAE2B,IAAI,IAAIxB,EAAE,MAAM,CAAC4oD,WAAW,IAAsB,OAAjB5oD,EAAEwB,EAAEonD,YAAkB5oD,EAAE,GAAGJ,GAAE,GAAG,CAA6xEovD,CAAGtS,IAAnBhB,GAAO,IAAJ/hC,GAAO9Q,GAAci0C,IAAG,gBAAE,KAAK,GAAO,IAAJnjC,IAAQ+uC,EAAE/1C,QAAQ,OAAO,IAAI7S,EAAE,IAAImvD,gBAAezqB,IAAI,IAAI,IAAI7kC,KAAK6kC,EAAE,CAAC,IAAIgW,EAAE76C,EAAE4B,OAAO2tD,wBAA8B,IAAN1U,EAAEzxC,GAAa,IAANyxC,EAAExxC,GAAiB,IAAVwxC,EAAEv9B,OAAsB,IAAXu9B,EAAEp9B,QAAY68B,GAAG,KAAI,OAAOn6C,EAAEqvD,QAAQzG,EAAE/1C,SAAS,IAAI7S,EAAEsvD,YAAW,GAAG,CAACz1C,EAAE+uC,EAAEzO,IAAI,IAAIoV,EAAG9Q,IDAh7H,WAAa,IAAI3+C,EAAEE,IAAG,cAAE,IAAI,MAAM,CAACF,EAAEQ,OAAO,EAAER,EAAE4H,KAAK,UAAK,GAAO,cAAE,IAAI,SAAS3H,GAAG,IAAI2B,GAAE,QAAEkmB,IAAI5nB,GAAEK,GAAG,IAAIA,EAAEunB,KAAI,IAAI5nB,GAAEK,IAAI,IAAIwZ,EAAExZ,EAAEgB,QAAQqjC,EAAE7qB,EAAExU,QAAQuiB,GAAG,OAAY,IAAL8c,GAAQ7qB,EAAE4qB,OAAOC,EAAE,GAAG7qB,QAAM3Z,GAAE,cAAE,KAAI,CAAEutD,SAAS/rD,EAAEwjB,KAAKnlB,EAAEmlB,KAAKzZ,KAAK1L,EAAE0L,KAAKrF,MAAMrG,EAAEqG,SAAQ,CAAC1E,EAAE3B,EAAEmlB,KAAKnlB,EAAE0L,KAAK1L,EAAEqG,QAAQ,OAAO,gBAAgB,GAAEoL,SAAS,CAACzM,MAAM7E,GAAGH,EAAEsG,SAAS,GAAE,CAACrG,IAAI,CCAomH,GAAKwvD,IAAG,cAAE,IAAI,CAAC,CAACC,YAAY51C,EAAE61C,MAAMvV,EAAEwV,WAAWtU,GAAGpqC,IAAG,CAAC4I,EAAE5I,EAAEkpC,EAAEkB,IAAIK,IAAE,cAAE,KAAI,CAAEhgB,KAAS,IAAJ7hB,KAAQ,CAACA,IAAIwlC,GAAG,CAAC1tC,IAAIqqC,EAAGzU,GAAG7lC,EAAE67B,KAAKhjB,EAAE,aAAiB,IAAJV,QAAS,EAAO,kBAAkB5I,EAAE88C,QAAQ,mBAAmBwB,GAAI,OAAO,gBAAgB,GAAG,CAACppD,KAAK,SAASonD,QAAY,IAAJ1zC,EAAMpS,QAAQmhD,EAAE0E,UAAS,QAAE,CAACttD,EAAE0kC,KAAS,WAAJA,IAAc,OAAE1kC,EAAE,CAAC,CAAC,GAAEotD,KAAK,IAAIntD,GAAEJ,GAAGA,EAAE,IAAG,CAAC,GAAEwtD,QAAQ,IAAIptD,GAAEJ,GAAGA,EAAE,KAAG,KAAK,gBAAgB,KAAE,CAAC+vD,OAAM,GAAI,gBAAgB,IAAE,KAAK,gBAAgB,GAAEp+C,SAAS,CAACzM,MAAMyqD,IAAI,gBAAgB,IAAEK,MAAM,CAACpuD,OAAOmnD,GAAG,gBAAgB,KAAE,CAACgH,OAAM,GAAI,gBAAgBnR,GAAG,CAACv5B,KAAKw2B,GAAEjwC,KAAK,sBAAsB,gBAAgB,EAAE,CAACo9C,aAAajhC,EAAEkhC,WAAW9L,EAAE+L,SAAS7L,GAAE,OAAEhB,EAAG,CAACh2C,OAAO,EAAE6iD,SAASL,aAAaoH,KAAK,EAAE/G,SAASJ,KAAK,EAAEI,SAASN,YAAY,EAAEM,SAAST,MAAM,gBAAgB7hC,EAAG,MAAK,QAAE,CAACikC,SAASrL,GAAGsL,WAAW/wC,EAAEsL,KAAKw2B,GAAEkP,WAA7uG,MAA2vG7B,SAASkF,GAAG8B,QAAY,IAAJl2C,EAAMpO,KAAK,mBAAmB,gBAAgBgxC,EAAG,MAAM,IAA0+CuT,IAAG,SAA5jC,SAAY3vD,EAAEN,GAAG,IAAID,GAAE,UAAKynC,GAAG7lC,EAAE,8BAA8B5B,OAAOI,GAAGG,IAAIovD,YAAYz1C,GAAG4N,GAAG,GAAE,mBAAmBrN,GAAE,OAAExa,IAAG,gBAAE,KAAK,GAAwB,OAArB6nB,EAAE4mC,SAAS37C,QAAe,MAAM,IAAI3R,MAAM,8FAA6F,GAAG,CAAC0mB,EAAE4mC,WAAW,IAAIvE,GAAE,cAAE,KAAI,CAAEvuB,KAAS,IAAJ1hB,KAAQ,CAACA,IAAI,OAAO,gBAAgB,KAAE,CAAC41C,OAAM,GAAI,gBAAgB,IAAE,MAAK,QAAE,CAAClF,SAAS,CAAC/4C,IAAI4I,EAAEgtB,GAAG7lC,EAAE,eAAc,GAAIipD,WAAWzqD,EAAEglB,KAAK+kC,EAAEW,WAA5b,MAA0cn/C,KAAK,qBAAqB,IAAomBwkD,IAAG,SAAzlB,SAAY5vD,EAAEN,GAAG,IAAID,GAAE,UAAKynC,GAAG7lC,EAAE,2BAA2B5B,OAAOI,GAAGG,IAAIovD,YAAYz1C,GAAG4N,GAAG,GAAE,gBAAgBrN,GAAE,OAAExa,EAAE6nB,EAAE4mC,UAAUvE,GAAE,cAAE,KAAI,CAAEvuB,KAAS,IAAJ1hB,KAAQ,CAACA,IAAIJ,GAAE,QAAE3Z,IAAIA,EAAEupD,iBAAgB,IAAI,OAAO,QAAE,CAACkB,SAAS,CAAC/4C,IAAI4I,EAAEgtB,GAAG7lC,EAAEwgD,QAAQtoC,GAAG+wC,WAAWzqD,EAAEglB,KAAK+kC,EAAEW,WAA9P,MAA4Qn/C,KAAK,gBAAgB,IAAoUykD,IAAG,SAAj/C,SAAY7vD,EAAEN,GAAG,IAAID,GAAE,UAAKynC,GAAG7lC,EAAE,6BAA6B5B,OAAOI,GAAGG,IAAIovD,YAAYz1C,EAAE01C,MAAM9nC,IAAI,GAAE,kBAAkBrN,GAAE,OAAExa,GAAGkqD,GAAE,QAAEhqD,IAAI,GAAGA,EAAEwB,SAASxB,EAAEkwD,cAAc,CAAC,IAAG,QAAGlwD,EAAEkwD,eAAe,OAAOlwD,EAAEspD,iBAAiBtpD,EAAEspD,iBAAiBtpD,EAAEupD,kBAAkB5hC,GAAG,KAAIhO,GAAE,cAAE,KAAI,CAAE8hB,KAAS,IAAJ1hB,KAAQ,CAACA,IAAI,OAAO,QAAE,CAAC0wC,SAAS,CAAC/4C,IAAI4I,EAAEgtB,GAAG7lC,EAAE,eAAc,EAAGwgD,QAAQ+H,GAAGU,WAAWzqD,EAAEglB,KAAKtL,EAAEgxC,WAAtX,MAAoYn/C,KAAK,kBAAkB,IAAkmC2kD,IAAG,SAAnU,SAAY/vD,EAAEN,GAAG,IAAID,GAAE,UAAKynC,GAAG7lC,EAAE,2BAA2B5B,OAAOI,GAAGG,IAAIovD,YAAYz1C,EAAE21C,WAAW/nC,IAAI,GAAE,gBAAgBrN,GAAE,OAAExa,IAAG,gBAAE,KAAK6nB,EAAElmB,GAAG,IAAIkmB,EAAE,QAAO,CAAClmB,EAAEkmB,IAAI,IAAIqiC,GAAE,cAAE,KAAI,CAAEvuB,KAAS,IAAJ1hB,KAAQ,CAACA,IAAI,OAAO,QAAE,CAAC0wC,SAAS,CAAC/4C,IAAI4I,EAAEgtB,GAAG7lC,GAAGipD,WAAWzqD,EAAEglB,KAAK+kC,EAAEW,WAAzP,KAAuQn/C,KAAK,gBAAgB,IAAkD4kD,GAAG/uD,OAAOC,OAAO6sD,GAAG,CAACkC,SAASN,GAAGO,MAAMN,GAAGO,QAAQN,GAAGO,MAAML,GAAGM,YAAY,SCAr8NtL,GAAQP,GAAOC,uBCInB,IAAe,EAAAtnB,GAAA,IAA2B,UAAK,OAAQ,CACrD39B,EAAG,6PACD,cCFJ,IAAe,EAAA29B,GAAA,IAA2B,UAAK,OAAQ,CACrD39B,EAAG,4CACD,8BCFJ,IAAe,EAAA29B,GAAA,IAA2B,UAAK,OAAQ,CACrD39B,EAAG,kDACD,yBHLJ,SAASklD,KAAa,OAAOA,GAAWzjD,OAAOC,OAASD,OAAOC,OAAOC,OAAS,SAAUtB,GAAK,IAAK,IAAIH,EAAI,EAAGA,EAAIQ,UAAUD,OAAQP,IAAK,CAAE,IAAIC,EAAIO,UAAUR,GAAI,IAAK,IAAID,KAAKE,GAAG,CAAG,GAAE8B,eAAeC,KAAK/B,EAAGF,KAAOI,EAAEJ,GAAKE,EAAEF,GAAK,CAAE,OAAOI,CAAG,EAAG6kD,GAAS/iD,MAAM,KAAMzB,UAAY,CAEnR,IAAIowD,GAAkB,SAAyBvqD,GAC7C,OAAoB,gBAAoB,MAAO2+C,GAAS,CACtDE,MAAO,6BACPpoB,QAAS,kBACRz2B,GAAQg/C,KAAWA,GAAsB,gBAAoB,QAAS,KAAM,0CAA2CP,KAAUA,GAAqB,gBAAoB,OAAQ,CACnL9yC,UAAW,yBACXlS,EAAG,ksCACa,gBAAoB,OAAQ,CAC5CA,EAAG,wDACH+Y,MAAO,CACL+gB,KAAM,aAENmrB,KAAWA,GAAsB,gBAAoB,OAAQ,CAC/D/yC,UAAW,yBACXlS,EAAG,+DACa,gBAAoB,OAAQ,CAC5CA,EAAG,uDACH+Y,MAAO,CACL+gB,KAAM,aAEO,gBAAoB,OAAQ,CAC3C95B,EAAG,sDACH+Y,MAAO,CACL+gB,KAAM,aAEO,gBAAoB,OAAQ,CAC3C95B,EAAG,oDACH+Y,MAAO,CACL+gB,KAAM,aAGZ,6DIlCg9C0lB,GAAG,CAACv/C,IAAIA,EAAEA,EAAE6tD,KAAK,GAAG,OAAO7tD,EAAEA,EAAE8tD,OAAO,GAAG,SAAS9tD,GAA/C,CAAmDu/C,IAAI,CAAC,GAAG3C,GAAG,CAAC58C,IAAIA,EAAEA,EAAE8wD,QAAQ,GAAG,UAAU9wD,EAAEA,EAAE+wD,MAAM,GAAG,QAAQ/wD,GAAnD,CAAuD48C,IAAI,CAAC,GAAG4C,GAAG,CAAC/kC,IAAIA,EAAEA,EAAEu2C,SAAS,GAAG,WAAWv2C,EAAEA,EAAEw2C,UAAU,GAAG,YAAYx2C,EAAEA,EAAEy2C,SAAS,GAAG,WAAWz2C,EAAEA,EAAE02C,OAAO,GAAG,SAAS12C,EAAEA,EAAE22C,YAAY,GAAG,cAAc32C,EAAEA,EAAE42C,aAAa,GAAG,eAAe52C,EAAEA,EAAE62C,eAAe,GAAG,iBAAiB72C,GAA1N,CAA8N+kC,IAAI,CAAC,GAAG,SAAStC,GAAEj9C,EAAEg7C,EAAEj7C,GAAGA,GAAG,IAAIA,EAAsB,OAApBC,EAAEsxD,gBAAuBtxD,EAAEioD,MAAMjoD,EAAEsxD,iBAAiB,KAAKzpC,GAAE,QAAGmzB,EAAEh7C,EAAEioD,MAAM3mD,UAASrB,GAAGA,EAAEsxD,QAAQz+C,QAAQ0+C,OAAO1+C,UAASnR,EAAE5B,EAAE8nB,EAAEviB,QAAQvF,GAAG,KAAK,OAAY,IAAL4B,IAASA,EAAE,MAAM,CAACsmD,MAAMpgC,EAAEypC,gBAAgB3vD,EAAE,CAAC,IAAI6tD,GAAG,CAAC,CAAC,CAAGxvD,GAAG,OAAqB,IAAdA,EAAEyxD,UAAczxD,EAAE,IAAIA,EAAEsxD,gBAAgB,KAAKG,UAAU,EAAE,EAAE,CAAC,CAAGzxD,GAAG,OAAqB,IAAdA,EAAEyxD,UAAczxD,EAAE,IAAIA,EAAEuuD,YAAW,EAAGkD,UAAU,EAAE,EAAE,EAAI,CAACzxD,EAAEg7C,KAAK,IAAIr5C,EAAE,IAAI5B,EAAEk9C,GAAEj9C,GAAG6nB,GAAE,QAAGmzB,EAAE,CAAC0W,aAAa,IAAI3xD,EAAEkoD,MAAM0J,mBAAmB,IAAI5xD,EAAEuxD,gBAAgBM,UAAU3xD,GAAGA,EAAEunC,GAAGqqB,gBAAgB5xD,GAAGA,EAAEsxD,QAAQz+C,QAAQsW,WAAW,MAAM,IAAIppB,KAAKD,EAAE+xD,YAAY,GAAGR,gBAAgBzpC,EAAEkqC,kBAAiC,OAAdpwD,EAAEq5C,EAAEgX,SAAerwD,EAAE,EAAC,EAAG,EAAI,CAAC3B,EAAEg7C,KAAK,IAAInzB,EAAkB,KAAhB7nB,EAAE8xD,YAAiB,EAAE,EAAEnwD,EAAE3B,EAAE8xD,YAAY9W,EAAEh2C,MAAMqK,cAAc/O,GAAuB,OAApBN,EAAEsxD,gBAAuBtxD,EAAEioD,MAAM3mD,MAAMtB,EAAEsxD,gBAAgBzpC,GAAGzc,OAAOpL,EAAEioD,MAAM3mD,MAAM,EAAEtB,EAAEsxD,gBAAgBzpC,IAAI7nB,EAAEioD,OAAOiB,MAAKjvC,IAAI,IAAIJ,EAAE,OAAwC,OAAhCA,EAAEI,EAAEs3C,QAAQz+C,QAAQm/C,gBAAiB,EAAOp4C,EAAEhC,WAAWlW,MAAMsY,EAAEs3C,QAAQz+C,QAAQsW,YAAW5O,EAAEla,EAAEN,EAAEioD,MAAM3iD,QAAQhF,IAAI,EAAE,OAAY,IAALka,GAAQA,IAAIxa,EAAEsxD,gBAAgB,IAAItxD,EAAE8xD,YAAYnwD,GAAG,IAAI3B,EAAE8xD,YAAYnwD,EAAE2vD,gBAAgB92C,EAAEu3C,kBAAkB,EAAC,EAAG,CAAC,CAAG/xD,GAAG,MAAuB,KAAhBA,EAAE8xD,YAAiB9xD,EAAE,IAAIA,EAAE8xD,YAAY,GAAGI,sBAAsB,KAAK,EAAE,EAAI,CAAClyD,EAAEg7C,KAAK,IAAIj7C,EAAEk9C,GAAEj9C,GAAE6nB,GAAG,IAAIA,EAAE,CAAC2f,GAAGwT,EAAExT,GAAG+pB,QAAQvW,EAAEuW,YAAW,MAAM,IAAIvxD,KAAKD,EAAC,EAAG,EAAI,CAACC,EAAEg7C,KAAK,IAAIj7C,EAAEk9C,GAAEj9C,GAAE6nB,IAAI,IAAIlmB,EAAEkmB,EAAEsqC,WAAUlyD,GAAGA,EAAEunC,KAAKwT,EAAExT,KAAI,OAAY,IAAL7lC,GAAQkmB,EAAE6c,OAAO/iC,EAAE,GAAGkmB,KAAI,MAAM,IAAI7nB,KAAKD,EAAEgyD,kBAAkB,EAAC,GAAI5W,IAAE,mBAAE,MAAkC,SAASiX,GAAEpyD,GAAG,IAAIg7C,GAAE,gBAAEG,IAAG,GAAO,OAAJH,EAAS,CAAC,IAAIj7C,EAAE,IAAIoB,MAAM,IAAInB,gDAAgD,MAAMmB,MAAMssD,mBAAmBtsD,MAAMssD,kBAAkB1tD,EAAEqyD,IAAGryD,CAAC,CAAC,OAAOi7C,CAAC,CAAC,SAASqX,GAAGryD,EAAEg7C,GAAG,OAAO,OAAEA,EAAE50C,KAAKopD,GAAGxvD,EAAEg7C,EAAE,CAArPG,GAAE/mC,YAAY,cAAwO,IAAIk+C,GAAG,WAAyjD,IAAaC,GAAG,KAAEpE,eAAe,KAAEC,OAAqoE,IAAIoE,GAAG,WAA+zC,IAAIC,IAAG,SAA5iK,SAAYzyD,EAAEg7C,GAAG,IAAIuT,WAAWxuD,GAAE,KAAM8nB,GAAG7nB,EAAE2B,GAAE,gBAAE0wD,GAAG,CAAC9D,WAAWxuD,EAAE0xD,UAAU1xD,EAAE,EAAE,EAAE2yD,WAAU,iBAAIC,UAAS,iBAAI1K,MAAM,GAAG6J,YAAY,GAAGR,gBAAgB,KAAKS,kBAAkB,MAAMN,UAAUxxD,EAAE0yD,SAASryD,EAAEoyD,UAAUl4C,GAAGP,GAAGtY,EAAEkY,GAAE,OAAEmhC,IAAG,QAAE,CAACxgC,EAAEla,IAAG,CAACu8C,EAAE6M,KAAK,IAAI5vC,EAAEG,EAAE,CAAC7T,KAAK,KAAI,QAAGsjD,EAAE,KAAGkJ,SAAS/V,EAAE2M,iBAAgC,OAAd1vC,EAAEU,EAAE1H,UAAgBgH,EAAEmQ,QAAO,GAAO,IAAJhqB,GAAO,IAAIs9C,GAAE,QAAE,KAAKtjC,EAAE,CAAC7T,KAAK,GAAE,IAAIm0C,GAAE,cAAE,KAAI,CAAE5e,KAAS,IAAJ17B,EAAM0vD,MAAMpS,KAAI,CAACt9C,EAAEs9C,IAAIr9C,EAAE,CAAC0R,IAAIiI,GAAG,OAAO,gBAAgBshC,GAAE1pC,SAAS,CAACzM,MAAMrD,GAAG,gBAAgB,MAAG,CAACqD,OAAM,OAAE/E,EAAE,CAAC,EAAI,MAAE2tD,KAAK,EAAI,MAAEC,WAAU,QAAE,CAAClD,SAASzqD,EAAE0qD,WAAW/iC,EAAE1C,KAAKo1B,EAAEsQ,WAAWyH,GAAG5mD,KAAK,UAAU,IAAk/ImnD,IAAG,SAAp+I,SAAY7yD,EAAEg7C,GAAG,IAAI0O,EAAE,IAAI3pD,GAAE,UAAKynC,GAAG3f,EAAE,0BAA0B9nB,OAAO4B,GAAG3B,GAAGC,EAAEK,GAAG8xD,GAAE,eAAe53C,GAAE,OAAEva,EAAEyyD,UAAU1X,GAAG/gC,GAAE,SAAIJ,GAAE,QAAEC,IAAI,OAAOA,EAAEjY,KAAK,KAAK,KAAEixD,MAAM,KAAK,KAAEC,MAAM,KAAK,KAAEC,UAAUl5C,EAAE0vC,iBAAiB1vC,EAAE2vC,kBAAkBnpD,EAAE,CAAC8F,KAAK,IAAI6T,EAAEg5C,WAAU,IAAI3yD,EAAE,CAAC8F,KAAK,EAAE6jB,MAAM,KAAEo/B,UAAS,MAAM,KAAK,KAAE6J,QAAQp5C,EAAE0vC,iBAAiB1vC,EAAE2vC,kBAAkBnpD,EAAE,CAAC8F,KAAK,IAAI6T,EAAEg5C,WAAU,IAAI3yD,EAAE,CAAC8F,KAAK,EAAE6jB,MAAM,KAAE8/B,SAAa,IAAIxM,GAAE,QAAEzjC,IAAI,GAAOA,EAAEjY,MAAU,KAAEixD,MAAMh5C,EAAE0vC,gBAAsB,IAAIjP,GAAE,QAAEzgC,IAAI,IAAG,QAAGA,EAAEs2C,eAAe,OAAOt2C,EAAE0vC,iBAAiBxpD,EAAEopB,WAAyB,IAAdnpB,EAAEwxD,WAAenxD,EAAE,CAAC8F,KAAK,IAAI6T,EAAEg5C,WAAU,KAAK,IAAI7V,EAAE,OAA+B,OAAxBA,EAAEn9C,EAAEyyD,UAAU5/C,cAAe,EAAOsqC,EAAEnzB,MAAM,CAACkpC,eAAc,GAAG,MAAMr5C,EAAE0vC,iBAAiBlpD,EAAE,CAAC8F,KAAK,KAAI,IAAIlG,GAAE,cAAE,KAAI,CAAEy7B,KAAmB,IAAd17B,EAAEwxD,aAAgB,CAACxxD,IAAI48C,EAAE,CAACjrC,IAAI4I,EAAEgtB,GAAG3f,EAAEzhB,MAAK,QAAGpG,EAAEC,EAAEyyD,WAAW,gBAAgB,OAAO,gBAAwC,OAAvBhJ,EAAEzpD,EAAE0yD,SAAS7/C,cAAe,EAAO42C,EAAEliB,GAAG,gBAA8B,IAAdvnC,EAAEwxD,UAAczH,UAAUnwC,EAAEu5C,QAAQ7V,EAAE4E,QAAQ5H,GAAG,OAAO,QAAE,CAACoQ,SAAS9N,EAAE+N,WAAWjpD,EAAEwjB,KAAKjlB,EAAE2qD,WAA58B,SAA09Bn/C,KAAK,eAAe,IAAqgHizC,IAAG,SAA79G,SAAY3+C,EAAEg7C,GAAG,IAAIoC,EAAEpjC,EAAE,IAAIja,GAAE,UAAKynC,GAAG3f,EAAE,yBAAyB9nB,OAAO4B,GAAG3B,GAAGC,EAAEK,GAAG8xD,GAAE,cAAc53C,GAAE,OAAEva,EAAE0yD,SAAS3X,GAAG/gC,GAAE,OAAEha,EAAE0yD,UAAU94C,GAAE,SAAI0jC,GAAE,WAAKhD,EAAW,OAAJgD,GAAUA,EAAE,MAAEqQ,QAAQ,MAAEA,KAAmB,IAAd3tD,EAAEwxD,WAAiB,gBAAE,KAAK,IAAItxD,EAAEF,EAAE0yD,SAAS7/C,QAAQ3S,GAAiB,IAAdF,EAAEwxD,WAAetxD,KAAQ,MAAH8Z,OAAQ,EAAOA,EAAEkvC,gBAAgBhpD,EAAE8pB,MAAM,CAACkpC,eAAc,GAAG,GAAG,CAAClzD,EAAEwxD,UAAUxxD,EAAE0yD,SAAS14C,ICA7rK,UAAYpX,UAAU7C,EAAEqzD,OAAOpzD,EAAEqzD,KAAKvzD,EAAEytD,QAAQ7oB,GAAE,IAAK,IAAIrkC,GAAE,YAAEL,GAAGga,GAAE,YAAEla,IAAG,gBAAE,KAAKO,EAAEwS,QAAQ7S,EAAEga,EAAEnH,QAAQ/S,IAAG,CAACE,EAAEF,KAAI,QAAE,KAAK,IAAIC,IAAI2kC,EAAE,OAAO,IAAIxkC,GAAE,KAAA+pD,GAAElqD,GAAG,IAAIG,EAAE,OAAO,IAAID,EAAEI,EAAEwS,QAAQgH,EAAEG,EAAEnH,QAAQhT,EAAEyB,OAAOC,QAAOG,GAAGzB,EAAEyB,IAAG,CAAC4xD,WAAWrzD,IAAI86C,EAAE76C,EAAEqzD,iBAAiBxzD,EAAEyzD,WAAWC,aAAa5zD,GAAE,GAAI,KAAKk7C,EAAE2Y,YAAY75C,EAAEkhC,EAAE4Y,YAAW,GAAG,CAAC5zD,EAAE2kC,EAAErkC,EAAE2Z,GAAG,CDAy3J,CAAG,CAACpX,UAAU5C,EAAE0yD,SAAS7/C,QAAQ06C,QAAsB,IAAdvtD,EAAEwxD,UAAc,MAAA4B,CAAOlzD,GAAG,MAAgC,aAAzBA,EAAEqK,aAAa,QAAqBipD,WAAWI,cAAc1zD,EAAE2zD,aAAa,QAAQL,WAAWM,YAAYN,WAAWO,aAAa,EAAE,IAAAV,CAAKnzD,GAAGA,EAAE0D,aAAa,OAAO,OAAO,IAAI,IAAI3D,GAAE,QAAEC,IAAI,IAAI+8C,EAAEh0C,EAAE,OAAO2Q,EAAEwyC,UAAUlsD,EAAE0B,KAAK,KAAK,KAAEixD,MAAM,GAAmB,KAAhB7yD,EAAE6xD,YAAiB,OAAO3xD,EAAEqpD,iBAAiBrpD,EAAEspD,kBAAkBnpD,EAAE,CAAC8F,KAAK,EAAEpB,MAAM7E,EAAE0B,MAAM,KAAK,KAAEkxD,MAAM,GAAG5yD,EAAEqpD,iBAAiBrpD,EAAEspD,kBAAkBnpD,EAAE,CAAC8F,KAAK,IAAwB,OAApBnG,EAAEqxD,gBAAuB,CAAC,IAAIC,QAAQpU,GAAGl9C,EAAEgoD,MAAMhoD,EAAEqxD,iBAAkE,OAAhDpoD,EAAiB,OAAdg0C,EAAEC,EAAErqC,cAAe,EAAOoqC,EAAEsU,OAAO1+C,UAAgB5J,EAAE+qD,OAAO,EAAC,QAAEh0D,EAAEyyD,UAAU5/C,SAAS,MAAM,KAAK,KAAEkgD,UAAU,OAAO7yD,EAAEqpD,iBAAiBrpD,EAAEspD,kBAAkBnpD,EAAE,CAAC8F,KAAK,EAAE6jB,MAAM,KAAEogC,OAAO,KAAK,KAAE6I,QAAQ,OAAO/yD,EAAEqpD,iBAAiBrpD,EAAEspD,kBAAkBnpD,EAAE,CAAC8F,KAAK,EAAE6jB,MAAM,KAAEqgC,WAAW,KAAK,KAAE4J,KAAK,KAAK,KAAEC,OAAO,OAAOh0D,EAAEqpD,iBAAiBrpD,EAAEspD,kBAAkBnpD,EAAE,CAAC8F,KAAK,EAAE6jB,MAAM,KAAEo/B,QAAQ,KAAK,KAAE+K,IAAI,KAAK,KAAEC,SAAS,OAAOl0D,EAAEqpD,iBAAiBrpD,EAAEspD,kBAAkBnpD,EAAE,CAAC8F,KAAK,EAAE6jB,MAAM,KAAE8/B,OAAO,KAAK,KAAEmF,OAAO/uD,EAAEqpD,iBAAiBrpD,EAAEspD,kBAAkBnpD,EAAE,CAAC8F,KAAK,KAAI,SAAI6sD,WAAU,KAAK,IAAI9V,EAAE,OAA+B,OAAxBA,EAAEl9C,EAAEyyD,UAAU5/C,cAAe,EAAOqqC,EAAElzB,MAAM,CAACkpC,eAAc,GAAG,IAAI,MAAM,KAAK,KAAEmB,IAAIn0D,EAAEqpD,iBAAiBrpD,EAAEspD,kBAAkBnpD,EAAE,CAAC8F,KAAK,KAAI,SAAI6sD,WAAU,MAAK,QAAGhzD,EAAEyyD,UAAU5/C,QAAQ3S,EAAEo0D,SAAS,KAAEjK,SAAS,KAAED,KAAI,IAAI,MAAM,QAAuB,IAAflqD,EAAE0B,IAAItB,SAAaD,EAAE,CAAC8F,KAAK,EAAEpB,MAAM7E,EAAE0B,MAAMgY,EAAEmnB,YAAW,IAAI1gC,EAAE,CAAC8F,KAAK,KAAI,MAAW,IAAIy2C,GAAE,QAAE18C,IAAI,GAAOA,EAAE0B,MAAU,KAAEixD,MAAM3yD,EAAEqpD,gBAAsB,IAAIE,GAAE,cAAE,KAAI,CAAE/tB,KAAmB,IAAd17B,EAAEwxD,aAAgB,CAACxxD,IAAI6Z,EAAE,CAAC,wBAA4C,OAApB7Z,EAAEqxD,iBAAwD,OAA/BlU,EAAEn9C,EAAEgoD,MAAMhoD,EAAEqxD,uBAAwB,EAAOlU,EAAE5V,GAAG,kBAA2C,OAAxBxtB,EAAE/Z,EAAEyyD,UAAU5/C,cAAe,EAAOkH,EAAEwtB,GAAGA,GAAG3f,EAAEmiC,UAAU9pD,EAAEkzD,QAAQvW,EAAErf,KAAK,OAAOg3B,SAAS,EAAE5iD,IAAI4I,GAAG,OAAO,QAAE,CAACmwC,SAAS7wC,EAAE8wC,WAAWjpD,EAAEwjB,KAAKukC,EAAEmB,WAAzmE,MAAunE7B,SAASuJ,GAAGvC,QAAQzV,EAAE7uC,KAAK,cAAc,IAAs2C+jD,IAAG,SAA/1C,SAAYzvD,EAAEg7C,GAAG,IAAIj7C,GAAE,UAAKynC,GAAG3f,EAAE,wBAAwB9nB,IAAIqpB,SAASznB,GAAE,KAAM1B,GAAGD,GAAGM,EAAEka,GAAG43C,GAAE,aAAan4C,EAAsB,OAApB3Z,EAAEgxD,iBAAuBhxD,EAAE2nD,MAAM3nD,EAAEgxD,iBAAiB9pB,KAAK3f,EAAKhO,GAAE,YAAE,MAAM0jC,GAAE,OAAEvC,EAAEnhC,IAAG,QAAE,KAAK,GAAGvZ,EAAEiuD,YAA0B,IAAdjuD,EAAEmxD,YAAgBx3C,GAAyB,IAAtB3Z,EAAEyxD,kBAAsB,OAAO,IAAI7H,GAAE,SAAI,OAAOA,EAAE7L,uBAAsB,KAAK,IAAIjE,EAAEc,EAAmD,OAAhDA,EAAiB,OAAdd,EAAEvgC,EAAE/G,cAAe,EAAOsnC,EAAE4S,iBAAuB9R,EAAEl5C,KAAKo4C,EAAE,CAAC6S,MAAM,WAAU,IAAI/C,EAAEmC,UAAS,CAAC/rD,EAAEiuD,WAAW10C,EAAEI,EAAE3Z,EAAEmxD,UAAUnxD,EAAEyxD,kBAAkBzxD,EAAEgxD,kBAAkB,IAAI/W,GAAE,QAAG1gC,GAAG3Z,GAAE,YAAE,CAACkpB,SAASznB,EAAE6vD,OAAO33C,EAAE,aAAIo4C,GAAY,OAAO1X,GAAG,KAAI,QAAE,KAAKr6C,EAAE4S,QAAQsW,SAASznB,IAAG,CAACzB,EAAEyB,KAAI,QAAE,KAAK6Y,EAAE,CAACpU,KAAK,EAAEohC,GAAG3f,EAAE0pC,QAAQrxD,IAAI,IAAIsa,EAAE,CAACpU,KAAK,EAAEohC,GAAG3f,MAAK,CAAC3nB,EAAE2nB,IAAI,IAAIg1B,GAAE,QAAE,KAAKriC,EAAE,CAACpU,KAAK,GAAE,IAAIsjD,GAAE,QAAEQ,IAAI,GAAGvoD,EAAE,OAAOuoD,EAAEV,iBAAiBhvC,EAAE,CAACpU,KAAK,KAAI,QAAE9F,EAAEoyD,UAAU5/C,QAAO,IAAIgH,GAAE,QAAE,KAAK,GAAGnY,EAAE,OAAO6Y,EAAE,CAACpU,KAAK,EAAE6jB,MAAM,KAAEwqC,UAAUj6C,EAAE,CAACpU,KAAK,EAAE6jB,MAAM,KAAEyqC,SAASltB,GAAG3f,GAAE,IAAIu1B,GAAE,UAAKpjC,GAAE,QAAEkwC,GAAG9M,EAAEuX,OAAOzK,KAAI/pD,GAAE,QAAE+pD,IAAI9M,EAAEwX,SAAS1K,KAAKvoD,GAAGsY,GAAGO,EAAE,CAACpU,KAAK,EAAE6jB,MAAM,KAAEyqC,SAASltB,GAAG3f,EAAEmqC,QAAQ,IAAG,IAAI9U,GAAE,QAAEgN,IAAI9M,EAAEwX,SAAS1K,KAAKvoD,GAAGsY,GAAGO,EAAE,CAACpU,KAAK,EAAE6jB,MAAM,KAAEwqC,UAAS,IAAIvrD,GAAE,cAAE,KAAI,CAAEwgB,OAAOzP,EAAEmP,SAASznB,EAAEguD,MAAM9S,KAAI,CAAC5iC,EAAEtY,EAAEk7C,IAAI,OAAO,QAAE,CAAC8N,SAAS,CAACnjB,GAAG3f,EAAEjW,IAAI2rC,EAAE/f,KAAK,WAAWg3B,UAAa,IAAJ7yD,OAAO,GAAQ,EAAE,iBAAoB,IAAJA,QAAU,EAAOynB,cAAS,EAAO+4B,QAAQuH,EAAEe,QAAQ3wC,EAAE+6C,eAAe76C,EAAE86C,aAAa96C,EAAE+6C,cAAc50D,EAAE60D,YAAY70D,EAAE80D,eAAe/X,EAAEgY,aAAahY,GAAG0N,WAAW3qD,EAAEklB,KAAKjc,EAAE2hD,WAAW2H,GAAG9mD,KAAK,aAAa,IAAyC,GAAGnK,OAAOC,OAAOixD,GAAG,CAAC97B,OAAOk8B,GAAGsC,MAAMxW,GAAGyW,KAAK3F,oBEIliR,IAAe,EAAAhyB,GAAA,IAA2B,UAAK,OAAQ,CACrD39B,EAAG,uwBACD,YCoIJ,OAhIuB+S,IAAiD,IAAhD,cAAEwiD,EAAgB,GAAE,cAAEC,EAAgB,IAAIziD,EAChE,MAAM,SAAEmvC,IAAakB,EAAAA,GAAAA,cACftkB,GAAO22B,EAAAA,EAAAA,gBAAe,cAmBtBC,GADY52B,EAAK62B,KAAKC,aAAaC,WAAa,IACpBnyC,QAAQw+B,GACxCsT,EAAc/8C,SAASypC,EAASthD,QAE5Bk1D,EAAmBh3B,EAAK62B,KAAKC,aAAaE,kBAAoB,GAgC9DC,EACJL,EAAgBtM,MAAM4M,GAASA,EAAKp1D,OAASshD,KAAa,CAAC,EAE7D,OACE0C,EAAAA,cAACqR,GAAI,CAACjiD,GAAG,MAAM9B,UAAU,sCACvB0yC,EAAAA,cAAA,WACEA,EAAAA,cAACqR,GAAKp/B,OAAM,CACV3kB,WAAWk1C,EAAAA,GAAAA,IACT,8IACA,+GACA,0CAGFxC,EAAAA,cAAA,QAAM1yC,UAAU,gBACd0yC,EAAAA,cAACsR,GAAY,CAAC,cAAY,UAE5BtR,EAAAA,cAAA,QAAM1yC,UAAU,gDACd0yC,EAAAA,cAAA,QAAM1yC,UAAU,aAAa6jD,EAAgBI,WAC7CvR,EAAAA,cAAA,QAAM1yC,UAAU,0BACb6jD,EAAgBn1D,OAGrBgkD,EAAAA,cAAA,QAAM1yC,UAAU,mBACd0yC,EAAAA,cAACwR,GAAAA,EAAc,CAAC,cAAY,YAKlCxR,EAAAA,cAACyR,EAAAA,EAAU,CACTriD,GAAIsiD,EAAAA,SACJC,MAAM,mCACNC,UAAU,+BACVC,QAAQ,kCACRC,MAAM,iCACNC,UAAU,kCACVC,QAAQ,gCAERhS,EAAAA,cAACqR,GAAKZ,MAAK,CAACnjD,UAAU,wMACpB0yC,EAAAA,cAAA,OAAK1yC,UAAU,QACZwjD,EAAgBrrD,KAAIwsD,IAAA,IAAC,KAAEj2D,EAAI,UAAEu1D,GAAWU,EAAA,OACvCjS,EAAAA,cAACqR,GAAKX,KAAI,CAACvzD,IAAKnB,IACb,IACCgkD,EAAAA,cAAA,UACEt+C,KAAK,SACL+7C,QAAUniD,IACRA,EAAEwpD,iBA3EA9oD,KACpB,GAAIm1D,EAAgBn1D,OAASA,EAC3B,OAEF,IAAIk2D,EAAevB,EAAcnM,MAC9B0N,GAAiBA,EAAaxlB,SAAW1wC,IAE5C,IAAKk2D,EAAc,CACjB,MAAMC,EAA2BjB,EAAiB1M,MAAMxoD,GACjC20D,EAAcnM,MAAK4N,IAAiB,IAAhB,OAAE1lB,GAAQ0lB,EACjD,OAAOp2D,IAAS0wC,CAAM,MAItBylB,IACFD,EAAevB,EAAcnM,MAC3B6N,IAAA,IAAC,OAAE3lB,GAAQ2lB,EAAA,OAAK3lB,IAAWylB,CAAwB,IAGzD,CAEID,GAKFnqB,OAAOC,SAASlrC,OAAOo1D,EAAaI,MACtC,EAiDkBC,CAAav2D,EAAK,EAEpBsR,WAAWk1C,EAAAA,GAAAA,IACTlF,IAAathD,EACT,4BACA,gBACJ,yEAGFgkD,EAAAA,cAAA,YAAOuR,KAGD,OAKf,aC7HX,IAAe,EAAAx4B,GAAA,IAA2B,UAAK,OAAQ,CACrD39B,EAAG,mDACD,sCCFJ,IAAe,EAAA29B,GAAA,IAA2B,UAAK,OAAQ,CACrD39B,EAAG,oBACD,UC6DJ,OA1D6B+S,IAAyC,IAAxC,KAAEiC,EAAO,CAAC,EAAC,YAAEoiD,GAAc,GAAOrkD,EAE9D,MAAM,MAAEskD,EAAK,MAAElP,GAAUnzC,EAEnBsiD,EAAiBtiD,EAAKmsC,KAAOnsC,EAAKmsC,KAAO,MAE/C,OACEyD,EAAAA,cAAC2S,GAAAA,EAAU,CAACH,YAAaA,IACtBJ,IAAA,IAAC,KAAEn7B,GAAMm7B,EAAA,OACRpS,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAK1yC,UAAU,4BACb0yC,EAAAA,cAAC0S,EAAc,CAACplD,UAAU,oCACxB0yC,EAAAA,cAAA,QAAM1yC,WAAWk1C,EAAAA,GAAAA,IAAG,cACjBiQ,EACDzS,EAAAA,cAAC4S,GAAgB,QAGrB5S,EAAAA,cAAC2S,GAAAA,EAAW1gC,OAAM,CAChB3kB,WAAWk1C,EAAAA,GAAAA,IACT,8CACAvrB,EAAO,eAAiB,kBAG1B+oB,EAAAA,cAAA,OAAK1yC,UAAU,mBACZ2pB,EAAO+oB,EAAAA,cAAC6S,GAAU,CAAC,mBAAiB7S,EAAAA,cAAC8S,GAAAA,EAAO,CAAC,sBAInDvP,EAAM1nD,QACLmkD,EAAAA,cAAC2S,GAAAA,EAAW7G,MAAK,CAACx+C,UAAU,mBAC1B0yC,EAAAA,cAAA,MAAI1yC,UAAU,sCACXi2C,EAAM99C,KAAKstD,GACV/S,EAAAA,cAAA,MAAI7iD,KAAKqmD,EAAAA,EAAAA,GAAIuP,IACVA,EAAQxW,KACPyD,EAAAA,cAAC+S,EAAQxW,KAAI,CAACjvC,UAAU,qCACtB0yC,EAAAA,cAAA,QAAM1yC,UAAU,aAAaylD,EAAQN,QAGvCzS,EAAAA,cAAA,OAAK1yC,UAAU,qCACb0yC,EAAAA,cAAA,QAAM1yC,UAAU,aAAaylD,EAAQN,aAQlD,GAEM,ECoBjB,OAnE0BtkD,IAKnB,IALoB,MACzBskD,EAAK,MACLlP,EAAQ,GAAE,YACViP,GAAc,EAAK,SACnBxqB,GACD75B,EACC,MAAM6kD,EACJR,GAAejP,EAAMiB,MAAMp0C,IAAI,IAAA6iD,EAAA,OAAc,QAATA,EAAA7iD,EAAK8iD,YAAI,IAAAD,OAAA,EAATA,EAAWX,SAAUtqB,EAASF,QAAQ,IAG5E,OACEkY,EAAAA,cAAC2S,GAAAA,EAAU,CAACH,YAAaA,IACtBJ,IAAA,IAAC,KAAEn7B,GAAMm7B,EAAA,OACRpS,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAC2S,GAAAA,EAAW1gC,OAAM,CAAC3kB,UAAU,iDAC3B0yC,EAAAA,cAAA,QACE1yC,WAAWk1C,EAAAA,GAAAA,IAAG,oDAEbiQ,GAEHzS,EAAAA,cAAA,QACE1yC,WAAWk1C,EAAAA,GAAAA,IACT,+BACAvrB,EAAO,eAAiB,kBAGzBA,EAAO+oB,EAAAA,cAAC6S,GAAU,CAAC,mBAAiB7S,EAAAA,cAAC8S,GAAAA,EAAO,CAAC,qBAGjDvP,EAAM1nD,QACLmkD,EAAAA,cAAC2S,GAAAA,EAAW7G,MAAK,CAACx+C,UAAU,mBAC1B0yC,EAAAA,cAAA,MAAI1yC,UAAU,sCACXi2C,EAAM99C,KAAKstD,GACV/S,EAAAA,cAAA,MAAI7iD,KAAKqmD,EAAAA,EAAAA,GAAIuP,IACVA,EAAQxP,OAASwP,EAAQxP,MAAM1nD,OAC9BmkD,EAAAA,cAACmT,GAAoB,CACnB/iD,KAAM2iD,EACNP,YAAaQ,IAAkBD,IAE/BA,EAAQxW,KACVyD,EAAAA,cAAC+S,EAAQxW,KAAI,CAACjvC,UAAU,0BACtB0yC,EAAAA,cAAA,QAAM1yC,UAAU,aAAaylD,EAAQN,OACrCzS,EAAAA,cAAC4S,GAAgB,OAGnB5S,EAAAA,cAAA,OAAK1yC,UAAU,0BACb0yC,EAAAA,cAAA,QAAM1yC,UAAU,aAAaylD,EAAQN,aAQlD,GAEM,ECiEjB,OA1HyBtkD,IAWlB,IAEDilD,GAboB,cACxBzC,EAAgB,GAAE,gBAClB0C,EAAe,YACfC,EAAW,aACXC,EAAY,SACZC,EAAQ,cACRC,EAAa,UACbC,EAAS,WACTC,EAAU,cACV/C,EAAgB,GAAE,SAClB5oB,GACD75B,EAGgB,IAADylD,EAAV5rB,IACF2rB,SAAiB,QAAPC,EAAVD,EAAYpQ,aAAK,IAAAqQ,GAAjBA,EAAmBx3D,SAASgU,IAAU,IAADyjD,EACzB,QAAVA,EAAAzjD,EAAKmzC,aAAK,IAAAsQ,GAAVA,EAAYz3D,SAAQ,CAAC22D,EAASlyD,KAAW,IAADizD,GACX,QAAZA,EAAAf,EAAQG,YAAI,IAAAY,OAAA,EAAZA,EAAcxB,SAAUtqB,EAASF,WAE9CsrB,EAAuBhjD,EACzB,GACA,KAGN,OACE4vC,EAAAA,cAAA,OAAK1yC,UAAU,SACb0yC,EAAAA,cAAA,OAAK1yC,UAAU,aACZqmD,GAAcA,EAAWpQ,OAASoQ,EAAWpQ,MAAM1nD,QAClDmkD,EAAAA,cAAA,WACEA,EAAAA,cAAA,MAAI1yC,UAAU,8DACXqmD,EAAWpQ,MAAM99C,KAAKsuD,GACrB/T,EAAAA,cAAA,MAAI7iD,KAAKqmD,EAAAA,EAAAA,GAAIuQ,IACX/T,EAAAA,cAAA,OAAK1yC,UAAU,cACZymD,EAASxQ,OAASwQ,EAASxQ,MAAM1nD,OAEhCmkD,EAAAA,cAACgU,GAAiB,CAChBvB,MAAOsB,EAAStB,MAChBlP,MAAOwQ,EAASxQ,MAChBiP,YAAaY,IAAyBW,EACtC/rB,SAAUA,IAGZ+rB,EAASxX,MAEPyD,EAAAA,cAAC+T,EAASxX,KAAI,CAACjvC,UAAU,0BACvB0yC,EAAAA,cAAA,QAAM1yC,UAAU,iCACbymD,EAAStB,OAEZzS,EAAAA,cAAC4S,GAAgB,aAUnC5S,EAAAA,cAAA,OAAK1yC,UAAU,SACb0yC,EAAAA,cAAA,WACEA,EAAAA,cAAA,MAAI1yC,UAAU,aACXkmD,GAAYD,GACXvT,EAAAA,cAAA,MAAI1yC,UAAU,cACZ0yC,EAAAA,cAAC/tB,GAAAA,EAAM,CACL7iB,GAAIokD,EACJlzC,QAAQ,UACRhT,UAAU,yBAETimD,IAIND,GAAeD,GACdrT,EAAAA,cAAA,UACEA,EAAAA,cAAC/tB,GAAAA,EAAM,CACL7iB,GAAIkkD,EACJhzC,QAAQ,WACRhT,UAAU,yBAET+lD,IAINK,GAAaD,GACZzT,EAAAA,cAAA,UACEA,EAAAA,cAAC/tB,GAAAA,EAAM,CACL7iB,GAAIskD,EACJpzC,QAAQ,YACRm/B,KAAMwU,GACN3mD,UAAU,yBAETmmD,IAIPzT,EAAAA,cAAA,MAAI1yC,UAAU,sBACZ0yC,EAAAA,cAACkU,GAAc,CACbvD,cAAeA,EACfC,cAAeA,SAOvB,EC1EV,OArC4BziD,IAAA,IAAC,MAAEypC,EAAK,MAAE6a,EAAK,MAAElP,EAAQ,GAAE,KAAEhH,GAAMpuC,EAAA,OAC7D6xC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,WACGzD,GAAQ3E,GACPoI,EAAAA,cAACzD,EAAI,CAACjvC,UAAU,+DACd0yC,EAAAA,cAACpI,EAAMriB,UAAS,CAACjoB,UAAU,qCAG9BivC,GAAQkW,GACPzS,EAAAA,cAACzD,EAAI,CAACjvC,UAAU,kCAAkCmlD,GAEnDlP,EAAM1nD,OAAS,GACdmkD,EAAAA,cAAA,UACGuD,EAAM99C,KAAKstD,GACV/S,EAAAA,cAAA,MAAI7iD,KAAKqmD,EAAAA,EAAAA,GAAIuP,IACVA,EAAQxW,KACPyD,EAAAA,cAAC+S,EAAQxW,KAAI,CAACjvC,UAAU,0BACrBylD,EAAQN,OAGXzS,EAAAA,cAAA,OAAK1yC,UAAU,QAAQylD,EAAQN,YAO1C,ECwNL,ICvPI0B,GAAO1T,GDuPX,GAtOmBtyC,IAaZ,IAba,cAClBwiD,EAAgB,GAAE,iBAClByD,EAAgB,aAChBC,EAAY,gBACZhB,EAAe,YACfC,EAAW,aACXC,EAAY,SACZC,EAAQ,cACRC,EAAa,UACbC,EAAS,WACTC,EAAU,cACV/C,EAAgB,GAAE,SAClB5oB,GACD75B,EACC,MAAM,EAACmmD,EAAe,EAACC,IAAqBlO,EAAAA,EAAAA,WAAS,GAE/CmO,GAAkBC,EAAAA,EAAAA,cAAY,KAClCF,GAAkB,EAAM,GACvB,CAACA,IAEEG,GAAmBD,EAAAA,EAAAA,cAAY,KACnCF,GAAmBD,EAAe,GACjC,CAACC,EAAmBD,IAEvB,OACEtU,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,UAAQ1yC,UAAU,0BAChB0yC,EAAAA,cAAA,OAAK1yC,UAAU,wDACb0yC,EAAAA,cAAA,OAAK1yC,UAAU,OACb0yC,EAAAA,cAAA,OAAK1yC,UAAU,6DACZ+mD,GACCrU,EAAAA,cAACqU,EAAY,CAAC/mD,UAAU,sCACtB0yC,EAAAA,cAAC2U,GAAY,CAACrnD,UAAU,yCACvB8mD,GACCpU,EAAAA,cAAA,QAAM1yC,UAAU,WAAW8mD,IAIjCpU,EAAAA,cAAA,OAAK1yC,UAAU,8DACb0yC,EAAAA,cAAA,MAAI1yC,UAAU,kCACXgmD,GAAeD,GACdrT,EAAAA,cAAA,MAAI1yC,UAAU,aACZ0yC,EAAAA,cAAC/tB,GAAAA,EAAM,CAAC7iB,GAAIkkD,EAAahzC,QAAQ,YAC9B+yC,IAING,GAAYD,GACXvT,EAAAA,cAAA,MAAI1yC,UAAU,aACZ0yC,EAAAA,cAAC/tB,GAAAA,EAAM,CAAC7iB,GAAIokD,EAAUlzC,QAAQ,WAC3BizC,IAING,GAAaD,GACZzT,EAAAA,cAAA,MAAI1yC,UAAU,aACZ0yC,EAAAA,cAAC/tB,GAAAA,EAAM,CACL7iB,GAAIskD,EACJpzC,QAAQ,YACRm/B,KAAMwU,IAELR,MAMXzT,EAAAA,cAAA,OAAK1yC,UAAU,kBACb0yC,EAAAA,cAAA,UACEt+C,KAAK,SACL+7C,QAASiX,EACTpnD,WAAWk1C,EAAAA,GAAAA,IACT,iDACA8R,GAAkB,wBAGnBA,EACCtU,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,QAAM1yC,UAAU,WAAU,cAC1B0yC,EAAAA,cAAA,QAAM1yC,UAAU,eAAe,cAAY,QACzC0yC,EAAAA,cAAC4U,GAAAA,EAAS,CAACtnD,UAAU,gBAIzB0yC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,QAAM1yC,UAAU,WAAU,aAC1B0yC,EAAAA,cAAA,QAAM1yC,UAAU,eAAe,cAAY,QACzC0yC,EAAAA,cAAC6U,GAAQ,CAACvnD,UAAU,kBAM7BqmD,GACC3T,EAAAA,cAAA,OAAK1yC,UAAU,2BACb0yC,EAAAA,cAAC8U,EAAAA,EAAQ1J,MAAK,CAACh8C,GAAG,MAAM9B,UAAU,QAC/BqmD,EAAWpQ,OACVoQ,EAAWpQ,MAAM99C,KAAKsuD,GACpBA,EAASxQ,OAASwQ,EAASxQ,MAAM1nD,OAC/BmkD,EAAAA,cAAC8U,EAAAA,EAAO,CAAC33D,KAAKqmD,EAAAA,EAAAA,GAAIuQ,KACf3B,IAAA,IAAC,KAAEn7B,GAAMm7B,EAAA,OACRpS,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAC8U,EAAAA,EAAQ7iC,OAAM,CACb3kB,WAAWk1C,EAAAA,GAAAA,IACT,kDACAvrB,EAAO,eAAiB,kBAG1B+oB,EAAAA,cAAA,YAAO+T,EAAStB,OAChBzS,EAAAA,cAAA,QAAM1yC,UAAU,gBACb2pB,EACC+oB,EAAAA,cAAC+U,GAAc,CACbznD,UAAU,YACV,mBAGF0yC,EAAAA,cAACwR,GAAAA,EAAc,CACblkD,UAAU,YACV,qBAKR0yC,EAAAA,cAACyR,EAAAA,EAAU,CACTriD,GAAIsiD,EAAAA,SACJC,MAAM,mCACNC,UAAU,2BACVC,QAAQ,4BACRC,MAAM,kCACNC,UAAU,4BACVC,QAAQ,4BAERhS,EAAAA,cAAC8U,EAAAA,EAAQhJ,MAAK,CAACx+C,UAAU,qFACtBymD,EAASxQ,OACRwQ,EAASxQ,MAAM1nD,QACbmkD,EAAAA,cAAA,MAAI1yC,UAAU,6DACXymD,EAASxQ,MAAM99C,KAAKstD,GACnB/S,EAAAA,cAAA,MACE7iD,KAAKqmD,EAAAA,EAAAA,GAAIuP,GACTzlD,UAAU,qBAEV0yC,EAAAA,cAACgV,GAAmB,CAClBzY,KAAMwW,EAAQxW,KACd3E,MAAOmb,EAAQnb,MACf6a,MAAOM,EAAQN,MACflP,MAAOwP,EAAQxP,cAQ9B,IAIPwQ,EAASxX,MACPyD,EAAAA,cAAC+T,EAASxX,KAAI,CACZp/C,KAAKqmD,EAAAA,EAAAA,GAAIuQ,GACTzmD,UAAU,2CAEV0yC,EAAAA,cAAA,YAAO+T,EAAStB,YAQhCzS,EAAAA,cAAA,OAAK1yC,UAAU,yBACb0yC,EAAAA,cAACkU,GAAc,CACbvD,cAAeA,EACfC,cAAeA,SAO3B5Q,EAAAA,cAACyR,EAAAA,EAAU,CAACwD,QAAM,EAACC,KAAMZ,EAAgBllD,GAAIsiD,EAAAA,UAC3C1R,EAAAA,cAACmV,GAAM,CACL/lD,GAAG,MACHw6C,QAAS4K,EACTlnD,UAAU,gDAEV0yC,EAAAA,cAAA,OAAK1yC,UAAU,yBACb0yC,EAAAA,cAACyR,EAAAA,EAAW2D,MAAK,CACfhmD,GAAG,MACHuiD,MAAM,wBACNC,UAAU,qBACVC,QAAQ,wBACRC,MAAM,uBACNC,UAAU,wBACVC,QAAQ,sBAERhS,EAAAA,cAACqV,GAAgB,CACfrtB,SAAUA,EACV2oB,cAAeA,EACfgD,WAAYA,EACZN,gBAAiBA,EACjBC,YAAaA,EACbC,aAAcA,EACdC,SAAUA,EACVC,cAAeA,EACfC,UAAWA,EACX9C,cAAeA,QAMxB,EEjOP,IAAe,EAAA73B,GAAA,IAA2B,UAAK,OAAQ,CACrD39B,EAAG,4DACD,eCDJ,IAAe,EAAA29B,GAAA,IAA2B,UAAK,OAAQ,CACrD39B,EAAG,wJACD,YCFJ,IAAe,EAAA29B,GAAA,IAA2B,UAAK,OAAQ,CACrD39B,EAAG,ocACD,aCFJ,IAAe,EAAA29B,GAAA,IAA2B,UAAK,OAAQ,CACrD39B,EAAG,4WACD,YCFJ,IAAe,EAAA29B,GAAA,IAA2B,UAAK,OAAQ,CACrD39B,EAAG,weACD,WCFJ,IAAe,EAAA29B,GAAA,IAA2B,UAAK,OAAQ,CACrD39B,EAAG,8aACD,WNNJ,SAAS,KAAa,OAAO,GAAWyB,OAAOC,OAASD,OAAOC,OAAOC,OAAS,SAAUtB,GAAK,IAAK,IAAIH,EAAI,EAAGA,EAAIQ,UAAUD,OAAQP,IAAK,CAAE,IAAIC,EAAIO,UAAUR,GAAI,IAAK,IAAID,KAAKE,GAAG,CAAG,GAAE8B,eAAeC,KAAK/B,EAAGF,KAAOI,EAAEJ,GAAKE,EAAEF,GAAK,CAAE,OAAOI,CAAG,EAAG,GAAS8B,MAAM,KAAMzB,UAAY,CAEnR,IAAIw5D,GAAoB,SAA2B3zD,GACjD,OAAoB,gBAAoB,MAAO,GAAS,CACtD6+C,MAAO,6BACPpoB,QAAS,qBACRz2B,GAAQwyD,KAAUA,GAAqB,gBAAoB,OAAQ,KAAmB,gBAAoB,WAAY,CACvHrxB,GAAI,0BACU,gBAAoB,OAAQ,CAC1C5N,KAAM,OACN95B,EAAG,2BACHuZ,UAAW,2BACN8rC,KAAOA,GAAkB,gBAAoB,IAAK,CACvD8U,SAAU,gCACI,gBAAoB,OAAQ,CAC1CrgC,KAAM,UACN95B,EAAG,6EACY,gBAAoB,OAAQ,CAC3C85B,KAAM,UACN95B,EAAG,iGACY,gBAAoB,OAAQ,CAC3C85B,KAAM,UACN95B,EAAG,4DACY,gBAAoB,OAAQ,CAC3C85B,KAAM,UACN95B,EAAG,mEACY,gBAAoB,OAAQ,CAC3C85B,KAAM,UACN95B,EAAG,qEAEP,EOhBA,MAAMo6D,GAAc,CAClBC,QAASC,GACTC,SAAUC,GACVC,UAAWC,GACXC,SAAUC,GACVC,QAASC,IAoLX,OAvKmB/nD,IAcZ,IAda,YAClBgoD,EAAc,GAAE,YAChBC,EAAW,WACXC,EAAU,UACVC,EAAS,iBACTlC,EAAgB,aAChBC,EAAY,aACZkC,EAAY,SACZC,EAAQ,aACRC,EAAY,SACZC,EAAQ,UACRC,EAAS,oBACTC,EAAmB,iBACnBC,GACD1oD,EACC,MAAM2oD,EAAmBV,EACrBA,EAAY3wD,KAAK2K,IAAI,IAChBA,EACHqvC,KAAM+V,GAAYplD,EAAK2mD,UAAY,YAAcvB,GAAqB,YAExE,GAEJ,OACExV,EAAAA,cAAA,cACEA,EAAAA,cAAA,OAAK1yC,UAAU,2EACb0yC,EAAAA,cAAA,OAAK1yC,UAAU,qCACb0yC,EAAAA,cAAA,OAAK1yC,UAAU,yIACZ+mD,GACCrU,EAAAA,cAACqU,EAAY,KACXrU,EAAAA,cAAC2U,GAAY,CAACrnD,UAAU,mBACvB8mD,GACCpU,EAAAA,cAAA,QAAM1yC,UAAU,WAAW8mD,KAKlC+B,GACCnW,EAAAA,cAAA,OAAK1yC,UAAU,uHACZ6oD,EAAY1wD,KAAKuxD,GAChBhX,EAAAA,cAAA,OAAK7iD,KAAKqmD,EAAAA,EAAAA,GAAIwT,IACXA,EAAUvE,OACTzS,EAAAA,cAAA,MAAI1yC,UAAU,kBAAkB0pD,EAAUvE,OAE5CzS,EAAAA,cAAA,MAAI1yC,UAAU,IACX0pD,EAAUzT,MAAM99C,KAAK2K,GACpB4vC,EAAAA,cAAA,MAAI7iD,KAAKqmD,EAAAA,EAAAA,GAAIpzC,GAAO9C,UAAU,IAC5B0yC,EAAAA,cAAC5vC,EAAKmsC,KAAI,CAACjvC,UAAU,cAClB8C,EAAK6mD,UAAY7mD,EAAKqiD,eASvCzS,EAAAA,cAAA,OAAK1yC,UAAU,0IACZopD,GACC1W,EAAAA,cAAC0W,EAAQ,CAACppD,UAAU,gGAClB0yC,EAAAA,cAACkX,GAAc,CAAC5pD,UAAU,4BACzBmpD,GAAgBzW,EAAAA,cAAA,YAAOyW,IAG3BK,GACC9W,EAAAA,cAAA,OAAK1yC,UAAU,oFACZupD,GACC7W,EAAAA,cAAA,MAAI1yC,UAAU,uBAAuBupD,GAEvC7W,EAAAA,cAAA,MAAI1yC,UAAU,+BACXwpD,EAAiBrxD,KAAK2K,GACrB4vC,EAAAA,cAAA,MAAI7iD,KAAKqmD,EAAAA,EAAAA,GAAIpzC,IACVA,EAAKmsC,MACJyD,EAAAA,cAAA,KAAGtY,KAAMt3B,EAAKlU,IAAKc,OAAO,SAASsQ,UAAU,uCAC1C8C,EAAKqvC,MAAQO,EAAAA,cAAC5vC,EAAKqvC,KAAI,MACvBrvC,EAAK6mD,UACJjX,EAAAA,cAAA,QAAM1yC,UAAU,WACb8C,EAAK6mD,UAAY7mD,EAAKqiD,gBAa/CzS,EAAAA,cAAA,OAAK1yC,UAAU,iBACb0yC,EAAAA,cAAA,OAAK1yC,UAAU,sBACb0yC,EAAAA,cAAA,OAAK1yC,UAAU,kEACZ+oD,GACCrW,EAAAA,cAAA,WACEA,EAAAA,cAAA,MAAI1yC,UAAU,0EACX+oD,EAAW5wD,KAAK2K,GAEb4vC,EAAAA,cAAA,MAAI7iD,KAAKqmD,EAAAA,EAAAA,GAAIpzC,GAAO9C,UAAU,WAC5B0yC,EAAAA,cAACzD,EAAAA,KAAI,CAACgB,GAAIntC,EAAKmsC,KAAK7U,KAAMyvB,IAAI,YAC3B/mD,EAAK6mD,UAAY7mD,EAAKqiD,UAU9BmE,GACC5W,EAAAA,cAAA,MAAI1yC,UAAU,WACZ0yC,EAAAA,cAAA,KACEtY,KAAK,aACLyvB,IAAI,WACJ1Z,QAAU2Z,IACRA,EAAMtS,iBA7HLuS,MACzB,GAAI,oBAAqBtvB,OAAQ,CAC/B,IAAIzrC,EAAe,IAAIg7D,gBAAgBvvB,OAAOC,SAASrnC,QACvDrE,EAAa8I,IAAI,iBAAa5G,GAC9B,IAAI+4D,EACFxvB,OAAOC,SAASF,SAAW,IAAMxrC,EAAaoQ,WAChDq7B,OAAOyvB,QAAQC,UAAU,KAAM,GAAIF,EACrC,GAuHwBF,EAAoB,GAGrBT,OAOXN,GAAaE,IACbxW,EAAAA,cAAA,KACE1yC,WAAW2B,EAAAA,GAAAA,IACT,8BACAonD,GAAc,iBAGfC,GAAatW,EAAAA,cAAA,YAAOsW,IAGzBtW,EAAAA,cAAA,UACEt+C,KAAK,SACL4L,UAAU,0IACVmwC,QAASA,KAAMia,EAAAA,GAAAA,OAEf1X,EAAAA,cAAC2X,GAAe,MACfhB,GAAa3W,EAAAA,cAAA,QAAM1yC,UAAU,WAAWqpD,OAK1C,aCnKb,MAAMiB,GAAwB,CAC5B,CAACC,EAAAA,GAAqB5zC,OAAQ,WAC9B,CAAC4zC,EAAAA,GAAqBC,MAAO,gBAGzBC,GAAkB,SAAC79B,EAAM89B,GAC7B,QADoC,IAAPA,IAAAA,EAAU,KAClC99B,EAAM,MAAO,GAClB,MAAM0Q,EAAUqtB,IAAM/9B,EAAM,oBACtBg+B,EAAczwC,KAAKtkB,MAAMynC,GAsB/B,OAToBlvC,MAAMC,QAAQu8D,GAC9BA,EACAr7D,OAAOsrB,QAAQ+vC,GAAazyD,KAAI0I,IAAA,IAAEskD,EAAO0F,GAAOhqD,EAAA,MAAM,CAAEskD,QAAO0F,SAAQ,KAC/C1yD,KAAK2yD,IACxB,CACL3F,MAAO2F,EAAU3F,MACjBlW,MAAM8b,EAAAA,EAAAA,IAAUC,EAAAA,EAAAA,IAAa,CAAEp8D,IAAK87D,KAAYI,QAItD,EAEMG,GAA2BnoD,IAC/BooD,EAAAA,EAAAA,IAAkB,IACbpoD,EACHqiD,MAAOriD,EAAKmU,KACZg4B,MAAM8b,EAAAA,EAAAA,IAAUC,EAAAA,EAAAA,IAAa,IAAKloD,KAClCmzC,MAAOnzC,EAAKmzC,MACRnzC,EAAKmzC,MAAM99C,KAAKgzD,IACd,MAAML,GAAYE,EAAAA,EAAAA,IAAa,IAAKG,IACpC,MAAO,IACFA,EACHhG,MAAOgG,EAAQl0C,KACfg4B,MAAM8b,EAAAA,EAAAA,GAAUD,GAChB7U,MAAOwU,GAAgBU,EAAQC,QAASN,EAAU1wB,MACnD,IAEH,KAkIR,OA/He0qB,IAMR,IAADuG,EAAAC,EAAAC,EAAA,IANU,SACdj3D,EAAQ,OACRk3D,EAAM,YACNC,EAAW,gBACX7/C,EAAe,SACf8uB,GACDoqB,EACC,MAUM4G,GACqC,QAAzCL,GAXkB9H,EAAAA,EAAAA,gBAAe,cAWrBoI,qCAA6B,IAAAN,GAAO,QAAPC,EAAzCD,EAA2C75D,aAAK,IAAA85D,GAAK,QAALC,EAAhDD,EAAmD,UAAE,IAAAC,OAAZ,EAAzCA,EAAuDG,UAAW,GAC9DpI,GAAasI,EAAAA,EAAAA,GACd,IAAIx6C,IAAI,CACT,MAAIhY,QAAAwyD,EAAAA,EAAAA,GACDF,EACAl6C,QACE4tB,GAAWA,EAAOysB,OAAQ30B,IAE5B/+B,KAAKinC,GAAWA,EAAO1wC,YAIxB,OAAEo9D,EAAS,CAAC,EAAC,OAAEC,EAAS,CAAC,GAAMP,GAAU,CAAC,GAE1C,aAAEQ,EAAY,YAAEC,EAAW,SAAEC,EAAQ,UAAEC,GAAcL,EAErDhF,EAAmBkF,GAAgBA,EAAa/0C,KAChD8vC,GAAegE,EAAAA,EAAAA,IAAUC,EAAAA,EAAAA,IAAa,IAAKgB,KAC3CjG,EAAkBkG,GAAeA,EAAYh1C,KAC7C+uC,GAAc+E,EAAAA,EAAAA,IAAUC,EAAAA,EAAAA,IAAa,IAAKiB,KAC1ChG,EAAeiG,GAAYA,EAASj1C,KACpCivC,GAAW6E,EAAAA,EAAAA,IAAUC,EAAAA,EAAAA,IAAa,IAAKkB,KACvC/F,EAAgBgG,GAAaA,EAAUl1C,KACvCmvC,GAAY2E,EAAAA,EAAAA,IAAUC,EAAAA,EAAAA,IAAa,IAAKmB,KAExCC,EACJ9B,GAAsB1+C,GAAmB2+C,EAAAA,GAAqB5zC,QAC9D2zC,GAAsBC,EAAAA,GAAqB5zC,OAEvC0vC,EACJyF,GAAUA,EAAOzF,WACb,CACEpQ,MAAO6V,EAAOzF,WAAWluD,KAAK2K,IACrBooD,EAAAA,EAAAA,IAAkB,IACpBpoD,EACHqiD,MAAOriD,EAAKmU,KACZg4B,MAAM8b,EAAAA,EAAAA,IAAUC,EAAAA,EAAAA,IAAa,IAAKloD,KAClCmzC,MAAOnzC,EAAKmzC,MAAM99C,KAAKgzD,IACrB,MAAML,GAAYE,EAAAA,EAAAA,IAAa,IAAKG,IACpC,MAAO,IACFA,EACHhG,MAAOgG,EAAQl0C,KACfg4B,MAAM8b,EAAAA,EAAAA,GAAUD,GAChB7U,MAAOwU,GAAgBU,EAAQC,QAASN,EAAU1wB,MACnD,SAKT,CAAC,EAEDiyB,EAAc,CAClBxD,YAAakD,SAAAA,EAAQlD,YACjBkD,EAAOlD,YAAY1wD,KAAKuxD,IAAS,IAC5BuB,GAAwBvB,OAE7B,GACJZ,YAAaiD,SAAAA,EAAQjD,YACjBiD,EAAOjD,YAAY3wD,KAAK2K,GAASmoD,GAAwBnoD,KACzD,GACJimD,WAAYgD,SAAAA,EAAQhD,WAChBgD,EAAOhD,WAAW5wD,KAAK2K,GAASmoD,GAAwBnoD,KACxD,GACJkmD,UAAW+C,EAAO/C,UAClBlC,iBAAkBiF,EAAOjF,iBACzBC,cAAcgE,EAAAA,EAAAA,IAAUC,EAAAA,EAAAA,IAAa,IAAKe,EAAOC,gBACjD/C,aAAc8C,EAAO9C,aACrBC,UAAU6B,EAAAA,EAAAA,IAAUC,EAAAA,EAAAA,IAAa,IAAKe,EAAOO,YAC7CnD,aAAcwB,IAAMoB,EAAQ,iBAC5B3C,UAAU2B,EAAAA,EAAAA,IAAUC,EAAAA,EAAAA,IAAa,IAAKe,EAAOQ,YAC7CjD,oBAAqByC,EAAOzC,oBAC5BC,iBAAkBwC,EAAOxC,iBACzBF,UAAW0C,EAAO1C,WAGpB,OACE3W,EAAAA,cAAA,OACEld,GAAG,MACHx1B,WAAWk1C,EAAAA,GAAAA,IAAG,6CAA8CkX,IAG5D1Z,EAAAA,cAAA,OAAK1yC,UAAU,UACb0yC,EAAAA,cAAC8Z,GAAU,CACT9xB,SAAUA,EACV4oB,cAAeA,EACfD,cAAeoI,aAAW,EAAXA,EAAapI,cAC5BgD,WAAYA,EACZS,iBAAkBA,EAClBC,aAAcA,EACdhB,gBAAiBA,EACjBC,YAAaA,EACbC,aAAcA,EACdC,SAAUA,EACVC,cAAeA,EACfC,UAAWA,IAEb1T,EAAAA,cAAA,WAAMp+C,IAGRo+C,EAAAA,cAAA,WACGqZ,EAAOU,UAAY3kB,QAAQikB,EAAOU,SAASl+D,SAC1CmkD,EAAAA,cAACga,GAAAA,EAAQ,CAACD,SAAUV,EAAOU,WAE7B/Z,EAAAA,cAACia,GAAeN,IAEd,kqBC/LH,MAAMO,EAAyBC,GAC7BA,GAAQA,EAAKt+D,OAChBs+D,EAAKzoD,MAAK,CAACoE,EAAGR,KAMZ,IAHiBQ,EAAEskD,SAAW,MACb9kD,EAAE8kD,SAAW,GAEH,CAEzB,OADctkD,EAAE28C,OAAS,IACZ4H,cAAc/kD,EAAEm9C,MAC/B,CACA,OAAOn9C,EAAE8kD,QAAUtkD,EAAEskD,OAAO,IAE9B,qCCXC,MAAMhM,EAAQ,CACnBkM,KAAM,CAAE9gD,GAAI,OAAQL,GAAI,OAAQE,GAAI,QACpCkhD,MAAO,CAAE/gD,GAAI,OAAQL,GAAI,OAAQE,GAAI,QACrCmhD,OAAQ,CAAEhhD,GAAI,QAASL,GAAI,QAASE,GAAI,SACxCohD,MAAO,CAAEjhD,GAAI,QAASL,GAAI,QAASE,GAAI,SACvCqhD,OAAQ,CAAElhD,GAAI,QAASL,GAAI,QAASE,GAAI,SACxCshD,QAAS,CAAEnhD,GAAI,QAASL,GAAI,QAASE,GAAI,UAG9BuhD,EAAmB,SAE1BC,EAAW1sD,IAAsB,IAArB,MAAE2sD,EAAK,KAAEp5D,GAAMyM,EAI/B,OAFEigD,EAAM0M,GAASF,IAAqBxM,EAAMwM,IACbl5D,GAAQ,KACtB,EAGN8X,EAAMshD,GACVD,EAAS,CAAEC,QAAOp5D,KAAM,OAGpByX,EAAM2hD,GACVD,EAAS,CAAEC,QAAOp5D,KAAM,OAGpB2X,EAAMyhD,GACVD,EAAS,CAAEC,QAAOp5D,KAAM,+BCsCjC,MA7DsByM,IAAA,IAAC,UACrBb,EAAS,cACTo1C,EAAgB,EAAC,UACjBqY,EAAS,SACTtuC,EAAQ,SACRk2B,EAAQ,QACRC,GACDz0C,EAAA,OACC6xC,EAAAA,cAAA,OAAK1yC,UAAWA,IACZmf,GAAYsuC,GAAapY,IACzB3C,EAAAA,cAACqD,EAAAA,EAAW,CAACn6C,MAAOw5C,GAAiB,GAClCj2B,GACCuzB,EAAAA,cAAA,KAAG1yC,UAAU,SACX0yC,EAAAA,cAAA,QAAM1yC,UAAU,2CACbmf,IAINsuC,GACC/a,EAAAA,cAAA,QAAM1yC,WAAWk1C,EAAAA,EAAAA,IAAG,QAAS/1B,GAAY,SACvCuzB,EAAAA,cAAA,QAAM1yC,UAAU,qEACbytD,IAINpY,GACC3C,EAAAA,cAAA,QACE1yC,WAAWk1C,EAAAA,EAAAA,KACRuY,GAAatuC,IAAa,OAC3B,sJAEFvjB,MAAOw5C,GAEP1C,EAAAA,cAAA,QAAM1yC,UAAU,SACd0yC,EAAAA,cAAA,QAAM1yC,UAAU,mEACbq1C,MAOZC,GACC5C,EAAAA,cAAA,KAAG1yC,UAAU,kBACX0yC,EAAAA,cAAA,QAAM1yC,UAAU,kGACbs1C,IAIH,ECjDR,MAGMoY,EAAS,0DACTC,EAAY,2DAGZC,EAAe,CAAC,EA0Cf,SAAS,EAAKl0D,EAAMtJ,GAGzB,QAFiBA,GAAWw9D,GACRC,IAAMF,EAAYD,GAC5BttD,KAAK1G,EACjB,CCtDA,MAAMgb,EAAK,eAyBX,SAASo5C,EAAM96D,GACb,MAAiC,KAA1BA,EAAMG,QAAQuhB,EAAI,GAC3B,CC3BO,MAAMq5C,EAOX,WAAAhxB,CAAY1mC,EAAU23D,EAAQR,GAC5Bt9D,KAAKmG,SAAWA,EAChBnG,KAAK89D,OAASA,EACVR,IACFt9D,KAAKs9D,MAAQA,EAEjB,ECPK,SAASz3B,EAAMk4B,EAAaT,GAEjC,MAAMn3D,EAAW,CAAC,EAEZ23D,EAAS,CAAC,EAChB,IAAIz6D,GAAS,EAEb,OAASA,EAAQ06D,EAAY1/D,QAC3BgB,OAAOC,OAAO6G,EAAU43D,EAAY16D,GAAO8C,UAC3C9G,OAAOC,OAAOw+D,EAAQC,EAAY16D,GAAOy6D,QAG3C,OAAO,IAAID,EAAO13D,EAAU23D,EAAQR,EACtC,CCrBO,SAASU,EAAUl7D,GACxB,OAAOA,EAAMqK,aACf,CFiBA0wD,EAAOj+D,UAAUuG,SAAW,CAAC,EAE7B03D,EAAOj+D,UAAUk+D,OAAS,CAAC,EAE3BD,EAAOj+D,UAAU09D,MAAQ,KG3BlB,MAAMW,EAMX,WAAApxB,CAAY1mC,EAAU+3D,GAEpBl+D,KAAKmG,SAAWA,EAEhBnG,KAAKk+D,UAAYA,CACnB,EAIFD,EAAKr+D,UAAU09D,MAAQ,KACvBW,EAAKr+D,UAAU0jC,SAAU,EACzB26B,EAAKr+D,UAAUu+D,YAAa,EAC5BF,EAAKr+D,UAAUw+D,mBAAoB,EACnCH,EAAKr+D,UAAU6kC,QAAS,EACxBw5B,EAAKr+D,UAAUy+D,gBAAiB,EAChCJ,EAAKr+D,UAAU0+D,gBAAiB,EAChCL,EAAKr+D,UAAU2+D,uBAAwB,EACvCN,EAAKr+D,UAAU4+D,iBAAkB,EACjCP,EAAKr+D,UAAU6+D,SAAU,ECxBzB,IAAIC,EAAS,EAEN,MAAM,EAAUC,IACVR,EAAaQ,IACbP,EAAoBO,IACpBl6B,EAASk6B,IACTL,EAAiBK,IACjBN,EAAiBM,IACjBJ,EAAwBI,IAErC,SAASA,IACP,OAAO,KAAOD,CAChB,CCPA,MAAME,EAASv/D,OAAO6T,KAAK,GAEpB,MAAM2rD,UAAoBZ,EAQ/B,WAAApxB,CAAY1mC,EAAU+3D,EAAWY,EAAMxB,GACrC,IAAIj6D,GAAS,EAMb,GAJA07D,MAAM54D,EAAU+3D,GAEhBc,EAAKh/D,KAAM,QAASs9D,GAEA,iBAATwB,EACT,OAASz7D,EAAQu7D,EAAOvgE,QAAQ,CAC9B,MAAM4gE,EAAQL,EAAOv7D,GACrB27D,EAAKh/D,KAAM4+D,EAAOv7D,IAASy7D,EAAO,EAAMG,MAAY,EAAMA,GAC5D,CAEJ,EAUF,SAASD,EAAK1rD,EAAQ3T,EAAKmD,GACrBA,IAEFwQ,EAAO3T,GAAOmD,EAElB,CAZA+7D,EAAYj/D,UAAU6+D,SAAU,ECbhC,MAAMS,EAAM,CAAC,EAAEr/D,eAMR,SAAS+M,EAAOuyD,GAErB,MAAMh5D,EAAW,CAAC,EAEZ23D,EAAS,CAAC,EAEhB,IAAI7tD,EAEJ,IAAKA,KAAQkvD,EAAWznD,WACtB,GAAIwnD,EAAIp/D,KAAKq/D,EAAWznD,WAAYzH,GAAO,CACzC,MAAMnN,EAAQq8D,EAAWznD,WAAWzH,GAC9BiZ,EAAO,IAAI21C,EACf5uD,EACAkvD,EAAWhoD,UAAUgoD,EAAWC,YAAc,CAAC,EAAGnvD,GAClDnN,EACAq8D,EAAW7B,OAIX6B,EAAWX,iBACXW,EAAWX,gBAAgBnoD,SAASpG,KAEpCiZ,EAAKs1C,iBAAkB,GAGzBr4D,EAAS8J,GAAQiZ,EAEjB40C,EAAOE,EAAU/tD,IAASA,EAC1B6tD,EAAOE,EAAU90C,EAAKg1C,YAAcjuD,CACtC,CAGF,OAAO,IAAI4tD,EAAO13D,EAAU23D,EAAQqB,EAAW7B,MACjD,CCvDO,MAAM+B,EAAQzyD,EAAO,CAC1B0wD,MAAO,QACP,SAAAnmD,CAAU+a,EAAGjiB,GACX,MAAO,SAAWA,EAAK7Q,MAAM,GAAG+N,aAClC,EACAuK,WAAY,CACV4nD,aAAc,KACdC,aAAc,KACdC,UAAW,KACXC,UAAW,KACXC,UAAW,KACXC,WAAY,KACZC,UAAW,QCZFC,EAAMjzD,EAAO,CACxB0wD,MAAO,MACP,SAAAnmD,CAAU+a,EAAGjiB,GACX,MAAO,OAASA,EAAK7Q,MAAM,GAAG+N,aAChC,EACAuK,WAAY,CAACooD,QAAS,KAAMC,QAAS,KAAMjc,SAAU,QCFhD,SAASkc,EAAuBZ,EAAYlB,GACjD,OAAOA,KAAakB,EAAaA,EAAWlB,GAAaA,CAC3D,CCAO,SAAS+B,EAAyBb,EAAYj5D,GACnD,OAAO65D,EAAuBZ,EAAYj5D,EAASgH,cACrD,CCNO,MAAM61C,EAAQp2C,EAAO,CAC1B0wD,MAAO,QACP8B,WAAY,CAACc,WAAY,eACzB/oD,UAAW8oD,EACXvoD,WAAY,CAACsrC,MAAO,KAAMmd,WAAY,QCJ3BC,EAAOxzD,EAAO,CACzB,SAAAuK,CAAU+a,EAAGjiB,GACX,MAAgB,SAATA,EAAkBA,EAAO,QAAUA,EAAK7Q,MAAM,GAAG+N,aAC1D,EACAuK,WAAY,CACV2oD,qBAAsB,KACtBC,WAAYnC,EACZoC,iBAAkB,KAClBC,SAAUrC,EACVsC,YAAatC,EACbuC,aAAcj8B,EACdk8B,aAAcl8B,EACdm8B,YAAan8B,EACbo8B,aAAcvC,EACdwC,YAAa,KACbC,gBAAiBzC,EACjB0C,YAAa,KACbC,aAAc9C,EACd+C,eAAgB5C,EAChB6C,iBAAkB,KAClBC,aAAcjD,EACdkD,WAAY/C,EACZgD,YAAanD,EACboD,aAAc,KACdC,WAAYrD,EACZsD,YAAa,KACbC,iBAAkB,KAClBC,UAAW,KACXC,eAAgBtD,EAChBuD,UAAWp9B,EACXq9B,SAAU,KACVC,UAAW5D,EACX6D,cAAe7D,EACf8D,oBAAqB9D,EACrB+D,gBAAiB,KACjBC,SAAU7D,EACV8D,gBAAiB,KACjBC,aAAc59B,EACd69B,YAAanE,EACboE,aAAcpE,EACdqE,aAAc,KACdC,aAActE,EACduE,oBAAqBpE,EACrBqE,aAAcl+B,EACdm+B,aAAcn+B,EACdo+B,YAAap+B,EACbq+B,aAAc3E,EACd4E,YAAat+B,EACbu+B,SAAU,KACVC,aAAcx+B,EACdy+B,aAAcz+B,EACd0+B,aAAc1+B,EACd2+B,cAAe,KACf9nC,KAAM,QC7CG+nC,EAAOz2D,EAAO,CACzB0wD,MAAO,OACP8B,WAAY,CACVkE,cAAe,iBACfC,UAAW,QACXC,QAAS,MACTC,UAAW,cAEbtsD,UAAW8oD,EACXzB,gBAAiB,CAAC,UAAW,WAAY,QAAS,YAClD9mD,WAAY,CAEVgsD,KAAM,KACNvS,OAAQkN,EACRsF,cAAerF,EACfsF,UAAWtF,EACX/2C,OAAQ,KACRs8C,MAAO,KACPC,gBAAiB,EACjBC,oBAAqB,EACrBC,eAAgB,EAChBprB,IAAK,KACLhnC,GAAI,KACJqyD,MAAO,EACPC,eAAgB,KAChBC,aAAc7F,EACd8F,UAAW,EACXC,SAAU,EACVje,QAAS,EACTke,QAAS,KACTlrC,QAAS,EACTmrC,KAAM,KACNz0D,UAAWwuD,EACXkG,KAAM//B,EACNggC,QAAS,KACTr3B,QAAS,KACTs3B,gBAAiBvG,EACjBwG,SAAU,EACVC,aAActG,EACduG,OAAQpgC,EAAS45B,EACjByG,YAAa,KACbpoC,KAAM,KACNqoC,SAAU,KACV5rB,SAAU,KACV7xB,QAAS,EACT09C,MAAO,EACPxsD,IAAK,KACLysD,QAAS,KACT/9C,SAAU,EACVu7B,SAAU2b,EACV8G,UAAW/G,EACXgH,QAAS,KACTC,aAAc,KACdC,KAAM,KACNC,WAAY,KACZC,YAAa,KACbC,WAAY,KACZC,eAAgB,EAChBC,WAAY,KACZ9oC,QAAS0hC,EACTjjD,OAAQopB,EACRkhC,OAAQ,EACRC,KAAMnhC,EACNyF,KAAM,KACNuW,SAAU,KACVolB,QAASvH,EACTwH,UAAWxH,EACXh5B,GAAI,KACJygC,WAAY,KACZC,YAAa,KACbC,UAAW,KACXC,UAAW,KACXtd,GAAI,KACJud,MAAO,EACPC,OAAQ,KACRC,SAAU/H,EACVgI,QAAShI,EACTiI,UAAW,EACXC,SAAUlI,EACVmI,KAAM,KACNt1D,MAAO,KACPyiD,KAAM,KACN9T,SAAU,KACV6c,KAAM,KACNxkB,QAAS,KACTuuB,KAAM,EACNC,IAAKliC,EACLmiC,SAAU,KACVxiD,IAAK,KACLyiD,UAAWpiC,EACX+U,MAAO,KACPhb,OAAQ,KACRta,IAAK,KACL4iD,UAAWriC,EACXsiC,SAAU,EACVC,MAAO,EACPx9D,KAAM,KACNrI,MAAO,KACP8lE,SAAU,EACVC,WAAY,EACZC,QAAS,KACTC,aAAc,KACdC,WAAY,KACZC,cAAe,KACfC,cAAe,KACfC,eAAgB,KAChBzf,OAAQ,KACR0f,SAAU,KACVC,UAAW,KACXC,iBAAkB,KAClBC,SAAU,KACV3nB,QAAS,KACTmM,QAAS,KACTyb,cAAe,KACfC,cAAe,KACfC,kBAAmB,KACnBC,OAAQ,KACRC,YAAa,KACbC,MAAO,KACPC,WAAY,KACZC,OAAQ,KACRC,UAAW,KACXC,YAAa,KACbC,WAAY,KACZC,YAAa,KACbC,WAAY,KACZC,YAAa,KACbC,OAAQ,KACRC,iBAAkB,KAClBC,UAAW,KACXC,QAAS,KACThuB,QAAS,KACTyN,QAAS,KACTwgB,WAAY,KACZC,aAAc,KACdC,QAAS,KACTC,UAAW,KACXphB,UAAW,KACXqhB,WAAY,KACZjY,QAAS,KACTkY,iBAAkB,KAClBvuB,OAAQ,KACRwuB,aAAc,KACdC,iBAAkB,KAClBC,UAAW,KACXC,YAAa,KACbC,UAAW,KACXC,eAAgB,KAChBC,YAAa,KACb/W,aAAc,KACdI,aAAc,KACdF,YAAa,KACb8W,WAAY,KACZC,YAAa,KACbC,UAAW,KACXC,UAAW,KACXC,SAAU,KACVC,WAAY,KACZC,WAAY,KACZC,QAAS,KACTC,QAAS,KACTC,OAAQ,KACRC,UAAW,KACXC,WAAY,KACZC,WAAY,KACZC,aAAc,KACdC,mBAAoB,KACpBC,QAAS,KACTC,SAAU,KACVC,SAAU,KACVC,YAAa,KACbC,0BAA2B,KAC3BC,SAAU,KACVC,UAAW,KACXC,SAAU,KACVC,aAAc,KACdC,UAAW,KACXC,UAAW,KACXC,SAAU,KACVC,UAAW,KACXC,aAAc,KACdC,SAAU,KACVC,qBAAsB,KACtBC,SAAU,KACVC,eAAgB,KAChBC,UAAW,KACXC,QAAS,KACTryC,KAAM,EACNsyC,QAAStnC,EACT1hC,QAAS,KACTipE,KAAM1N,EACNthB,YAAa,KACbivB,YAAa,EACbC,OAAQ,KACRC,QAAS,KACTzyC,SAAU,EACV0yC,eAAgB,KAChBzS,IAAK2E,EACL3kC,SAAU,EACV0yC,SAAU,EACVC,KAAM7nC,EACN8nC,QAAS9nC,EACT+nC,QAASlO,EACTmO,MAAO,KACPC,OAAQ,EACRC,SAAU,EACVhlD,SAAU,EACV3F,MAAO,KACPnb,KAAM49B,EACN6U,MAAO,KACPr2B,KAAM,KACN2pD,KAAMnoC,EACNooC,WAAY1O,EACZznB,IAAK,KACLo2B,OAAQ,KACRC,QAAS,KACT7zB,OAAQ,KACRvkC,MAAO8vB,EACP5wB,KAAM,KACN8C,MAAO,KACP27C,SAAU7tB,EACVjlC,OAAQ,KACRy1D,MAAO,KACP+X,UAAW,KACX9oE,KAAM,KACN+oE,cAAe,EACfC,OAAQ,KACRpqE,MAAOq7D,EACPjjD,MAAOupB,EACP0oC,KAAM,KAINC,MAAO,KACPC,MAAO,KACPC,QAAShP,EACTiP,KAAM,KACNnmD,WAAY,KACZomD,QAAS,KACTvzD,OAAQwqB,EACRnqB,YAAa,KACbmzD,aAAchpC,EACdipC,YAAa,KACbC,YAAa,KACbC,KAAM,KACNC,QAAS,KACTC,QAAS,KACTC,MAAO,KACPvvE,KAAM,KACNwvE,SAAU,KACVC,SAAU,KACVzyD,MAAO,KACP0yD,QAAS,EACTC,QAAS,EACTvU,MAAO,KACPwU,KAAM,KACNC,MAAO,KACPC,YAAa,KACbC,OAAQ9pC,EACR+pC,WAAY/pC,EACZ2b,KAAM,KACNquB,SAAU,KACVC,OAAQ,KACRC,aAAclqC,EACdmqC,YAAanqC,EACboqC,SAAU,EACVC,OAAQ,EACRC,QAAS,EACTC,OAAQ,EACRhuD,OAAQ,KACRiuD,QAAS,KACTC,OAAQ,KACRC,IAAK,KACLC,YAAa3qC,EACb7+B,MAAO,KACP6mB,OAAQ,KACR4iD,UAAWlR,EACXmR,QAAS,KACTC,QAAS,KACTxoD,KAAM,KACNyoD,UAAW/qC,EACXgrC,UAAW,KACX7jC,QAAS,KACT8jC,OAAQ,KACRC,MAAO,KACPC,OAAQnrC,EAGRorC,kBAAmB,KACnBC,YAAa,KACbC,SAAU,KACVC,wBAAyB,EACzBC,sBAAuB,EACvB3lD,OAAQ,KACRnkB,SAAU,KACVud,QAAS+gB,EACTyrC,SAAU,KACVC,aAAc,QC1SLC,EAAMxjE,EAAO,CACxB0wD,MAAO,MACP8B,WAAY,CACViR,aAAc,gBACdC,kBAAmB,qBACnBC,WAAY,cACZC,cAAe,iBACfC,UAAW,aACX3gE,UAAW,QACXioD,SAAU,YACV2Y,SAAU,YACVC,mBAAoB,sBACpBC,0BAA2B,8BAC3BC,aAAc,gBACdC,eAAgB,kBAChBhM,YAAa,cACbiM,SAAU,WACVC,iBAAkB,oBAClBntB,iBAAkB,oBAClB33C,YAAa,eACb+kE,SAAU,YACVC,WAAY,cACZ/kE,aAAc,gBACdqT,WAAY,cACZC,SAAU,YACV0xD,eAAgB,mBAChBrmD,YAAa,eACbpL,UAAW,aACXmL,YAAa,eACbtf,WAAY,cACZ6lE,UAAW,aACXC,2BAA4B,+BAC5BC,yBAA0B,6BAC1B7wB,SAAU,WACV8wB,UAAW,cACXC,aAAc,iBACdC,aAAc,iBACdC,eAAgB,kBAChB/xD,cAAe,iBACfgyD,cAAe,iBACfC,UAAW,aACXC,UAAW,aACXC,YAAa,eACbC,QAAS,WACTC,YAAa,gBACbC,aAAc,iBACdC,QAAS,WACTC,QAAS,WACTC,QAAS,WACTC,SAAU,YACVC,MAAO,SACPC,UAAW,cACXC,WAAY,eACZrL,QAAS,UACTsL,WAAY,aACZrL,aAAc,eACdG,cAAe,gBACfmL,QAAS,UACTjL,SAAU,WACVC,UAAW,YACXC,iBAAkB,mBAClBC,SAAU,WACV3nB,QAAS,UACTmM,QAAS,UACT4b,OAAQ,SACRC,YAAa,cACbC,MAAO,QACPC,WAAY,aACZC,OAAQ,SACRC,UAAW,YACXC,YAAa,cACbC,WAAY,aACZC,YAAa,cACbC,WAAY,aACZC,YAAa,cACbC,OAAQ,SACRC,iBAAkB,mBAClBC,UAAW,YACX8J,MAAO,QACP7J,QAAS,UACThuB,QAAS,UACTyN,QAAS,UACTqqB,UAAW,YACXC,WAAY,aACZ7J,aAAc,eACdC,QAAS,UACTC,UAAW,YACXphB,UAAW,YACXqhB,WAAY,aACZjY,QAAS,UACTrW,OAAQ,SACRwuB,aAAc,eACdC,iBAAkB,mBAClBE,YAAa,cACbC,UAAW,YACXE,YAAa,cACb/W,aAAc,eACdI,aAAc,eACdF,YAAa,cACb8W,WAAY,aACZC,YAAa,cACbC,UAAW,YACXgJ,aAAc,eACd/I,UAAW,YACXC,SAAU,WACVC,WAAY,aACZC,WAAY,aACZC,QAAS,UACTC,QAAS,UACTC,OAAQ,SACRC,UAAW,YACXC,WAAY,aACZC,WAAY,aACZC,aAAc,eACdsI,SAAU,WACVpI,QAAS,UACTC,SAAU,WACVC,SAAU,WACVG,SAAU,WACVC,UAAW,YACXC,SAAU,WACV8H,OAAQ,SACR5H,UAAW,YACXC,UAAW,YACXC,SAAU,WACVC,UAAW,YACXC,aAAc,eACdC,SAAU,WACVE,SAAU,WACVC,eAAgB,iBAChBC,UAAW,YACXoH,OAAQ,SACRC,iBAAkB,oBAClBC,kBAAmB,qBACnBC,WAAY,cACZC,QAAS,WACTC,cAAe,iBACflH,eAAgB,iBAChBmH,gBAAiB,mBACjBC,eAAgB,kBAChBC,UAAW,aACXrnE,YAAa,eACbsnE,sBAAuB,yBACvBC,uBAAwB,0BACxBC,gBAAiB,mBACjBC,iBAAkB,oBAClBC,cAAe,iBACfC,eAAgB,kBAChBC,iBAAkB,oBAClBxnE,cAAe,iBACfC,YAAa,eACb6lD,SAAU,WACV2hB,WAAY,cACZC,eAAgB,kBAChBC,cAAe,iBACfC,OAAQ,SACRC,kBAAmB,qBACnBC,mBAAoB,sBACpBC,YAAa,eACbC,aAAc,gBACdC,WAAY,eACZC,YAAa,eACbC,SAAU,YACVC,aAAc,gBACdC,cAAe,iBACfC,aAAc,gBACdC,SAAU,aACVC,YAAa,gBACbC,YAAa,gBACbC,YAAa,eACbC,YAAa,eACbC,QAAS,WAETC,cAAe,gBACfC,cAAe,iBAEjBn+D,UAAW6oD,EACXtoD,WAAY,CACV69D,MAAOhX,EACP8R,aAAc5rC,EACd+wC,WAAY,KACZC,SAAU,KACVnF,kBAAmB,KACnBoF,WAAYjxC,EACZkxC,UAAWlxC,EACX8rC,WAAY,KACZqF,OAAQnxC,EACRoxC,cAAe,KACfC,cAAe,KACfC,QAAStxC,EACTuxC,UAAW,KACXxF,cAAe,KACfyF,cAAe,KACfC,YAAa,KACbC,KAAM,KACN5yE,MAAO,KACP6yE,KAAM3xC,EACN4xC,GAAI,KACJC,SAAU,KACV7F,UAAWhsC,EACX30B,UAAWwuD,EACXiY,KAAM,KACNxe,SAAU,KACVye,cAAe,KACf9F,SAAU,KACVl1D,MAAO,KACPm1D,mBAAoB,KACpBC,0BAA2B,KAC3BC,aAAc,KACdC,eAAgB,KAChB1jC,QAAS,KACTqpC,kBAAmB,KACnBC,iBAAkB,KAClB5R,YAAa,KACbt3D,OAAQ,KACRmpE,GAAI,KACJC,GAAI,KACJh5E,EAAG,KACHmzE,SAAU,KACV8F,cAAe,KACfC,QAASryC,EACTsyC,gBAAiBtyC,EACjBlsB,UAAW,KACXqF,QAAS,KACTo5D,IAAK,KACLC,QAASxyC,EACTusC,iBAAkB,KAClBvuB,SAAU,EACVy0B,GAAI,KACJC,GAAI,KACJC,SAAU,KACVC,SAAU,KACVjlD,UAAWqS,EACXof,iBAAkB,KAClBrgD,IAAK,KACLo2D,MAAO,KACP0d,SAAU7yC,EACV8yC,0BAA2B,KAC3B7/C,KAAM,KACNxrB,YAAau4B,EACbwsC,SAAU,KACV3vD,OAAQ,KACRk2D,UAAW,KACXC,YAAa,KACbvG,WAAY,KACZ/kE,aAAc,KACdkvB,UAAW,KACXq8C,eAAgB,KAChBl4D,WAAY,KACZC,SAAU,KACV0xD,eAAgB,KAChBrmD,YAAa,KACbpL,UAAW,KACXmL,YAAa,KACbtf,WAAY,KACZosE,OAAQ,KACRC,GAAI,KACJ5yC,KAAM,KACN6yC,GAAI,KACJC,GAAI,KACJC,GAAI1Z,EACJ2Z,GAAI3Z,EACJ+S,UAAW/S,EACXgT,2BAA4B,KAC5BC,yBAA0B,KAC1B2G,SAAU,KACVC,kBAAmB,KACnBC,cAAe,KACfC,QAAS,KACTC,QAAS5zC,EACT6zC,kBAAmB,KACnBC,WAAY,KACZl9D,OAAQ,KACR6uB,KAAM,KACNuW,SAAU,KACV8wB,UAAW9sC,EACX+sC,aAAc/sC,EACdgtC,aAAchtC,EACda,GAAI,KACJkzC,YAAa/zC,EACbitC,eAAgB,KAChB+G,kBAAmB,KACnBC,GAAI,KACJC,IAAK,KACLC,UAAWn0C,EACX19B,EAAG09B,EACHo0C,GAAIp0C,EACJ+L,GAAI/L,EACJq0C,GAAIr0C,EACJs0C,GAAIt0C,EACJu0C,aAAcza,EACd0a,iBAAkB,KAClBC,UAAW,KACXC,WAAY,KACZC,SAAU,KACVC,QAAS,KACTzlB,KAAM,KACN0lB,aAAc,KACd35D,cAAe,KACfgyD,cAAe,KACf4H,kBAAmB90C,EACnB+0C,MAAO,KACP5H,UAAW,KACXC,UAAW,KACXC,YAAa,KACb2H,aAAc,KACdC,YAAa,KACbC,YAAa,KACb7a,KAAM,KACN8a,iBAAkB,KAClBC,UAAW,KACXC,aAAc,KACd11D,IAAK,KACLo1B,MAAO,KACPugC,uBAAwB,KACxBC,sBAAuB,KACvBC,UAAWx1C,EACXy1C,UAAW,KACX17C,OAAQ,KACRta,IAAK,KACLpC,KAAM,KACNtY,KAAM,KACNuoE,QAAS,KACTC,YAAa,KACbC,aAAc,KACdC,QAAS,KACTC,QAAS,KACTC,QAAS,KACTC,SAAU,KACVC,MAAO,KACPC,UAAW,KACXC,WAAY,KACZ2H,WAAY,KACZC,SAAU,KACVn0E,OAAQ,KACRkhE,QAAS,KACTsL,WAAY,KACZrL,aAAc,KACdG,cAAe,KACfmL,QAAS,KACTjL,SAAU,KACVC,UAAW,KACXC,iBAAkB,KAClBC,SAAU,KACV3nB,QAAS,KACTmM,QAAS,KACT4b,OAAQ,KACRC,YAAa,KACbC,MAAO,KACPC,WAAY,KACZC,OAAQ,KACRC,UAAW,KACXC,YAAa,KACbC,WAAY,KACZC,YAAa,KACbC,WAAY,KACZC,YAAa,KACbC,OAAQ,KACRC,iBAAkB,KAClBC,UAAW,KACX8J,MAAO,KACP7J,QAAS,KACThuB,QAAS,KACTyN,QAAS,KACTqqB,UAAW,KACXC,WAAY,KACZ7J,aAAc,KACdC,QAAS,KACTC,UAAW,KACXphB,UAAW,KACXqhB,WAAY,KACZjY,QAAS,KACTrW,OAAQ,KACRwuB,aAAc,KACdC,iBAAkB,KAClBE,YAAa,KACbC,UAAW,KACXE,YAAa,KACb/W,aAAc,KACdI,aAAc,KACdF,YAAa,KACb8W,WAAY,KACZC,YAAa,KACbC,UAAW,KACXgJ,aAAc,KACd/I,UAAW,KACXC,SAAU,KACVC,WAAY,KACZC,WAAY,KACZC,QAAS,KACTC,QAAS,KACTC,OAAQ,KACRC,UAAW,KACXC,WAAY,KACZC,WAAY,KACZC,aAAc,KACdsI,SAAU,KACVpI,QAAS,KACTC,SAAU,KACVC,SAAU,KACVG,SAAU,KACVC,UAAW,KACXC,SAAU,KACV8H,OAAQ,KACR5H,UAAW,KACXC,UAAW,KACXC,SAAU,KACVC,UAAW,KACXC,aAAc,KACdC,SAAU,KACVE,SAAU,KACVC,eAAgB,KAChBC,UAAW,KACXoH,OAAQ,KACRxnE,QAAS,KACT4uE,SAAU,KACV3uE,MAAO,KACP4uE,OAAQ,KACRC,YAAa,KACbC,OAAQ,KACR38D,SAAU,KACVsU,QAAS,KACT+gD,iBAAkBzuC,EAClB0uC,kBAAmB1uC,EACnB2uC,WAAY,KACZC,QAAS,KACTv8D,KAAM,KACN2jE,WAAYh2C,EACZi2C,oBAAqB,KACrBC,iBAAkB,KAClBC,aAAc,KACdC,MAAO,KACP7O,KAAM1N,EACNwc,MAAO,KACPzF,cAAe,KACf/B,cAAe,KACfvtE,OAAQ,KACRg1E,UAAWt2C,EACXu2C,UAAWv2C,EACXw2C,UAAWx2C,EACXy2C,cAAe,KACfC,oBAAqB,KACrBC,eAAgB,KAChBC,UAAW,KACXl1E,SAAUo4D,EACV1gE,EAAG,KACHy9E,OAAQ,KACRlP,eAAgB,KAChBmP,KAAM,KACNC,KAAM,KACN7hB,IAAK4E,EACL4Q,IAAK5Q,EACLgV,gBAAiB,KACjBkI,YAAa,KACbC,UAAW,KACXC,mBAAoBpd,EACpBqd,iBAAkBrd,EAClBsd,cAAetd,EACfud,gBAAiBvd,EACjBwd,SAAU,KACVC,QAAS,KACTztE,OAAQ,KACR0tE,OAAQ,KACRC,GAAI,KACJC,GAAI,KACJvwE,MAAO,KACPwwE,KAAM,KACN5I,eAAgB,KAChB6I,KAAM,KACNC,MAAO,KACPC,aAAc,KACdC,iBAAkB/3C,EAClBg4C,iBAAkBh4C,EAClBi4C,aAAc,KACdljE,QAAS,KACTmjE,YAAa,KACbC,aAAc,KACdC,MAAO,KACPC,MAAO,KACPC,YAAa,KACbtJ,UAAW,KACXrnE,YAAa,KACbsnE,sBAAuBjvC,EACvBkvC,uBAAwBlvC,EACxBzlC,OAAQ,KACRg+E,OAAQ,KACRpJ,gBAAiBrV,EACjBsV,iBAAkB,KAClBC,cAAe,KACfC,eAAgB,KAChBC,iBAAkBvvC,EAClBj4B,cAAei4B,EACfh4B,YAAa,KACbkK,MAAO,KACPsmE,aAAcx4C,EACdy4C,aAAc,KACdC,oBAAqB,KACrBC,WAAY,KACZC,cAAe,KACfC,qBAAsB,KACtBC,eAAgBhf,EAChBjM,SAAU7tB,EACV+4C,YAAa,KACbh+E,OAAQ,KACRi+E,QAASh5C,EACTi5C,QAASj5C,EACTwvC,WAAY,KACZC,eAAgB,KAChBC,cAAe,KACfwJ,WAAY,KACZrI,cAAe,KACfrgB,MAAO,KACP2oB,kBAAmB,KACnB15E,KAAM,KACNkwE,OAAQ7V,EACRxe,GAAI,KACJ5oC,UAAW,KACX0mE,GAAI,KACJC,GAAI,KACJzJ,kBAAmB5vC,EACnB6vC,mBAAoB7vC,EACpBs5C,QAAS,KACTxJ,YAAa,KACbC,aAAc,KACdC,WAAYhwC,EACZnxB,OAAQ,KACRohE,YAAajwC,EACbowC,cAAepwC,EACfqwC,aAAc,KACdH,SAAUlwC,EACVmwC,aAAcnwC,EACdmH,QAAS,KACTmpC,SAAUtwC,EACVuwC,YAAavwC,EACbwwC,YAAaxwC,EACb7J,QAAS,KACTojD,WAAY,KACZjgE,WAAY,KACZ7C,MAAO,KACP+iE,OAAQ,KACR/I,YAAa,KACbC,YAAa,KACbnuE,EAAG,KACHk3E,GAAI,KACJC,GAAI,KACJC,iBAAkB,KAClBhJ,QAAS3wC,EACTx9B,EAAG,KACHo3E,GAAI,KACJC,GAAI,KACJC,iBAAkB,KAClBr3E,EAAG,KACHs3E,WAAY,QCliBH,EAAO34C,EAAM,CAACg6B,EAAKR,EAAOrc,EAAOod,EAAMiD,GAAW,QAClD,EAAMx9B,EAAM,CAACg6B,EAAKR,EAAOrc,EAAOod,EAAMgQ,GAAU,OCTvDqO,GAAQ,kBACRC,GAAO,UACPC,GAAM,SA+CZ,SAASC,GAAMC,GACb,MAAO,IAAMA,EAAG1xE,aAClB,CAMA,SAAS2xE,GAAUD,GACjB,OAAOA,EAAG3/E,OAAO,GAAGC,aACtB,CC1DO,MAAM4/E,GAAc,CACzBjR,QAAS,UACTiD,SAAU,WACV3K,OAAQ,SACRwN,gBAAiB,kBACjBC,iBAAkB,mBAClBC,cAAe,gBACfC,eAAgB,iBAChBC,iBAAkB,mBAClBI,OAAQ,SACR9U,aAAc,eACdC,aAAc,eACdC,UAAW,YACXC,UAAW,YACXC,UAAW,YACXC,WAAY,aACZC,UAAW,YACXO,WAAY,6BCvBd,GAAe,YAAyB,GC0BhB6e,GAAM,OAAvB,MAUMC,GAAaD,GAAM,SAUhC,SAASA,GAAM96E,GACb,OAQA,SAAeH,GACb,MAAMi7E,EAASj7E,GAAQA,EAAKH,UAAYG,EAAKH,SAASM,IAAU,CAAC,EAEjE,GACwB,iBAAf86E,EAAMt7E,MACbs7E,EAAMt7E,KAAO,GACW,iBAAjBs7E,EAAMr7E,QACbq7E,EAAMr7E,OAAS,EAEf,MAAO,CACLD,KAAMs7E,EAAMt7E,KACZC,OAAQq7E,EAAMr7E,OACdsC,OAC0B,iBAAjB+4E,EAAM/4E,QAAuB+4E,EAAM/4E,QAAU,EAChD+4E,EAAM/4E,YACNjF,EAGZ,CACF,CCzCO,SAASk+E,GAAkBp8E,GAEhC,OAAKA,GAA0B,iBAAVA,EAKjB,aAAcA,GAAS,SAAUA,EAC5B,GAASA,EAAMc,UAIpB,UAAWd,GAAS,QAASA,EACxB,GAASA,GAId,SAAUA,GAAS,WAAYA,EAC1B,GAAMA,GAIR,GAnBE,EAoBX,CAMA,SAAS,GAAMk8E,GACb,OAAO37E,GAAM27E,GAASA,EAAMt7E,MAAQ,IAAML,GAAM27E,GAASA,EAAMr7E,OACjE,CAMA,SAAS,GAASw7E,GAChB,OAAO,GAAMA,GAAOA,EAAIxqE,OAAS,IAAM,GAAMwqE,GAAOA,EAAI37E,IAC1D,CAMA,SAASH,GAAMP,GACb,OAAOA,GAA0B,iBAAVA,EAAqBA,EAAQ,CACtD,CCvDO,MAAMs8E,WAAqBngF,MAwDhC,WAAA4tC,CAAYwyC,EAAeC,EAAwB9E,GACjDzb,QAEsC,iBAA3BugB,IACT9E,EAAS8E,EACTA,OAAyBt+E,GAI3B,IAAIqhC,EAAS,GAETniC,EAAU,CAAC,EACXq/E,GAAc,EAwClB,GAtCID,IAMAp/E,EAHA,SAAUo/E,GACV,WAAYA,GAMZ,UAAWA,GACX,QAASA,EALC,CAACE,MAAOF,GAUX,SAAUA,EACP,CACRG,UAAW,CAACH,GACZE,MAAOF,EAAuB17E,UAKtB,IAAI07E,IAIW,iBAAlBD,EACTh9C,EAASg9C,GAGDn/E,EAAQw/E,OAASL,IACzBE,GAAc,EACdl9C,EAASg9C,EAAcj9C,QACvBliC,EAAQw/E,MAAQL,IAGbn/E,EAAQy/E,SAAWz/E,EAAQR,QAA4B,iBAAX86E,EAAqB,CACpE,MAAMn3E,EAAQm3E,EAAOp3E,QAAQ,MAEd,IAAXC,EACFnD,EAAQy/E,OAASnF,GAEjBt6E,EAAQR,OAAS86E,EAAOp7E,MAAM,EAAGiE,GACjCnD,EAAQy/E,OAASnF,EAAOp7E,MAAMiE,EAAQ,GAE1C,CAEA,IAAKnD,EAAQs/E,OAASt/E,EAAQu/E,WAAav/E,EAAQu/E,UAAW,CAC5D,MAAMx7E,EAAS/D,EAAQu/E,UAAUv/E,EAAQu/E,UAAUphF,OAAS,GAExD4F,IACF/D,EAAQs/E,MAAQv7E,EAAOL,SAE3B,CAEA,MAAM+Q,EACJzU,EAAQs/E,OAAS,UAAWt/E,EAAQs/E,MAChCt/E,EAAQs/E,MAAM7qE,MACdzU,EAAQs/E,MAQdx/E,KAAKy/E,UAAYv/E,EAAQu/E,gBAAaz+E,EAOtChB,KAAK0/E,MAAQx/E,EAAQw/E,YAAS1+E,EAO9BhB,KAAK2D,OAASgR,EAAQA,EAAMhR,YAAS3C,EAWrChB,KAAK4/E,WAAQ5+E,EAObhB,KAAK6/E,KAQL7/E,KAAKoiC,QAAUC,EAOfriC,KAAK0D,KAAOiR,EAAQA,EAAMjR,UAAO1C,EASjChB,KAAKwJ,KAAO01E,GAAkBh/E,EAAQs/E,QAAU,MAOhDx/E,KAAKw/E,MAAQt/E,EAAQs/E,YAASx+E,EAO9BhB,KAAKqiC,OAASriC,KAAKoiC,QAOnBpiC,KAAK2/E,OAASz/E,EAAQy/E,aAAU3+E,EAOhChB,KAAKN,OAASQ,EAAQR,aAAUsB,EAWhChB,KAAK6kC,MACH06C,GAAer/E,EAAQw/E,OAAwC,iBAAxBx/E,EAAQw/E,MAAM76C,MACjD3kC,EAAQw/E,MAAM76C,MACd,GAYN7kC,KAAK8/E,OAOL9/E,KAAK+/E,SAOL//E,KAAKggF,KAULhgF,KAAKtB,GAEP,EAGF0gF,GAAax/E,UAAUigF,KAAO,GAC9BT,GAAax/E,UAAU4J,KAAO,GAC9B41E,GAAax/E,UAAUyiC,OAAS,GAChC+8C,GAAax/E,UAAUwiC,QAAU,GACjCg9C,GAAax/E,UAAUilC,MAAQ,GAC/Bu6C,GAAax/E,UAAU+D,YAAS3C,EAChCo+E,GAAax/E,UAAU8D,UAAO1C,EAC9Bo+E,GAAax/E,UAAU6/E,eAAYz+E,EACnCo+E,GAAax/E,UAAU8/E,WAAQ1+E,EAC/Bo+E,GAAax/E,UAAUggF,WAAQ5+E,EAC/Bo+E,GAAax/E,UAAU4/E,WAAQx+E,EAC/Bo+E,GAAax/E,UAAU+/E,YAAS3+E,EAChCo+E,GAAax/E,UAAUF,YAASsB,ECvShC,MAAM,GAAM,CAAC,EAAEnB,eAGTogF,GAAW,IAAIt2B,IAEf,GAAM,SACNu2B,GAAgB,YAahBC,GAAgB,IAAIj/D,IAAI,CAAC,QAAS,QAAS,QAAS,QAAS,OAE7Dk/D,GAAmB,IAAIl/D,IAAI,CAAC,KAAM,OAElCm/D,GAAO,0DAcN,SAASC,GAAaC,EAAMrgF,GACjC,IAAKA,QAAgCc,IAArBd,EAAQg0D,SACtB,MAAM,IAAIryB,UAAU,kCAGtB,MAAM2+C,EAAWtgF,EAAQsgF,eAAYx/E,EAErC,IAAI4L,EAEJ,GAAI1M,EAAQugF,YAAa,CACvB,GAA8B,mBAAnBvgF,EAAQwgF,OACjB,MAAM,IAAI7+C,UACR,yDAIJj1B,EA8TJ,SAA2B4zE,EAAUE,GACnC,OAAO9zE,EAEP,SAASA,EAAO7I,EAAMG,EAAMC,EAAOxE,GAEjC,MAAMghF,EAAmBziF,MAAMC,QAAQgG,EAAMC,UACvC46E,EAAQC,GAAWl7E,GACzB,OAAO28E,EACLx8E,EACAC,EACAxE,EACAghF,EACA,CACE/7C,aAAco6C,EAAQA,EAAMr7E,OAAS,OAAI3C,EACzC0jC,SAAU87C,EACV77C,WAAYq6C,EAAQA,EAAMt7E,UAAO1C,QAEnCA,EAEJ,CACF,CAlVa4/E,CAAkBJ,EAAUtgF,EAAQwgF,OAC/C,KAAO,CACL,GAA2B,mBAAhBxgF,EAAQy9D,IACjB,MAAM,IAAI97B,UAAU,wCAGtB,GAA4B,mBAAjB3hC,EAAQ2gF,KACjB,MAAM,IAAIh/C,UAAU,yCAGtBj1B,EAiSJ,SAA0BslB,EAAGyrC,EAAKkjB,GAChC,OAAOj0E,EAEP,SAASA,EAAOslB,EAAGhuB,EAAMC,EAAOxE,GAE9B,MACMgN,EADmBzO,MAAMC,QAAQgG,EAAMC,UACfy8E,EAAOljB,EACrC,OAAOh+D,EAAMgN,EAAGzI,EAAMC,EAAOxE,GAAOgN,EAAGzI,EAAMC,EAC/C,CACF,CA1Sa28E,CAAiBN,EAAUtgF,EAAQy9D,IAAKz9D,EAAQ2gF,KAC3D,CAGA,MAAME,EAAQ,CACZ7sB,SAAUh0D,EAAQg0D,SAClBurB,UAAW,GACXt9D,WAAYjiB,EAAQiiB,YAAc,CAAC,EACnCvV,SACAo0E,yBAA0B9gF,EAAQ8gF,0BAA4B,QAC9DC,UAAW/gF,EAAQghF,gBAAkBhhF,EAAQghF,uBAAoBlgF,EACjEw/E,WACAW,mBAAoBjhF,EAAQihF,qBAAsB,EAClDC,UAA+B,IAArBlhF,EAAQkhF,SAClBC,SAAUnhF,EAAQmhF,WAAY,EAC9Bj1C,OAA0B,QAAlBlsC,EAAQo9D,MAAkB,EAAM,EACxCgkB,sBAAuBphF,EAAQohF,uBAAyB,MACxDC,uBAAyD,IAAlCrhF,EAAQqhF,uBAG3BhzE,EAASizE,GAAIT,EAAOR,OAAMv/E,GAGhC,OAAIuN,GAA4B,iBAAXA,EACZA,EAIFwyE,EAAMn0E,OACX2zE,EACAQ,EAAM7sB,SACN,CAAC9vD,SAAUmK,QAAUvN,QACrBA,EAEJ,CAcA,SAASwgF,GAAIT,EAAOh9E,EAAMpE,GACxB,MAAkB,YAAdoE,EAAKG,KAqCX,SAAiB68E,EAAOh9E,EAAMpE,GAC5B,MAAM8hF,EAAeV,EAAM30C,OAC3B,IAAIA,EAASq1C,EAEsB,QAA/B19E,EAAKyO,QAAQrF,eAAkD,SAAvBs0E,EAAankB,QACvDlxB,EAAS,EACT20C,EAAM30C,OAASA,GAGjB20C,EAAMtB,UAAU3+E,KAAKiD,GAErB,MAAMG,EAAOw9E,GAAsBX,EAAOh9E,EAAKyO,SAAS,GAClDrO,EAkPR,SAA4B48E,EAAOh9E,GAEjC,MAAMI,EAAQ,CAAC,EAEf,IAAIw9E,EAEA1xE,EAEJ,IAAKA,KAAQlM,EAAK2T,WAChB,GAAa,aAATzH,GAAuB,GAAInQ,KAAKiE,EAAK2T,WAAYzH,GAAO,CAC1D,MAAM1B,EAASqzE,GAAeb,EAAO9wE,EAAMlM,EAAK2T,WAAWzH,IAE3D,GAAI1B,EAAQ,CACV,MAAO5O,EAAKmD,GAASyL,EAGnBwyE,EAAMQ,uBACE,UAAR5hF,GACiB,iBAAVmD,GACPs9E,GAAiBtkC,IAAI/3C,EAAKyO,SAE1BmvE,EAAa7+E,EAEbqB,EAAMxE,GAAOmD,CAEjB,CACF,CAGF,GAAI6+E,EAAY,EAEsBx9E,EAAMwS,QAAUxS,EAAMwS,MAAQ,CAAC,IAC7B,QAAhCoqE,EAAMO,sBAAkC,aAAe,aAC3DK,CACJ,CAEA,OAAOx9E,CACT,CAvRgB09E,CAAmBd,EAAOh9E,GACxC,IAAIK,EAAW09E,GAAef,EAAOh9E,GAEjCo8E,GAAcrkC,IAAI/3C,EAAKyO,WACzBpO,EAAWA,EAASkd,QAAO,SAAU8yB,GACnC,MAAwB,iBAAVA,KvBxKM,iBADC1I,EuByK0B0I,GvBvKhC,SAAf1I,EAAMxnC,MACJ05D,EAAMlyB,EAAM5oC,OAEd86D,EAAMlyB,IALL,IAAoBA,CuB0KvB,KAUF,OAPAyG,GAAQ4uC,EAAO58E,EAAOD,EAAMH,GAC5Bg+E,GAAY59E,EAAOC,GAGnB28E,EAAMtB,UAAUh0C,MAChBs1C,EAAM30C,OAASq1C,EAERV,EAAMn0E,OAAO7I,EAAMG,EAAMC,EAAOxE,EACzC,CAjEW,CAAQohF,EAAOh9E,EAAMpE,GAGZ,sBAAdoE,EAAKG,MAA8C,sBAAdH,EAAKG,KA0EhD,SAAuB68E,EAAOh9E,GAC5B,GAAIA,EAAK24B,MAAQ34B,EAAK24B,KAAKslD,QAAUjB,EAAME,UAAW,CACpD,MACMgB,EADUl+E,EAAK24B,KAAKslD,OACC97B,KAAK,GAIhC,OAHO+7B,EAAW/9E,KAIhB68E,EAAME,UAAUiB,mBAAmBD,EAAWA,WAElD,CAEAE,GAAYpB,EAAOh9E,EAAKH,SAC1B,CAtFWw+E,CAAcrB,EAAOh9E,GAGZ,sBAAdA,EAAKG,MAA8C,sBAAdH,EAAKG,KAsHhD,SAAuB68E,EAAOh9E,EAAMpE,GAClC,MAAM8hF,EAAeV,EAAM30C,OAC3B,IAAIA,EAASq1C,EAEK,QAAd19E,EAAKyF,MAAyC,SAAvBi4E,EAAankB,QACtClxB,EAAS,EACT20C,EAAM30C,OAASA,GAGjB20C,EAAMtB,UAAU3+E,KAAKiD,GAErB,MAAMG,EACU,OAAdH,EAAKyF,KACDu3E,EAAM7sB,SACNwtB,GAAsBX,EAAOh9E,EAAKyF,MAAM,GACxCrF,EAuMR,SAA+B48E,EAAOh9E,GAEpC,MAAMI,EAAQ,CAAC,EAEf,IAAK,MAAM+5D,KAAan6D,EAAKq7D,WAC3B,GAAuB,8BAAnBlB,EAAUh6D,KACZ,GAAIg6D,EAAUxhC,MAAQwhC,EAAUxhC,KAAKslD,QAAUjB,EAAME,UAAW,CAC9D,MACMgB,EADU/jB,EAAUxhC,KAAKslD,OACJ97B,KAAK,GACzB+7B,EAAW/9E,KAClB,MAAMm+E,EAAmBJ,EAAWA,WAC7BI,EAAiBn+E,KACxB,MAAMiC,EAAWk8E,EAAiB3qE,WAAW,GACtCvR,EAASjC,KAEhB7E,OAAOC,OACL6E,EACA48E,EAAME,UAAUiB,mBAAmB/7E,EAAS0T,UAEhD,MACEsoE,GAAYpB,EAAOh9E,EAAKH,cAErB,CAEL,MAAM4F,EAAO00D,EAAU10D,KAEvB,IAAI1G,EAEJ,GAAIo7D,EAAUp7D,OAAoC,iBAApBo7D,EAAUp7D,MACtC,GACEo7D,EAAUp7D,MAAM45B,MAChBwhC,EAAUp7D,MAAM45B,KAAKslD,QACrBjB,EAAME,UACN,CACA,MACMgB,EADU/jB,EAAUp7D,MAAM45B,KAAKslD,OACV97B,KAAK,GACzB+7B,EAAW/9E,KAClBpB,EAAQi+E,EAAME,UAAUiB,mBAAmBD,EAAWA,WACxD,MACEE,GAAYpB,EAAOh9E,EAAKH,eAG1Bd,EAA4B,OAApBo7D,EAAUp7D,OAAwBo7D,EAAUp7D,MAItDqB,EAAMqF,GAA0C,CAClD,CAGF,OAAOrF,CACT,CA1PgBm+E,CAAsBvB,EAAOh9E,GACrCK,EAAW09E,GAAef,EAAOh9E,GASvC,OAPAouC,GAAQ4uC,EAAO58E,EAAOD,EAAMH,GAC5Bg+E,GAAY59E,EAAOC,GAGnB28E,EAAMtB,UAAUh0C,MAChBs1C,EAAM30C,OAASq1C,EAERV,EAAMn0E,OAAO7I,EAAMG,EAAMC,EAAOxE,EACzC,CA/IW4iF,CAAcxB,EAAOh9E,EAAMpE,GAGlB,aAAdoE,EAAKG,KA2FX,SAAgB68E,EAAOh9E,GACrB,GAAIA,EAAK24B,MAAQ34B,EAAK24B,KAAKslD,QAAUjB,EAAME,UAEzC,OACEF,EAAME,UAAUuB,gBAAgBz+E,EAAK24B,KAAKslD,QAI9CG,GAAYpB,EAAOh9E,EAAKH,SAC1B,CAnGW6+E,CAAO1B,EAAOh9E,GAGL,SAAdA,EAAKG,KAsJX,SAAc68E,EAAOh9E,EAAMpE,GAEzB,MAAMwE,EAAQ,CAAC,EAIf,OAFA49E,GAAY59E,EAAO29E,GAAef,EAAOh9E,IAElCg9E,EAAMn0E,OAAO7I,EAAMg9E,EAAM7sB,SAAU/vD,EAAOxE,EACnD,CA5JWqE,CAAK+8E,EAAOh9E,EAAMpE,GAGT,SAAdoE,EAAKG,KAqKX,SAAcguB,EAAGnuB,GACf,OAAOA,EAAKjB,KACd,CAtKW,CAAKi+E,EAAOh9E,QADrB,CAGF,CAoLA,SAASouC,GAAQ4uC,EAAO58E,EAAOD,EAAMH,GAEf,iBAATG,GAAqBA,IAAS68E,EAAM7sB,UAAY6sB,EAAMM,WAC/Dl9E,EAAMJ,KAAOA,EAEjB,CAYA,SAASg+E,GAAY59E,EAAOC,GAC1B,GAAIA,EAAS/F,OAAS,EAAG,CACvB,MAAMyE,EAAQsB,EAAS/F,OAAS,EAAI+F,EAAWA,EAAS,GAEpDtB,IACFqB,EAAMC,SAAWtB,EAErB,CACF,CA+KA,SAASg/E,GAAef,EAAOh9E,GAE7B,MAAMK,EAAW,GACjB,IAAIf,GAAS,EAIb,MAAMq/E,EAAe3B,EAAMK,SAAW,IAAIz3B,IAAQs2B,GAElD,OAAS58E,EAAQU,EAAKK,SAAS/F,QAAQ,CACrC,MAAM+1C,EAAQrwC,EAAKK,SAASf,GAE5B,IAAI1D,EAEJ,GAAIohF,EAAMK,SAAU,CAClB,MAAM53E,EACW,YAAf4qC,EAAMlwC,KACFkwC,EAAM5hC,QACS,sBAAf4hC,EAAMlwC,MACW,sBAAfkwC,EAAMlwC,KACNkwC,EAAM5qC,UACNxI,EAER,GAAIwI,EAAM,CACR,MAAMvE,EAAQy9E,EAAa/6E,IAAI6B,IAAS,EACxC7J,EAAM6J,EAAO,IAAMvE,EACnBy9E,EAAa96E,IAAI4B,EAAMvE,EAAQ,EACjC,CACF,CAEA,MAAMsJ,EAASizE,GAAIT,EAAO3sC,EAAOz0C,QAClBqB,IAAXuN,GAAsBnK,EAAStD,KAAKyN,EAC1C,CAEA,OAAOnK,CACT,CAcA,SAASw9E,GAAeb,EAAO9wE,EAAMnN,GACnC,MAAMomB,EN1jBD,SAAckjB,EAAQtpC,GAC3B,MAAMg7D,EAASE,EAAUl7D,GACzB,IAAImN,EAAOnN,EACP6/E,EAAO1kB,EAEX,GAAIH,KAAU1xB,EAAO0xB,OACnB,OAAO1xB,EAAOjmC,SAASimC,EAAO0xB,OAAOA,IAGvC,GAAIA,EAAOz/D,OAAS,GAA4B,SAAvBy/D,EAAO1+D,MAAM,EAAG,IAAiBq/E,GAAMvuE,KAAKpN,GAAQ,CAE3E,GAAwB,MAApBA,EAAM5D,OAAO,GAAY,CAE3B,MAAMs0B,EAAO1wB,EAAM1D,MAAM,GAAG6D,QAAQy7E,GAAMI,IAC1C7uE,EAAO,OAASujB,EAAKt0B,OAAO,GAAGC,cAAgBq0B,EAAKp0B,MAAM,EAC5D,KAAO,CAEL,MAAMo0B,EAAO1wB,EAAM1D,MAAM,GAEzB,IAAKs/E,GAAKxuE,KAAKsjB,GAAO,CACpB,IAAIovD,EAASpvD,EAAKvwB,QAAQ07E,GAAKC,IAEN,MAArBgE,EAAO1jF,OAAO,KAChB0jF,EAAS,IAAMA,GAGjB9/E,EAAQ,OAAS8/E,CACnB,CACF,CAEAD,EAAO9jB,CACT,CAEA,OAAO,IAAI8jB,EAAK1yE,EAAMnN,EACxB,CMwhBekkD,CAAK+5B,EAAM30C,OAAQn8B,GAGhC,KACEnN,SAEkB,iBAAVA,GAAsBoT,OAAOC,MAAMrT,IAH7C,CAeA,GAPI5E,MAAMC,QAAQ2E,KAGhBA,EAAQomB,EAAKm1C,eC7hBV,SAAmB/qD,EAAQpT,GAChC,MAAM2iF,EAAW3iF,GAAW,CAAC,EAK7B,OAF4C,KAA9BoT,EAAOA,EAAOjV,OAAS,GAAY,IAAIiV,EAAQ,IAAMA,GAGhE7N,MACEo9E,EAASC,SAAW,IAAM,IACzB,MACsB,IAArBD,EAASE,QAAoB,GAAK,MAEtClgF,MACL,CDghBkC,CAAOC,GAAgBA,EEnkBzC2C,KAAK,KAAK5C,QFukBF,UAAlBqmB,EAAK/iB,SAAsB,CAC7B,IAAI68E,EACe,iBAAVlgF,EAAqBA,EA6BlC,SAAoBi+E,EAAOj+E,GAEzB,MAAMyL,EAAS,CAAC,EAEhB,IACE,GAAczL,EAAOmgF,EACvB,CAAE,MAAOz9D,GACP,IAAKu7D,EAAMI,mBAAoB,CAC7B,MAAMzB,EAA6B,EAC7Bt9C,EAAU,IAAIg9C,GAAa,iCAAkC,CACjEK,UAAWsB,EAAMtB,UACjBC,QACAC,OAAQ,QACRjgF,OAAQ,6BAKV,MAHA0iC,EAAQy9C,KAAOkB,EAAMP,eAAYx/E,EACjCohC,EAAQ1jC,IAAM2hF,GAAO,gCAEfj+C,CACR,CACF,CAEA,OAAO7zB,EAaP,SAAS00E,EAASz5E,EAAM1G,GACtB,IAAInD,EAAM6J,EAEc,OAApB7J,EAAIP,MAAM,EAAG,KACS,SAApBO,EAAIP,MAAM,EAAG,KAAeO,EAAM,MAAQA,EAAIP,MAAM,IACxDO,EAAMA,EAAIsD,QAAQi9E,GAAegD,KAGnC30E,EAAO5O,GAAOmD,CAChB,CACF,CA1E0CqgF,CAAWpC,EAAOp+E,OAAOG,IAM/D,MAJoC,QAAhCi+E,EAAMO,wBACR0B,EAqKN,SAAoCI,GAElC,MAAMC,EAAY,CAAC,EAEnB,IAAIr+C,EAEJ,IAAKA,KAAQo+C,EACP,GAAItjF,KAAKsjF,EAAWp+C,KACtBq+C,EAAUC,GAA0Bt+C,IAASo+C,EAAUp+C,IAI3D,OAAOq+C,CACT,CAlLoBE,CAA2BP,IAGpC,CAAC,QAASA,EACnB,CAEA,MAAO,CAC8B,UAAnCjC,EAAMC,0BAAwC93D,EAAKo0C,MAC/CyhB,GAAY71D,EAAK/iB,WAAa+iB,EAAK/iB,SACnC+iB,EAAKg1C,UACTp7D,EAxBF,CA0BF,CAyEA,SAAS4+E,GAAsBX,EAAOv3E,EAAMg6E,GAE1C,IAAIj1E,EAEJ,GAAKi1E,EAEE,GAAIh6E,EAAK6M,SAAS,KAAM,CAC7B,MAAMotE,EAAcj6E,EAAKX,MAAM,KAC/B,IAEI9E,EAFAV,GAAS,EAIb,OAASA,EAAQogF,EAAYplF,QAAQ,CAEnC,MAAM4R,EAAO,EAAiBwzE,EAAYpgF,IACtC,CAACa,KAAM,aAAcsF,KAAMi6E,EAAYpgF,IACvC,CAACa,KAAM,UAAWpB,MAAO2gF,EAAYpgF,IACzCU,EAAOA,EACH,CACEG,KAAM,mBACN8c,OAAQjd,EACRoC,SAAU8J,EACVyzE,SAAU9rC,QAAQv0C,GAAuB,YAAd4M,EAAK/L,MAChCy/E,UAAU,GAEZ1zE,CACN,CAGA1B,EAASxK,CACX,MACEwK,EACE,EAAiB/E,KAAU,SAAS0G,KAAK1G,GACrC,CAACtF,KAAM,aAAcsF,QACrB,CAACtF,KAAM,UAAWpB,MAAO0G,QA7B/B+E,EAAS,CAACrK,KAAM,UAAWpB,MAAO0G,GAkCpC,GAAoB,YAAhB+E,EAAOrK,KAAoB,CAC7B,MAAMsF,EAAmD+E,EAAY,MAErE,OAAO,GAAIzO,KAAKihF,EAAM5+D,WAAY3Y,GAAQu3E,EAAM5+D,WAAW3Y,GAAQA,CACrE,CAGA,GAAIu3E,EAAME,UACR,OAAOF,EAAME,UAAUiB,mBAAmB3zE,GAG5C4zE,GAAYpB,EACd,CAOA,SAASoB,GAAYpB,EAAOvB,GAC1B,MAAMp9C,EAAU,IAAIg9C,GAClB,sDACA,CACEK,UAAWsB,EAAMtB,UACjBD,QACAG,OAAQ,aACRjgF,OAAQ,6BAMZ,MAHA0iC,EAAQy9C,KAAOkB,EAAMP,eAAYx/E,EACjCohC,EAAQ1jC,IAAM2hF,GAAO,qDAEfj+C,CACR,CA6BA,SAASkhD,GAA0Bt+C,GACjC,IAAI+a,EAAK/a,EAAK/hC,QAAQ,GAAK2gF,IAG3B,MADuB,QAAnB7jC,EAAG3gD,MAAM,EAAG,KAAc2gD,EAAK,IAAMA,GAClCA,CACT,CAYA,SAASmjC,GAAQhxD,EAAG2xD,GAClB,OAAOA,EAAG1kF,aACZ,CAUA,SAASykF,GAAO/E,GACd,MAAO,IAAMA,EAAG1xE,aAClB,CGnzBO,MAAM22E,GAAgB,CAC3Bv8D,OAAQ,CAAC,QACTg9C,KAAM,CAAC,aAAc,MAAO,MAAO,KACnC7nC,KAAM,CAAC,UACP4oC,WAAY,CAAC,SAAU,SACvBp7B,KAAM,CAAC,IAAK,OAAQ,OAAQ,QAC5B9hB,KAAM,CAAC,YACPg+C,OAAQ,KACRQ,SAAU,CAAC,QACXoF,KAAM,CAAC,IAAK,QACZE,OAAQ,CAAC,SACTx1B,IAAK,CACH,QACA,QACA,SACA,MACA,QACA,SACA,SACA,QACA,yBChBJ,MAAM,GAAe,CAAC,EAuCtB,SAAS,GAAI5zC,EAAOihF,EAAiBC,GACnC,GAqDF,SAAclhF,GACZ,OAAO80C,QAAQ90C,GAA0B,iBAAVA,EACjC,CAvDMiB,CAAKjB,GAAQ,CACf,GAAI,UAAWA,EACb,MAAsB,SAAfA,EAAMoB,MAAoB8/E,EAAmBlhF,EAAMA,MAAX,GAGjD,GAAIihF,GAAmB,QAASjhF,GAASA,EAAM81C,IAC7C,OAAO91C,EAAM81C,IAGf,GAAI,aAAc91C,EAChB,OAAO,GAAIA,EAAMsB,SAAU2/E,EAAiBC,EAEhD,CAEA,OAAI9lF,MAAMC,QAAQ2E,GACT,GAAIA,EAAOihF,EAAiBC,GAG9B,EACT,CAcA,SAAS,GAAI1wE,EAAQywE,EAAiBC,GAEpC,MAAMz1E,EAAS,GACf,IAAIlL,GAAS,EAEb,OAASA,EAAQiQ,EAAOjV,QACtBkQ,EAAOlL,GAAS,GAAIiQ,EAAOjQ,GAAQ0gF,EAAiBC,GAGtD,OAAOz1E,EAAO9I,KAAK,GACrB,CCzEO,SAAS+8B,GAAOm6B,EAAMhoD,EAAO80B,EAAQsc,GAC1C,MAAMviD,EAAMm5D,EAAKt+D,OACjB,IAEI4lF,EAFAC,EAAa,EAajB,GAPEvvE,EADEA,EAAQ,GACDA,EAAQnR,EAAM,EAAIA,EAAMmR,EAEzBA,EAAQnR,EAAMA,EAAMmR,EAE9B80B,EAASA,EAAS,EAAIA,EAAS,EAG3Bsc,EAAM1nD,OAAS,IACjB4lF,EAAa/lF,MAAM8mC,KAAK+gB,GACxBk+B,EAAWpsD,QAAQljB,EAAO80B,GAE1BkzB,EAAKn6B,UAAUyhD,QAMf,IAHIx6C,GAAQkzB,EAAKn6B,OAAO7tB,EAAO80B,GAGxBy6C,EAAan+B,EAAM1nD,QACxB4lF,EAAal+B,EAAM3mD,MAAM8kF,EAAYA,EAAa,KAClDD,EAAWpsD,QAAQljB,EAAO,GAE1BgoD,EAAKn6B,UAAUyhD,GACfC,GAAc,IACdvvE,GAAS,GAGf,CAkBO,SAAS7T,GAAK67D,EAAM5W,GACzB,OAAI4W,EAAKt+D,OAAS,GAChBmkC,GAAOm6B,EAAMA,EAAKt+D,OAAQ,EAAG0nD,GACtB4W,GAEF5W,CACT,CCnDO,MAAMo+B,GAOX,WAAAt3C,CAAYu3C,GAEVpkF,KAAKof,KAAOglE,EAAU,IAAIA,GAAW,GAErCpkF,KAAKkf,MAAQ,EACf,CAWA,GAAAvX,CAAItE,GACF,GAAIA,EAAQ,GAAKA,GAASrD,KAAKof,KAAK/gB,OAAS2B,KAAKkf,MAAM7gB,OACtD,MAAM,IAAI42C,WAAW,wBAA0B5xC,EAAQ,kCAAoCrD,KAAKof,KAAK/gB,OAAS2B,KAAKkf,MAAM7gB,QAAU,KAErI,OAAIgF,EAAQrD,KAAKof,KAAK/gB,OAAe2B,KAAKof,KAAK/b,GACxCrD,KAAKkf,MAAMlf,KAAKkf,MAAM7gB,OAASgF,EAAQrD,KAAKof,KAAK/gB,OAAS,EACnE,CAMA,UAAIA,GACF,OAAO2B,KAAKof,KAAK/gB,OAAS2B,KAAKkf,MAAM7gB,MACvC,CASA,KAAA4mB,GAEE,OADAjlB,KAAKqkF,UAAU,GACRrkF,KAAKkf,MAAMusB,KACpB,CAaA,KAAArsC,CAAMuV,EAAOnR,GAEX,MAAM8gF,EAAO9gF,QAAoC0S,OAAOquE,kBAAoB/gF,EAC5E,OAAI8gF,EAAOtkF,KAAKof,KAAK/gB,OACZ2B,KAAKof,KAAKhgB,MAAMuV,EAAO2vE,GAE5B3vE,EAAQ3U,KAAKof,KAAK/gB,OACb2B,KAAKkf,MAAM9f,MAAMY,KAAKkf,MAAM7gB,OAASimF,EAAOtkF,KAAKof,KAAK/gB,OAAQ2B,KAAKkf,MAAM7gB,OAASsW,EAAQ3U,KAAKof,KAAK/gB,QAAQmmF,UAE9GxkF,KAAKof,KAAKhgB,MAAMuV,GAAOzL,OAAOlJ,KAAKkf,MAAM9f,MAAMY,KAAKkf,MAAM7gB,OAASimF,EAAOtkF,KAAKof,KAAK/gB,QAAQmmF,UACrG,CAsBA,MAAAhiD,CAAO7tB,EAAO8vE,EAAa1+B,GAEzB,MAAM9gD,EAAQw/E,GAAe,EAC7BzkF,KAAKqkF,UAAU3hF,KAAKgiF,MAAM/vE,IAC1B,MAAMgwE,EAAU3kF,KAAKkf,MAAMsjB,OAAOxiC,KAAKkf,MAAM7gB,OAAS4G,EAAOiR,OAAOquE,mBAEpE,OADIx+B,GAAO6+B,GAAY5kF,KAAKof,KAAM2mC,GAC3B4+B,EAAQH,SACjB,CAUA,GAAA/4C,GAEE,OADAzrC,KAAKqkF,UAAUnuE,OAAOquE,mBACfvkF,KAAKof,KAAKqsB,KACnB,CAWA,IAAA3qC,CAAK8R,GACH5S,KAAKqkF,UAAUnuE,OAAOquE,mBACtBvkF,KAAKof,KAAKte,KAAK8R,EACjB,CAWA,QAAAiyE,CAAS9+B,GACP/lD,KAAKqkF,UAAUnuE,OAAOquE,mBACtBK,GAAY5kF,KAAKof,KAAM2mC,EACzB,CAWA,OAAAluB,CAAQjlB,GACN5S,KAAKqkF,UAAU,GACfrkF,KAAKkf,MAAMpe,KAAK8R,EAClB,CAWA,WAAAkyE,CAAY/+B,GACV/lD,KAAKqkF,UAAU,GACfO,GAAY5kF,KAAKkf,MAAO6mC,EAAMy+B,UAChC,CAcA,SAAAH,CAAUpmF,GACR,KAAIA,IAAM+B,KAAKof,KAAK/gB,QAAUJ,EAAI+B,KAAKof,KAAK/gB,QAAgC,IAAtB2B,KAAKkf,MAAM7gB,QAAgBJ,EAAI,GAA0B,IAArB+B,KAAKof,KAAK/gB,QACpG,GAAIJ,EAAI+B,KAAKof,KAAK/gB,OAAQ,CAExB,MAAMsmF,EAAU3kF,KAAKof,KAAKojB,OAAOvkC,EAAGiY,OAAOquE,mBAC3CK,GAAY5kF,KAAKkf,MAAOylE,EAAQH,UAClC,KAAO,CAEL,MAAMG,EAAU3kF,KAAKkf,MAAMsjB,OAAOxiC,KAAKof,KAAK/gB,OAAS2B,KAAKkf,MAAM7gB,OAASJ,EAAGiY,OAAOquE,mBACnFK,GAAY5kF,KAAKof,KAAMulE,EAAQH,UACjC,CACF,EAeF,SAASI,GAAYjoB,EAAMz9C,GAEzB,IAAIglE,EAAa,EACjB,GAAIhlE,EAAM7gB,OAAS,IACjBs+D,EAAK77D,QAAQoe,QAEb,KAAOglE,EAAahlE,EAAM7gB,QACxBs+D,EAAK77D,QAAQoe,EAAM9f,MAAM8kF,EAAYA,EAAa,MAClDA,GAAc,GAGpB,CCvOO,SAASa,GAAYC,GAE1B,MAAMC,EAAQ,CAAC,EACf,IAEIrrB,EAEAsrB,EAEAC,EAEAC,EAEAnB,EAEAoB,EAEAvqD,EAdAz3B,GAAS,EAeb,MAAMoyC,EAAS,IAAI0uC,GAAaa,GAChC,OAAS3hF,EAAQoyC,EAAOp3C,QAAQ,CAC9B,KAAOgF,KAAS4hF,GACd5hF,EAAQ4hF,EAAM5hF,GAMhB,GAJAu2D,EAAQnkB,EAAO9tC,IAAItE,GAIfA,GAA2B,cAAlBu2D,EAAM,GAAG11D,MAA0D,mBAAlCuxC,EAAO9tC,IAAItE,EAAQ,GAAG,GAAGa,OACrEmhF,EAAYzrB,EAAM,GAAG0rB,WAAW7vC,OAChC0vC,EAAa,EACTA,EAAaE,EAAUhnF,QAA4C,oBAAlCgnF,EAAUF,GAAY,GAAGjhF,OAC5DihF,GAAc,GAEZA,EAAaE,EAAUhnF,QAA4C,YAAlCgnF,EAAUF,GAAY,GAAGjhF,MAC5D,OAASihF,EAAaE,EAAUhnF,QACQ,YAAlCgnF,EAAUF,GAAY,GAAGjhF,MAGS,cAAlCmhF,EAAUF,GAAY,GAAGjhF,OAC3BmhF,EAAUF,GAAY,GAAGI,6BAA8B,EACvDJ,KAOR,GAAiB,UAAbvrB,EAAM,GACJA,EAAM,GAAGjyB,cACXtoC,OAAOC,OAAO2lF,EAAOO,GAAW/vC,EAAQpyC,IACxCA,EAAQ4hF,EAAM5hF,GACdy3B,GAAO,QAIN,GAAI8+B,EAAM,GAAG6rB,WAAY,CAG5B,IAFAN,EAAa9hF,EACb6hF,OAAYlkF,EACLmkF,KAEL,GADAC,EAAa3vC,EAAO9tC,IAAIw9E,GACG,eAAvBC,EAAW,GAAGlhF,MAAgD,oBAAvBkhF,EAAW,GAAGlhF,KACjC,UAAlBkhF,EAAW,KACTF,IACFzvC,EAAO9tC,IAAIu9E,GAAW,GAAGhhF,KAAO,mBAElCkhF,EAAW,GAAGlhF,KAAO,aACrBghF,EAAYC,QAET,GAA2B,eAAvBC,EAAW,GAAGlhF,KAGvB,MAGAghF,IAEFtrB,EAAM,GAAGp2D,IAAM,IACViyC,EAAO9tC,IAAIu9E,GAAW,GAAGvwE,OAI9BsvE,EAAaxuC,EAAOr2C,MAAM8lF,EAAW7hF,GACrC4gF,EAAWpsD,QAAQ+hC,GACnBnkB,EAAOjT,OAAO0iD,EAAW7hF,EAAQ6hF,EAAY,EAAGjB,GAEpD,CACF,CAIA,OADAzhD,GAAOwiD,EAAa,EAAG9uE,OAAOquE,kBAAmB9uC,EAAOr2C,MAAM,KACtD07B,CACV,CAYA,SAAS0qD,GAAW/vC,EAAQiwC,GAC1B,MAAMhhF,EAAQ+wC,EAAO9tC,IAAI+9E,GAAY,GAC/B3kD,EAAU0U,EAAO9tC,IAAI+9E,GAAY,GACvC,IAAIC,EAAgBD,EAAa,EAEjC,MAAME,EAAiB,GACjBC,EAAYnhF,EAAM4gF,YAAcvkD,EAAQiH,OAAOtjC,EAAMijC,aAAajjC,EAAMiQ,OACxEmxE,EAAcD,EAAUpwC,OAExBwvC,EAAQ,GAERc,EAAO,CAAC,EAEd,IAAIC,EAEA5/E,EACA/C,GAAS,EAETuN,EAAUlM,EACVuhF,EAAS,EACTtxE,EAAQ,EACZ,MAAMuxE,EAAS,CAACvxE,GAIhB,KAAO/D,GAAS,CAEd,KAAO6kC,EAAO9tC,MAAMg+E,GAAe,KAAO/0E,IAG1Cg1E,EAAe9kF,KAAK6kF,GACf/0E,EAAQ00E,aACXU,EAASjlD,EAAQolD,YAAYv1E,GACxBA,EAAQrM,MACXyhF,EAAOllF,KAAK,MAEVsF,GACFy/E,EAAUO,WAAWx1E,EAAQ+D,OAE3B/D,EAAQ20E,8BACVM,EAAUQ,oCAAqC,GAEjDR,EAAU78C,MAAMg9C,GACZp1E,EAAQ20E,8BACVM,EAAUQ,wCAAqCrlF,IAKnDoF,EAAWwK,EACXA,EAAUA,EAAQrM,IACpB,CAKA,IADAqM,EAAUlM,IACDrB,EAAQyiF,EAAYznF,QAGD,SAA1BynF,EAAYziF,GAAO,IAA+C,UAA9ByiF,EAAYziF,EAAQ,GAAG,IAAkByiF,EAAYziF,GAAO,GAAGa,OAAS4hF,EAAYziF,EAAQ,GAAG,GAAGa,MAAQ4hF,EAAYziF,GAAO,GAAGsR,MAAMjR,OAASoiF,EAAYziF,GAAO,GAAGG,IAAIE,OAC3MiR,EAAQtR,EAAQ,EAChB6iF,EAAOplF,KAAK6T,GAEZ/D,EAAQ00E,gBAAatkF,EACrB4P,EAAQxK,cAAWpF,EACnB4P,EAAUA,EAAQrM,MAqBtB,IAhBAshF,EAAUpwC,OAAS,GAKf7kC,GAEFA,EAAQ00E,gBAAatkF,EACrB4P,EAAQxK,cAAWpF,GAEnBklF,EAAOz6C,MAKTpoC,EAAQ6iF,EAAO7nF,OACRgF,KAAS,CACd,MAAMjE,EAAQ0mF,EAAY1mF,MAAM8mF,EAAO7iF,GAAQ6iF,EAAO7iF,EAAQ,IACxDsR,EAAQixE,EAAen6C,MAC7Bw5C,EAAMnkF,KAAK,CAAC6T,EAAOA,EAAQvV,EAAMf,OAAS,IAC1Co3C,EAAOjT,OAAO7tB,EAAO,EAAGvV,EAC1B,CAGA,IAFA6lF,EAAMT,UACNnhF,GAAS,IACAA,EAAQ4hF,EAAM5mF,QACrB0nF,EAAKE,EAAShB,EAAM5hF,GAAO,IAAM4iF,EAAShB,EAAM5hF,GAAO,GACvD4iF,GAAUhB,EAAM5hF,GAAO,GAAK4hF,EAAM5hF,GAAO,GAAK,EAEhD,OAAO0iF,CACT,CClNA,MAAM,GAAiB,CAAC,EAAElmF,eAgC1B,SAASymF,GAAgB9kD,EAAK+kD,GAE5B,IAAIC,EAEJ,IAAKA,KAAQD,EAAW,CACtB,MAEMnnE,GAFQ,GAAetf,KAAK0hC,EAAKglD,GAAQhlD,EAAIglD,QAAQxlF,KAEpCwgC,EAAIglD,GAAQ,CAAC,GAE9BtnE,EAAQqnE,EAAUC,GAExB,IAAIhoF,EAEJ,GAAI0gB,EACF,IAAK1gB,KAAQ0gB,EAAO,CACb,GAAepf,KAAKsf,EAAM5gB,KAAO4gB,EAAK5gB,GAAQ,IACnD,MAAMsE,EAAQoc,EAAM1gB,GACpBioF,GAEErnE,EAAK5gB,GACLN,MAAMC,QAAQ2E,GAASA,EAAQA,EAAQ,CAACA,GAAS,GAErD,CAEJ,CACF,CAaA,SAAS2jF,GAAWC,EAAU/pB,GAC5B,IAAIt5D,GAAS,EAEb,MAAM/C,EAAS,GAEf,OAAS+C,EAAQs5D,EAAKt+D,SAEE,UAApBs+D,EAAKt5D,GAAOw4C,IAAkB6qC,EAAWpmF,GAAQQ,KAAK67D,EAAKt5D,IAG/Dm/B,GAAOkkD,EAAU,EAAG,EAAGpmF,EACzB,CCvEO,MAAMqmF,GAAaC,GAAW,YAcxBC,GAAoBD,GAAW,cAuB/BE,GAAaF,GAAW,uBAa9B,SAASG,GAAavoF,GAC3B,OAGW,OAATA,IAAkBA,EAAO,IAAe,MAATA,EAEnC,CAaO,MAAMwoF,GAAaJ,GAAW,MAoBxBK,GAAgBL,GAAW,cAe3BM,GAAmBN,GAAW,kBAiBpC,SAASO,GAAmB3oF,GACjC,OAAgB,OAATA,GAAiBA,GAAQ,CAClC,CAWO,SAAS4oF,GAA0B5oF,GACxC,OAAgB,OAATA,IAAkBA,EAAO,GAAc,KAATA,EACvC,CAiBO,SAAS6oF,GAAc7oF,GAC5B,OAAiB,IAAVA,IAAyB,IAAVA,GAAwB,KAATA,CACvC,CAuBO,MAAM8oF,GAAqBV,GAAW,gBAsBhCW,GAAoBX,GAAW,MAU5C,SAASA,GAAWrlE,GAClB,OAUA,SAAe/iB,GACb,OAAgB,OAATA,GAAiBA,GAAQ,GAAK+iB,EAAMrR,KAAKvN,OAAOC,aAAapE,GACtE,CACF,CC7MO,SAASgpF,GAAaC,EAASC,EAAIxjF,EAAMkgB,GAC9C,MAAMujE,EAAQvjE,EAAMA,EAAM,EAAIlO,OAAOquE,kBACrC,IAAI19E,EAAO,EACX,OAGA,SAAerI,GACb,GAAI6oF,GAAc7oF,GAEhB,OADAipF,EAAQtzB,MAAMjwD,GACPomB,EAAO9rB,GAEhB,OAAOkpF,EAAGlpF,EACZ,EAGA,SAAS8rB,EAAO9rB,GACd,OAAI6oF,GAAc7oF,IAASqI,IAAS8gF,GAClCF,EAAQG,QAAQppF,GACT8rB,IAETm9D,EAAQI,KAAK3jF,GACNwjF,EAAGlpF,GACZ,CACF,CClDO,MAAM4uC,GAAU,CACrB06C,SASF,SAA2BL,GACzB,MAAMM,EAAeN,EAAQO,QAAQhoF,KAAKgoC,OAAOy+C,WAAWwB,gBAM5D,SAAoCzpF,GAClC,GAAa,OAATA,EAEF,YADAipF,EAAQG,QAAQppF,GAMlB,OAHAipF,EAAQtzB,MAAM,cACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,cACNL,GAAaC,EAASM,EAAc,aAC7C,IAGA,SAA0BvpF,GAExB,OADAipF,EAAQtzB,MAAM,aACP+zB,EAAU1pF,EACnB,IAnBA,IAAI4H,EACJ,OAAO2hF,EAqBP,SAASG,EAAU1pF,GACjB,MAAMkG,EAAQ+iF,EAAQtzB,MAAM,YAAa,CACvCxsB,YAAa,OACbvhC,aAMF,OAJIA,IACFA,EAAS7B,KAAOG,GAElB0B,EAAW1B,EACJg4B,EAAKl+B,EACd,CAGA,SAASk+B,EAAKl+B,GACZ,OAAa,OAATA,GACFipF,EAAQI,KAAK,aACbJ,EAAQI,KAAK,kBACbJ,EAAQG,QAAQppF,IAGd2oF,GAAmB3oF,IACrBipF,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,aACNK,IAITT,EAAQG,QAAQppF,GACTk+B,EACT,CACF,GCvDO,MAAM,GAAW,CACtBorD,SAcF,SAA4BL,GAC1B,MAAMU,EAAOnoF,KAEP6kC,EAAQ,GACd,IAEIujD,EAEAC,EAEAC,EANAC,EAAY,EAOhB,OAAO5zE,EAGP,SAASA,EAAMnW,GAWb,GAAI+pF,EAAY1jD,EAAMxmC,OAAQ,CAC5B,MAAMuU,EAAOiyB,EAAM0jD,GAEnB,OADAJ,EAAKK,eAAiB51E,EAAK,GACpB60E,EAAQO,QAAQp1E,EAAK,GAAG61E,aAAcC,EAAkBC,EAAxDlB,CAA4EjpF,EACrF,CAGA,OAAOmqF,EAAmBnqF,EAC5B,CAGA,SAASkqF,EAAiBlqF,GAMxB,GALA+pF,IAKIJ,EAAKK,eAAeI,WAAY,CAClCT,EAAKK,eAAeI,gBAAa5nF,EAC7BonF,GACFS,IAKF,MAAMC,EAAmBX,EAAK1yC,OAAOp3C,OACrC,IAEI2gF,EAFA+J,EAAkBD,EAKtB,KAAOC,KACL,GAAwC,SAApCZ,EAAK1yC,OAAOszC,GAAiB,IAA0D,cAAzCZ,EAAK1yC,OAAOszC,GAAiB,GAAG7kF,KAAsB,CACtG86E,EAAQmJ,EAAK1yC,OAAOszC,GAAiB,GAAGvlF,IACxC,KACF,CAEFwlF,EAAeT,GAGf,IAAIllF,EAAQylF,EACZ,KAAOzlF,EAAQ8kF,EAAK1yC,OAAOp3C,QACzB8pF,EAAK1yC,OAAOpyC,GAAO,GAAGG,IAAM,IACvBw7E,GAEL37E,IAQF,OAJAm/B,GAAO2lD,EAAK1yC,OAAQszC,EAAkB,EAAG,EAAGZ,EAAK1yC,OAAOr2C,MAAM0pF,IAG9DX,EAAK1yC,OAAOp3C,OAASgF,EACdslF,EAAmBnqF,EAC5B,CACA,OAAOmW,EAAMnW,EACf,CAGA,SAASmqF,EAAmBnqF,GAM1B,GAAI+pF,IAAc1jD,EAAMxmC,OAAQ,CAI9B,IAAK+pF,EACH,OAAOa,EAAkBzqF,GAM3B,GAAI4pF,EAAUc,kBAAoBd,EAAUc,iBAAiBC,SAC3D,OAAOC,EAAU5qF,GAQnB2pF,EAAKkB,UAAYzxC,QAAQwwC,EAAUc,mBAAqBd,EAAUkB,8BACpE,CAIA,OADAnB,EAAKK,eAAiB,CAAC,EAChBf,EAAQxoB,MAAMsqB,GAAoBC,EAAsBC,EAAxDhC,CAA+EjpF,EACxF,CAGA,SAASgrF,EAAqBhrF,GAG5B,OAFI4pF,GAAWS,IACfG,EAAeT,GACRU,EAAkBzqF,EAC3B,CAGA,SAASirF,EAAsBjrF,GAG7B,OAFA2pF,EAAKngD,OAAO0hD,KAAKvB,EAAKz+C,MAAMhmC,MAAQ6kF,IAAc1jD,EAAMxmC,OACxDiqF,EAAkBH,EAAKz+C,MAAMzjC,OACtBmjF,EAAU5qF,EACnB,CAGA,SAASyqF,EAAkBzqF,GAGzB,OADA2pF,EAAKK,eAAiB,CAAC,EAChBf,EAAQO,QAAQuB,GAAoBI,EAAmBP,EAAvD3B,CAAkEjpF,EAC3E,CAGA,SAASmrF,EAAkBnrF,GAIzB,OAHA+pF,IACA1jD,EAAM/jC,KAAK,CAACqnF,EAAKe,iBAAkBf,EAAKK,iBAEjCS,EAAkBzqF,EAC3B,CAGA,SAAS4qF,EAAU5qF,GACjB,OAAa,OAATA,GACE4pF,GAAWS,IACfG,EAAe,QACfvB,EAAQG,QAAQppF,KAGlB4pF,EAAYA,GAAaD,EAAKngD,OAAO4hD,KAAKzB,EAAKz+C,OAC/C+9C,EAAQtzB,MAAM,YAAa,CACzBmxB,WAAY8C,EACZzgD,YAAa,OACbvhC,SAAUiiF,IAELwB,EAAarrF,GACtB,CAGA,SAASqrF,EAAarrF,GACpB,OAAa,OAATA,GACFsrF,EAAarC,EAAQI,KAAK,cAAc,GACxCmB,EAAe,QACfvB,EAAQG,QAAQppF,IAGd2oF,GAAmB3oF,IACrBipF,EAAQG,QAAQppF,GAChBsrF,EAAarC,EAAQI,KAAK,cAE1BU,EAAY,EACZJ,EAAKkB,eAAYroF,EACV2T,IAET8yE,EAAQG,QAAQppF,GACTqrF,EACT,CAUA,SAASC,EAAaplF,EAAOqlF,GAC3B,MAAM/D,EAASmC,EAAKhC,YAAYzhF,GAyChC,GAxCIqlF,GAAW/D,EAAOllF,KAAK,MAC3B4D,EAAM0B,SAAWiiF,EACbA,IAAYA,EAAW9jF,KAAOG,GAClC2jF,EAAa3jF,EACb0jF,EAAUhC,WAAW1hF,EAAMiQ,OAC3ByzE,EAAUp/C,MAAMg9C,GAmCZmC,EAAKngD,OAAO0hD,KAAKhlF,EAAMiQ,MAAMjR,MAAO,CACtC,IAAIL,EAAQ+kF,EAAU3yC,OAAOp3C,OAC7B,KAAOgF,KACL,GAEA+kF,EAAU3yC,OAAOpyC,GAAO,GAAGsR,MAAM1O,OAASqiF,KAEzCF,EAAU3yC,OAAOpyC,GAAO,GAAGG,KAE5B4kF,EAAU3yC,OAAOpyC,GAAO,GAAGG,IAAIyC,OAASqiF,GAGtC,OAMJ,MAAMQ,EAAmBX,EAAK1yC,OAAOp3C,OACrC,IAEI2rF,EAEAhL,EAJA+J,EAAkBD,EAOtB,KAAOC,KACL,GAAwC,SAApCZ,EAAK1yC,OAAOszC,GAAiB,IAA0D,cAAzCZ,EAAK1yC,OAAOszC,GAAiB,GAAG7kF,KAAsB,CACtG,GAAI8lF,EAAM,CACRhL,EAAQmJ,EAAK1yC,OAAOszC,GAAiB,GAAGvlF,IACxC,KACF,CACAwmF,GAAO,CACT,CAMF,IAJAhB,EAAeT,GAGfllF,EAAQylF,EACDzlF,EAAQ8kF,EAAK1yC,OAAOp3C,QACzB8pF,EAAK1yC,OAAOpyC,GAAO,GAAGG,IAAM,IACvBw7E,GAEL37E,IAIFm/B,GAAO2lD,EAAK1yC,OAAQszC,EAAkB,EAAG,EAAGZ,EAAK1yC,OAAOr2C,MAAM0pF,IAG9DX,EAAK1yC,OAAOp3C,OAASgF,CACvB,CACF,CAQA,SAAS2lF,EAAeniF,GACtB,IAAIxD,EAAQwhC,EAAMxmC,OAGlB,KAAOgF,KAAUwD,GAAM,CACrB,MAAM+jB,EAAQia,EAAMxhC,GACpB8kF,EAAKK,eAAiB59D,EAAM,GAC5BA,EAAM,GAAGi9D,KAAK/nF,KAAKqoF,EAAMV,EAC3B,CACA5iD,EAAMxmC,OAASwI,CACjB,CACA,SAASgiF,IACPT,EAAUp/C,MAAM,CAAC,OACjBq/C,OAAarnF,EACbonF,OAAYpnF,EACZmnF,EAAKK,eAAeI,gBAAa5nF,CACnC,CACF,GAjUMuoF,GAAqB,CACzBzB,SAwUF,SAA2BL,EAASC,EAAIuC,GAGtC,OAAOzC,GAAaC,EAASA,EAAQO,QAAQhoF,KAAKgoC,OAAOy+C,WAAWhlF,SAAUimF,EAAIuC,GAAM,aAAcjqF,KAAKgoC,OAAOy+C,WAAWyD,QAAQC,KAAK9zE,SAAS,qBAAkBrV,EAAY,EACnL,GC7VO,MAAMopF,GAAY,CACvBC,SAAS,EACTvC,SAQF,SAA2BL,EAASC,EAAIuC,GACtC,OAgBA,SAAezrF,GACb,OAAO6oF,GAAc7oF,GAAQgpF,GAAaC,EAASl+B,EAAO,aAA7Bi+B,CAA2ChpF,GAAQ+qD,EAAM/qD,EACxF,EAgBA,SAAS+qD,EAAM/qD,GACb,OAAgB,OAATA,GAAiB2oF,GAAmB3oF,GAAQkpF,EAAGlpF,GAAQyrF,EAAIzrF,EACpE,CACF,GC1CO,MAAM,GAAU,CACrB89B,QAgBF,SAAwBmZ,GAEtB,OADAsvC,GAAYtvC,GACLA,CACT,EAlBEqyC,SAyBF,SAAyBL,EAASC,GAEhC,IAAIthF,EACJ,OAYA,SAAoB5H,GAKlB,OAJAipF,EAAQtzB,MAAM,WACd/tD,EAAWqhF,EAAQtzB,MAAM,eAAgB,CACvCxsB,YAAa,YAER2iD,EAAY9rF,EACrB,EAYA,SAAS8rF,EAAY9rF,GACnB,OAAa,OAATA,EACK+rF,EAAW/rF,GAKhB2oF,GAAmB3oF,GACdipF,EAAQxoB,MAAMurB,GAAuBC,EAAiBF,EAAtD9C,CAAkEjpF,IAI3EipF,EAAQG,QAAQppF,GACT8rF,EACT,CAOA,SAASC,EAAW/rF,GAGlB,OAFAipF,EAAQI,KAAK,gBACbJ,EAAQI,KAAK,WACNH,EAAGlpF,EACZ,CAOA,SAASisF,EAAgBjsF,GAQvB,OAPAipF,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,gBACbzhF,EAAS7B,KAAOkjF,EAAQtzB,MAAM,eAAgB,CAC5CxsB,YAAa,UACbvhC,aAEFA,EAAWA,EAAS7B,KACb+lF,CACT,CACF,GAhGME,GAAwB,CAC5BH,SAAS,EACTvC,SAqGF,SAA8BL,EAASC,EAAIuC,GACzC,MAAM9B,EAAOnoF,KACb,OAOA,SAAwBxB,GAKtB,OAJAipF,EAAQI,KAAK,gBACbJ,EAAQtzB,MAAM,cACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,cACNL,GAAaC,EAASiD,EAAU,aACzC,EAOA,SAASA,EAASlsF,GAChB,GAAa,OAATA,GAAiB2oF,GAAmB3oF,GACtC,OAAOyrF,EAAIzrF,GAKb,MAAMmsF,EAAOxC,EAAK1yC,OAAO0yC,EAAK1yC,OAAOp3C,OAAS,GAC9C,OAAK8pF,EAAKngD,OAAOy+C,WAAWyD,QAAQC,KAAK9zE,SAAS,iBAAmBs0E,GAAyB,eAAjBA,EAAK,GAAGzmF,MAAyBymF,EAAK,GAAGC,eAAeD,EAAK,IAAI,GAAMtsF,QAAU,EACrJqpF,EAAGlpF,GAELipF,EAAQ4B,UAAUlB,EAAKngD,OAAOy+C,WAAWmD,KAAMK,EAAKvC,EAApDD,CAAwDjpF,EACjE,CACF,GCrJO,MAAMorF,GAAO,CAClB9B,SASF,SAAwBL,GACtB,MAAMU,EAAOnoF,KACPokF,EAAUqD,EAAQO,QAExBoC,IAMA,SAAuB5rF,GACrB,GAAa,OAATA,EAEF,YADAipF,EAAQG,QAAQppF,GAOlB,OAJAipF,EAAQtzB,MAAM,mBACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,mBACbM,EAAKe,sBAAmBloF,EACjBojF,CACT,GAdAqD,EAAQO,QAAQhoF,KAAKgoC,OAAOy+C,WAAWoE,YAAaC,EAAgBtD,GAAaC,EAASA,EAAQO,QAAQhoF,KAAKgoC,OAAOy+C,WAAWmD,KAAMkB,EAAgBrD,EAAQO,QAAQ,GAAS8C,IAAkB,gBAClM,OAAO1G,EAgBP,SAAS0G,EAAetsF,GACtB,GAAa,OAATA,EAQJ,OAJAipF,EAAQtzB,MAAM,cACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,cACbM,EAAKe,sBAAmBloF,EACjBojF,EAPLqD,EAAQG,QAAQppF,EAQpB,CACF,GC9CO,MAAMusF,GAAW,CACtBC,WAAYC,MAEDjsF,GAASksF,GAAkB,UAC3B,GAAOA,GAAkB,QAQtC,SAASA,GAAkB1gE,GACzB,MAAO,CACLwgE,WAAYC,GAAyB,SAAVzgE,EAAmB2gE,QAAyBnqF,GACvE8mF,SAQF,SAAwBL,GACtB,MAAMU,EAAOnoF,KACPymF,EAAazmF,KAAKgoC,OAAOy+C,WAAWj8D,GACpCzD,EAAO0gE,EAAQO,QAAQvB,EAAY9xE,EAAOy2E,GAChD,OAAOz2E,EAGP,SAASA,EAAMnW,GACb,OAAO6sF,EAAQ7sF,GAAQuoB,EAAKvoB,GAAQ4sF,EAAQ5sF,EAC9C,CAGA,SAAS4sF,EAAQ5sF,GACf,GAAa,OAATA,EAMJ,OAFAipF,EAAQtzB,MAAM,QACdszB,EAAQG,QAAQppF,GACTk+B,EALL+qD,EAAQG,QAAQppF,EAMpB,CAGA,SAASk+B,EAAKl+B,GACZ,OAAI6sF,EAAQ7sF,IACVipF,EAAQI,KAAK,QACN9gE,EAAKvoB,KAIdipF,EAAQG,QAAQppF,GACTk+B,EACT,CAQA,SAAS2uD,EAAQ7sF,GACf,GAAa,OAATA,EACF,OAAO,EAET,MAAMm+D,EAAO8pB,EAAWjoF,GACxB,IAAI6E,GAAS,EACb,GAAIs5D,EAGF,OAASt5D,EAAQs5D,EAAKt+D,QAAQ,CAC5B,MAAMuU,EAAO+pD,EAAKt5D,GAClB,IAAKuP,EAAKxM,UAAYwM,EAAKxM,SAAStG,KAAKqoF,EAAMA,EAAK/hF,UAClD,OAAO,CAEX,CAEF,OAAO,CACT,CACF,EACF,CAQA,SAAS6kF,GAAeK,GACtB,OAGA,SAAwB71C,EAAQ1U,GAC9B,IAEIozB,EAFA9wD,GAAS,EAMb,OAASA,GAASoyC,EAAOp3C,aACT2C,IAAVmzD,EACE1e,EAAOpyC,IAAoC,SAA1BoyC,EAAOpyC,GAAO,GAAGa,OACpCiwD,EAAQ9wD,EACRA,KAEQoyC,EAAOpyC,IAAoC,SAA1BoyC,EAAOpyC,GAAO,GAAGa,OAExCb,IAAU8wD,EAAQ,IACpB1e,EAAO0e,GAAO,GAAG3wD,IAAMiyC,EAAOpyC,EAAQ,GAAG,GAAGG,IAC5CiyC,EAAOjT,OAAO2xB,EAAQ,EAAG9wD,EAAQ8wD,EAAQ,GACzC9wD,EAAQ8wD,EAAQ,GAElBA,OAAQnzD,GAGZ,OAAOsqF,EAAgBA,EAAc71C,EAAQ1U,GAAW0U,CAC1D,CACF,CAaA,SAAS01C,GAAuB11C,EAAQ1U,GACtC,IAAI2kD,EAAa,EAEjB,OAASA,GAAcjwC,EAAOp3C,QAC5B,IAAKqnF,IAAejwC,EAAOp3C,QAAyC,eAA/Bo3C,EAAOiwC,GAAY,GAAGxhF,OAA6D,SAAnCuxC,EAAOiwC,EAAa,GAAG,GAAGxhF,KAAiB,CAC9H,MAAMw4B,EAAO+Y,EAAOiwC,EAAa,GAAG,GAC9B6F,EAASxqD,EAAQolD,YAAYzpD,GACnC,IAII8uD,EAJAnoF,EAAQkoF,EAAOltF,OACfotF,GAAe,EACf5kF,EAAO,EAGX,KAAOxD,KAAS,CACd,MAAMqoF,EAAQH,EAAOloF,GACrB,GAAqB,iBAAVqoF,EAAoB,CAE7B,IADAD,EAAcC,EAAMrtF,OACyB,KAAtCqtF,EAAMpoF,WAAWmoF,EAAc,IACpC5kF,IACA4kF,IAEF,GAAIA,EAAa,MACjBA,GAAe,CACjB,MAEK,IAAe,IAAXC,EACPF,GAAO,EACP3kF,SACK,IAAe,IAAX6kF,EAEJ,CAELroF,IACA,KACF,CACF,CACA,GAAIwD,EAAM,CACR,MAAMnC,EAAQ,CACZR,KAAMwhF,IAAejwC,EAAOp3C,QAAUmtF,GAAQ3kF,EAAO,EAAI,aAAe,oBACxE8N,MAAO,CACLg3E,aAActoF,EAAQooF,EAAc/uD,EAAK/nB,MAAMg3E,aAAeF,EAC9DG,OAAQlvD,EAAK/nB,MAAMi3E,OAASvoF,EAC5BK,KAAMg5B,EAAKl5B,IAAIE,KACfC,OAAQ+4B,EAAKl5B,IAAIG,OAASkD,EAC1BZ,OAAQy2B,EAAKl5B,IAAIyC,OAASY,GAE5BrD,IAAK,IACAk5B,EAAKl5B,MAGZk5B,EAAKl5B,IAAM,IACNkB,EAAMiQ,OAEP+nB,EAAK/nB,MAAM1O,SAAWy2B,EAAKl5B,IAAIyC,OACjC5G,OAAOC,OAAOo9B,EAAMh4B,IAEpB+wC,EAAOjT,OAAOkjD,EAAY,EAAG,CAAC,QAAShhF,EAAOq8B,GAAU,CAAC,OAAQr8B,EAAOq8B,IACxE2kD,GAAc,EAElB,CACAA,GACF,CAEF,OAAOjwC,CACT,CCjMO,MAAMo2C,GAAgB,CAC3BriF,KAAM,gBACNs+E,SAQF,SAA+BL,EAASC,EAAIuC,GAC1C,IAEInlE,EAFAje,EAAO,EAGX,OAYA,SAAerI,GAGb,OAFAipF,EAAQtzB,MAAM,iBAehB,SAAgB31D,GAEd,OADAsmB,EAAStmB,EACF6sF,EAAQ7sF,EACjB,CAhBS8B,CAAO9B,EAChB,EA2BA,SAAS6sF,EAAQ7sF,GACf,OAAIA,IAASsmB,GACX2iE,EAAQtzB,MAAM,yBACP23B,EAASttF,IAEdqI,GAAQ,IAAe,OAATrI,GAAiB2oF,GAAmB3oF,KACpDipF,EAAQI,KAAK,iBACNH,EAAGlpF,IAELyrF,EAAIzrF,EACb,CAYA,SAASstF,EAASttF,GAChB,OAAIA,IAASsmB,GACX2iE,EAAQG,QAAQppF,GAChBqI,IACOilF,IAETrE,EAAQI,KAAK,yBACNR,GAAc7oF,GAAQgpF,GAAaC,EAAS4D,EAAS,aAA/B7D,CAA6ChpF,GAAQ6sF,EAAQ7sF,GAC5F,CACF,GCpFO,MAAMm+D,GAAO,CAClB8rB,aAAc,CACZX,SAiHJ,SAAkCL,EAASC,EAAIuC,GAC7C,MAAM9B,EAAOnoF,KAEb,OADAmoF,EAAKK,eAAeI,gBAAa5nF,EAC1BymF,EAAQxoB,MAAMmrB,GAAW2B,EAASC,GAGzC,SAASD,EAAQvtF,GAKf,OAJA2pF,EAAKK,eAAeyD,kBAAoB9D,EAAKK,eAAeyD,mBAAqB9D,EAAKK,eAAe0D,iBAI9F1E,GAAaC,EAASC,EAAI,iBAAkBS,EAAKK,eAAe3hF,KAAO,EAAvE2gF,CAA0EhpF,EACnF,CAGA,SAASwtF,EAASxtF,GAChB,OAAI2pF,EAAKK,eAAeyD,oBAAsB5E,GAAc7oF,IAC1D2pF,EAAKK,eAAeyD,uBAAoBjrF,EACxCmnF,EAAKK,eAAe0D,sBAAmBlrF,EAChCmrF,EAAiB3tF,KAE1B2pF,EAAKK,eAAeyD,uBAAoBjrF,EACxCmnF,EAAKK,eAAe0D,sBAAmBlrF,EAChCymF,EAAQO,QAAQoE,GAAiB1E,EAAIyE,EAArC1E,CAAuDjpF,GAChE,CAGA,SAAS2tF,EAAiB3tF,GAOxB,OALA2pF,EAAKK,eAAeI,YAAa,EAEjCT,EAAKkB,eAAYroF,EAGVwmF,GAAaC,EAASA,EAAQO,QAAQrrB,GAAM+qB,EAAIuC,GAAM,aAAc9B,EAAKngD,OAAOy+C,WAAWyD,QAAQC,KAAK9zE,SAAS,qBAAkBrV,EAAY,EAA/IwmF,CAAkJhpF,EAC3J,CACF,GAnJEqpF,KA0KF,SAAyBJ,GACvBA,EAAQI,KAAK7nF,KAAKwoF,eAAetkF,KACnC,EA3KEsF,KAAM,OACNs+E,SAuBF,SAA2BL,EAASC,EAAIuC,GACtC,MAAM9B,EAAOnoF,KACP2qF,EAAOxC,EAAK1yC,OAAO0yC,EAAK1yC,OAAOp3C,OAAS,GAC9C,IAAIguF,EAAc1B,GAAyB,eAAjBA,EAAK,GAAGzmF,KAAwBymF,EAAK,GAAGC,eAAeD,EAAK,IAAI,GAAMtsF,OAAS,EACrGwI,EAAO,EACX,OAGA,SAAerI,GACb,MAAMioE,EAAO0hB,EAAKK,eAAetkF,OAAkB,KAAT1F,GAAwB,KAATA,GAAwB,KAATA,EAAc,gBAAkB,eACxG,GAAa,kBAATioE,GAA4B0hB,EAAKK,eAAe1jE,QAAUtmB,IAAS2pF,EAAKK,eAAe1jE,OAASkiE,GAAWxoF,GAAO,CAOpH,GANK2pF,EAAKK,eAAetkF,OACvBikF,EAAKK,eAAetkF,KAAOuiE,EAC3BghB,EAAQtzB,MAAMsS,EAAM,CAClBgf,YAAY,KAGH,kBAAThf,EAEF,OADAghB,EAAQtzB,MAAM,kBACE,KAAT31D,GAAwB,KAATA,EAAcipF,EAAQxoB,MAAM4sB,GAAe5B,EAAKqC,EAAlC7E,CAA4CjpF,GAAQ8tF,EAAS9tF,GAEnG,IAAK2pF,EAAKkB,WAAsB,KAAT7qF,EAGrB,OAFAipF,EAAQtzB,MAAM,kBACdszB,EAAQtzB,MAAM,iBACPo4B,EAAO/tF,EAElB,CACA,OAAOyrF,EAAIzrF,EACb,EAGA,SAAS+tF,EAAO/tF,GACd,OAAIwoF,GAAWxoF,MAAWqI,EAAO,IAC/B4gF,EAAQG,QAAQppF,GACT+tF,KAEHpE,EAAKkB,WAAaxiF,EAAO,KAAOshF,EAAKK,eAAe1jE,OAAStmB,IAAS2pF,EAAKK,eAAe1jE,OAAkB,KAATtmB,GAAwB,KAATA,IACtHipF,EAAQI,KAAK,iBACNyE,EAAS9tF,IAEXyrF,EAAIzrF,EACb,CAKA,SAAS8tF,EAAS9tF,GAKhB,OAJAipF,EAAQtzB,MAAM,kBACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,kBACbM,EAAKK,eAAe1jE,OAASqjE,EAAKK,eAAe1jE,QAAUtmB,EACpDipF,EAAQxoB,MAAMmrB,GAErBjC,EAAKkB,UAAYY,EAAM8B,EAAStE,EAAQO,QAAQwE,GAAmCC,EAAaC,GAClG,CAGA,SAASX,EAAQvtF,GAGf,OAFA2pF,EAAKK,eAAe0D,kBAAmB,EACvCG,IACOI,EAAYjuF,EACrB,CAGA,SAASkuF,EAAYluF,GACnB,OAAI6oF,GAAc7oF,IAChBipF,EAAQtzB,MAAM,4BACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,4BACN4E,GAEFxC,EAAIzrF,EACb,CAGA,SAASiuF,EAAYjuF,GAEnB,OADA2pF,EAAKK,eAAe3hF,KAAOwlF,EAAclE,EAAKyC,eAAenD,EAAQI,KAAK,mBAAmB,GAAMxpF,OAC5FqpF,EAAGlpF,EACZ,CACF,GAlGMguF,GAAoC,CACxCnC,SAAS,EACTvC,SA2KF,SAA0CL,EAASC,EAAIuC,GACrD,MAAM9B,EAAOnoF,KAIb,OAAOwnF,GAAaC,GAGpB,SAAqBjpF,GACnB,MAAMmsF,EAAOxC,EAAK1yC,OAAO0yC,EAAK1yC,OAAOp3C,OAAS,GAC9C,OAAQgpF,GAAc7oF,IAASmsF,GAAyB,6BAAjBA,EAAK,GAAGzmF,KAAsCwjF,EAAGlpF,GAAQyrF,EAAIzrF,EACtG,GAN0C,2BAA4B2pF,EAAKngD,OAAOy+C,WAAWyD,QAAQC,KAAK9zE,SAAS,qBAAkBrV,EAAY,EAOnJ,GAnLMorF,GAAkB,CACtB/B,SAAS,EACTvC,SA4IF,SAAwBL,EAASC,EAAIuC,GACnC,MAAM9B,EAAOnoF,KACb,OAAOwnF,GAAaC,GAGpB,SAAqBjpF,GACnB,MAAMmsF,EAAOxC,EAAK1yC,OAAO0yC,EAAK1yC,OAAOp3C,OAAS,GAC9C,OAAOssF,GAAyB,mBAAjBA,EAAK,GAAGzmF,MAA6BymF,EAAK,GAAGC,eAAeD,EAAK,IAAI,GAAMtsF,SAAW8pF,EAAKK,eAAe3hF,KAAO6gF,EAAGlpF,GAAQyrF,EAAIzrF,EACjJ,GAN0C,iBAAkB2pF,EAAKK,eAAe3hF,KAAO,EAOzF,GC3KO,MAAM8lF,GAAa,CACxBlE,aAAc,CACZX,SAgFJ,SAAwCL,EAASC,EAAIuC,GACnD,MAAM9B,EAAOnoF,KACb,OAeA,SAAmBxB,GACjB,GAAI6oF,GAAc7oF,GAGhB,OAAOgpF,GAAaC,EAASmF,EAAY,aAAczE,EAAKngD,OAAOy+C,WAAWyD,QAAQC,KAAK9zE,SAAS,qBAAkBrV,EAAY,EAA3HwmF,CAA8HhpF,GAEvI,OAAOouF,EAAWpuF,EACpB,EAeA,SAASouF,EAAWpuF,GAClB,OAAOipF,EAAQO,QAAQ2E,GAAYjF,EAAIuC,EAAhCxC,CAAqCjpF,EAC9C,CACF,GAxHEqpF,KA2HF,SAAcJ,GACZA,EAAQI,KAAK,aACf,EA5HEr+E,KAAM,aACNs+E,SAQF,SAAiCL,EAASC,EAAIuC,GAC5C,MAAM9B,EAAOnoF,KACb,OAYA,SAAexB,GACb,GAAa,KAATA,EAAa,CACf,MAAMuiF,EAAQoH,EAAKK,eAWnB,OAVKzH,EAAMtnD,OACTguD,EAAQtzB,MAAM,aAAc,CAC1BsxB,YAAY,IAEd1E,EAAMtnD,MAAO,GAEfguD,EAAQtzB,MAAM,oBACdszB,EAAQtzB,MAAM,oBACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,oBACNt+B,CACT,CACA,OAAO0gC,EAAIzrF,EACb,EAYA,SAAS+qD,EAAM/qD,GACb,OAAI6oF,GAAc7oF,IAChBipF,EAAQtzB,MAAM,8BACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,8BACbJ,EAAQI,KAAK,oBACNH,IAETD,EAAQI,KAAK,oBACNH,EAAGlpF,GACZ,CACF,GCtCO,SAASquF,GAAmBpF,EAASC,EAAIuC,EAAK/lF,EAAM4oF,EAAaC,EAAmBC,EAASC,EAAY7oE,GAC9G,MAAMujE,EAAQvjE,GAAOlO,OAAOquE,kBAC5B,IAAI2I,EAAU,EACd,OAcA,SAAe1uF,GACb,GAAa,KAATA,EAMF,OALAipF,EAAQtzB,MAAMjwD,GACdujF,EAAQtzB,MAAM24B,GACdrF,EAAQtzB,MAAM44B,GACdtF,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAKkF,GACNI,EAIT,GAAa,OAAT3uF,GAA0B,KAATA,GAAwB,KAATA,GAAeuoF,GAAavoF,GAC9D,OAAOyrF,EAAIzrF,GAQb,OANAipF,EAAQtzB,MAAMjwD,GACdujF,EAAQtzB,MAAM64B,GACdvF,EAAQtzB,MAAM84B,GACdxF,EAAQtzB,MAAM,cAAe,CAC3BxsB,YAAa,WAER/4B,EAAIpQ,EACb,EAYA,SAAS2uF,EAAe3uF,GACtB,OAAa,KAATA,GACFipF,EAAQtzB,MAAM44B,GACdtF,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAKkF,GACbtF,EAAQI,KAAKiF,GACbrF,EAAQI,KAAK3jF,GACNwjF,IAETD,EAAQtzB,MAAM84B,GACdxF,EAAQtzB,MAAM,cAAe,CAC3BxsB,YAAa,WAERylD,EAAS5uF,GAClB,CAYA,SAAS4uF,EAAS5uF,GAChB,OAAa,KAATA,GACFipF,EAAQI,KAAK,eACbJ,EAAQI,KAAKoF,GACNE,EAAe3uF,IAEX,OAATA,GAA0B,KAATA,GAAe2oF,GAAmB3oF,GAC9CyrF,EAAIzrF,IAEbipF,EAAQG,QAAQppF,GACA,KAATA,EAAc6uF,EAAiBD,EACxC,CAYA,SAASC,EAAe7uF,GACtB,OAAa,KAATA,GAAwB,KAATA,GAAwB,KAATA,GAChCipF,EAAQG,QAAQppF,GACT4uF,GAEFA,EAAS5uF,EAClB,CAYA,SAASoQ,EAAIpQ,GACX,OAAK0uF,GAAqB,OAAT1uF,GAA0B,KAATA,IAAe4oF,GAA0B5oF,GAOvE0uF,EAAUvF,GAAkB,KAATnpF,GACrBipF,EAAQG,QAAQppF,GAChB0uF,IACOt+E,GAEI,KAATpQ,GACFipF,EAAQG,QAAQppF,GAChB0uF,IACOt+E,GAMI,OAATpQ,GAA0B,KAATA,GAAwB,KAATA,GAAeuoF,GAAavoF,GACvDyrF,EAAIzrF,IAEbipF,EAAQG,QAAQppF,GACA,KAATA,EAAc8uF,EAAY1+E,IAxB/B64E,EAAQI,KAAK,eACbJ,EAAQI,KAAKoF,GACbxF,EAAQI,KAAKmF,GACbvF,EAAQI,KAAK3jF,GACNwjF,EAAGlpF,GAqBd,CAYA,SAAS8uF,EAAU9uF,GACjB,OAAa,KAATA,GAAwB,KAATA,GAAwB,KAATA,GAChCipF,EAAQG,QAAQppF,GACToQ,GAEFA,EAAIpQ,EACb,CACF,CCpKO,SAAS+uF,GAAa9F,EAASC,EAAIuC,EAAK/lF,EAAMspF,EAAYP,GAC/D,MAAM9E,EAAOnoF,KACb,IAEIgqF,EAFAnjF,EAAO,EAGX,OAYA,SAAerI,GAMb,OALAipF,EAAQtzB,MAAMjwD,GACdujF,EAAQtzB,MAAMq5B,GACd/F,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK2F,GACb/F,EAAQtzB,MAAM84B,GACP5B,CACT,EAYA,SAASA,EAAQ7sF,GACf,OAAIqI,EAAO,KAAgB,OAATrI,GAA0B,KAATA,GAAwB,KAATA,IAAgBwrF,GAMzD,KAATxrF,IAAgBqI,GAAQ,2BAA4BshF,EAAKngD,OAAOy+C,WACvDwD,EAAIzrF,GAEA,KAATA,GACFipF,EAAQI,KAAKoF,GACbxF,EAAQtzB,MAAMq5B,GACd/F,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK2F,GACb/F,EAAQI,KAAK3jF,GACNwjF,GAILP,GAAmB3oF,IACrBipF,EAAQtzB,MAAM,cACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,cACNwD,IAET5D,EAAQtzB,MAAM,cAAe,CAC3BxsB,YAAa,WAER8lD,EAAYjvF,GACrB,CAYA,SAASivF,EAAYjvF,GACnB,OAAa,OAATA,GAA0B,KAATA,GAAwB,KAATA,GAAe2oF,GAAmB3oF,IAASqI,IAAS,KACtF4gF,EAAQI,KAAK,eACNwD,EAAQ7sF,KAEjBipF,EAAQG,QAAQppF,GACXwrF,IAAMA,GAAQ3C,GAAc7oF,IACjB,KAATA,EAAckvF,EAAcD,EACrC,CAYA,SAASC,EAAYlvF,GACnB,OAAa,KAATA,GAAwB,KAATA,GAAwB,KAATA,GAChCipF,EAAQG,QAAQppF,GAChBqI,IACO4mF,GAEFA,EAAYjvF,EACrB,CACF,CCzGO,SAASmvF,GAAalG,EAASC,EAAIuC,EAAK/lF,EAAMspF,EAAYP,GAE/D,IAAInoE,EACJ,OAYA,SAAetmB,GACb,GAAa,KAATA,GAAwB,KAATA,GAAwB,KAATA,EAMhC,OALAipF,EAAQtzB,MAAMjwD,GACdujF,EAAQtzB,MAAMq5B,GACd/F,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK2F,GACb1oE,EAAkB,KAATtmB,EAAc,GAAKA,EACrB+E,EAET,OAAO0mF,EAAIzrF,EACb,EAcA,SAAS+E,EAAM/E,GACb,OAAIA,IAASsmB,GACX2iE,EAAQtzB,MAAMq5B,GACd/F,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK2F,GACb/F,EAAQI,KAAK3jF,GACNwjF,IAETD,EAAQtzB,MAAM84B,GACP5B,EAAQ7sF,GACjB,CAYA,SAAS6sF,EAAQ7sF,GACf,OAAIA,IAASsmB,GACX2iE,EAAQI,KAAKoF,GACN1pF,EAAMuhB,IAEF,OAATtmB,EACKyrF,EAAIzrF,GAIT2oF,GAAmB3oF,IAErBipF,EAAQtzB,MAAM,cACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,cACNL,GAAaC,EAAS4D,EAAS,gBAExC5D,EAAQtzB,MAAM,cAAe,CAC3BxsB,YAAa,WAER4kD,EAAO/tF,GAChB,CAOA,SAAS+tF,EAAO/tF,GACd,OAAIA,IAASsmB,GAAmB,OAATtmB,GAAiB2oF,GAAmB3oF,IACzDipF,EAAQI,KAAK,eACNwD,EAAQ7sF,KAEjBipF,EAAQG,QAAQppF,GACA,KAATA,EAAcovF,EAASrB,EAChC,CAYA,SAASqB,EAAOpvF,GACd,OAAIA,IAASsmB,GAAmB,KAATtmB,GACrBipF,EAAQG,QAAQppF,GACT+tF,GAEFA,EAAO/tF,EAChB,CACF,CCrIO,SAASqvF,GAAkBpG,EAASC,GAEzC,IAAIsC,EACJ,OAGA,SAASr1E,EAAMnW,GACb,GAAI2oF,GAAmB3oF,GAKrB,OAJAipF,EAAQtzB,MAAM,cACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,cACbmC,GAAO,EACAr1E,EAET,GAAI0yE,GAAc7oF,GAChB,OAAOgpF,GAAaC,EAAS9yE,EAAOq1E,EAAO,aAAe,aAAnDxC,CAAiEhpF,GAE1E,OAAOkpF,EAAGlpF,EACZ,CACF,CCxBO,SAASsvF,GAAoBhrF,GAClC,OAAOA,EAENG,QAAQ,cAAe,KAEvBA,QAAQ,SAAU,IAOlBkK,cAAchO,aACjB,CCfO,MAAMggE,GAAa,CACxB31D,KAAM,aACNs+E,SAcF,SAA4BL,EAASC,EAAIuC,GACvC,MAAM9B,EAAOnoF,KAEb,IAAImF,EACJ,OAYA,SAAe3G,GAKb,OADAipF,EAAQtzB,MAAM,cAchB,SAAgB31D,GAGd,OAAO+uF,GAAaztF,KAAKqoF,EAAMV,EAASsG,EAExC9D,EAAK,kBAAmB,wBAAyB,wBAF1CsD,CAEmE/uF,EAC5E,CAnBS8B,CAAO9B,EAChB,EA8BA,SAASuvF,EAAWvvF,GAElB,OADA2G,EAAa2oF,GAAoB3F,EAAKyC,eAAezC,EAAK1yC,OAAO0yC,EAAK1yC,OAAOp3C,OAAS,GAAG,IAAIe,MAAM,GAAI,IAC1F,KAATZ,GACFipF,EAAQtzB,MAAM,oBACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,oBACNmG,GAEF/D,EAAIzrF,EACb,CAYA,SAASwvF,EAAYxvF,GAEnB,OAAO4oF,GAA0B5oF,GAAQqvF,GAAkBpG,EAASwG,EAA3BJ,CAA8CrvF,GAAQyvF,EAAkBzvF,EACnH,CAYA,SAASyvF,EAAkBzvF,GACzB,OAAOquF,GAAmBpF,EAASyG,EAEnCjE,EAAK,wBAAyB,+BAAgC,qCAAsC,2BAA4B,8BAFzH4C,CAEwJruF,EACjK,CAYA,SAAS0vF,EAAiB1vF,GACxB,OAAOipF,EAAQO,QAAQmG,GAAa5kC,EAAOA,EAApCk+B,CAA2CjpF,EACpD,CAcA,SAAS+qD,EAAM/qD,GACb,OAAO6oF,GAAc7oF,GAAQgpF,GAAaC,EAAS2G,EAAiB,aAAvC5G,CAAqDhpF,GAAQ4vF,EAAgB5vF,EAC5G,CAcA,SAAS4vF,EAAgB5vF,GACvB,OAAa,OAATA,GAAiB2oF,GAAmB3oF,IACtCipF,EAAQI,KAAK,cAKbM,EAAKngD,OAAOy2B,QAAQ39D,KAAKqE,GAKlBuiF,EAAGlpF,IAELyrF,EAAIzrF,EACb,CACF,GAlKM2vF,GAAc,CAClB9D,SAAS,EACTvC,SAuKF,SAA6BL,EAASC,EAAIuC,GACxC,OAcA,SAAqBzrF,GACnB,OAAO4oF,GAA0B5oF,GAAQqvF,GAAkBpG,EAAS4G,EAA3BR,CAAyCrvF,GAAQyrF,EAAIzrF,EAChG,EAaA,SAAS6vF,EAAa7vF,GACpB,OAAOmvF,GAAalG,EAAS6G,EAAYrE,EAAK,kBAAmB,wBAAyB,wBAAnF0D,CAA4GnvF,EACrH,CAYA,SAAS8vF,EAAW9vF,GAClB,OAAO6oF,GAAc7oF,GAAQgpF,GAAaC,EAAS8G,EAA8B,aAApD/G,CAAkEhpF,GAAQ+vF,EAA6B/vF,EACtI,CAYA,SAAS+vF,EAA6B/vF,GACpC,OAAgB,OAATA,GAAiB2oF,GAAmB3oF,GAAQkpF,EAAGlpF,GAAQyrF,EAAIzrF,EACpE,CACF,GCjPO,MAAMgwF,GAAe,CAC1BhlF,KAAM,eACNs+E,SAcF,SAA8BL,EAASC,EAAIuC,GACzC,MAAM9B,EAAOnoF,KACb,OAgBA,SAAexB,GAMb,OAHAipF,EAAQtzB,MAAM,gBAGPqzB,GAAaC,EAASgH,EAAa,aAAc,EAAjDjH,CAAwDhpF,EACjE,EAYA,SAASiwF,EAAYjwF,GACnB,MAAMmsF,EAAOxC,EAAK1yC,OAAO0yC,EAAK1yC,OAAOp3C,OAAS,GAC9C,OAAOssF,GAAyB,eAAjBA,EAAK,GAAGzmF,MAAyBymF,EAAK,GAAGC,eAAeD,EAAK,IAAI,GAAMtsF,QAAU,EAAIgtF,EAAQ7sF,GAAQyrF,EAAIzrF,EAC1H,CAYA,SAAS6sF,EAAQ7sF,GACf,OAAa,OAATA,EACK+qD,EAAM/qD,GAEX2oF,GAAmB3oF,GACdipF,EAAQO,QAAQ0G,GAAcrD,EAAS9hC,EAAvCk+B,CAA8CjpF,IAEvDipF,EAAQtzB,MAAM,iBACPo4B,EAAO/tF,GAChB,CAYA,SAAS+tF,EAAO/tF,GACd,OAAa,OAATA,GAAiB2oF,GAAmB3oF,IACtCipF,EAAQI,KAAK,iBACNwD,EAAQ7sF,KAEjBipF,EAAQG,QAAQppF,GACT+tF,EACT,CAGA,SAAShjC,EAAM/qD,GAKb,OAJAipF,EAAQI,KAAK,gBAINH,EAAGlpF,EACZ,CACF,GApGMkwF,GAAe,CACnBrE,SAAS,EACTvC,SAyGF,SAA8BL,EAASC,EAAIuC,GACzC,MAAM9B,EAAOnoF,KACb,OAAO0uF,EAaP,SAASA,EAAalwF,GAGpB,OAAI2pF,EAAKngD,OAAO0hD,KAAKvB,EAAKz+C,MAAMhmC,MACvBumF,EAAIzrF,GAET2oF,GAAmB3oF,IACrBipF,EAAQtzB,MAAM,cACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,cACN6G,GASFlH,GAAaC,EAASgH,EAAa,aAAc,EAAjDjH,CAAwDhpF,EACjE,CAYA,SAASiwF,EAAYjwF,GACnB,MAAMmsF,EAAOxC,EAAK1yC,OAAO0yC,EAAK1yC,OAAOp3C,OAAS,GAC9C,OAAOssF,GAAyB,eAAjBA,EAAK,GAAGzmF,MAAyBymF,EAAK,GAAGC,eAAeD,EAAK,IAAI,GAAMtsF,QAAU,EAAIqpF,EAAGlpF,GAAQ2oF,GAAmB3oF,GAAQkwF,EAAalwF,GAAQyrF,EAAIzrF,EACrK,CACF,GCjKO,MAAMmwF,GAAa,CACxBnlF,KAAM,aACN8yB,QAKF,SAA2BmZ,EAAQ1U,GACjC,IAGIqM,EAEArmB,EALAwjE,EAAa90C,EAAOp3C,OAAS,EAC7B0pF,EAAe,EAOkB,eAAjCtyC,EAAOsyC,GAAc,GAAG7jF,OAC1B6jF,GAAgB,GAIdwC,EAAa,EAAIxC,GAA+C,eAA/BtyC,EAAO80C,GAAY,GAAGrmF,OACzDqmF,GAAc,GAEmB,uBAA/B90C,EAAO80C,GAAY,GAAGrmF,OAAkC6jF,IAAiBwC,EAAa,GAAKA,EAAa,EAAIxC,GAAmD,eAAnCtyC,EAAO80C,EAAa,GAAG,GAAGrmF,QACxJqmF,GAAcxC,EAAe,IAAMwC,EAAa,EAAI,GAElDA,EAAaxC,IACf36C,EAAU,CACRlpC,KAAM,iBACNyQ,MAAO8gC,EAAOsyC,GAAc,GAAGpzE,MAC/BnR,IAAKiyC,EAAO80C,GAAY,GAAG/mF,KAE7BujB,EAAO,CACL7iB,KAAM,YACNyQ,MAAO8gC,EAAOsyC,GAAc,GAAGpzE,MAC/BnR,IAAKiyC,EAAO80C,GAAY,GAAG/mF,IAC3BmkC,YAAa,QAEfnF,GAAOiT,EAAQsyC,EAAcwC,EAAaxC,EAAe,EAAG,CAAC,CAAC,QAAS36C,EAASrM,GAAU,CAAC,QAASha,EAAMga,GAAU,CAAC,OAAQha,EAAMga,GAAU,CAAC,OAAQqM,EAASrM,MAEjK,OAAO0U,CACT,EAvCEqyC,SA8CF,SAA4BL,EAASC,EAAIuC,GACvC,IAAIpjF,EAAO,EACX,OAYA,SAAerI,GAGb,OADAipF,EAAQtzB,MAAM,cAchB,SAAgB31D,GAEd,OADAipF,EAAQtzB,MAAM,sBACPy6B,EAAapwF,EACtB,CAhBS8B,CAAO9B,EAChB,EA2BA,SAASowF,EAAapwF,GACpB,OAAa,KAATA,GAAeqI,IAAS,GAC1B4gF,EAAQG,QAAQppF,GACTowF,GAII,OAATpwF,GAAiB4oF,GAA0B5oF,IAC7CipF,EAAQI,KAAK,sBACNwD,EAAQ7sF,IAEVyrF,EAAIzrF,EACb,CAYA,SAAS6sF,EAAQ7sF,GACf,OAAa,KAATA,GACFipF,EAAQtzB,MAAM,sBACP06B,EAAgBrwF,IAEZ,OAATA,GAAiB2oF,GAAmB3oF,IACtCipF,EAAQI,KAAK,cAINH,EAAGlpF,IAER6oF,GAAc7oF,GACTgpF,GAAaC,EAAS4D,EAAS,aAA/B7D,CAA6ChpF,IAKtDipF,EAAQtzB,MAAM,kBACPz3B,EAAKl+B,GACd,CAcA,SAASqwF,EAAgBrwF,GACvB,OAAa,KAATA,GACFipF,EAAQG,QAAQppF,GACTqwF,IAETpH,EAAQI,KAAK,sBACNwD,EAAQ7sF,GACjB,CAYA,SAASk+B,EAAKl+B,GACZ,OAAa,OAATA,GAA0B,KAATA,GAAe4oF,GAA0B5oF,IAC5DipF,EAAQI,KAAK,kBACNwD,EAAQ7sF,KAEjBipF,EAAQG,QAAQppF,GACTk+B,EACT,CACF,GCpLO,MAAMoyD,GAAkB,CAC7BtlF,KAAM,kBACNulF,UAKF,SAAkCt5C,EAAQ1U,GAExC,IAEIqM,EAEArmB,EAEAo4C,EANA97D,EAAQoyC,EAAOp3C,OAUnB,KAAOgF,KACL,GAAyB,UAArBoyC,EAAOpyC,GAAO,GAAgB,CAChC,GAA8B,YAA1BoyC,EAAOpyC,GAAO,GAAGa,KAAoB,CACvCkpC,EAAU/pC,EACV,KACF,CAC8B,cAA1BoyC,EAAOpyC,GAAO,GAAGa,OACnB6iB,EAAO1jB,EAEX,KAGgC,YAA1BoyC,EAAOpyC,GAAO,GAAGa,MAEnBuxC,EAAOjT,OAAOn/B,EAAO,GAElB87D,GAAwC,eAA1B1pB,EAAOpyC,GAAO,GAAGa,OAClCi7D,EAAa97D,GAInB,MAAM2rF,EAAU,CACd9qF,KAAM,gBACNyQ,MAAO,IACF8gC,EAAO1uB,GAAM,GAAGpS,OAErBnR,IAAK,IACAiyC,EAAOA,EAAOp3C,OAAS,GAAG,GAAGmF,MAKpCiyC,EAAO1uB,GAAM,GAAG7iB,KAAO,oBAInBi7D,GACF1pB,EAAOjT,OAAOzb,EAAM,EAAG,CAAC,QAASioE,EAASjuD,IAC1C0U,EAAOjT,OAAO28B,EAAa,EAAG,EAAG,CAAC,OAAQ1pB,EAAOrI,GAAS,GAAIrM,IAC9D0U,EAAOrI,GAAS,GAAG5pC,IAAM,IACpBiyC,EAAO0pB,GAAY,GAAG37D,MAG3BiyC,EAAOrI,GAAS,GAAK4hD,EAKvB,OADAv5C,EAAO30C,KAAK,CAAC,OAAQkuF,EAASjuD,IACvB0U,CACT,EAjEEqyC,SAwEF,SAAiCL,EAASC,EAAIuC,GAC5C,MAAM9B,EAAOnoF,KAEb,IAAI8kB,EACJ,OAaA,SAAetmB,GACb,IAEIywF,EAFA5rF,EAAQ8kF,EAAK1yC,OAAOp3C,OAIxB,KAAOgF,KAGL,GAAmC,eAA/B8kF,EAAK1yC,OAAOpyC,GAAO,GAAGa,MAAwD,eAA/BikF,EAAK1yC,OAAOpyC,GAAO,GAAGa,MAAwD,YAA/BikF,EAAK1yC,OAAOpyC,GAAO,GAAGa,KAAoB,CAC1I+qF,EAA2C,cAA/B9G,EAAK1yC,OAAOpyC,GAAO,GAAGa,KAClC,KACF,CAKF,IAAKikF,EAAKngD,OAAO0hD,KAAKvB,EAAKz+C,MAAMhmC,QAAUykF,EAAKkB,WAAa4F,GAG3D,OAFAxH,EAAQtzB,MAAM,qBACdrvC,EAAStmB,EAiBb,SAAgBA,GAEd,OADAipF,EAAQtzB,MAAM,6BACPo4B,EAAO/tF,EAChB,CAnBW8B,CAAO9B,GAEhB,OAAOyrF,EAAIzrF,EACb,EA6BA,SAAS+tF,EAAO/tF,GACd,OAAIA,IAASsmB,GACX2iE,EAAQG,QAAQppF,GACT+tF,IAET9E,EAAQI,KAAK,6BACNR,GAAc7oF,GAAQgpF,GAAaC,EAASl+B,EAAO,aAA7Bi+B,CAA2ChpF,GAAQ+qD,EAAM/qD,GACxF,CAaA,SAAS+qD,EAAM/qD,GACb,OAAa,OAATA,GAAiB2oF,GAAmB3oF,IACtCipF,EAAQI,KAAK,qBACNH,EAAGlpF,IAELyrF,EAAIzrF,EACb,CACF,GCzKO,MAAM0wF,GAAiB,CAC5B,UACA,UACA,QACA,OACA,WACA,aACA,OACA,UACA,SACA,MACA,WACA,KACA,UACA,SACA,MACA,MACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,QACA,WACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,KACA,OACA,SACA,SACA,KACA,OACA,OACA,OACA,WACA,MACA,WACA,KACA,WACA,SACA,IACA,QACA,SACA,UACA,UACA,QACA,QACA,KACA,QACA,KACA,QACA,QACA,KACA,QACA,MAeWC,GAAe,CAAC,MAAO,SAAU,QAAS,YC5E1CC,GAAW,CACtBjG,UAAU,EACV3/E,KAAM,WACNulF,UAeF,SAA2Bt5C,GACzB,IAAIpyC,EAAQoyC,EAAOp3C,OACnB,KAAOgF,MACoB,UAArBoyC,EAAOpyC,GAAO,IAA4C,aAA1BoyC,EAAOpyC,GAAO,GAAGa,QAInDb,EAAQ,GAAmC,eAA9BoyC,EAAOpyC,EAAQ,GAAG,GAAGa,OAEpCuxC,EAAOpyC,GAAO,GAAGsR,MAAQ8gC,EAAOpyC,EAAQ,GAAG,GAAGsR,MAE9C8gC,EAAOpyC,EAAQ,GAAG,GAAGsR,MAAQ8gC,EAAOpyC,EAAQ,GAAG,GAAGsR,MAElD8gC,EAAOjT,OAAOn/B,EAAQ,EAAG,IAE3B,OAAOoyC,CACT,EA9BEqyC,SAqCF,SAA0BL,EAASC,EAAIuC,GACrC,MAAM9B,EAAOnoF,KAEb,IAAI8kB,EAEAuqE,EAEAn0D,EAEA73B,EAEAisF,EACJ,OAYA,SAAe9wF,GAEb,OAaF,SAAgBA,GAId,OAHAipF,EAAQtzB,MAAM,YACdszB,EAAQtzB,MAAM,gBACdszB,EAAQG,QAAQppF,GACTi7B,CACT,CAlBSn5B,CAAO9B,EAChB,EAiCA,SAASi7B,EAAKj7B,GACZ,OAAa,KAATA,GACFipF,EAAQG,QAAQppF,GACT+wF,GAEI,KAAT/wF,GACFipF,EAAQG,QAAQppF,GAChB6wF,GAAa,EACNG,GAEI,KAAThxF,GACFipF,EAAQG,QAAQppF,GAChBsmB,EAAS,EAMFqjE,EAAKkB,UAAY3B,EAAK+H,GAI3B9I,GAAWnoF,IAEbipF,EAAQG,QAAQppF,GAChB08B,EAASv4B,OAAOC,aAAapE,GACtBgU,GAEFy3E,EAAIzrF,EACb,CAgBA,SAAS+wF,EAAgB/wF,GACvB,OAAa,KAATA,GACFipF,EAAQG,QAAQppF,GAChBsmB,EAAS,EACF4qE,GAEI,KAATlxF,GACFipF,EAAQG,QAAQppF,GAChBsmB,EAAS,EACTzhB,EAAQ,EACDssF,GAILhJ,GAAWnoF,IACbipF,EAAQG,QAAQppF,GAChBsmB,EAAS,EAGFqjE,EAAKkB,UAAY3B,EAAK+H,GAExBxF,EAAIzrF,EACb,CAYA,SAASkxF,EAAkBlxF,GACzB,OAAa,KAATA,GACFipF,EAAQG,QAAQppF,GAGT2pF,EAAKkB,UAAY3B,EAAK+H,GAExBxF,EAAIzrF,EACb,CAYA,SAASmxF,EAAgBnxF,GACvB,MAAMsE,EAAQ,SACd,OAAItE,IAASsE,EAAMQ,WAAWD,MAC5BokF,EAAQG,QAAQppF,GACFsE,IAAVO,EAGK8kF,EAAKkB,UAAY3B,EAAKe,EAExBkH,GAEF1F,EAAIzrF,EACb,CAYA,SAASgxF,EAAchxF,GACrB,OAAImoF,GAAWnoF,IAEbipF,EAAQG,QAAQppF,GAChB08B,EAASv4B,OAAOC,aAAapE,GACtBgU,GAEFy3E,EAAIzrF,EACb,CAcA,SAASgU,EAAQhU,GACf,GAAa,OAATA,GAA0B,KAATA,GAAwB,KAATA,GAAe4oF,GAA0B5oF,GAAO,CAClF,MAAMoxF,EAAiB,KAATpxF,EACRgL,EAAO0xB,EAAO/tB,cACpB,OAAKyiF,GAAUP,IAAcF,GAAa94E,SAAS7M,GAM/C0lF,GAAe74E,SAAS6kB,EAAO/tB,gBACjC2X,EAAS,EACL8qE,GACFnI,EAAQG,QAAQppF,GACTqxF,GAKF1H,EAAKkB,UAAY3B,EAAGlpF,GAAQiqF,EAAajqF,KAElDsmB,EAAS,EAEFqjE,EAAKkB,YAAclB,EAAKngD,OAAO0hD,KAAKvB,EAAKz+C,MAAMhmC,MAAQumF,EAAIzrF,GAAQ6wF,EAAaS,EAAwBtxF,GAAQuxF,EAA4BvxF,KAlBjJsmB,EAAS,EAGFqjE,EAAKkB,UAAY3B,EAAGlpF,GAAQiqF,EAAajqF,GAgBpD,CAGA,OAAa,KAATA,GAAeqoF,GAAkBroF,IACnCipF,EAAQG,QAAQppF,GAChB08B,GAAUv4B,OAAOC,aAAapE,GACvBgU,GAEFy3E,EAAIzrF,EACb,CAYA,SAASqxF,EAAiBrxF,GACxB,OAAa,KAATA,GACFipF,EAAQG,QAAQppF,GAGT2pF,EAAKkB,UAAY3B,EAAKe,GAExBwB,EAAIzrF,EACb,CAYA,SAASsxF,EAAwBtxF,GAC/B,OAAI6oF,GAAc7oF,IAChBipF,EAAQG,QAAQppF,GACTsxF,GAEFE,EAAYxxF,EACrB,CAyBA,SAASuxF,EAA4BvxF,GACnC,OAAa,KAATA,GACFipF,EAAQG,QAAQppF,GACTwxF,GAII,KAATxxF,GAAwB,KAATA,GAAemoF,GAAWnoF,IAC3CipF,EAAQG,QAAQppF,GACTyxF,GAEL5I,GAAc7oF,IAChBipF,EAAQG,QAAQppF,GACTuxF,GAEFC,EAAYxxF,EACrB,CAgBA,SAASyxF,EAAsBzxF,GAE7B,OAAa,KAATA,GAAwB,KAATA,GAAwB,KAATA,GAAwB,KAATA,GAAeqoF,GAAkBroF,IAChFipF,EAAQG,QAAQppF,GACTyxF,GAEFC,EAA2B1xF,EACpC,CAeA,SAAS0xF,EAA2B1xF,GAClC,OAAa,KAATA,GACFipF,EAAQG,QAAQppF,GACT2xF,GAEL9I,GAAc7oF,IAChBipF,EAAQG,QAAQppF,GACT0xF,GAEFH,EAA4BvxF,EACrC,CAeA,SAAS2xF,EAA6B3xF,GACpC,OAAa,OAATA,GAA0B,KAATA,GAAwB,KAATA,GAAwB,KAATA,GAAwB,KAATA,EACzDyrF,EAAIzrF,GAEA,KAATA,GAAwB,KAATA,GACjBipF,EAAQG,QAAQppF,GAChB8wF,EAAU9wF,EACH4xF,GAEL/I,GAAc7oF,IAChBipF,EAAQG,QAAQppF,GACT2xF,GAEFE,EAA+B7xF,EACxC,CAcA,SAAS4xF,EAA6B5xF,GACpC,OAAIA,IAAS8wF,GACX7H,EAAQG,QAAQppF,GAChB8wF,EAAU,KACHgB,GAEI,OAAT9xF,GAAiB2oF,GAAmB3oF,GAC/ByrF,EAAIzrF,IAEbipF,EAAQG,QAAQppF,GACT4xF,EACT,CAYA,SAASC,EAA+B7xF,GACtC,OAAa,OAATA,GAA0B,KAATA,GAAwB,KAATA,GAAwB,KAATA,GAAwB,KAATA,GAAwB,KAATA,GAAwB,KAATA,GAAwB,KAATA,GAAe4oF,GAA0B5oF,GAC/I0xF,EAA2B1xF,IAEpCipF,EAAQG,QAAQppF,GACT6xF,EACT,CAaA,SAASC,EAAkC9xF,GACzC,OAAa,KAATA,GAAwB,KAATA,GAAe6oF,GAAc7oF,GACvCuxF,EAA4BvxF,GAE9ByrF,EAAIzrF,EACb,CAYA,SAASwxF,EAAYxxF,GACnB,OAAa,KAATA,GACFipF,EAAQG,QAAQppF,GACT+xF,GAEFtG,EAAIzrF,EACb,CAYA,SAAS+xF,EAAc/xF,GACrB,OAAa,OAATA,GAAiB2oF,GAAmB3oF,GAG/BiqF,EAAajqF,GAElB6oF,GAAc7oF,IAChBipF,EAAQG,QAAQppF,GACT+xF,GAEFtG,EAAIzrF,EACb,CAYA,SAASiqF,EAAajqF,GACpB,OAAa,KAATA,GAA0B,IAAXsmB,GACjB2iE,EAAQG,QAAQppF,GACTgyF,GAEI,KAAThyF,GAA0B,IAAXsmB,GACjB2iE,EAAQG,QAAQppF,GACTiyF,GAEI,KAATjyF,GAA0B,IAAXsmB,GACjB2iE,EAAQG,QAAQppF,GACTkyF,GAEI,KAATlyF,GAA0B,IAAXsmB,GACjB2iE,EAAQG,QAAQppF,GACTixF,GAEI,KAATjxF,GAA0B,IAAXsmB,GACjB2iE,EAAQG,QAAQppF,GACTmyF,IAELxJ,GAAmB3oF,IAAqB,IAAXsmB,GAA2B,IAAXA,EAIpC,OAATtmB,GAAiB2oF,GAAmB3oF,IACtCipF,EAAQI,KAAK,gBACN+I,EAAkBpyF,KAE3BipF,EAAQG,QAAQppF,GACTiqF,IARLhB,EAAQI,KAAK,gBACNJ,EAAQxoB,MAAM4xB,GAAiBC,EAAmBF,EAAlDnJ,CAAqEjpF,GAQhF,CAaA,SAASoyF,EAAkBpyF,GACzB,OAAOipF,EAAQxoB,MAAM8xB,GAA0BC,EAA0BF,EAAlErJ,CAAqFjpF,EAC9F,CAaA,SAASwyF,EAAyBxyF,GAIhC,OAHAipF,EAAQtzB,MAAM,cACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,cACNoJ,CACT,CAaA,SAASA,EAAmBzyF,GAC1B,OAAa,OAATA,GAAiB2oF,GAAmB3oF,GAC/BoyF,EAAkBpyF,IAE3BipF,EAAQtzB,MAAM,gBACPs0B,EAAajqF,GACtB,CAYA,SAASgyF,EAA0BhyF,GACjC,OAAa,KAATA,GACFipF,EAAQG,QAAQppF,GACTixF,GAEFhH,EAAajqF,EACtB,CAYA,SAASiyF,EAAuBjyF,GAC9B,OAAa,KAATA,GACFipF,EAAQG,QAAQppF,GAChB08B,EAAS,GACFg2D,GAEFzI,EAAajqF,EACtB,CAYA,SAAS0yF,EAAsB1yF,GAC7B,GAAa,KAATA,EAAa,CACf,MAAMgL,EAAO0xB,EAAO/tB,cACpB,OAAIgiF,GAAa94E,SAAS7M,IACxBi+E,EAAQG,QAAQppF,GACTkyF,GAEFjI,EAAajqF,EACtB,CACA,OAAImoF,GAAWnoF,IAAS08B,EAAO78B,OAAS,GAEtCopF,EAAQG,QAAQppF,GAChB08B,GAAUv4B,OAAOC,aAAapE,GACvB0yF,GAEFzI,EAAajqF,EACtB,CAYA,SAASmyF,EAAwBnyF,GAC/B,OAAa,KAATA,GACFipF,EAAQG,QAAQppF,GACTixF,GAEFhH,EAAajqF,EACtB,CAoBA,SAASixF,EAA8BjxF,GACrC,OAAa,KAATA,GACFipF,EAAQG,QAAQppF,GACTkyF,GAII,KAATlyF,GAA0B,IAAXsmB,GACjB2iE,EAAQG,QAAQppF,GACTixF,GAEFhH,EAAajqF,EACtB,CAYA,SAASkyF,EAAkBlyF,GACzB,OAAa,OAATA,GAAiB2oF,GAAmB3oF,IACtCipF,EAAQI,KAAK,gBACNiJ,EAAkBtyF,KAE3BipF,EAAQG,QAAQppF,GACTkyF,EACT,CAYA,SAASI,EAAkBtyF,GAMzB,OALAipF,EAAQI,KAAK,YAKNH,EAAGlpF,EACZ,CACF,GA1wBMqyF,GAAkB,CACtBxG,SAAS,EACTvC,SA6zBF,SAAiCL,EAASC,EAAIuC,GAC5C,OAaA,SAAezrF,GAIb,OAHAipF,EAAQtzB,MAAM,cACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,cACNJ,EAAQO,QAAQoC,GAAW1C,EAAIuC,EACxC,CACF,GA/0BM8G,GAA2B,CAC/B1G,SAAS,EACTvC,SA2wBF,SAA0CL,EAASC,EAAIuC,GACrD,MAAM9B,EAAOnoF,KACb,OAaA,SAAexB,GACb,GAAI2oF,GAAmB3oF,GAIrB,OAHAipF,EAAQtzB,MAAM,cACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,cACNt+B,EAET,OAAO0gC,EAAIzrF,EACb,EAaA,SAAS+qD,EAAM/qD,GACb,OAAO2pF,EAAKngD,OAAO0hD,KAAKvB,EAAKz+C,MAAMhmC,MAAQumF,EAAIzrF,GAAQkpF,EAAGlpF,EAC5D,CACF,GCn0BA,MAAM2yF,GAAsB,CAC1B9G,SAAS,EACTvC,SAiaF,SAAqCL,EAASC,EAAIuC,GAChD,MAAM9B,EAAOnoF,KACb,OAOA,SAAexB,GACb,GAAa,OAATA,EACF,OAAOyrF,EAAIzrF,GAKb,OAHAipF,EAAQtzB,MAAM,cACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,cACNK,CACT,EAOA,SAASA,EAAU1pF,GACjB,OAAO2pF,EAAKngD,OAAO0hD,KAAKvB,EAAKz+C,MAAMhmC,MAAQumF,EAAIzrF,GAAQkpF,EAAGlpF,EAC5D,CACF,GAxba4yF,GAAa,CACxBjI,UAAU,EACV3/E,KAAM,aACNs+E,SAQF,SAA4BL,EAASC,EAAIuC,GACvC,MAAM9B,EAAOnoF,KAEPqxF,EAAa,CACjBhH,SAAS,EACTvC,SAiSF,SAA4BL,EAASC,EAAIuC,GACvC,IAAIpjF,EAAO,EACX,OAAOyqF,EAOP,SAASA,EAAY9yF,GAInB,OAHAipF,EAAQtzB,MAAM,cACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,cACNlzE,CACT,CAcA,SAASA,EAAMnW,GAKb,OADAipF,EAAQtzB,MAAM,mBACPkzB,GAAc7oF,GAAQgpF,GAAaC,EAAS8J,EAAqB,aAAcpJ,EAAKngD,OAAOy+C,WAAWyD,QAAQC,KAAK9zE,SAAS,qBAAkBrV,EAAY,EAApIwmF,CAAuIhpF,GAAQ+yF,EAAoB/yF,EAClM,CAcA,SAAS+yF,EAAoB/yF,GAC3B,OAAIA,IAASsmB,GACX2iE,EAAQtzB,MAAM,2BACPq9B,EAAchzF,IAEhByrF,EAAIzrF,EACb,CAcA,SAASgzF,EAAchzF,GACrB,OAAIA,IAASsmB,GACXje,IACA4gF,EAAQG,QAAQppF,GACTgzF,GAEL3qF,GAAQ4qF,GACVhK,EAAQI,KAAK,2BACNR,GAAc7oF,GAAQgpF,GAAaC,EAASiK,EAAoB,aAA1ClK,CAAwDhpF,GAAQkzF,EAAmBlzF,IAE3GyrF,EAAIzrF,EACb,CAcA,SAASkzF,EAAmBlzF,GAC1B,OAAa,OAATA,GAAiB2oF,GAAmB3oF,IACtCipF,EAAQI,KAAK,mBACNH,EAAGlpF,IAELyrF,EAAIzrF,EACb,CACF,GAnYA,IAGIsmB,EAHA6sE,EAAgB,EAChBF,EAAW,EAGf,OAcA,SAAejzF,GAEb,OAeF,SAA4BA,GAC1B,MAAMmsF,EAAOxC,EAAK1yC,OAAO0yC,EAAK1yC,OAAOp3C,OAAS,GAM9C,OALAszF,EAAgBhH,GAAyB,eAAjBA,EAAK,GAAGzmF,KAAwBymF,EAAK,GAAGC,eAAeD,EAAK,IAAI,GAAMtsF,OAAS,EACvGymB,EAAStmB,EACTipF,EAAQtzB,MAAM,cACdszB,EAAQtzB,MAAM,mBACdszB,EAAQtzB,MAAM,2BACPy6B,EAAapwF,EACtB,CAvBSozF,CAAmBpzF,EAC5B,EAoCA,SAASowF,EAAapwF,GACpB,OAAIA,IAASsmB,GACX2sE,IACAhK,EAAQG,QAAQppF,GACTowF,GAEL6C,EAAW,EACNxH,EAAIzrF,IAEbipF,EAAQI,KAAK,2BACNR,GAAc7oF,GAAQgpF,GAAaC,EAASoK,EAAY,aAAlCrK,CAAgDhpF,GAAQqzF,EAAWrzF,GAClG,CAcA,SAASqzF,EAAWrzF,GAClB,OAAa,OAATA,GAAiB2oF,GAAmB3oF,IACtCipF,EAAQI,KAAK,mBACNM,EAAKkB,UAAY3B,EAAGlpF,GAAQipF,EAAQxoB,MAAMkyB,GAAqBW,EAAgBvoC,EAAnDk+B,CAA0DjpF,KAE/FipF,EAAQtzB,MAAM,uBACdszB,EAAQtzB,MAAM,cAAe,CAC3BxsB,YAAa,WAERze,EAAK1qB,GACd,CAcA,SAAS0qB,EAAK1qB,GACZ,OAAa,OAATA,GAAiB2oF,GAAmB3oF,IACtCipF,EAAQI,KAAK,eACbJ,EAAQI,KAAK,uBACNgK,EAAWrzF,IAEhB6oF,GAAc7oF,IAChBipF,EAAQI,KAAK,eACbJ,EAAQI,KAAK,uBACNL,GAAaC,EAASsK,EAAY,aAAlCvK,CAAgDhpF,IAE5C,KAATA,GAAeA,IAASsmB,EACnBmlE,EAAIzrF,IAEbipF,EAAQG,QAAQppF,GACT0qB,EACT,CAcA,SAAS6oE,EAAWvzF,GAClB,OAAa,OAATA,GAAiB2oF,GAAmB3oF,GAC/BqzF,EAAWrzF,IAEpBipF,EAAQtzB,MAAM,uBACdszB,EAAQtzB,MAAM,cAAe,CAC3BxsB,YAAa,WAERkiB,EAAKrrD,GACd,CAcA,SAASqrD,EAAKrrD,GACZ,OAAa,OAATA,GAAiB2oF,GAAmB3oF,IACtCipF,EAAQI,KAAK,eACbJ,EAAQI,KAAK,uBACNgK,EAAWrzF,IAEP,KAATA,GAAeA,IAASsmB,EACnBmlE,EAAIzrF,IAEbipF,EAAQG,QAAQppF,GACTqrD,EACT,CAeA,SAASioC,EAAetzF,GACtB,OAAOipF,EAAQO,QAAQqJ,EAAY9nC,EAAOyoC,EAAnCvK,CAAkDjpF,EAC3D,CAcA,SAASwzF,EAAcxzF,GAIrB,OAHAipF,EAAQtzB,MAAM,cACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,cACNE,CACT,CAcA,SAASA,EAAavpF,GACpB,OAAOmzF,EAAgB,GAAKtK,GAAc7oF,GAAQgpF,GAAaC,EAASwK,EAAoB,aAAcN,EAAgB,EAAxEnK,CAA2EhpF,GAAQyzF,EAAmBzzF,EAC1J,CAcA,SAASyzF,EAAmBzzF,GAC1B,OAAa,OAATA,GAAiB2oF,GAAmB3oF,GAC/BipF,EAAQxoB,MAAMkyB,GAAqBW,EAAgBvoC,EAAnDk+B,CAA0DjpF,IAEnEipF,EAAQtzB,MAAM,iBACP+9B,EAAa1zF,GACtB,CAcA,SAAS0zF,EAAa1zF,GACpB,OAAa,OAATA,GAAiB2oF,GAAmB3oF,IACtCipF,EAAQI,KAAK,iBACNoK,EAAmBzzF,KAE5BipF,EAAQG,QAAQppF,GACT0zF,EACT,CAcA,SAAS3oC,EAAM/qD,GAEb,OADAipF,EAAQI,KAAK,cACNH,EAAGlpF,EACZ,CA4GF,GCraA,MAAM,GAAUiD,SAASC,cAAc,KAMhC,SAASywF,GAA8BrvF,GAC5C,MAAMsvF,EAAqB,IAAMtvF,EAAQ,IACzC,GAAQk5C,UAAYo2C,EACpB,MAAMxkB,EAAO,GAAQykB,YAUrB,OAAyC,KAArCzkB,EAAKtqE,WAAWsqE,EAAKvvE,OAAS,IAAiC,SAAVyE,KAQlD8qE,IAASwkB,GAA6BxkB,EAC/C,CCnBO,MAAMwkB,GAAqB,CAChC5oF,KAAM,qBACNs+E,SAQF,SAAoCL,EAASC,EAAIuC,GAC/C,MAAM9B,EAAOnoF,KACb,IAEIokB,EAEAlU,EAJArJ,EAAO,EAKX,OAgBA,SAAerI,GAKb,OAJAipF,EAAQtzB,MAAM,sBACdszB,EAAQtzB,MAAM,4BACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,4BACNpuD,CACT,EAiBA,SAASA,EAAKj7B,GACZ,OAAa,KAATA,GACFipF,EAAQtzB,MAAM,mCACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,mCACNyK,IAET7K,EAAQtzB,MAAM,2BACd/vC,EAAM,GACNlU,EAAO22E,GACA/jF,EAAMtE,GACf,CAcA,SAAS8zF,EAAQ9zF,GACf,OAAa,KAATA,GAAwB,MAATA,GACjBipF,EAAQtzB,MAAM,uCACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,uCACbJ,EAAQtzB,MAAM,2BACd/vC,EAAM,EACNlU,EAAO+2E,GACAnkF,IAET2kF,EAAQtzB,MAAM,2BACd/vC,EAAM,EACNlU,EAAO82E,GACAlkF,EAAMtE,GACf,CAmBA,SAASsE,EAAMtE,GACb,GAAa,KAATA,GAAeqI,EAAM,CACvB,MAAMnC,EAAQ+iF,EAAQI,KAAK,2BAC3B,OAAI33E,IAAS22E,IAAsBsL,GAA8BhK,EAAKyC,eAAelmF,KAMrF+iF,EAAQtzB,MAAM,4BACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,4BACbJ,EAAQI,KAAK,sBACNH,GATEuC,EAAIzrF,EAUf,CACA,OAAI0R,EAAK1R,IAASqI,IAASud,GACzBqjE,EAAQG,QAAQppF,GACTsE,GAEFmnF,EAAIzrF,EACb,CACF,GCzIO,MAAM+zF,GAAkB,CAC7B/oF,KAAM,kBACNs+E,SAQF,SAAiCL,EAASC,EAAIuC,GAC5C,OAYA,SAAezrF,GAKb,OAJAipF,EAAQtzB,MAAM,mBACdszB,EAAQtzB,MAAM,gBACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,gBACN0E,CACT,EAYA,SAASA,EAAO/tF,GAEd,OAAI0oF,GAAiB1oF,IACnBipF,EAAQtzB,MAAM,wBACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,wBACbJ,EAAQI,KAAK,mBACNH,GAEFuC,EAAIzrF,EACb,CACF,GCnDO,MAAMg0F,GAAa,CACxBhpF,KAAM,aACNs+E,SAQF,SAA4BL,EAASC,GACnC,OAGA,SAAelpF,GAIb,OAHAipF,EAAQtzB,MAAM,cACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,cACNL,GAAaC,EAASC,EAAI,aACnC,CACF,GChBO,SAASsD,GAAWvE,EAAYhxC,EAAQ1U,GAE7C,MAAM0xD,EAAS,GACf,IAAIpvF,GAAS,EAEb,OAASA,EAAQojF,EAAWpoF,QAAQ,CAClC,MAAMi+B,EAAUmqD,EAAWpjF,GAAO2nF,WAE9B1uD,IAAYm2D,EAAOp8E,SAASimB,KAC9BmZ,EAASnZ,EAAQmZ,EAAQ1U,GACzB0xD,EAAO3xF,KAAKw7B,GAEhB,CAEA,OAAOmZ,CACT,CCVO,MAAMi9C,GAAW,CACtBlpF,KAAM,WACNwhF,WAmBF,SAA4Bv1C,GAC1B,IAAIpyC,GAAS,EAEb,MAAMsvF,EAAY,GAClB,OAAStvF,EAAQoyC,EAAOp3C,QAAQ,CAC9B,MAAMqG,EAAQ+wC,EAAOpyC,GAAO,GAE5B,GADAsvF,EAAU7xF,KAAK20C,EAAOpyC,IACH,eAAfqB,EAAMR,MAAwC,cAAfQ,EAAMR,MAAuC,aAAfQ,EAAMR,KAAqB,CAE1F,MAAM+B,EAAwB,eAAfvB,EAAMR,KAAwB,EAAI,EACjDQ,EAAMR,KAAO,OACbb,GAAS4C,CACX,CACF,CAGIwvC,EAAOp3C,SAAWs0F,EAAUt0F,QAC9BmkC,GAAOiT,EAAQ,EAAGA,EAAOp3C,OAAQs0F,GAEnC,OAAOl9C,CACT,EAtCEs5C,UAyCF,SAA2Bt5C,EAAQ1U,GACjC,IAGIr8B,EAEA+0B,EAEAg0B,EAEAjU,EATAn2C,EAAQoyC,EAAOp3C,OACf4H,EAAS,EAWb,KAAO5C,KAEL,GADAqB,EAAQ+wC,EAAOpyC,GAAO,GAClBo2B,EAAM,CAER,GAAmB,SAAf/0B,EAAMR,MAAkC,cAAfQ,EAAMR,MAAwBQ,EAAMkuF,UAC/D,MAKuB,UAArBn9C,EAAOpyC,GAAO,IAAiC,cAAfqB,EAAMR,OACxCQ,EAAMkuF,WAAY,EAEtB,MAAO,GAAInlC,GACT,GAAyB,UAArBhY,EAAOpyC,GAAO,KAAkC,eAAfqB,EAAMR,MAAwC,cAAfQ,EAAMR,QAA0BQ,EAAMmuF,YACxGp5D,EAAOp2B,EACY,cAAfqB,EAAMR,MAAsB,CAC9B+B,EAAS,EACT,KACF,MAEsB,aAAfvB,EAAMR,OACfupD,EAAQpqD,GAGZ,MAAMyvF,EAAQ,CACZ5uF,KAA+B,cAAzBuxC,EAAOhc,GAAM,GAAGv1B,KAAuB,OAAS,QACtDyQ,MAAO,IACF8gC,EAAOhc,GAAM,GAAG9kB,OAErBnR,IAAK,IACAiyC,EAAOA,EAAOp3C,OAAS,GAAG,GAAGmF,MAG9B2N,EAAQ,CACZjN,KAAM,QACNyQ,MAAO,IACF8gC,EAAOhc,GAAM,GAAG9kB,OAErBnR,IAAK,IACAiyC,EAAOgY,GAAO,GAAGjqD,MAGlBujB,EAAO,CACX7iB,KAAM,YACNyQ,MAAO,IACF8gC,EAAOhc,EAAOxzB,EAAS,GAAG,GAAGzC,KAElCA,IAAK,IACAiyC,EAAOgY,EAAQ,GAAG,GAAG94C,QAyB5B,OAtBA6kC,EAAQ,CAAC,CAAC,QAASs5C,EAAO/xD,GAAU,CAAC,QAAS5vB,EAAO4vB,IAGrDyY,EAAQ14C,GAAK04C,EAAO/D,EAAOr2C,MAAMq6B,EAAO,EAAGA,EAAOxzB,EAAS,IAG3DuzC,EAAQ14C,GAAK04C,EAAO,CAAC,CAAC,QAASzyB,EAAMga,KAKrCyY,EAAQ14C,GAAK04C,EAAOwxC,GAAWjqD,EAAQiH,OAAOy+C,WAAWsM,WAAW5I,KAAM10C,EAAOr2C,MAAMq6B,EAAOxzB,EAAS,EAAGwnD,EAAQ,GAAI1sB,IAGtHyY,EAAQ14C,GAAK04C,EAAO,CAAC,CAAC,OAAQzyB,EAAMga,GAAU0U,EAAOgY,EAAQ,GAAIhY,EAAOgY,EAAQ,GAAI,CAAC,OAAQt8C,EAAO4vB,KAGpGyY,EAAQ14C,GAAK04C,EAAO/D,EAAOr2C,MAAMquD,EAAQ,IAGzCjU,EAAQ14C,GAAK04C,EAAO,CAAC,CAAC,OAAQs5C,EAAO/xD,KACrCyB,GAAOiT,EAAQhc,EAAMgc,EAAOp3C,OAAQm7C,GAC7B/D,CACT,EAhIEqyC,SAuIF,SAA0BL,EAASC,EAAIuC,GACrC,MAAM9B,EAAOnoF,KACb,IAEIgzF,EAEAv0B,EAJAp7D,EAAQ8kF,EAAK1yC,OAAOp3C,OAOxB,KAAOgF,KACL,IAAoC,eAA/B8kF,EAAK1yC,OAAOpyC,GAAO,GAAGa,MAAwD,cAA/BikF,EAAK1yC,OAAOpyC,GAAO,GAAGa,QAA0BikF,EAAK1yC,OAAOpyC,GAAO,GAAGwvF,UAAW,CACnIG,EAAa7K,EAAK1yC,OAAOpyC,GAAO,GAChC,KACF,CAEF,OAiBA,SAAe7E,GAEb,IAAKw0F,EACH,OAAO/I,EAAIzrF,GAYb,GAAIw0F,EAAWJ,UACb,OAAOK,EAAYz0F,GAWrB,OATAigE,EAAU0pB,EAAKngD,OAAOy2B,QAAQpoD,SAASy3E,GAAoB3F,EAAKyC,eAAe,CAC7Ej2E,MAAOq+E,EAAWxvF,IAClBA,IAAK2kF,EAAKz+C,UAEZ+9C,EAAQtzB,MAAM,YACdszB,EAAQtzB,MAAM,eACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,eACbJ,EAAQI,KAAK,YACNt+B,CACT,EAkBA,SAASA,EAAM/qD,GAKb,OAAa,KAATA,EACKipF,EAAQO,QAAQkL,GAAmBC,EAAY10B,EAAU00B,EAAaF,EAAtExL,CAAmFjpF,GAI/E,KAATA,EACKipF,EAAQO,QAAQoL,GAAwBD,EAAY10B,EAAU40B,EAAmBJ,EAAjFxL,CAA8FjpF,GAIhGigE,EAAU00B,EAAW30F,GAAQy0F,EAAYz0F,EAClD,CAgBA,SAAS60F,EAAiB70F,GACxB,OAAOipF,EAAQO,QAAQsL,GAA6BH,EAAYF,EAAzDxL,CAAsEjpF,EAC/E,CAkBA,SAAS20F,EAAW30F,GAElB,OAAOkpF,EAAGlpF,EACZ,CAkBA,SAASy0F,EAAYz0F,GAEnB,OADAw0F,EAAWH,WAAY,EAChB5I,EAAIzrF,EACb,CACF,GA9RM00F,GAAoB,CACxBpL,SAoSF,SAA0BL,EAASC,EAAIuC,GACrC,OAYA,SAAuBzrF,GAKrB,OAJAipF,EAAQtzB,MAAM,YACdszB,EAAQtzB,MAAM,kBACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,kBACN0L,CACT,EAYA,SAASA,EAAe/0F,GACtB,OAAO4oF,GAA0B5oF,GAAQqvF,GAAkBpG,EAAS+L,EAA3B3F,CAAyCrvF,GAAQg1F,EAAah1F,EACzG,CAYA,SAASg1F,EAAah1F,GACpB,OAAa,KAATA,EACKi1F,EAAYj1F,GAEdquF,GAAmBpF,EAASiM,EAA0BC,EAA4B,sBAAuB,6BAA8B,mCAAoC,yBAA0B,4BAA6B,GAAlO9G,CAAsOruF,EAC/O,CAYA,SAASk1F,EAAyBl1F,GAChC,OAAO4oF,GAA0B5oF,GAAQqvF,GAAkBpG,EAASmM,EAA3B/F,CAA4CrvF,GAAQi1F,EAAYj1F,EAC3G,CAYA,SAASm1F,EAA2Bn1F,GAClC,OAAOyrF,EAAIzrF,EACb,CAYA,SAASo1F,EAAgBp1F,GACvB,OAAa,KAATA,GAAwB,KAATA,GAAwB,KAATA,EACzBmvF,GAAalG,EAASoM,EAAoB5J,EAAK,gBAAiB,sBAAuB,sBAAvF0D,CAA8GnvF,GAEhHi1F,EAAYj1F,EACrB,CAYA,SAASq1F,EAAmBr1F,GAC1B,OAAO4oF,GAA0B5oF,GAAQqvF,GAAkBpG,EAASgM,EAA3B5F,CAAwCrvF,GAAQi1F,EAAYj1F,EACvG,CAYA,SAASi1F,EAAYj1F,GACnB,OAAa,KAATA,GACFipF,EAAQtzB,MAAM,kBACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,kBACbJ,EAAQI,KAAK,YACNH,GAEFuC,EAAIzrF,EACb,CACF,GApaM40F,GAAyB,CAC7BtL,SA0aF,SAA+BL,EAASC,EAAIuC,GAC1C,MAAM9B,EAAOnoF,KACb,OAYA,SAAuBxB,GACrB,OAAO+uF,GAAaztF,KAAKqoF,EAAMV,EAASqM,EAAoBC,EAAsB,YAAa,kBAAmB,kBAA3GxG,CAA8H/uF,EACvI,EAYA,SAASs1F,EAAmBt1F,GAC1B,OAAO2pF,EAAKngD,OAAOy2B,QAAQpoD,SAASy3E,GAAoB3F,EAAKyC,eAAezC,EAAK1yC,OAAO0yC,EAAK1yC,OAAOp3C,OAAS,GAAG,IAAIe,MAAM,GAAI,KAAOsoF,EAAGlpF,GAAQyrF,EAAIzrF,EACtJ,CAYA,SAASu1F,EAAqBv1F,GAC5B,OAAOyrF,EAAIzrF,EACb,CACF,GApdM80F,GAA8B,CAClCxL,SA0dF,SAAoCL,EAASC,EAAIuC,GAC/C,OAcA,SAAiCzrF,GAO/B,OAJAipF,EAAQtzB,MAAM,aACdszB,EAAQtzB,MAAM,mBACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,mBACNmM,CACT,EAcA,SAASA,EAAuBx1F,GAC9B,OAAa,KAATA,GACFipF,EAAQtzB,MAAM,mBACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,mBACbJ,EAAQI,KAAK,aACNH,GAEFuC,EAAIzrF,EACb,CACF,GCniBO,MAAMy1F,GAAkB,CAC7BzqF,KAAM,kBACNwhF,WAAY0H,GAAS1H,WACrBlD,SAQF,SAAiCL,EAASC,EAAIuC,GAC5C,MAAM9B,EAAOnoF,KACb,OAYA,SAAexB,GAKb,OAJAipF,EAAQtzB,MAAM,cACdszB,EAAQtzB,MAAM,oBACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,oBACNpuD,CACT,EAYA,SAASA,EAAKj7B,GACZ,OAAa,KAATA,GACFipF,EAAQtzB,MAAM,eACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,eACbJ,EAAQI,KAAK,cACNt+B,GAEF0gC,EAAIzrF,EACb,CA6BA,SAAS+qD,EAAM/qD,GAMb,OAAgB,KAATA,GAAe,2BAA4B2pF,EAAKngD,OAAOy+C,WAAawD,EAAIzrF,GAAQkpF,EAAGlpF,EAC5F,CACF,GClFO,SAAS01F,GAAkB11F,GAChC,OAAa,OAATA,GAAiB4oF,GAA0B5oF,IAAS+oF,GAAkB/oF,GACjE,EAEL8oF,GAAmB9oF,GACd,OADT,CAGF,CCRO,MAAM21F,GAAY,CACvB3qF,KAAM,YACNwhF,WAUF,SAA6Bv1C,EAAQ1U,GACnC,IAEItH,EAEAq5D,EAEA/rE,EAEAqtE,EAEAC,EAEAjvD,EAEAkvD,EAEAruF,EAhBA5C,GAAS,EAsBb,OAASA,EAAQoyC,EAAOp3C,QAEtB,GAAyB,UAArBo3C,EAAOpyC,GAAO,IAA4C,sBAA1BoyC,EAAOpyC,GAAO,GAAGa,MAAgCuxC,EAAOpyC,GAAO,GAAGkxF,OAIpG,IAHA96D,EAAOp2B,EAGAo2B,KAEL,GAAwB,SAApBgc,EAAOhc,GAAM,IAA0C,sBAAzBgc,EAAOhc,GAAM,GAAGv1B,MAAgCuxC,EAAOhc,GAAM,GAAG+6D,OAElGzzD,EAAQ6pD,eAAen1C,EAAOhc,GAAM,IAAIn2B,WAAW,KAAOy9B,EAAQ6pD,eAAen1C,EAAOpyC,GAAO,IAAIC,WAAW,GAAI,CAKhH,IAAKmyC,EAAOhc,GAAM,GAAG86D,QAAU9+C,EAAOpyC,GAAO,GAAGmxF,SAAW/+C,EAAOpyC,GAAO,GAAGG,IAAIyC,OAASwvC,EAAOpyC,GAAO,GAAGsR,MAAM1O,QAAU,MAAQwvC,EAAOhc,GAAM,GAAGj2B,IAAIyC,OAASwvC,EAAOhc,GAAM,GAAG9kB,MAAM1O,OAASwvC,EAAOpyC,GAAO,GAAGG,IAAIyC,OAASwvC,EAAOpyC,GAAO,GAAGsR,MAAM1O,QAAU,GAC3P,SAIFm/B,EAAMqQ,EAAOhc,GAAM,GAAGj2B,IAAIyC,OAASwvC,EAAOhc,GAAM,GAAG9kB,MAAM1O,OAAS,GAAKwvC,EAAOpyC,GAAO,GAAGG,IAAIyC,OAASwvC,EAAOpyC,GAAO,GAAGsR,MAAM1O,OAAS,EAAI,EAAI,EAC7I,MAAM0O,EAAQ,IACT8gC,EAAOhc,GAAM,GAAGj2B,KAEfA,EAAM,IACPiyC,EAAOpyC,GAAO,GAAGsR,OAEtB8/E,GAAU9/E,GAAQywB,GAClBqvD,GAAUjxF,EAAK4hC,GACfgvD,EAAkB,CAChBlwF,KAAMkhC,EAAM,EAAI,iBAAmB,mBACnCzwB,QACAnR,IAAK,IACAiyC,EAAOhc,GAAM,GAAGj2B,MAGvB6wF,EAAkB,CAChBnwF,KAAMkhC,EAAM,EAAI,iBAAmB,mBACnCzwB,MAAO,IACF8gC,EAAOpyC,GAAO,GAAGsR,OAEtBnR,OAEFujB,EAAO,CACL7iB,KAAMkhC,EAAM,EAAI,aAAe,eAC/BzwB,MAAO,IACF8gC,EAAOhc,GAAM,GAAGj2B,KAErBA,IAAK,IACAiyC,EAAOpyC,GAAO,GAAGsR,QAGxBm+E,EAAQ,CACN5uF,KAAMkhC,EAAM,EAAI,SAAW,WAC3BzwB,MAAO,IACFy/E,EAAgBz/E,OAErBnR,IAAK,IACA6wF,EAAgB7wF,MAGvBiyC,EAAOhc,GAAM,GAAGj2B,IAAM,IACjB4wF,EAAgBz/E,OAErB8gC,EAAOpyC,GAAO,GAAGsR,MAAQ,IACpB0/E,EAAgB7wF,KAErB8wF,EAAa,GAGT7+C,EAAOhc,GAAM,GAAGj2B,IAAIyC,OAASwvC,EAAOhc,GAAM,GAAG9kB,MAAM1O,SACrDquF,EAAaxzF,GAAKwzF,EAAY,CAAC,CAAC,QAAS7+C,EAAOhc,GAAM,GAAIsH,GAAU,CAAC,OAAQ0U,EAAOhc,GAAM,GAAIsH,MAIhGuzD,EAAaxzF,GAAKwzF,EAAY,CAAC,CAAC,QAASxB,EAAO/xD,GAAU,CAAC,QAASqzD,EAAiBrzD,GAAU,CAAC,OAAQqzD,EAAiBrzD,GAAU,CAAC,QAASha,EAAMga,KAKnJuzD,EAAaxzF,GAAKwzF,EAAYtJ,GAAWjqD,EAAQiH,OAAOy+C,WAAWsM,WAAW5I,KAAM10C,EAAOr2C,MAAMq6B,EAAO,EAAGp2B,GAAQ09B,IAGnHuzD,EAAaxzF,GAAKwzF,EAAY,CAAC,CAAC,OAAQvtE,EAAMga,GAAU,CAAC,QAASszD,EAAiBtzD,GAAU,CAAC,OAAQszD,EAAiBtzD,GAAU,CAAC,OAAQ+xD,EAAO/xD,KAG7I0U,EAAOpyC,GAAO,GAAGG,IAAIyC,OAASwvC,EAAOpyC,GAAO,GAAGsR,MAAM1O,QACvDA,EAAS,EACTquF,EAAaxzF,GAAKwzF,EAAY,CAAC,CAAC,QAAS7+C,EAAOpyC,GAAO,GAAI09B,GAAU,CAAC,OAAQ0U,EAAOpyC,GAAO,GAAI09B,MAEhG96B,EAAS,EAEXu8B,GAAOiT,EAAQhc,EAAO,EAAGp2B,EAAQo2B,EAAO,EAAG66D,GAC3CjxF,EAAQo2B,EAAO66D,EAAWj2F,OAAS4H,EAAS,EAC5C,KACF,CAMN5C,GAAS,EACT,OAASA,EAAQoyC,EAAOp3C,QACQ,sBAA1Bo3C,EAAOpyC,GAAO,GAAGa,OACnBuxC,EAAOpyC,GAAO,GAAGa,KAAO,QAG5B,OAAOuxC,CACT,EA5IEqyC,SAmJF,SAA2BL,EAASC,GAClC,MAAMgN,EAAmB10F,KAAKgoC,OAAOy+C,WAAWiO,iBAAiBvK,KAC3D/jF,EAAWpG,KAAKoG,SAChB9F,EAAS4zF,GAAkB9tF,GAGjC,IAAI0e,EACJ,OAYA,SAAetmB,GAGb,OAFAsmB,EAAStmB,EACTipF,EAAQtzB,MAAM,qBACPo4B,EAAO/tF,EAChB,EAYA,SAAS+tF,EAAO/tF,GACd,GAAIA,IAASsmB,EAEX,OADA2iE,EAAQG,QAAQppF,GACT+tF,EAET,MAAM7nF,EAAQ+iF,EAAQI,KAAK,qBAGrBt+B,EAAQ2qC,GAAkB11F,GAI1Bi7B,GAAQ8vB,GAAmB,IAAVA,GAAejpD,GAAUo0F,EAAiBr+E,SAAS7X,GACpEivD,GAASntD,GAAqB,IAAXA,GAAgBipD,GAASmrC,EAAiBr+E,SAASjQ,GAG5E,OAFA1B,EAAM8vF,MAAQ58C,QAAmB,KAAX9yB,EAAgB2U,EAAOA,IAASn5B,IAAWmtD,IACjE/oD,EAAM6vF,OAAS38C,QAAmB,KAAX9yB,EAAgB2oC,EAAQA,IAAUlE,IAAU9vB,IAC5DiuD,EAAGlpF,EACZ,CACF,GAeA,SAASi2F,GAAUzV,EAAO/4E,GACxB+4E,EAAMr7E,QAAUsC,EAChB+4E,EAAM/4E,QAAUA,EAChB+4E,EAAM2M,cAAgB1lF,CACxB,CCrOO,MAAM0uF,GAAW,CACtBnrF,KAAM,WACNs+E,SAQF,SAA0BL,EAASC,EAAIuC,GACrC,IAAIpjF,EAAO,EACX,OAcA,SAAerI,GAMb,OALAipF,EAAQtzB,MAAM,YACdszB,EAAQtzB,MAAM,kBACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,kBACbJ,EAAQtzB,MAAM,oBACP16B,CACT,EAcA,SAASA,EAAKj7B,GACZ,OAAImoF,GAAWnoF,IACbipF,EAAQG,QAAQppF,GACTo2F,GAEI,KAATp2F,EACKyrF,EAAIzrF,GAENq2F,EAAWr2F,EACpB,CAcA,SAASo2F,EAAmBp2F,GAE1B,OAAa,KAATA,GAAwB,KAATA,GAAwB,KAATA,GAAeqoF,GAAkBroF,IAEjEqI,EAAO,EACAiuF,EAAyBt2F,IAE3Bq2F,EAAWr2F,EACpB,CAcA,SAASs2F,EAAyBt2F,GAChC,OAAa,KAATA,GACFipF,EAAQG,QAAQppF,GAChBqI,EAAO,EACAkuF,IAIK,KAATv2F,GAAwB,KAATA,GAAwB,KAATA,GAAeqoF,GAAkBroF,KAAUqI,IAAS,IACrF4gF,EAAQG,QAAQppF,GACTs2F,IAETjuF,EAAO,EACAguF,EAAWr2F,GACpB,CAYA,SAASu2F,EAAUv2F,GACjB,OAAa,KAATA,GACFipF,EAAQI,KAAK,oBACbJ,EAAQtzB,MAAM,kBACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,kBACbJ,EAAQI,KAAK,YACNH,GAII,OAATlpF,GAA0B,KAATA,GAAwB,KAATA,GAAeuoF,GAAavoF,GACvDyrF,EAAIzrF,IAEbipF,EAAQG,QAAQppF,GACTu2F,EACT,CAYA,SAASF,EAAWr2F,GAClB,OAAa,KAATA,GACFipF,EAAQG,QAAQppF,GACTw2F,GAELlO,GAAWtoF,IACbipF,EAAQG,QAAQppF,GACTq2F,GAEF5K,EAAIzrF,EACb,CAYA,SAASw2F,EAAiBx2F,GACxB,OAAOqoF,GAAkBroF,GAAQy2F,EAAWz2F,GAAQyrF,EAAIzrF,EAC1D,CAYA,SAASy2F,EAAWz2F,GAClB,OAAa,KAATA,GACFipF,EAAQG,QAAQppF,GAChBqI,EAAO,EACAmuF,GAEI,KAATx2F,GAEFipF,EAAQI,KAAK,oBAAoB3jF,KAAO,gBACxCujF,EAAQtzB,MAAM,kBACdszB,EAAQG,QAAQppF,GAChBipF,EAAQI,KAAK,kBACbJ,EAAQI,KAAK,YACNH,GAEFwN,EAAW12F,EACpB,CAcA,SAAS02F,EAAW12F,GAElB,IAAc,KAATA,GAAeqoF,GAAkBroF,KAAUqI,IAAS,GAAI,CAC3D,MAAMtC,EAAgB,KAAT/F,EAAc02F,EAAaD,EAExC,OADAxN,EAAQG,QAAQppF,GACT+F,CACT,CACA,OAAO0lF,EAAIzrF,EACb,CACF,GC3NO,MAAM22F,GAAW,CACtB3rF,KAAM,WACNs+E,SAQF,SAA0BL,EAASC,EAAIuC,GACrC,MAAM9B,EAAOnoF,KAEb,IAAI8kB,EAEAzhB,EAEA+xF,EACJ,OAYA,SAAe52F,GAIb,OAHAipF,EAAQtzB,MAAM,YACdszB,EAAQtzB,MAAM,gBACdszB,EAAQG,QAAQppF,GACTi7B,CACT,EAgBA,SAASA,EAAKj7B,GACZ,OAAa,KAATA,GACFipF,EAAQG,QAAQppF,GACT+wF,GAEI,KAAT/wF,GACFipF,EAAQG,QAAQppF,GACTgxF,GAEI,KAAThxF,GACFipF,EAAQG,QAAQppF,GACT+1C,GAILoyC,GAAWnoF,IACbipF,EAAQG,QAAQppF,GACT62F,GAEFpL,EAAIzrF,EACb,CAgBA,SAAS+wF,EAAgB/wF,GACvB,OAAa,KAATA,GACFipF,EAAQG,QAAQppF,GACTkxF,GAEI,KAATlxF,GACFipF,EAAQG,QAAQppF,GAChB6E,EAAQ,EACDssF,GAELhJ,GAAWnoF,IACbipF,EAAQG,QAAQppF,GACTkI,GAEFujF,EAAIzrF,EACb,CAYA,SAASkxF,EAAkBlxF,GACzB,OAAa,KAATA,GACFipF,EAAQG,QAAQppF,GACT82F,GAEFrL,EAAIzrF,EACb,CAYA,SAASiI,EAAQjI,GACf,OAAa,OAATA,EACKyrF,EAAIzrF,GAEA,KAATA,GACFipF,EAAQG,QAAQppF,GACT+2F,GAELpO,GAAmB3oF,IACrB42F,EAAc3uF,EACP+uF,EAAiBh3F,KAE1BipF,EAAQG,QAAQppF,GACTiI,EACT,CAYA,SAAS8uF,EAAa/2F,GACpB,OAAa,KAATA,GACFipF,EAAQG,QAAQppF,GACT82F,GAEF7uF,EAAQjI,EACjB,CAYA,SAAS82F,EAAW92F,GAClB,OAAgB,KAATA,EAAcgF,EAAIhF,GAAiB,KAATA,EAAc+2F,EAAa/2F,GAAQiI,EAAQjI,EAC9E,CAYA,SAASmxF,EAAgBnxF,GACvB,MAAMsE,EAAQ,SACd,OAAItE,IAASsE,EAAMQ,WAAWD,MAC5BokF,EAAQG,QAAQppF,GACCsE,IAAVO,EAAyBoyF,EAAQ9F,GAEnC1F,EAAIzrF,EACb,CAYA,SAASi3F,EAAMj3F,GACb,OAAa,OAATA,EACKyrF,EAAIzrF,GAEA,KAATA,GACFipF,EAAQG,QAAQppF,GACTk3F,GAELvO,GAAmB3oF,IACrB42F,EAAcK,EACPD,EAAiBh3F,KAE1BipF,EAAQG,QAAQppF,GACTi3F,EACT,CAYA,SAASC,EAAWl3F,GAClB,OAAa,KAATA,GACFipF,EAAQG,QAAQppF,GACTm3F,GAEFF,EAAMj3F,EACf,CAYA,SAASm3F,EAASn3F,GAChB,OAAa,KAATA,EACKgF,EAAIhF,GAEA,KAATA,GACFipF,EAAQG,QAAQppF,GACTm3F,GAEFF,EAAMj3F,EACf,CAYA,SAASkI,EAAYlI,GACnB,OAAa,OAATA,GAA0B,KAATA,EACZgF,EAAIhF,GAET2oF,GAAmB3oF,IACrB42F,EAAc1uF,EACP8uF,EAAiBh3F,KAE1BipF,EAAQG,QAAQppF,GACTkI,EACT,CAYA,SAAS6tC,EAAY/1C,GACnB,OAAa,OAATA,EACKyrF,EAAIzrF,GAEA,KAATA,GACFipF,EAAQG,QAAQppF,GACTo3F,GAELzO,GAAmB3oF,IACrB42F,EAAc7gD,EACPihD,EAAiBh3F,KAE1BipF,EAAQG,QAAQppF,GACT+1C,EACT,CAYA,SAASqhD,EAAiBp3F,GACxB,OAAgB,KAATA,EAAcgF,EAAIhF,GAAQ+1C,EAAY/1C,EAC/C,CAYA,SAASgxF,EAAchxF,GAErB,OAAImoF,GAAWnoF,IACbipF,EAAQG,QAAQppF,GACTq3F,GAEF5L,EAAIzrF,EACb,CAYA,SAASq3F,EAASr3F,GAEhB,OAAa,KAATA,GAAeqoF,GAAkBroF,IACnCipF,EAAQG,QAAQppF,GACTq3F,GAEFC,EAAgBt3F,EACzB,CAYA,SAASs3F,EAAgBt3F,GACvB,OAAI2oF,GAAmB3oF,IACrB42F,EAAcU,EACPN,EAAiBh3F,IAEtB6oF,GAAc7oF,IAChBipF,EAAQG,QAAQppF,GACTs3F,GAEFtyF,EAAIhF,EACb,CAYA,SAAS62F,EAAQ72F,GAEf,OAAa,KAATA,GAAeqoF,GAAkBroF,IACnCipF,EAAQG,QAAQppF,GACT62F,GAEI,KAAT72F,GAAwB,KAATA,GAAe4oF,GAA0B5oF,GACnDu3F,EAAev3F,GAEjByrF,EAAIzrF,EACb,CAYA,SAASu3F,EAAev3F,GACtB,OAAa,KAATA,GACFipF,EAAQG,QAAQppF,GACTgF,GAII,KAAThF,GAAwB,KAATA,GAAemoF,GAAWnoF,IAC3CipF,EAAQG,QAAQppF,GACTw3F,GAEL7O,GAAmB3oF,IACrB42F,EAAcW,EACPP,EAAiBh3F,IAEtB6oF,GAAc7oF,IAChBipF,EAAQG,QAAQppF,GACTu3F,GAEFvyF,EAAIhF,EACb,CAYA,SAASw3F,EAAqBx3F,GAE5B,OAAa,KAATA,GAAwB,KAATA,GAAwB,KAATA,GAAwB,KAATA,GAAeqoF,GAAkBroF,IAChFipF,EAAQG,QAAQppF,GACTw3F,GAEFC,EAA0Bz3F,EACnC,CAaA,SAASy3F,EAA0Bz3F,GACjC,OAAa,KAATA,GACFipF,EAAQG,QAAQppF,GACT03F,GAEL/O,GAAmB3oF,IACrB42F,EAAca,EACPT,EAAiBh3F,IAEtB6oF,GAAc7oF,IAChBipF,EAAQG,QAAQppF,GACTy3F,GAEFF,EAAev3F,EACxB,CAaA,SAAS03F,EAA4B13F,GACnC,OAAa,OAATA,GAA0B,KAATA,GAAwB,KAATA,GAAwB,KAATA,GAAwB,KAATA,EACzDyrF,EAAIzrF,GAEA,KAATA,GAAwB,KAATA,GACjBipF,EAAQG,QAAQppF,GAChBsmB,EAAStmB,EACF23F,GAELhP,GAAmB3oF,IACrB42F,EAAcc,EACPV,EAAiBh3F,IAEtB6oF,GAAc7oF,IAChBipF,EAAQG,QAAQppF,GACT03F,IAETzO,EAAQG,QAAQppF,GACT43F,EACT,CAYA,SAASD,EAA4B33F,GACnC,OAAIA,IAASsmB,GACX2iE,EAAQG,QAAQppF,GAChBsmB,OAAS9jB,EACFq1F,GAEI,OAAT73F,EACKyrF,EAAIzrF,GAET2oF,GAAmB3oF,IACrB42F,EAAce,EACPX,EAAiBh3F,KAE1BipF,EAAQG,QAAQppF,GACT23F,EACT,CAYA,SAASC,EAA8B53F,GACrC,OAAa,OAATA,GAA0B,KAATA,GAAwB,KAATA,GAAwB,KAATA,GAAwB,KAATA,GAAwB,KAATA,EACxEyrF,EAAIzrF,GAEA,KAATA,GAAwB,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EACD,IAOH,CACE,cACA,4BACA,YACA,iBACAvO,SAAQ4K,IACRkO,EAAWlO,GAAQ,IAAImiJ,EACrBniJ,EA5HsB,GA8HtB,EACAA,EACA,MACA,GACA,EACD,IAIH,CACE,kBACA,QAGA,YACA,WACA,WACA,UACA,QACA,WACA,0BACA,wBACA,iBACA,SACA,OACA,WACA,aACA,OACA,cACA,WACA,WACA,WACA,SACA,WAEA,aACA5K,SAAQ4K,IACRkO,EAAWlO,GAAQ,IAAImiJ,EACrBniJ,EA/JY,GAiKZ,EACAA,EAAK2D,cACL,MACA,GACA,EACD,IAKH,CACE,UAGA,WACA,QACA,YAKAvO,SAAQ4K,IACRkO,EAAWlO,GAAQ,IAAImiJ,EACrBniJ,EAxLY,GA0LZ,EACAA,EACA,MACA,GACA,EACD,IAKH,CACE,UACA,YAKA5K,SAAQ4K,IACRkO,EAAWlO,GAAQ,IAAImiJ,EACrBniJ,EAvMuB,GAyMvB,EACAA,EACA,MACA,GACA,EACD,IAIH,CACE,OACA,OACA,OACA,QAKA5K,SAAQ4K,IACRkO,EAAWlO,GAAQ,IAAImiJ,EACrBniJ,EArNqB,GAuNrB,EACAA,EACA,MACA,GACA,EACD,IAIH,CAAC,UAAW,SAAS5K,SAAQ4K,IAC3BkO,EAAWlO,GAAQ,IAAImiJ,EACrBniJ,EAtOY,GAwOZ,EACAA,EAAK2D,cACL,MACA,GACA,EACD,IAGH,MAAM8+I,EAAW,iBACXC,EAAaxnJ,GAASA,EAAM,GAAGvF,cAOrC,CACE,gBACA,qBACA,cACA,iBACA,aACA,YACA,YACA,sBACA,8BACA,gBACA,kBACA,oBACA,oBACA,eACA,YACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,aACA,+BACA,6BACA,cACA,iBACA,kBACA,iBACA,iBACA,aACA,aACA,eACA,oBACA,qBACA,cACA,WACA,iBACA,mBACA,kBACA,aACA,eACA,yBACA,0BACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,eACA,cACA,kBACA,iBACA,qBACA,sBACA,eACA,gBACA,eACA,eACA,YACA,gBA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","sources":["webpack://relution-site/./node_modules/@mui/icons-material/esm/Add.js","webpack://relution-site/./node_modules/@mui/icons-material/esm/ArrowForward.js","webpack://relution-site/./node_modules/@mui/icons-material/esm/Close.js","webpack://relution-site/./node_modules/@mui/icons-material/esm/ExpandMore.js","webpack://relution-site/./node_modules/clsx/dist/clsx.mjs","webpack://relution-site/./node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.js","webpack://relution-site/./node_modules/@mui/utils/esm/capitalize/capitalize.js","webpack://relution-site/./node_modules/@mui/material/utils/capitalize.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://relution-site/./node_modules/@emotion/sheet/dist/emotion-sheet.esm.js","webpack://relution-site/./node_modules/stylis/src/Utility.js","webpack://relution-site/./node_modules/stylis/src/Tokenizer.js","webpack://relution-site/./node_modules/stylis/src/Enum.js","webpack://relution-site/./node_modules/stylis/src/Serializer.js","webpack://relution-site/./node_modules/stylis/src/Parser.js","webpack://relution-site/./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","webpack://relution-site/./node_modules/stylis/src/Middleware.js","webpack://relution-site/./node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","webpack://relution-site/./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","webpack://relution-site/./node_modules/@emotion/serialize/dist/emotion-serialize.esm.js","webpack://relution-site/./node_modules/@emotion/hash/dist/emotion-hash.esm.js","webpack://relution-site/./node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","webpack://relution-site/./node_modules/@emotion/react/dist/emotion-element-f0de968e.browser.esm.js","webpack://relution-site/./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack://relution-site/./node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","webpack://relution-site/./node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","webpack://relution-site/./node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js","webpack://relution-site/./node_modules/@mui/styled-engine/index.js","webpack://relution-site/./node_modules/@mui/utils/esm/deepmerge/deepmerge.js","webpack://relution-site/./node_modules/@mui/system/esm/createBreakpoints/createBreakpoints.js","webpack://relution-site/./node_modules/@mui/system/esm/createTheme/shape.js","webpack://relution-site/./node_modules/@mui/system/esm/breakpoints/breakpoints.js","webpack://relution-site/./node_modules/@mui/system/esm/cssContainerQueries/cssContainerQueries.js","webpack://relution-site/./node_modules/@mui/system/esm/style/style.js","webpack://relution-site/./node_modules/@mui/system/esm/merge/merge.js","webpack://relution-site/./node_modules/@mui/system/esm/spacing/spacing.js","webpack://relution-site/./node_modules/@mui/system/esm/memoize/memoize.js","webpack://relution-site/./node_modules/@mui/system/esm/createTheme/createSpacing.js","webpack://relution-site/./node_modules/@mui/system/esm/compose/compose.js","webpack://relution-site/./node_modules/@mui/system/esm/borders/borders.js","webpack://relution-site/./node_modules/@mui/system/esm/cssGrid/cssGrid.js","webpack://relution-site/./node_modules/@mui/system/esm/palette/palette.js","webpack://relution-site/./node_modules/@mui/system/esm/sizing/sizing.js","webpack://relution-site/./node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js","webpack://relution-site/./node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js","webpack://relution-site/./node_modules/@mui/system/esm/createTheme/applyStyles.js","webpack://relution-site/./node_modules/@mui/system/esm/createTheme/createTheme.js","webpack://relution-site/./node_modules/@mui/system/esm/preprocessStyles.js","webpack://relution-site/./node_modules/@mui/system/esm/createStyled/createStyled.js","webpack://relution-site/./node_modules/@mui/utils/esm/clamp/clamp.js","webpack://relution-site/./node_modules/@mui/system/esm/colorManipulator/colorManipulator.js","webpack://relution-site/./node_modules/@mui/material/colors/common.js","webpack://relution-site/./node_modules/@mui/material/colors/grey.js","webpack://relution-site/./node_modules/@mui/material/colors/purple.js","webpack://relution-site/./node_modules/@mui/material/colors/red.js","webpack://relution-site/./node_modules/@mui/material/colors/orange.js","webpack://relution-site/./node_modules/@mui/material/colors/blue.js","webpack://relution-site/./node_modules/@mui/material/colors/lightBlue.js","webpack://relution-site/./node_modules/@mui/material/colors/green.js","webpack://relution-site/./node_modules/@mui/material/styles/createPalette.js","webpack://relution-site/./node_modules/@mui/system/esm/cssVars/createGetCssVar.js","webpack://relution-site/./node_modules/@mui/system/esm/cssVars/prepareTypographyVars.js","webpack://relution-site/./node_modules/@mui/system/esm/cssVars/cssVarsParser.js","webpack://relution-site/./node_modules/@mui/system/esm/cssVars/prepareCssVars.js","webpack://relution-site/./node_modules/@mui/material/styles/createMixins.js","webpack://relution-site/./node_modules/@mui/material/styles/createTypography.js","webpack://relution-site/./node_modules/@mui/material/styles/shadows.js","webpack://relution-site/./node_modules/@mui/material/styles/createTransitions.js","webpack://relution-site/./node_modules/@mui/material/styles/zIndex.js","webpack://relution-site/./node_modules/@mui/material/styles/stringifyTheme.js","webpack://relution-site/./node_modules/@mui/material/styles/createThemeNoVars.js","webpack://relution-site/./node_modules/@mui/material/styles/createColorScheme.js","webpack://relution-site/./node_modules/@mui/material/styles/getOverlayAlpha.js","webpack://relution-site/./node_modules/@mui/material/styles/shouldSkipGeneratingVar.js","webpack://relution-site/./node_modules/@mui/material/styles/excludeVariablesFromRoot.js","webpack://relution-site/./node_modules/@mui/material/styles/createGetSelector.js","webpack://relution-site/./node_modules/@mui/material/styles/createThemeWithVars.js","webpack://relution-site/./node_modules/@mui/system/esm/cssVars/getColorSchemeSelector.js","webpack://relution-site/./node_modules/@mui/material/styles/createTheme.js","webpack://relution-site/./node_modules/@mui/material/styles/defaultTheme.js","webpack://relution-site/./node_modules/@mui/material/styles/slotShouldForwardProp.js","webpack://relution-site/./node_modules/@mui/material/styles/styled.js","webpack://relution-site/./node_modules/@mui/material/styles/identifier.js","webpack://relution-site/./node_modules/@mui/material/styles/rootShouldForwardProp.js","webpack://relution-site/./node_modules/@mui/system/esm/memoTheme.js","webpack://relution-site/./node_modules/@mui/material/utils/memoTheme.js","webpack://relution-site/./node_modules/@mui/utils/esm/resolveProps/resolveProps.js","webpack://relution-site/./node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.js","webpack://relution-site/./node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.js","webpack://relution-site/./node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js","webpack://relution-site/./node_modules/@mui/material/SvgIcon/svgIconClasses.js","webpack://relution-site/./node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js","webpack://relution-site/./node_modules/@mui/material/SvgIcon/SvgIcon.js","webpack://relution-site/./node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.js","webpack://relution-site/./node_modules/@mui/utils/esm/composeClasses/composeClasses.js","webpack://relution-site/./node_modules/@mui/material/utils/createSvgIcon.js","webpack://relution-site/./node_modules/axios/index.js","webpack://relution-site/./node_modules/axios/lib/adapters/xhr.js","webpack://relution-site/./node_modules/axios/lib/axios.js","webpack://relution-site/./node_modules/axios/lib/cancel/CancelToken.js","webpack://relution-site/./node_modules/axios/lib/cancel/CanceledError.js","webpack://relution-site/./node_modules/axios/lib/cancel/isCancel.js","webpack://relution-site/./node_modules/axios/lib/core/Axios.js","webpack://relution-site/./node_modules/axios/lib/core/AxiosError.js","webpack://relution-site/./node_modules/axios/lib/core/InterceptorManager.js","webpack://relution-site/./node_modules/axios/lib/core/buildFullPath.js","webpack://relution-site/./node_modules/axios/lib/core/dispatchRequest.js","webpack://relution-site/./node_modules/axios/lib/core/mergeConfig.js","webpack://relution-site/./node_modules/axios/lib/core/settle.js","webpack://relution-site/./node_modules/axios/lib/core/transformData.js","webpack://relution-site/./node_modules/axios/lib/defaults/index.js","webpack://relution-site/./node_modules/axios/lib/defaults/transitional.js","webpack://relution-site/./node_modules/axios/lib/env/data.js","webpack://relution-site/./node_modules/axios/lib/helpers/bind.js","webpack://relution-site/./node_modules/axios/lib/helpers/buildURL.js","webpack://relution-site/./node_modules/axios/lib/helpers/combineURLs.js","webpack://relution-site/./node_modules/axios/lib/helpers/cookies.js","webpack://relution-site/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://relution-site/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://relution-site/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://relution-site/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://relution-site/./node_modules/axios/lib/helpers/null.js","webpack://relution-site/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://relution-site/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://relution-site/./node_modules/axios/lib/helpers/spread.js","webpack://relution-site/./node_modules/axios/lib/helpers/toFormData.js","webpack://relution-site/./node_modules/axios/lib/helpers/validator.js","webpack://relution-site/./node_modules/axios/lib/utils.js","webpack://relution-site/./node_modules/call-bind-apply-helpers/actualApply.js","webpack://relution-site/./node_modules/call-bind-apply-helpers/functionApply.js","webpack://relution-site/./node_modules/call-bind-apply-helpers/functionCall.js","webpack://relution-site/./node_modules/call-bind-apply-helpers/index.js","webpack://relution-site/./node_modules/call-bind-apply-helpers/reflectApply.js","webpack://relution-site/./node_modules/call-bound/index.js","webpack://relution-site/./node_modules/camelcase/index.js","webpack://relution-site/./node_modules/domelementtype/lib/index.js","webpack://relution-site/./node_modules/domhandler/lib/index.js","webpack://relution-site/./node_modules/domhandler/lib/node.js","webpack://relution-site/./node_modules/dunder-proto/get.js","webpack://relution-site/./node_modules/es-define-property/index.js","webpack://relution-site/./node_modules/es-errors/eval.js","webpack://relution-site/./node_modules/es-errors/index.js","webpack://relution-site/./node_modules/es-errors/range.js","webpack://relution-site/./node_modules/es-errors/ref.js","webpack://relution-site/./node_modules/es-errors/syntax.js","webpack://relution-site/./node_modules/es-errors/type.js","webpack://relution-site/./node_modules/es-errors/uri.js","webpack://relution-site/./node_modules/es-object-atoms/index.js","webpack://relution-site/./node_modules/ev-emitter/ev-emitter.js","webpack://relution-site/./node_modules/extend/index.js","webpack://relution-site/./node_modules/function-bind/implementation.js","webpack://relution-site/./node_modules/function-bind/index.js","webpack://relution-site/./node_modules/gatsby/dist/internal-plugins/bundle-optimisations/polyfills/object-assign.js","webpack://relution-site/../src/image-utils.ts","webpack://relution-site/../src/components/hooks.ts","webpack://relution-site/../src/components/layout-wrapper.tsx","webpack://relution-site/../src/components/picture.tsx","webpack://relution-site/../src/components/placeholder.tsx","webpack://relution-site/../src/components/main-image.tsx","webpack://relution-site/../src/components/gatsby-image.server.tsx","webpack://relution-site/../src/components/gatsby-image.browser.tsx","webpack://relution-site/../src/components/static-image.server.tsx","webpack://relution-site/../src/components/static-image.tsx","webpack://relution-site/./node_modules/gatsby-plugin-image/node_modules/prop-types/factoryWithThrowingShims.js","webpack://relution-site/./node_modules/gatsby-plugin-image/node_modules/prop-types/index.js","webpack://relution-site/./node_modules/gatsby-plugin-image/node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://relution-site/./node_modules/gatsby-plugin-react-i18next/dist/Link.js","webpack://relution-site/./node_modules/gatsby-plugin-react-i18next/dist/index.js","webpack://relution-site/./node_modules/gatsby-plugin-react-i18next/dist/useI18next.js","webpack://relution-site/./node_modules/gatsby-plugin-react-i18next/index.js","webpack://relution-site/./node_modules/@mui/icons-material/esm/FileDownload.js","webpack://relution-site/./src/components/base/Button.jsx","webpack://relution-site/./src/components/base/HeadlineTag.jsx","webpack://relution-site/./src/icons/platforms/platforms-hex-android.svg","webpack://relution-site/./src/icons/platforms/platforms-hex-apple.svg","webpack://relution-site/./src/icons/platforms/platforms-hex-relution.svg","webpack://relution-site/./src/icons/platforms/platforms-hex-relution-inverted.svg","webpack://relution-site/./src/icons/platforms/platforms-hex-windows.svg","webpack://relution-site/./src/icons/platforms/platforms-hex-chrome.svg","webpack://relution-site/./src/components/base/PlatformIcon.jsx","webpack://relution-site/./src/components/base/PlatformShelf.jsx","webpack://relution-site/./src/components/base/ArticleCardSmall.jsx","webpack://relution-site/./src/components/blocks/ArticleCollectionColumn.jsx","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-watch.js","webpack://relution-site/./node_modules/@headlessui/react/dist/utils/active-element-history.js","webpack://relution-site/./node_modules/@headlessui/react/dist/utils/document-ready.js","webpack://relution-site/./node_modules/@headlessui/react/dist/components/focus-trap/focus-trap.js","webpack://relution-site/./node_modules/@headlessui/react/dist/use-sync-external-store-shim/useSyncExternalStoreShimClient.js","webpack://relution-site/./node_modules/@headlessui/react/dist/use-sync-external-store-shim/index.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/document-overflow/adjust-scrollbar-padding.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/document-overflow/overflow-store.js","webpack://relution-site/./node_modules/@headlessui/react/dist/utils/store.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/document-overflow/handle-ios-locking.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/document-overflow/prevent-scroll.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/document-overflow/use-document-overflow.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-store.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-inert.js","webpack://relution-site/./node_modules/@headlessui/react/dist/internal/stack-context.js","webpack://relution-site/./node_modules/@headlessui/react/dist/components/description/description.js","webpack://relution-site/./node_modules/@headlessui/react/dist/components/dialog/dialog.js","webpack://relution-site/./src/images/relution-logo.svg","webpack://relution-site/./node_modules/@mui/icons-material/esm/AccountBox.js","webpack://relution-site/./node_modules/@mui/icons-material/esm/Menu.js","webpack://relution-site/./node_modules/@mui/icons-material/esm/ExpandLess.js","webpack://relution-site/./node_modules/@headlessui/react/dist/components/menu/menu.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-tree-walker.js","webpack://relution-site/./node_modules/@mui/icons-material/esm/Language.js","webpack://relution-site/./src/components/base/LanguageSelect.jsx","webpack://relution-site/./node_modules/@mui/icons-material/esm/ChevronRight.js","webpack://relution-site/./node_modules/@mui/icons-material/esm/Remove.js","webpack://relution-site/./src/components/base/GlobalNavCollapseSub.jsx","webpack://relution-site/./src/components/base/GlobalNavCollapse.jsx","webpack://relution-site/./src/components/base/GlobalNavPopover.jsx","webpack://relution-site/./src/components/base/GlobalNavSubPopover.jsx","webpack://relution-site/./src/components/layout/PageHeader.jsx","webpack://relution-site/./src/images/relution-signet.svg","webpack://relution-site/./node_modules/@mui/icons-material/esm/ArrowUpward.js","webpack://relution-site/./node_modules/@mui/icons-material/esm/Facebook.js","webpack://relution-site/./node_modules/@mui/icons-material/esm/Instagram.js","webpack://relution-site/./node_modules/@mui/icons-material/esm/LinkedIn.js","webpack://relution-site/./node_modules/@mui/icons-material/esm/Twitter.js","webpack://relution-site/./node_modules/@mui/icons-material/esm/YouTube.js","webpack://relution-site/./src/components/layout/PageFooter.jsx","webpack://relution-site/./src/components/layout.jsx","webpack://relution-site/./src/utils/sorting.js","webpack://relution-site/./src/constants/space.js","webpack://relution-site/./src/components/blocks/HeadingColumn.jsx","webpack://relution-site/./node_modules/estree-util-is-identifier-name/lib/index.js","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/node_modules/hast-util-whitespace/lib/index.js","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/util/schema.js","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/util/merge.js","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/normalize.js","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/util/info.js","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/util/types.js","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/util/defined-info.js","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/util/create.js","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/xlink.js","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/xml.js","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/util/case-sensitive-transform.js","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/util/case-insensitive-transform.js","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/xmlns.js","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/aria.js","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/html.js","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/svg.js","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/node_modules/property-information/index.js","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/find.js","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/node_modules/property-information/lib/hast-to-react.js","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/node_modules/style-to-object/esm/index.mjs","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/node_modules/unist-util-position/lib/index.js","webpack://relution-site/./node_modules/unist-util-stringify-position/lib/index.js","webpack://relution-site/./node_modules/vfile-message/lib/index.js","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/lib/index.js","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/node_modules/comma-separated-tokens/index.js","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/node_modules/space-separated-tokens/index.js","webpack://relution-site/./node_modules/html-url-attributes/lib/index.js","webpack://relution-site/./node_modules/mdast-util-from-markdown/node_modules/mdast-util-to-string/lib/index.js","webpack://relution-site/./node_modules/micromark-util-chunked/index.js","webpack://relution-site/./node_modules/micromark-util-subtokenize/lib/splice-buffer.js","webpack://relution-site/./node_modules/micromark-util-subtokenize/index.js","webpack://relution-site/./node_modules/micromark-util-combine-extensions/index.js","webpack://relution-site/./node_modules/micromark-util-character/index.js","webpack://relution-site/./node_modules/micromark-factory-space/index.js","webpack://relution-site/./node_modules/micromark/lib/initialize/content.js","webpack://relution-site/./node_modules/micromark/lib/initialize/document.js","webpack://relution-site/./node_modules/micromark-core-commonmark/lib/blank-line.js","webpack://relution-site/./node_modules/micromark-core-commonmark/lib/content.js","webpack://relution-site/./node_modules/micromark/lib/initialize/flow.js","webpack://relution-site/./node_modules/micromark/lib/initialize/text.js","webpack://relution-site/./node_modules/micromark-core-commonmark/lib/thematic-break.js","webpack://relution-site/./node_modules/micromark-core-commonmark/lib/list.js","webpack://relution-site/./node_modules/micromark-core-commonmark/lib/block-quote.js","webpack://relution-site/./node_modules/micromark-factory-destination/index.js","webpack://relution-site/./node_modules/micromark-factory-label/index.js","webpack://relution-site/./node_modules/micromark-factory-title/index.js","webpack://relution-site/./node_modules/micromark-factory-whitespace/index.js","webpack://relution-site/./node_modules/micromark-util-normalize-identifier/index.js","webpack://relution-site/./node_modules/micromark-core-commonmark/lib/definition.js","webpack://relution-site/./node_modules/micromark-core-commonmark/lib/code-indented.js","webpack://relution-site/./node_modules/micromark-core-commonmark/lib/heading-atx.js","webpack://relution-site/./node_modules/micromark-core-commonmark/lib/setext-underline.js","webpack://relution-site/./node_modules/micromark-util-html-tag-name/index.js","webpack://relution-site/./node_modules/micromark-core-commonmark/lib/html-flow.js","webpack://relution-site/./node_modules/micromark-core-commonmark/lib/code-fenced.js","webpack://relution-site/./node_modules/decode-named-character-reference/index.dom.js","webpack://relution-site/./node_modules/micromark-core-commonmark/lib/character-reference.js","webpack://relution-site/./node_modules/micromark-core-commonmark/lib/character-escape.js","webpack://relution-site/./node_modules/micromark-core-commonmark/lib/line-ending.js","webpack://relution-site/./node_modules/micromark-util-resolve-all/index.js","webpack://relution-site/./node_modules/micromark-core-commonmark/lib/label-end.js","webpack://relution-site/./node_modules/micromark-core-commonmark/lib/label-start-image.js","webpack://relution-site/./node_modules/micromark-util-classify-character/index.js","webpack://relution-site/./node_modules/micromark-core-commonmark/lib/attention.js","webpack://relution-site/./node_modules/micromark-core-commonmark/lib/autolink.js","webpack://relution-site/./node_modules/micromark-core-commonmark/lib/html-text.js","webpack://relution-site/./node_modules/micromark-core-commonmark/lib/label-start-link.js","webpack://relution-site/./node_modules/micromark-core-commonmark/lib/hard-break-escape.js","webpack://relution-site/./node_modules/micromark-core-commonmark/lib/code-text.js","webpack://relution-site/./node_modules/micromark/lib/constructs.js","webpack://relution-site/./node_modules/micromark/lib/create-tokenizer.js","webpack://relution-site/./node_modules/micromark/lib/parse.js","webpack://relution-site/./node_modules/micromark/lib/preprocess.js","webpack://relution-site/./node_modules/micromark-util-decode-numeric-character-reference/index.js","webpack://relution-site/./node_modules/micromark-util-decode-string/index.js","webpack://relution-site/./node_modules/mdast-util-from-markdown/lib/index.js","webpack://relution-site/./node_modules/micromark/lib/postprocess.js","webpack://relution-site/./node_modules/react-markdown/node_modules/remark-parse/lib/index.js","webpack://relution-site/./node_modules/@ungap/structured-clone/esm/types.js","webpack://relution-site/./node_modules/@ungap/structured-clone/esm/deserialize.js","webpack://relution-site/./node_modules/@ungap/structured-clone/esm/serialize.js","webpack://relution-site/./node_modules/@ungap/structured-clone/esm/index.js","webpack://relution-site/./node_modules/micromark-util-sanitize-uri/index.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/footer.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/unist-util-is/lib/index.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/unist-util-visit-parents/lib/index.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/unist-util-position/lib/index.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/revert.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/list-item.js","webpack://relution-site/./node_modules/trim-lines/index.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/index.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/blockquote.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/break.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/code.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/delete.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/emphasis.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/heading.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/html.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/image-reference.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/image.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/inline-code.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/link-reference.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/link.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/list.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/paragraph.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/root.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/strong.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/table.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/table-cell.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/table-row.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/text.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/state.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/unist-util-visit/lib/index.js","webpack://relution-site/./node_modules/remark-rehype/node_modules/mdast-util-to-hast/lib/index.js","webpack://relution-site/./node_modules/remark-rehype/lib/index.js","webpack://relution-site/./node_modules/react-markdown/node_modules/bail/index.js","webpack://relution-site/./node_modules/react-markdown/node_modules/is-plain-obj/index.js","webpack://relution-site/./node_modules/react-markdown/node_modules/trough/index.js","webpack://relution-site/./node_modules/react-markdown/node_modules/vfile/lib/minpath.browser.js","webpack://relution-site/./node_modules/react-markdown/node_modules/vfile/lib/minproc.browser.js","webpack://relution-site/./node_modules/react-markdown/node_modules/vfile/lib/minurl.shared.js","webpack://relution-site/./node_modules/react-markdown/node_modules/vfile/lib/minurl.browser.js","webpack://relution-site/./node_modules/react-markdown/node_modules/vfile/lib/index.js","webpack://relution-site/./node_modules/react-markdown/node_modules/unified/lib/callable-instance.js","webpack://relution-site/./node_modules/react-markdown/node_modules/unified/lib/index.js","webpack://relution-site/./node_modules/react-markdown/node_modules/unist-util-is/lib/index.js","webpack://relution-site/./node_modules/react-markdown/node_modules/unist-util-visit-parents/lib/index.js","webpack://relution-site/./node_modules/react-markdown/lib/index.js","webpack://relution-site/./node_modules/react-markdown/node_modules/unist-util-visit/lib/index.js","webpack://relution-site/./src/components/base/RichText.jsx","webpack://relution-site/./node_modules/react-google-recaptcha/lib/esm/recaptcha.js","webpack://relution-site/./node_modules/react-async-script/lib/esm/async-script-loader.js","webpack://relution-site/./node_modules/react-google-recaptcha/lib/esm/recaptcha-wrapper.js","webpack://relution-site/./node_modules/react-google-recaptcha/lib/esm/index.js","webpack://relution-site/./src/utils/isBrowser.js","webpack://relution-site/./src/components/base/TextField.jsx","webpack://relution-site/./src/components/base/TextArea.jsx","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-computed.js","webpack://relution-site/./node_modules/@headlessui/react/dist/utils/form.js","webpack://relution-site/./node_modules/@headlessui/react/dist/components/listbox/listbox.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-controllable.js","webpack://relution-site/./node_modules/@mui/icons-material/esm/Check.js","webpack://relution-site/./src/components/base/Select.jsx","webpack://relution-site/./src/components/base/Checkbox.jsx","webpack://relution-site/./src/hooks/useInputState.js","webpack://relution-site/./src/utils/form.js","webpack://relution-site/./src/components/base/FormRegistration.jsx","webpack://relution-site/./src/components/sections/AccountRegistration.jsx","webpack://relution-site/./node_modules/@mui/icons-material/esm/FormatListBulleted.js","webpack://relution-site/./src/components/sections/AnchorNavigation.jsx","webpack://relution-site/./node_modules/react-flickity-component/dist/react-flickity-component.es.js","webpack://relution-site/./src/utils/types.js","webpack://relution-site/./src/components/base/Image.jsx","webpack://relution-site/./src/utils/media.js","webpack://relution-site/./src/components/base/ArticleCard.jsx","webpack://relution-site/./src/components/sections/ArticleCarousel.jsx","webpack://relution-site/./src/components/sections/ArticleCollection.jsx","webpack://relution-site/./src/components/blocks/TextColumn.jsx","webpack://relution-site/./src/components/blocks/ImageColumn.jsx","webpack://relution-site/./src/components/blocks/BadgeDividerBlock.jsx","webpack://relution-site/./src/components/sections/ArticleColumns.jsx","webpack://relution-site/./src/components/base/Spinner.jsx","webpack://relution-site/./src/components/base/LoadMoreButton.jsx","webpack://relution-site/./src/components/base/LoadMoreCard.jsx","webpack://relution-site/./node_modules/@mui/icons-material/esm/ArrowBack.js","webpack://relution-site/./src/components/base/Pagination.jsx","webpack://relution-site/./src/components/base/PlatformFilter.jsx","webpack://relution-site/./src/components/sections/ArticleGrid.jsx","webpack://relution-site/./src/components/base/ArticleCardLarge.jsx","webpack://relution-site/./src/components/sections/ArticleList.jsx","webpack://relution-site/./src/components/sections/BadgeDivider.jsx","webpack://relution-site/./src/components/blocks/HighlightColumn.jsx","webpack://relution-site/./src/components/sections/Columns.jsx","webpack://relution-site/./src/components/base/VideoEmbed.jsx","webpack://relution-site/./src/components/blocks/VideoColumn.jsx","webpack://relution-site/./src/components/base/StatsBox.jsx","webpack://relution-site/./src/components/sections/ColumnsGroup.jsx","webpack://relution-site/./src/components/base/FormContact.jsx","webpack://relution-site/./src/components/sections/Contact.jsx","webpack://relution-site/./src/icons/icons/rel-apps.svg","webpack://relution-site/./src/icons/icons/rel-clients.svg","webpack://relution-site/./src/icons/icons/rel-devices.svg","webpack://relution-site/./src/icons/icons/rel-dsgvo.svg","webpack://relution-site/./src/icons/icons/rel-freetest.svg","webpack://relution-site/./src/icons/icons/rel-integrations.svg","webpack://relution-site/./src/icons/icons/rel-mail.svg","webpack://relution-site/./src/icons/icons/rel-newsletter.svg","webpack://relution-site/./src/icons/icons/rel-onpremisecloud.svg","webpack://relution-site/./src/icons/icons/rel-phone.svg","webpack://relution-site/./src/icons/icons/rel-platforms.svg","webpack://relution-site/./src/icons/icons/rel-users.svg","webpack://relution-site/./src/components/base/Icon.jsx","webpack://relution-site/./src/components/sections/ContactOptions.jsx","webpack://relution-site/./src/components/sections/ContentSection.jsx","webpack://relution-site/./src/utils/mime.js","webpack://relution-site/./src/components/base/DownloadCard.jsx","webpack://relution-site/./node_modules/@mui/icons-material/esm/ArrowCircleRight.js","webpack://relution-site/./src/components/sections/Downloads.jsx","webpack://relution-site/./node_modules/@mui/icons-material/esm/ArrowDownward.js","webpack://relution-site/./node_modules/uuid/dist/esm-browser/rng.js","webpack://relution-site/./node_modules/uuid/dist/esm-browser/regex.js","webpack://relution-site/./node_modules/uuid/dist/esm-browser/stringify.js","webpack://relution-site/./node_modules/uuid/dist/esm-browser/validate.js","webpack://relution-site/./node_modules/uuid/dist/esm-browser/v4.js","webpack://relution-site/./src/utils/currency.js","webpack://relution-site/./src/components/base/FormTraining.jsx","webpack://relution-site/./src/components/sections/EventDetail.jsx","webpack://relution-site/./src/constants/themes.js","webpack://relution-site/./src/components/sections/FeatureDescription.jsx","webpack://relution-site/./src/components/sections/FeatureList.jsx","webpack://relution-site/./src/components/sections/HeadingSection.jsx","webpack://relution-site/./src/components/sections/HeroSection.jsx","webpack://relution-site/./src/components/sections/HeroCollection.jsx","webpack://relution-site/./src/components/sections/HeroCompact.jsx","webpack://relution-site/./src/components/sections/HighlightFigure.jsx","webpack://relution-site/./src/components/base/AspectRatio.jsx","webpack://relution-site/./src/components/sections/HighlighLogo.jsx","webpack://relution-site/./src/components/sections/HighlightPlatform.jsx","webpack://relution-site/./src/components/sections/HighlightStats.jsx","webpack://relution-site/./src/components/sections/HighlightText.jsx","webpack://relution-site/./src/components/sections/ImageHeader.jsx","webpack://relution-site/./src/components/sections/LogoCloud.jsx","webpack://relution-site/./src/components/base/FormNewsletter.jsx","webpack://relution-site/./src/components/sections/Newsletter.jsx","webpack://relution-site/./src/components/base/PartnerCollectionItem.jsx","webpack://relution-site/./src/components/sections/PartnerCollection.jsx","webpack://relution-site/./src/components/base/TeaserImageLarge.jsx","webpack://relution-site/./src/components/sections/TeaserCollection.jsx","webpack://relution-site/./src/components/sections/TeaserLogo.jsx","webpack://relution-site/./src/icons/sticker-star.svg","webpack://relution-site/./src/components/base/Sticker.jsx","webpack://relution-site/./src/components/sections/TeaserSplitImage.jsx","webpack://relution-site/./node_modules/@mui/icons-material/esm/DoubleArrow.js","webpack://relution-site/./src/components/base/TestimonialCard.jsx","webpack://relution-site/./src/components/sections/TestimonialCollection.jsx","webpack://relution-site/./src/components/sections/TestimonialSection.jsx","webpack://relution-site/./src/components/base/TopicCard.jsx","webpack://relution-site/./src/components/sections/TopicCollection.jsx","webpack://relution-site/./src/components/sections/TrainingCollection.jsx","webpack://relution-site/./src/components/sections/CustomPostSelection.jsx","webpack://relution-site/./src/components/base/BreakingNewsCard.jsx","webpack://relution-site/./src/components/sections/BreakingNews.jsx","webpack://relution-site/./src/components/backed/LatestArticles.jsx","webpack://relution-site/./src/components/backed/LatestPosts.jsx","webpack://relution-site/./src/components/backed/LatestInsights.jsx","webpack://relution-site/./src/components/backed/LatestReleaseNotes.jsx","webpack://relution-site/./src/components/backed/LatestPostsCarousel.jsx","webpack://relution-site/./src/components/backed/NextEvents.jsx","webpack://relution-site/./src/components/sections.jsx","webpack://relution-site/./src/components/sections/HeroInsight.jsx","webpack://relution-site/./src/components/sections/HeroRelease.jsx","webpack://relution-site/./node_modules/react-helmet/es/Helmet.js","webpack://relution-site/./src/images/og-relution.jpg","webpack://relution-site/./src/components/seo.jsx","webpack://relution-site/./src/constants/enums.js","webpack://relution-site/./src/helper/index.js","webpack://relution-site/./src/utils/addValidHtmlProps.js","webpack://relution-site/./src/utils/date.js","webpack://relution-site/./src/utils/enhanceStrapiData.js","webpack://relution-site/./src/utils/links.js","webpack://relution-site/./node_modules/html-react-parser/esm/index.mjs","webpack://relution-site/./src/utils/react-framework-bridge.js","webpack://relution-site/./src/utils/siteData.js","webpack://relution-site/./node_modules/get-intrinsic/index.js","webpack://relution-site/./node_modules/get-proto/Object.getPrototypeOf.js","webpack://relution-site/./node_modules/get-proto/Reflect.getPrototypeOf.js","webpack://relution-site/./node_modules/get-proto/index.js","webpack://relution-site/./node_modules/gopd/gOPD.js","webpack://relution-site/./node_modules/gopd/index.js","webpack://relution-site/./node_modules/has-symbols/index.js","webpack://relution-site/./node_modules/has-symbols/shams.js","webpack://relution-site/./node_modules/hasown/index.js","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/node_modules/inline-style-parser/index.js","webpack://relution-site/./node_modules/hast-util-to-jsx-runtime/node_modules/style-to-object/cjs/index.js","webpack://relution-site/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://relution-site/./node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","webpack://relution-site/./node_modules/hoist-non-react-statics/node_modules/react-is/index.js","webpack://relution-site/./node_modules/html-dom-parser/lib/client/constants.js","webpack://relution-site/./node_modules/html-dom-parser/lib/client/domparser.js","webpack://relution-site/./node_modules/html-dom-parser/lib/client/html-to-dom.js","webpack://relution-site/./node_modules/html-dom-parser/lib/client/utilities.js","webpack://relution-site/./node_modules/html-react-parser/lib/attributes-to-props.js","webpack://relution-site/./node_modules/html-react-parser/lib/dom-to-react.js","webpack://relution-site/./node_modules/html-react-parser/lib/index.js","webpack://relution-site/./node_modules/html-react-parser/lib/utilities.js","webpack://relution-site/./node_modules/imagesloaded/imagesloaded.js","webpack://relution-site/./node_modules/lodash/_DataView.js","webpack://relution-site/./node_modules/lodash/_Hash.js","webpack://relution-site/./node_modules/lodash/_ListCache.js","webpack://relution-site/./node_modules/lodash/_Map.js","webpack://relution-site/./node_modules/lodash/_MapCache.js","webpack://relution-site/./node_modules/lodash/_Promise.js","webpack://relution-site/./node_modules/lodash/_Set.js","webpack://relution-site/./node_modules/lodash/_SetCache.js","webpack://relution-site/./node_modules/lodash/_Symbol.js","webpack://relution-site/./node_modules/lodash/_WeakMap.js","webpack://relution-site/./node_modules/lodash/_apply.js","webpack://relution-site/./node_modules/lodash/_arrayIncludes.js","webpack://relution-site/./node_modules/lodash/_arrayIncludesWith.js","webpack://relution-site/./node_modules/lodash/_arrayMap.js","webpack://relution-site/./node_modules/lodash/_assocIndexOf.js","webpack://relution-site/./node_modules/lodash/_baseFindIndex.js","webpack://relution-site/./node_modules/lodash/_baseGet.js","webpack://relution-site/./node_modules/lodash/_baseGetTag.js","webpack://relution-site/./node_modules/lodash/_baseIndexOf.js","webpack://relution-site/./node_modules/lodash/_baseIntersection.js","webpack://relution-site/./node_modules/lodash/_baseIsArguments.js","webpack://relution-site/./node_modules/lodash/_baseIsDate.js","webpack://relution-site/./node_modules/lodash/_baseIsNaN.js","webpack://relution-site/./node_modules/lodash/_baseIsNative.js","webpack://relution-site/./node_modules/lodash/_baseIsTypedArray.js","webpack://relution-site/./node_modules/lodash/_baseKeys.js","webpack://relution-site/./node_modules/lodash/_baseRest.js","webpack://relution-site/./node_modules/lodash/_baseSetToString.js","webpack://relution-site/./node_modules/lodash/_baseToString.js","webpack://relution-site/./node_modules/lodash/_baseUnary.js","webpack://relution-site/./node_modules/lodash/_cacheHas.js","webpack://relution-site/./node_modules/lodash/_castArrayLikeObject.js","webpack://relution-site/./node_modules/lodash/_castPath.js","webpack://relution-site/./node_modules/lodash/_coreJsData.js","webpack://relution-site/./node_modules/lodash/_defineProperty.js","webpack://relution-site/./node_modules/lodash/_freeGlobal.js","webpack://relution-site/./node_modules/lodash/_getMapData.js","webpack://relution-site/./node_modules/lodash/_getNative.js","webpack://relution-site/./node_modules/lodash/_getRawTag.js","webpack://relution-site/./node_modules/lodash/_getTag.js","webpack://relution-site/./node_modules/lodash/_getValue.js","webpack://relution-site/./node_modules/lodash/_hashClear.js","webpack://relution-site/./node_modules/lodash/_hashDelete.js","webpack://relution-site/./node_modules/lodash/_hashGet.js","webpack://relution-site/./node_modules/lodash/_hashHas.js","webpack://relution-site/./node_modules/lodash/_hashSet.js","webpack://relution-site/./node_modules/lodash/_isKey.js","webpack://relution-site/./node_modules/lodash/_isKeyable.js","webpack://relution-site/./node_modules/lodash/_isMasked.js","webpack://relution-site/./node_modules/lodash/_isPrototype.js","webpack://relution-site/./node_modules/lodash/_listCacheClear.js","webpack://relution-site/./node_modules/lodash/_listCacheDelete.js","webpack://relution-site/./node_modules/lodash/_listCacheGet.js","webpack://relution-site/./node_modules/lodash/_listCacheHas.js","webpack://relution-site/./node_modules/lodash/_listCacheSet.js","webpack://relution-site/./node_modules/lodash/_mapCacheClear.js","webpack://relution-site/./node_modules/lodash/_mapCacheDelete.js","webpack://relution-site/./node_modules/lodash/_mapCacheGet.js","webpack://relution-site/./node_modules/lodash/_mapCacheHas.js","webpack://relution-site/./node_modules/lodash/_mapCacheSet.js","webpack://relution-site/./node_modules/lodash/_memoizeCapped.js","webpack://relution-site/./node_modules/lodash/_nativeCreate.js","webpack://relution-site/./node_modules/lodash/_nativeKeys.js","webpack://relution-site/./node_modules/lodash/_nodeUtil.js","webpack://relution-site/./node_modules/lodash/_objectToString.js","webpack://relution-site/./node_modules/lodash/_overArg.js","webpack://relution-site/./node_modules/lodash/_overRest.js","webpack://relution-site/./node_modules/lodash/_root.js","webpack://relution-site/./node_modules/lodash/_setCacheAdd.js","webpack://relution-site/./node_modules/lodash/_setCacheHas.js","webpack://relution-site/./node_modules/lodash/_setToString.js","webpack://relution-site/./node_modules/lodash/_shortOut.js","webpack://relution-site/./node_modules/lodash/_strictIndexOf.js","webpack://relution-site/./node_modules/lodash/_stringToPath.js","webpack://relution-site/./node_modules/lodash/_toKey.js","webpack://relution-site/./node_modules/lodash/_toSource.js","webpack://relution-site/./node_modules/lodash/constant.js","webpack://relution-site/./node_modules/lodash/eq.js","webpack://relution-site/./node_modules/lodash/get.js","webpack://relution-site/./node_modules/lodash/identity.js","webpack://relution-site/./node_modules/lodash/intersection.js","webpack://relution-site/./node_modules/lodash/isArguments.js","webpack://relution-site/./node_modules/lodash/isArray.js","webpack://relution-site/./node_modules/lodash/isArrayLike.js","webpack://relution-site/./node_modules/lodash/isArrayLikeObject.js","webpack://relution-site/./node_modules/lodash/isBuffer.js","webpack://relution-site/./node_modules/lodash/isDate.js","webpack://relution-site/./node_modules/lodash/isEmpty.js","webpack://relution-site/./node_modules/lodash/isFunction.js","webpack://relution-site/./node_modules/lodash/isLength.js","webpack://relution-site/./node_modules/lodash/isObject.js","webpack://relution-site/./node_modules/lodash/isObjectLike.js","webpack://relution-site/./node_modules/lodash/isString.js","webpack://relution-site/./node_modules/lodash/isSymbol.js","webpack://relution-site/./node_modules/lodash/isTypedArray.js","webpack://relution-site/./node_modules/lodash/memoize.js","webpack://relution-site/./node_modules/lodash/stubFalse.js","webpack://relution-site/./node_modules/lodash/toString.js","webpack://relution-site/./node_modules/math-intrinsics/abs.js","webpack://relution-site/./node_modules/math-intrinsics/floor.js","webpack://relution-site/./node_modules/math-intrinsics/isNaN.js","webpack://relution-site/./node_modules/math-intrinsics/max.js","webpack://relution-site/./node_modules/math-intrinsics/min.js","webpack://relution-site/./node_modules/math-intrinsics/pow.js","webpack://relution-site/./node_modules/math-intrinsics/round.js","webpack://relution-site/./node_modules/math-intrinsics/sign.js","webpack://relution-site/./node_modules/object-inspect/index.js","webpack://relution-site/./node_modules/qs/lib/formats.js","webpack://relution-site/./node_modules/qs/lib/index.js","webpack://relution-site/./node_modules/qs/lib/parse.js","webpack://relution-site/./node_modules/qs/lib/stringify.js","webpack://relution-site/./node_modules/qs/lib/utils.js","webpack://relution-site/./node_modules/react-fast-compare/index.js","webpack://relution-site/./node_modules/react-is/cjs/react-is.production.js","webpack://relution-site/./node_modules/react-property/lib/index.js","webpack://relution-site/./node_modules/react-property/lib/possibleStandardNamesOptimized.js","webpack://relution-site/./node_modules/react-side-effect/lib/index.js","webpack://relution-site/./node_modules/react-uid/dist/es2015/uid.js","webpack://relution-site/./node_modules/side-channel-list/index.js","webpack://relution-site/./node_modules/side-channel-map/index.js","webpack://relution-site/./node_modules/side-channel-weakmap/index.js","webpack://relution-site/./node_modules/side-channel/index.js","webpack://relution-site/./node_modules/style-to-js/cjs/index.js","webpack://relution-site/./node_modules/style-to-js/cjs/utilities.js","webpack://relution-site/./node_modules/style-to-js/node_modules/inline-style-parser/index.js","webpack://relution-site/./node_modules/style-to-js/node_modules/style-to-object/cjs/index.js","webpack://relution-site/./node_modules/@headlessui/react/dist/utils/start-transition.js","webpack://relution-site/./node_modules/@headlessui/react/dist/components/disclosure/disclosure.js","webpack://relution-site/./node_modules/@headlessui/react/dist/components/keyboard.js","webpack://relution-site/./node_modules/@headlessui/react/dist/components/popover/popover.js","webpack://relution-site/./node_modules/@headlessui/react/dist/components/portal/portal.js","webpack://relution-site/./node_modules/@headlessui/react/dist/components/transitions/utils/transition.js","webpack://relution-site/./node_modules/@headlessui/react/dist/utils/once.js","webpack://relution-site/./node_modules/@headlessui/react/dist/components/transitions/transition.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-flags.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-transition.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-disposables.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-event-listener.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-event.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-id.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-is-mounted.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-latest-value.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-on-unmount.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-document-event.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-outside-click.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-owner.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-root-containers.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-sync-refs.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-tab-direction.js","webpack://relution-site/./node_modules/@headlessui/react/dist/utils/get-text-value.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-text-value.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-tracked-pointer.js","webpack://relution-site/./node_modules/@headlessui/react/dist/hooks/use-window-event.js","webpack://relution-site/./node_modules/@headlessui/react/dist/internal/hidden.js","webpack://relution-site/./node_modules/@headlessui/react/dist/internal/open-closed.js","webpack://relution-site/./node_modules/@headlessui/react/dist/internal/portal-force-root.js","webpack://relution-site/./node_modules/@headlessui/react/dist/utils/bugs.js","webpack://relution-site/./node_modules/@headlessui/react/dist/utils/calculate-active-index.js","webpack://relution-site/./node_modules/@headlessui/react/dist/utils/class-names.js","webpack://relution-site/./node_modules/@headlessui/react/dist/utils/disposables.js","webpack://relution-site/./node_modules/@headlessui/react/dist/utils/env.js","webpack://relution-site/./node_modules/@headlessui/react/dist/utils/focus-management.js","webpack://relution-site/./node_modules/@headlessui/react/dist/utils/match.js","webpack://relution-site/./node_modules/@headlessui/react/dist/utils/micro-task.js","webpack://relution-site/./node_modules/@headlessui/react/dist/utils/owner.js","webpack://relution-site/./node_modules/@headlessui/react/dist/utils/platform.js","webpack://relution-site/./node_modules/@headlessui/react/dist/utils/render.js"],"sourcesContent":["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z\"\n}), 'Add');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z\"\n}), 'ArrowForward');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z\"\n}), 'ExpandMore');","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t url.searchParams.append('args[]', arg));\n return `Minified MUI error #${code}; visit ${url} for the full message.`;\n}","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n// It should to be noted that this function isn't equivalent to `text-transform: capitalize`.\n//\n// A strict capitalization should uppercase the first letter of each word in the sentence.\n// We only handle the first word.\nexport default function capitalize(string) {\n if (typeof string !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'MUI: `capitalize(string)` expects a string argument.' : _formatMuiErrorMessage(7));\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n}","import capitalize from '@mui/utils/capitalize';\nexport default capitalize;","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","var isDevelopment = false;\n\n/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n return document.styleSheets[i];\n }\n } // this function should always return with a value\n // TS can't understand it though so we make it stop complaining here\n\n\n return undefined;\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? !isDevelopment : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n this.tags.forEach(function (tag) {\n var _tag$parentNode;\n\n return (_tag$parentNode = tag.parentNode) == null ? void 0 : _tag$parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value;\n var parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' ');\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n scale: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar isDevelopment = false;\n\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n var componentSelector = interpolation;\n\n if (componentSelector.__emotion_styles !== undefined) {\n\n return componentSelector;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n var keyframes = interpolation;\n\n if (keyframes.anim === 1) {\n cursor = {\n name: keyframes.name,\n styles: keyframes.styles,\n next: cursor\n };\n return keyframes.name;\n }\n\n var serializedStyles = interpolation;\n\n if (serializedStyles.styles !== undefined) {\n var next = serializedStyles.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = serializedStyles.styles + \";\";\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n }\n\n break;\n }\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n var asString = interpolation;\n\n if (registered == null) {\n return asString;\n }\n\n var cached = registered[asString];\n return cached !== undefined ? cached : asString;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var key in obj) {\n var value = obj[key];\n\n if (typeof value !== 'object') {\n var asString = value;\n\n if (registered != null && registered[asString] !== undefined) {\n string += key + \"{\" + registered[asString] + \"}\";\n } else if (isProcessableValue(asString)) {\n string += processStyleName(key) + \":\" + processStyleValue(key, asString) + \";\";\n }\n } else {\n if (key === 'NO_COMPONENT_SELECTOR' && isDevelopment) {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(key) + \":\" + processStyleValue(key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n\n string += key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;{]+)\\s*(;|$)/g; // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\nvar cursor;\nfunction serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n var asTemplateStringsArr = strings;\n\n styles += asTemplateStringsArr[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n var templateStringsArr = strings;\n\n styles += templateStringsArr[i];\n }\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n}\n\nexport { serializeStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n","import * as React from 'react';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isDevelopment = false;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n return mergedTheme;\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n var WithTheme = /*#__PURE__*/React.forwardRef(function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n });\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar hasOwn = {}.hasOwnProperty;\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n\n var newProps = {};\n\n for (var _key in props) {\n if (hasOwn.call(props, _key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps[typePropName] = type; // Runtime labeling is an opt-in feature because:\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var _key2 in props) {\n if (hasOwn.call(props, _key2) && _key2 !== 'css' && _key2 !== typePropName && (!isDevelopment )) {\n newProps[_key2] = props[_key2];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwn as h, isDevelopment as i, useTheme as u, withEmotionCache as w };\n","var isBrowser = true;\n\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else if (className) {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import memoize from '@emotion/memoize';\n\n// eslint-disable-next-line no-undef\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport { withEmotionCache, ThemeContext } from '@emotion/react';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport * as React from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\n\nvar isDevelopment = false;\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key) {\n return key !== 'theme';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag) {\n return typeof tag === 'string' && // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\nvar composeShouldForwardProps = function composeShouldForwardProps(tag, options, isReal) {\n var shouldForwardProp;\n\n if (options) {\n var optionsShouldForwardProp = options.shouldForwardProp;\n shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function (propName) {\n return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);\n } : optionsShouldForwardProp;\n }\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n return shouldForwardProp;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar createStyled = function createStyled(tag, options) {\n\n var isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n var identifierName;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n }\n\n var shouldForwardProp = composeShouldForwardProps(tag, options, isReal);\n var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n var shouldUseAs = !defaultShouldForwardProp('as');\n return function () {\n // eslint-disable-next-line prefer-rest-params\n var args = arguments;\n var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n if (identifierName !== undefined) {\n styles.push(\"label:\" + identifierName + \";\");\n }\n\n if (args[0] == null || args[0].raw === undefined) {\n // eslint-disable-next-line prefer-spread\n styles.push.apply(styles, args);\n } else {\n var templateStringsArr = args[0];\n\n styles.push(templateStringsArr[0]);\n var len = args.length;\n var i = 1;\n\n for (; i < len; i++) {\n\n styles.push(args[i], templateStringsArr[i]);\n }\n }\n\n var Styled = withEmotionCache(function (props, cache, ref) {\n var FinalTag = shouldUseAs && props.as || baseTag;\n var className = '';\n var classInterpolations = [];\n var mergedProps = props;\n\n if (props.theme == null) {\n mergedProps = {};\n\n for (var key in props) {\n mergedProps[key] = props[key];\n }\n\n mergedProps.theme = React.useContext(ThemeContext);\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps);\n className += cache.key + \"-\" + serialized.name;\n\n if (targetClassName !== undefined) {\n className += \" \" + targetClassName;\n }\n\n var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp;\n var newProps = {};\n\n for (var _key in props) {\n if (shouldUseAs && _key === 'as') continue;\n\n if (finalShouldForwardProp(_key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof FinalTag === 'string'\n }), /*#__PURE__*/React.createElement(FinalTag, newProps));\n });\n Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n Styled.defaultProps = tag.defaultProps;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_styles = styles;\n Styled.__emotion_forwardProp = shouldForwardProp;\n Object.defineProperty(Styled, 'toString', {\n value: function value() {\n if (targetClassName === undefined && isDevelopment) {\n return 'NO_COMPONENT_SELECTOR';\n }\n\n return \".\" + targetClassName;\n }\n });\n\n Styled.withComponent = function (nextTag, nextOptions) {\n var newStyled = createStyled(nextTag, _extends({}, options, nextOptions, {\n shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)\n }));\n return newStyled.apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport { createStyled as default };\n","import createStyled from '../base/dist/emotion-styled-base.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/react';\nimport '@emotion/serialize';\nimport '@emotion/use-insertion-effect-with-fallbacks';\nimport '@emotion/utils';\nimport 'react';\nimport '@emotion/is-prop-valid';\n\nvar tags = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\n// bind it to avoid mutating the original function\nvar newStyled = createStyled.bind(null);\ntags.forEach(function (tagName) {\n newStyled[tagName] = newStyled(tagName);\n});\n\nexport { newStyled as default };\n","/**\n * @mui/styled-engine v6.4.0\n *\n * @license MIT\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/* eslint-disable no-underscore-dangle */\nimport emStyled from '@emotion/styled';\nimport { serializeStyles as emSerializeStyles } from '@emotion/serialize';\nexport default function styled(tag, options) {\n const stylesFactory = emStyled(tag, options);\n if (process.env.NODE_ENV !== 'production') {\n return (...styles) => {\n const component = typeof tag === 'string' ? `\"${tag}\"` : 'component';\n if (styles.length === 0) {\n console.error([`MUI: Seems like you called \\`styled(${component})()\\` without a \\`style\\` argument.`, 'You must provide a `styles` argument: `styled(\"div\")(styleYouForgotToPass)`.'].join('\\n'));\n } else if (styles.some(style => style === undefined)) {\n console.error(`MUI: the styled(${component})(...args) API requires all its args to be defined.`);\n }\n return stylesFactory(...styles);\n };\n }\n return stylesFactory;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function internal_mutateStyles(tag, processor) {\n // Emotion attaches all the styles as `__emotion_styles`.\n // Ref: https://github.com/emotion-js/emotion/blob/16d971d0da229596d6bcc39d282ba9753c9ee7cf/packages/styled/src/base.js#L186\n if (Array.isArray(tag.__emotion_styles)) {\n tag.__emotion_styles = processor(tag.__emotion_styles);\n }\n}\n\n// Emotion only accepts an array, but we want to avoid allocations\nconst wrapper = [];\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function internal_serializeStyles(styles) {\n wrapper[0] = styles;\n return emSerializeStyles(wrapper);\n}\nexport { ThemeContext, keyframes, css } from '@emotion/react';\nexport { default as StyledEngineProvider } from \"./StyledEngineProvider/index.js\";\nexport { default as GlobalStyles } from \"./GlobalStyles/index.js\";","import * as React from 'react';\nimport { isValidElementType } from 'react-is';\n\n// https://github.com/sindresorhus/is-plain-obj/blob/main/index.js\nexport function isPlainObject(item) {\n if (typeof item !== 'object' || item === null) {\n return false;\n }\n const prototype = Object.getPrototypeOf(item);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in item) && !(Symbol.iterator in item);\n}\nfunction deepClone(source) {\n if (/*#__PURE__*/React.isValidElement(source) || isValidElementType(source) || !isPlainObject(source)) {\n return source;\n }\n const output = {};\n Object.keys(source).forEach(key => {\n output[key] = deepClone(source[key]);\n });\n return output;\n}\n\n/**\n * Merge objects deeply.\n * It will shallow copy React elements.\n *\n * If `options.clone` is set to `false` the source object will be merged directly into the target object.\n *\n * @example\n * ```ts\n * deepmerge({ a: { b: 1 }, d: 2 }, { a: { c: 2 }, d: 4 });\n * // => { a: { b: 1, c: 2 }, d: 4 }\n * ````\n *\n * @param target The target object.\n * @param source The source object.\n * @param options The merge options.\n * @param options.clone Set to `false` to merge the source object directly into the target object.\n * @returns The merged object.\n */\nexport default function deepmerge(target, source, options = {\n clone: true\n}) {\n const output = options.clone ? {\n ...target\n } : target;\n if (isPlainObject(target) && isPlainObject(source)) {\n Object.keys(source).forEach(key => {\n if (/*#__PURE__*/React.isValidElement(source[key]) || isValidElementType(source[key])) {\n output[key] = source[key];\n } else if (isPlainObject(source[key]) &&\n // Avoid prototype pollution\n Object.prototype.hasOwnProperty.call(target, key) && isPlainObject(target[key])) {\n // Since `output` is a clone of `target` and we have narrowed `target` in this block we can cast to the same type.\n output[key] = deepmerge(target[key], source[key], options);\n } else if (options.clone) {\n output[key] = isPlainObject(source[key]) ? deepClone(source[key]) : source[key];\n } else {\n output[key] = source[key];\n }\n });\n }\n return output;\n}","// Sorted ASC by size. That's important.\n// It can't be configured as it's used statically for propTypes.\nexport const breakpointKeys = ['xs', 'sm', 'md', 'lg', 'xl'];\nconst sortBreakpointsValues = values => {\n const breakpointsAsArray = Object.keys(values).map(key => ({\n key,\n val: values[key]\n })) || [];\n // Sort in ascending order\n breakpointsAsArray.sort((breakpoint1, breakpoint2) => breakpoint1.val - breakpoint2.val);\n return breakpointsAsArray.reduce((acc, obj) => {\n return {\n ...acc,\n [obj.key]: obj.val\n };\n }, {});\n};\n\n// Keep in mind that @media is inclusive by the CSS specification.\nexport default function createBreakpoints(breakpoints) {\n const {\n // The breakpoint **start** at this value.\n // For instance with the first breakpoint xs: [xs, sm).\n values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n },\n unit = 'px',\n step = 5,\n ...other\n } = breakpoints;\n const sortedValues = sortBreakpointsValues(values);\n const keys = Object.keys(sortedValues);\n function up(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (min-width:${value}${unit})`;\n }\n function down(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (max-width:${value - step / 100}${unit})`;\n }\n function between(start, end) {\n const endIndex = keys.indexOf(end);\n return `@media (min-width:${typeof values[start] === 'number' ? values[start] : start}${unit}) and ` + `(max-width:${(endIndex !== -1 && typeof values[keys[endIndex]] === 'number' ? values[keys[endIndex]] : end) - step / 100}${unit})`;\n }\n function only(key) {\n if (keys.indexOf(key) + 1 < keys.length) {\n return between(key, keys[keys.indexOf(key) + 1]);\n }\n return up(key);\n }\n function not(key) {\n // handle first and last key separately, for better readability\n const keyIndex = keys.indexOf(key);\n if (keyIndex === 0) {\n return up(keys[1]);\n }\n if (keyIndex === keys.length - 1) {\n return down(keys[keyIndex]);\n }\n return between(key, keys[keys.indexOf(key) + 1]).replace('@media', '@media not all and');\n }\n return {\n keys,\n values: sortedValues,\n up,\n down,\n between,\n only,\n not,\n unit,\n ...other\n };\n}","const shape = {\n borderRadius: 4\n};\nexport default shape;","import PropTypes from 'prop-types';\nimport deepmerge from '@mui/utils/deepmerge';\nimport merge from \"../merge/index.js\";\nimport { isCqShorthand, getContainerQuery } from \"../cssContainerQueries/index.js\";\n\n// The breakpoint **start** at this value.\n// For instance with the first breakpoint xs: [xs, sm[.\nexport const values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n};\nconst defaultBreakpoints = {\n // Sorted ASC by size. That's important.\n // It can't be configured as it's used statically for propTypes.\n keys: ['xs', 'sm', 'md', 'lg', 'xl'],\n up: key => `@media (min-width:${values[key]}px)`\n};\nconst defaultContainerQueries = {\n containerQueries: containerName => ({\n up: key => {\n let result = typeof key === 'number' ? key : values[key] || key;\n if (typeof result === 'number') {\n result = `${result}px`;\n }\n return containerName ? `@container ${containerName} (min-width:${result})` : `@container (min-width:${result})`;\n }\n })\n};\nexport function handleBreakpoints(props, propValue, styleFromPropValue) {\n const theme = props.theme || {};\n if (Array.isArray(propValue)) {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return propValue.reduce((acc, item, index) => {\n acc[themeBreakpoints.up(themeBreakpoints.keys[index])] = styleFromPropValue(propValue[index]);\n return acc;\n }, {});\n }\n if (typeof propValue === 'object') {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return Object.keys(propValue).reduce((acc, breakpoint) => {\n if (isCqShorthand(themeBreakpoints.keys, breakpoint)) {\n const containerKey = getContainerQuery(theme.containerQueries ? theme : defaultContainerQueries, breakpoint);\n if (containerKey) {\n acc[containerKey] = styleFromPropValue(propValue[breakpoint], breakpoint);\n }\n }\n // key is breakpoint\n else if (Object.keys(themeBreakpoints.values || values).includes(breakpoint)) {\n const mediaKey = themeBreakpoints.up(breakpoint);\n acc[mediaKey] = styleFromPropValue(propValue[breakpoint], breakpoint);\n } else {\n const cssKey = breakpoint;\n acc[cssKey] = propValue[cssKey];\n }\n return acc;\n }, {});\n }\n const output = styleFromPropValue(propValue);\n return output;\n}\nfunction breakpoints(styleFunction) {\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const newStyleFunction = props => {\n const theme = props.theme || {};\n const base = styleFunction(props);\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n const extended = themeBreakpoints.keys.reduce((acc, key) => {\n if (props[key]) {\n acc = acc || {};\n acc[themeBreakpoints.up(key)] = styleFunction({\n theme,\n ...props[key]\n });\n }\n return acc;\n }, null);\n return merge(base, extended);\n };\n newStyleFunction.propTypes = process.env.NODE_ENV !== 'production' ? {\n ...styleFunction.propTypes,\n xs: PropTypes.object,\n sm: PropTypes.object,\n md: PropTypes.object,\n lg: PropTypes.object,\n xl: PropTypes.object\n } : {};\n newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl', ...styleFunction.filterProps];\n return newStyleFunction;\n}\nexport function createEmptyBreakpointObject(breakpointsInput = {}) {\n const breakpointsInOrder = breakpointsInput.keys?.reduce((acc, key) => {\n const breakpointStyleKey = breakpointsInput.up(key);\n acc[breakpointStyleKey] = {};\n return acc;\n }, {});\n return breakpointsInOrder || {};\n}\nexport function removeUnusedBreakpoints(breakpointKeys, style) {\n return breakpointKeys.reduce((acc, key) => {\n const breakpointOutput = acc[key];\n const isBreakpointUnused = !breakpointOutput || Object.keys(breakpointOutput).length === 0;\n if (isBreakpointUnused) {\n delete acc[key];\n }\n return acc;\n }, style);\n}\nexport function mergeBreakpointsInOrder(breakpointsInput, ...styles) {\n const emptyBreakpoints = createEmptyBreakpointObject(breakpointsInput);\n const mergedOutput = [emptyBreakpoints, ...styles].reduce((prev, next) => deepmerge(prev, next), {});\n return removeUnusedBreakpoints(Object.keys(emptyBreakpoints), mergedOutput);\n}\n\n// compute base for responsive values; e.g.,\n// [1,2,3] => {xs: true, sm: true, md: true}\n// {xs: 1, sm: 2, md: 3} => {xs: true, sm: true, md: true}\nexport function computeBreakpointsBase(breakpointValues, themeBreakpoints) {\n // fixed value\n if (typeof breakpointValues !== 'object') {\n return {};\n }\n const base = {};\n const breakpointsKeys = Object.keys(themeBreakpoints);\n if (Array.isArray(breakpointValues)) {\n breakpointsKeys.forEach((breakpoint, i) => {\n if (i < breakpointValues.length) {\n base[breakpoint] = true;\n }\n });\n } else {\n breakpointsKeys.forEach(breakpoint => {\n if (breakpointValues[breakpoint] != null) {\n base[breakpoint] = true;\n }\n });\n }\n return base;\n}\nexport function resolveBreakpointValues({\n values: breakpointValues,\n breakpoints: themeBreakpoints,\n base: customBase\n}) {\n const base = customBase || computeBreakpointsBase(breakpointValues, themeBreakpoints);\n const keys = Object.keys(base);\n if (keys.length === 0) {\n return breakpointValues;\n }\n let previous;\n return keys.reduce((acc, breakpoint, i) => {\n if (Array.isArray(breakpointValues)) {\n acc[breakpoint] = breakpointValues[i] != null ? breakpointValues[i] : breakpointValues[previous];\n previous = i;\n } else if (typeof breakpointValues === 'object') {\n acc[breakpoint] = breakpointValues[breakpoint] != null ? breakpointValues[breakpoint] : breakpointValues[previous];\n previous = breakpoint;\n } else {\n acc[breakpoint] = breakpointValues;\n }\n return acc;\n }, {});\n}\nexport default breakpoints;","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n/**\n * For using in `sx` prop to sort the breakpoint from low to high.\n * Note: this function does not work and will not support multiple units.\n * e.g. input: { '@container (min-width:300px)': '1rem', '@container (min-width:40rem)': '2rem' }\n * output: { '@container (min-width:40rem)': '2rem', '@container (min-width:300px)': '1rem' } // since 40 < 300 eventhough 40rem > 300px\n */\nexport function sortContainerQueries(theme, css) {\n if (!theme.containerQueries) {\n return css;\n }\n const sorted = Object.keys(css).filter(key => key.startsWith('@container')).sort((a, b) => {\n const regex = /min-width:\\s*([0-9.]+)/;\n return +(a.match(regex)?.[1] || 0) - +(b.match(regex)?.[1] || 0);\n });\n if (!sorted.length) {\n return css;\n }\n return sorted.reduce((acc, key) => {\n const value = css[key];\n delete acc[key];\n acc[key] = value;\n return acc;\n }, {\n ...css\n });\n}\nexport function isCqShorthand(breakpointKeys, value) {\n return value === '@' || value.startsWith('@') && (breakpointKeys.some(key => value.startsWith(`@${key}`)) || !!value.match(/^@\\d/));\n}\nexport function getContainerQuery(theme, shorthand) {\n const matches = shorthand.match(/^@([^/]+)?\\/?(.+)?$/);\n if (!matches) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The provided shorthand ${`(${shorthand})`} is invalid. The format should be \\`@\\` or \\`@/\\`.\\n` + 'For example, `@sm` or `@600` or `@40rem/sidebar`.' : _formatMuiErrorMessage(18, `(${shorthand})`));\n }\n return null;\n }\n const [, containerQuery, containerName] = matches;\n const value = Number.isNaN(+containerQuery) ? containerQuery || 0 : +containerQuery;\n return theme.containerQueries(containerName).up(value);\n}\nexport default function cssContainerQueries(themeInput) {\n const toContainerQuery = (mediaQuery, name) => mediaQuery.replace('@media', name ? `@container ${name}` : '@container');\n function attachCq(node, name) {\n node.up = (...args) => toContainerQuery(themeInput.breakpoints.up(...args), name);\n node.down = (...args) => toContainerQuery(themeInput.breakpoints.down(...args), name);\n node.between = (...args) => toContainerQuery(themeInput.breakpoints.between(...args), name);\n node.only = (...args) => toContainerQuery(themeInput.breakpoints.only(...args), name);\n node.not = (...args) => {\n const result = toContainerQuery(themeInput.breakpoints.not(...args), name);\n if (result.includes('not all and')) {\n // `@container` does not work with `not all and`, so need to invert the logic\n return result.replace('not all and ', '').replace('min-width:', 'width<').replace('max-width:', 'width>').replace('and', 'or');\n }\n return result;\n };\n }\n const node = {};\n const containerQueries = name => {\n attachCq(node, name);\n return node;\n };\n attachCq(containerQueries);\n return {\n ...themeInput,\n containerQueries\n };\n}","import capitalize from '@mui/utils/capitalize';\nimport responsivePropType from \"../responsivePropType/index.js\";\nimport { handleBreakpoints } from \"../breakpoints/index.js\";\nexport function getPath(obj, path, checkVars = true) {\n if (!path || typeof path !== 'string') {\n return null;\n }\n\n // Check if CSS variables are used\n if (obj && obj.vars && checkVars) {\n const val = `vars.${path}`.split('.').reduce((acc, item) => acc && acc[item] ? acc[item] : null, obj);\n if (val != null) {\n return val;\n }\n }\n return path.split('.').reduce((acc, item) => {\n if (acc && acc[item] != null) {\n return acc[item];\n }\n return null;\n }, obj);\n}\nexport function getStyleValue(themeMapping, transform, propValueFinal, userValue = propValueFinal) {\n let value;\n if (typeof themeMapping === 'function') {\n value = themeMapping(propValueFinal);\n } else if (Array.isArray(themeMapping)) {\n value = themeMapping[propValueFinal] || userValue;\n } else {\n value = getPath(themeMapping, propValueFinal) || userValue;\n }\n if (transform) {\n value = transform(value, userValue, themeMapping);\n }\n return value;\n}\nfunction style(options) {\n const {\n prop,\n cssProperty = options.prop,\n themeKey,\n transform\n } = options;\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n if (props[prop] == null) {\n return null;\n }\n const propValue = props[prop];\n const theme = props.theme;\n const themeMapping = getPath(theme, themeKey) || {};\n const styleFromPropValue = propValueFinal => {\n let value = getStyleValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getStyleValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : capitalize(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return handleBreakpoints(props, propValue, styleFromPropValue);\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? {\n [prop]: responsivePropType\n } : {};\n fn.filterProps = [prop];\n return fn;\n}\nexport default style;","import deepmerge from '@mui/utils/deepmerge';\nfunction merge(acc, item) {\n if (!item) {\n return acc;\n }\n return deepmerge(acc, item, {\n clone: false // No need to clone deep, it's way faster.\n });\n}\nexport default merge;","import responsivePropType from \"../responsivePropType/index.js\";\nimport { handleBreakpoints } from \"../breakpoints/index.js\";\nimport { getPath } from \"../style/index.js\";\nimport merge from \"../merge/index.js\";\nimport memoize from \"../memoize/index.js\";\nconst properties = {\n m: 'margin',\n p: 'padding'\n};\nconst directions = {\n t: 'Top',\n r: 'Right',\n b: 'Bottom',\n l: 'Left',\n x: ['Left', 'Right'],\n y: ['Top', 'Bottom']\n};\nconst aliases = {\n marginX: 'mx',\n marginY: 'my',\n paddingX: 'px',\n paddingY: 'py'\n};\n\n// memoize() impact:\n// From 300,000 ops/sec\n// To 350,000 ops/sec\nconst getCssProperties = memoize(prop => {\n // It's not a shorthand notation.\n if (prop.length > 2) {\n if (aliases[prop]) {\n prop = aliases[prop];\n } else {\n return [prop];\n }\n }\n const [a, b] = prop.split('');\n const property = properties[a];\n const direction = directions[b] || '';\n return Array.isArray(direction) ? direction.map(dir => property + dir) : [property + direction];\n});\nexport const marginKeys = ['m', 'mt', 'mr', 'mb', 'ml', 'mx', 'my', 'margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft', 'marginX', 'marginY', 'marginInline', 'marginInlineStart', 'marginInlineEnd', 'marginBlock', 'marginBlockStart', 'marginBlockEnd'];\nexport const paddingKeys = ['p', 'pt', 'pr', 'pb', 'pl', 'px', 'py', 'padding', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'paddingX', 'paddingY', 'paddingInline', 'paddingInlineStart', 'paddingInlineEnd', 'paddingBlock', 'paddingBlockStart', 'paddingBlockEnd'];\nconst spacingKeys = [...marginKeys, ...paddingKeys];\nexport function createUnaryUnit(theme, themeKey, defaultValue, propName) {\n const themeSpacing = getPath(theme, themeKey, true) ?? defaultValue;\n if (typeof themeSpacing === 'number' || typeof themeSpacing === 'string') {\n return val => {\n if (typeof val === 'string') {\n return val;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (typeof val !== 'number') {\n console.error(`MUI: Expected ${propName} argument to be a number or a string, got ${val}.`);\n }\n }\n if (typeof themeSpacing === 'string') {\n return `calc(${val} * ${themeSpacing})`;\n }\n return themeSpacing * val;\n };\n }\n if (Array.isArray(themeSpacing)) {\n return val => {\n if (typeof val === 'string') {\n return val;\n }\n const abs = Math.abs(val);\n if (process.env.NODE_ENV !== 'production') {\n if (!Number.isInteger(abs)) {\n console.error([`MUI: The \\`theme.${themeKey}\\` array type cannot be combined with non integer values.` + `You should either use an integer value that can be used as index, or define the \\`theme.${themeKey}\\` as a number.`].join('\\n'));\n } else if (abs > themeSpacing.length - 1) {\n console.error([`MUI: The value provided (${abs}) overflows.`, `The supported values are: ${JSON.stringify(themeSpacing)}.`, `${abs} > ${themeSpacing.length - 1}, you need to add the missing values.`].join('\\n'));\n }\n }\n const transformed = themeSpacing[abs];\n if (val >= 0) {\n return transformed;\n }\n if (typeof transformed === 'number') {\n return -transformed;\n }\n return `-${transformed}`;\n };\n }\n if (typeof themeSpacing === 'function') {\n return themeSpacing;\n }\n if (process.env.NODE_ENV !== 'production') {\n console.error([`MUI: The \\`theme.${themeKey}\\` value (${themeSpacing}) is invalid.`, 'It should be a number, an array or a function.'].join('\\n'));\n }\n return () => undefined;\n}\nexport function createUnarySpacing(theme) {\n return createUnaryUnit(theme, 'spacing', 8, 'spacing');\n}\nexport function getValue(transformer, propValue) {\n if (typeof propValue === 'string' || propValue == null) {\n return propValue;\n }\n return transformer(propValue);\n}\nexport function getStyleFromPropValue(cssProperties, transformer) {\n return propValue => cssProperties.reduce((acc, cssProperty) => {\n acc[cssProperty] = getValue(transformer, propValue);\n return acc;\n }, {});\n}\nfunction resolveCssProperty(props, keys, prop, transformer) {\n // Using a hash computation over an array iteration could be faster, but with only 28 items,\n // it's doesn't worth the bundle size.\n if (!keys.includes(prop)) {\n return null;\n }\n const cssProperties = getCssProperties(prop);\n const styleFromPropValue = getStyleFromPropValue(cssProperties, transformer);\n const propValue = props[prop];\n return handleBreakpoints(props, propValue, styleFromPropValue);\n}\nfunction style(props, keys) {\n const transformer = createUnarySpacing(props.theme);\n return Object.keys(props).map(prop => resolveCssProperty(props, keys, prop, transformer)).reduce(merge, {});\n}\nexport function margin(props) {\n return style(props, marginKeys);\n}\nmargin.propTypes = process.env.NODE_ENV !== 'production' ? marginKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nmargin.filterProps = marginKeys;\nexport function padding(props) {\n return style(props, paddingKeys);\n}\npadding.propTypes = process.env.NODE_ENV !== 'production' ? paddingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\npadding.filterProps = paddingKeys;\nfunction spacing(props) {\n return style(props, spacingKeys);\n}\nspacing.propTypes = process.env.NODE_ENV !== 'production' ? spacingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nspacing.filterProps = spacingKeys;\nexport default spacing;","export default function memoize(fn) {\n const cache = {};\n return arg => {\n if (cache[arg] === undefined) {\n cache[arg] = fn(arg);\n }\n return cache[arg];\n };\n}","import { createUnarySpacing } from \"../spacing/index.js\";\n\n// The different signatures imply different meaning for their arguments that can't be expressed structurally.\n// We express the difference with variable names.\n\nexport default function createSpacing(spacingInput = 8,\n// Material Design layouts are visually balanced. Most measurements align to an 8dp grid, which aligns both spacing and the overall layout.\n// Smaller components, such as icons, can align to a 4dp grid.\n// https://m2.material.io/design/layout/understanding-layout.html\ntransform = createUnarySpacing({\n spacing: spacingInput\n})) {\n // Already transformed.\n if (spacingInput.mui) {\n return spacingInput;\n }\n const spacing = (...argsInput) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!(argsInput.length <= 4)) {\n console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${argsInput.length}`);\n }\n }\n const args = argsInput.length === 0 ? [1] : argsInput;\n return args.map(argument => {\n const output = transform(argument);\n return typeof output === 'number' ? `${output}px` : output;\n }).join(' ');\n };\n spacing.mui = true;\n return spacing;\n}","import merge from \"../merge/index.js\";\nfunction compose(...styles) {\n const handlers = styles.reduce((acc, style) => {\n style.filterProps.forEach(prop => {\n acc[prop] = style;\n });\n return acc;\n }, {});\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n return Object.keys(props).reduce((acc, prop) => {\n if (handlers[prop]) {\n return merge(acc, handlers[prop](props));\n }\n return acc;\n }, {});\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? styles.reduce((acc, style) => Object.assign(acc, style.propTypes), {}) : {};\n fn.filterProps = styles.reduce((acc, style) => acc.concat(style.filterProps), []);\n return fn;\n}\nexport default compose;","import responsivePropType from \"../responsivePropType/index.js\";\nimport style from \"../style/index.js\";\nimport compose from \"../compose/index.js\";\nimport { createUnaryUnit, getValue } from \"../spacing/index.js\";\nimport { handleBreakpoints } from \"../breakpoints/index.js\";\nexport function borderTransform(value) {\n if (typeof value !== 'number') {\n return value;\n }\n return `${value}px solid`;\n}\nfunction createBorderStyle(prop, transform) {\n return style({\n prop,\n themeKey: 'borders',\n transform\n });\n}\nexport const border = createBorderStyle('border', borderTransform);\nexport const borderTop = createBorderStyle('borderTop', borderTransform);\nexport const borderRight = createBorderStyle('borderRight', borderTransform);\nexport const borderBottom = createBorderStyle('borderBottom', borderTransform);\nexport const borderLeft = createBorderStyle('borderLeft', borderTransform);\nexport const borderColor = createBorderStyle('borderColor');\nexport const borderTopColor = createBorderStyle('borderTopColor');\nexport const borderRightColor = createBorderStyle('borderRightColor');\nexport const borderBottomColor = createBorderStyle('borderBottomColor');\nexport const borderLeftColor = createBorderStyle('borderLeftColor');\nexport const outline = createBorderStyle('outline', borderTransform);\nexport const outlineColor = createBorderStyle('outlineColor');\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const borderRadius = props => {\n if (props.borderRadius !== undefined && props.borderRadius !== null) {\n const transformer = createUnaryUnit(props.theme, 'shape.borderRadius', 4, 'borderRadius');\n const styleFromPropValue = propValue => ({\n borderRadius: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.borderRadius, styleFromPropValue);\n }\n return null;\n};\nborderRadius.propTypes = process.env.NODE_ENV !== 'production' ? {\n borderRadius: responsivePropType\n} : {};\nborderRadius.filterProps = ['borderRadius'];\nconst borders = compose(border, borderTop, borderRight, borderBottom, borderLeft, borderColor, borderTopColor, borderRightColor, borderBottomColor, borderLeftColor, borderRadius, outline, outlineColor);\nexport default borders;","import style from \"../style/index.js\";\nimport compose from \"../compose/index.js\";\nimport { createUnaryUnit, getValue } from \"../spacing/index.js\";\nimport { handleBreakpoints } from \"../breakpoints/index.js\";\nimport responsivePropType from \"../responsivePropType/index.js\";\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const gap = props => {\n if (props.gap !== undefined && props.gap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'gap');\n const styleFromPropValue = propValue => ({\n gap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.gap, styleFromPropValue);\n }\n return null;\n};\ngap.propTypes = process.env.NODE_ENV !== 'production' ? {\n gap: responsivePropType\n} : {};\ngap.filterProps = ['gap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const columnGap = props => {\n if (props.columnGap !== undefined && props.columnGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'columnGap');\n const styleFromPropValue = propValue => ({\n columnGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.columnGap, styleFromPropValue);\n }\n return null;\n};\ncolumnGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n columnGap: responsivePropType\n} : {};\ncolumnGap.filterProps = ['columnGap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const rowGap = props => {\n if (props.rowGap !== undefined && props.rowGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'rowGap');\n const styleFromPropValue = propValue => ({\n rowGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.rowGap, styleFromPropValue);\n }\n return null;\n};\nrowGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n rowGap: responsivePropType\n} : {};\nrowGap.filterProps = ['rowGap'];\nexport const gridColumn = style({\n prop: 'gridColumn'\n});\nexport const gridRow = style({\n prop: 'gridRow'\n});\nexport const gridAutoFlow = style({\n prop: 'gridAutoFlow'\n});\nexport const gridAutoColumns = style({\n prop: 'gridAutoColumns'\n});\nexport const gridAutoRows = style({\n prop: 'gridAutoRows'\n});\nexport const gridTemplateColumns = style({\n prop: 'gridTemplateColumns'\n});\nexport const gridTemplateRows = style({\n prop: 'gridTemplateRows'\n});\nexport const gridTemplateAreas = style({\n prop: 'gridTemplateAreas'\n});\nexport const gridArea = style({\n prop: 'gridArea'\n});\nconst grid = compose(gap, columnGap, rowGap, gridColumn, gridRow, gridAutoFlow, gridAutoColumns, gridAutoRows, gridTemplateColumns, gridTemplateRows, gridTemplateAreas, gridArea);\nexport default grid;","import style from \"../style/index.js\";\nimport compose from \"../compose/index.js\";\nexport function paletteTransform(value, userValue) {\n if (userValue === 'grey') {\n return userValue;\n }\n return value;\n}\nexport const color = style({\n prop: 'color',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const bgcolor = style({\n prop: 'bgcolor',\n cssProperty: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const backgroundColor = style({\n prop: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nconst palette = compose(color, bgcolor, backgroundColor);\nexport default palette;","import style from \"../style/index.js\";\nimport compose from \"../compose/index.js\";\nimport { handleBreakpoints, values as breakpointsValues } from \"../breakpoints/index.js\";\nexport function sizingTransform(value) {\n return value <= 1 && value !== 0 ? `${value * 100}%` : value;\n}\nexport const width = style({\n prop: 'width',\n transform: sizingTransform\n});\nexport const maxWidth = props => {\n if (props.maxWidth !== undefined && props.maxWidth !== null) {\n const styleFromPropValue = propValue => {\n const breakpoint = props.theme?.breakpoints?.values?.[propValue] || breakpointsValues[propValue];\n if (!breakpoint) {\n return {\n maxWidth: sizingTransform(propValue)\n };\n }\n if (props.theme?.breakpoints?.unit !== 'px') {\n return {\n maxWidth: `${breakpoint}${props.theme.breakpoints.unit}`\n };\n }\n return {\n maxWidth: breakpoint\n };\n };\n return handleBreakpoints(props, props.maxWidth, styleFromPropValue);\n }\n return null;\n};\nmaxWidth.filterProps = ['maxWidth'];\nexport const minWidth = style({\n prop: 'minWidth',\n transform: sizingTransform\n});\nexport const height = style({\n prop: 'height',\n transform: sizingTransform\n});\nexport const maxHeight = style({\n prop: 'maxHeight',\n transform: sizingTransform\n});\nexport const minHeight = style({\n prop: 'minHeight',\n transform: sizingTransform\n});\nexport const sizeWidth = style({\n prop: 'size',\n cssProperty: 'width',\n transform: sizingTransform\n});\nexport const sizeHeight = style({\n prop: 'size',\n cssProperty: 'height',\n transform: sizingTransform\n});\nexport const boxSizing = style({\n prop: 'boxSizing'\n});\nconst sizing = compose(width, maxWidth, minWidth, height, maxHeight, minHeight, boxSizing);\nexport default sizing;","import { padding, margin } from \"../spacing/index.js\";\nimport { borderRadius, borderTransform } from \"../borders/index.js\";\nimport { gap, rowGap, columnGap } from \"../cssGrid/index.js\";\nimport { paletteTransform } from \"../palette/index.js\";\nimport { maxWidth, sizingTransform } from \"../sizing/index.js\";\nconst defaultSxConfig = {\n // borders\n border: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderTop: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderRight: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderBottom: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderLeft: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderColor: {\n themeKey: 'palette'\n },\n borderTopColor: {\n themeKey: 'palette'\n },\n borderRightColor: {\n themeKey: 'palette'\n },\n borderBottomColor: {\n themeKey: 'palette'\n },\n borderLeftColor: {\n themeKey: 'palette'\n },\n outline: {\n themeKey: 'borders',\n transform: borderTransform\n },\n outlineColor: {\n themeKey: 'palette'\n },\n borderRadius: {\n themeKey: 'shape.borderRadius',\n style: borderRadius\n },\n // palette\n color: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n bgcolor: {\n themeKey: 'palette',\n cssProperty: 'backgroundColor',\n transform: paletteTransform\n },\n backgroundColor: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n // spacing\n p: {\n style: padding\n },\n pt: {\n style: padding\n },\n pr: {\n style: padding\n },\n pb: {\n style: padding\n },\n pl: {\n style: padding\n },\n px: {\n style: padding\n },\n py: {\n style: padding\n },\n padding: {\n style: padding\n },\n paddingTop: {\n style: padding\n },\n paddingRight: {\n style: padding\n },\n paddingBottom: {\n style: padding\n },\n paddingLeft: {\n style: padding\n },\n paddingX: {\n style: padding\n },\n paddingY: {\n style: padding\n },\n paddingInline: {\n style: padding\n },\n paddingInlineStart: {\n style: padding\n },\n paddingInlineEnd: {\n style: padding\n },\n paddingBlock: {\n style: padding\n },\n paddingBlockStart: {\n style: padding\n },\n paddingBlockEnd: {\n style: padding\n },\n m: {\n style: margin\n },\n mt: {\n style: margin\n },\n mr: {\n style: margin\n },\n mb: {\n style: margin\n },\n ml: {\n style: margin\n },\n mx: {\n style: margin\n },\n my: {\n style: margin\n },\n margin: {\n style: margin\n },\n marginTop: {\n style: margin\n },\n marginRight: {\n style: margin\n },\n marginBottom: {\n style: margin\n },\n marginLeft: {\n style: margin\n },\n marginX: {\n style: margin\n },\n marginY: {\n style: margin\n },\n marginInline: {\n style: margin\n },\n marginInlineStart: {\n style: margin\n },\n marginInlineEnd: {\n style: margin\n },\n marginBlock: {\n style: margin\n },\n marginBlockStart: {\n style: margin\n },\n marginBlockEnd: {\n style: margin\n },\n // display\n displayPrint: {\n cssProperty: false,\n transform: value => ({\n '@media print': {\n display: value\n }\n })\n },\n display: {},\n overflow: {},\n textOverflow: {},\n visibility: {},\n whiteSpace: {},\n // flexbox\n flexBasis: {},\n flexDirection: {},\n flexWrap: {},\n justifyContent: {},\n alignItems: {},\n alignContent: {},\n order: {},\n flex: {},\n flexGrow: {},\n flexShrink: {},\n alignSelf: {},\n justifyItems: {},\n justifySelf: {},\n // grid\n gap: {\n style: gap\n },\n rowGap: {\n style: rowGap\n },\n columnGap: {\n style: columnGap\n },\n gridColumn: {},\n gridRow: {},\n gridAutoFlow: {},\n gridAutoColumns: {},\n gridAutoRows: {},\n gridTemplateColumns: {},\n gridTemplateRows: {},\n gridTemplateAreas: {},\n gridArea: {},\n // positions\n position: {},\n zIndex: {\n themeKey: 'zIndex'\n },\n top: {},\n right: {},\n bottom: {},\n left: {},\n // shadows\n boxShadow: {\n themeKey: 'shadows'\n },\n // sizing\n width: {\n transform: sizingTransform\n },\n maxWidth: {\n style: maxWidth\n },\n minWidth: {\n transform: sizingTransform\n },\n height: {\n transform: sizingTransform\n },\n maxHeight: {\n transform: sizingTransform\n },\n minHeight: {\n transform: sizingTransform\n },\n boxSizing: {},\n // typography\n font: {\n themeKey: 'font'\n },\n fontFamily: {\n themeKey: 'typography'\n },\n fontSize: {\n themeKey: 'typography'\n },\n fontStyle: {\n themeKey: 'typography'\n },\n fontWeight: {\n themeKey: 'typography'\n },\n letterSpacing: {},\n textTransform: {},\n lineHeight: {},\n textAlign: {},\n typography: {\n cssProperty: false,\n themeKey: 'typography'\n }\n};\nexport default defaultSxConfig;","import capitalize from '@mui/utils/capitalize';\nimport merge from \"../merge/index.js\";\nimport { getPath, getStyleValue as getValue } from \"../style/index.js\";\nimport { handleBreakpoints, createEmptyBreakpointObject, removeUnusedBreakpoints } from \"../breakpoints/index.js\";\nimport { sortContainerQueries } from \"../cssContainerQueries/index.js\";\nimport defaultSxConfig from \"./defaultSxConfig.js\";\nfunction objectsHaveSameKeys(...objects) {\n const allKeys = objects.reduce((keys, object) => keys.concat(Object.keys(object)), []);\n const union = new Set(allKeys);\n return objects.every(object => union.size === Object.keys(object).length);\n}\nfunction callIfFn(maybeFn, arg) {\n return typeof maybeFn === 'function' ? maybeFn(arg) : maybeFn;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function unstable_createStyleFunctionSx() {\n function getThemeValue(prop, val, theme, config) {\n const props = {\n [prop]: val,\n theme\n };\n const options = config[prop];\n if (!options) {\n return {\n [prop]: val\n };\n }\n const {\n cssProperty = prop,\n themeKey,\n transform,\n style\n } = options;\n if (val == null) {\n return null;\n }\n\n // TODO v6: remove, see https://github.com/mui/material-ui/pull/38123\n if (themeKey === 'typography' && val === 'inherit') {\n return {\n [prop]: val\n };\n }\n const themeMapping = getPath(theme, themeKey) || {};\n if (style) {\n return style(props);\n }\n const styleFromPropValue = propValueFinal => {\n let value = getValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : capitalize(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return handleBreakpoints(props, val, styleFromPropValue);\n }\n function styleFunctionSx(props) {\n const {\n sx,\n theme = {}\n } = props || {};\n if (!sx) {\n return null; // Emotion & styled-components will neglect null\n }\n const config = theme.unstable_sxConfig ?? defaultSxConfig;\n\n /*\n * Receive `sxInput` as object or callback\n * and then recursively check keys & values to create media query object styles.\n * (the result will be used in `styled`)\n */\n function traverse(sxInput) {\n let sxObject = sxInput;\n if (typeof sxInput === 'function') {\n sxObject = sxInput(theme);\n } else if (typeof sxInput !== 'object') {\n // value\n return sxInput;\n }\n if (!sxObject) {\n return null;\n }\n const emptyBreakpoints = createEmptyBreakpointObject(theme.breakpoints);\n const breakpointsKeys = Object.keys(emptyBreakpoints);\n let css = emptyBreakpoints;\n Object.keys(sxObject).forEach(styleKey => {\n const value = callIfFn(sxObject[styleKey], theme);\n if (value !== null && value !== undefined) {\n if (typeof value === 'object') {\n if (config[styleKey]) {\n css = merge(css, getThemeValue(styleKey, value, theme, config));\n } else {\n const breakpointsValues = handleBreakpoints({\n theme\n }, value, x => ({\n [styleKey]: x\n }));\n if (objectsHaveSameKeys(breakpointsValues, value)) {\n css[styleKey] = styleFunctionSx({\n sx: value,\n theme\n });\n } else {\n css = merge(css, breakpointsValues);\n }\n }\n } else {\n css = merge(css, getThemeValue(styleKey, value, theme, config));\n }\n }\n });\n return sortContainerQueries(theme, removeUnusedBreakpoints(breakpointsKeys, css));\n }\n return Array.isArray(sx) ? sx.map(traverse) : traverse(sx);\n }\n return styleFunctionSx;\n}\nconst styleFunctionSx = unstable_createStyleFunctionSx();\nstyleFunctionSx.filterProps = ['sx'];\nexport default styleFunctionSx;","/**\n * A universal utility to style components with multiple color modes. Always use it from the theme object.\n * It works with:\n * - [Basic theme](https://mui.com/material-ui/customization/dark-mode/)\n * - [CSS theme variables](https://mui.com/material-ui/customization/css-theme-variables/overview/)\n * - Zero-runtime engine\n *\n * Tips: Use an array over object spread and place `theme.applyStyles()` last.\n *\n * With the styled function:\n * ✅ [{ background: '#e5e5e5' }, theme.applyStyles('dark', { background: '#1c1c1c' })]\n * 🚫 { background: '#e5e5e5', ...theme.applyStyles('dark', { background: '#1c1c1c' })}\n *\n * With the sx prop:\n * ✅ [{ background: '#e5e5e5' }, theme => theme.applyStyles('dark', { background: '#1c1c1c' })]\n * 🚫 { background: '#e5e5e5', ...theme => theme.applyStyles('dark', { background: '#1c1c1c' })}\n *\n * @example\n * 1. using with `styled`:\n * ```jsx\n * const Component = styled('div')(({ theme }) => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ]);\n * ```\n *\n * @example\n * 2. using with `sx` prop:\n * ```jsx\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ]}\n * />\n * ```\n *\n * @example\n * 3. theming a component:\n * ```jsx\n * extendTheme({\n * components: {\n * MuiButton: {\n * styleOverrides: {\n * root: ({ theme }) => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ],\n * },\n * }\n * }\n * })\n *```\n */\nexport default function applyStyles(key, styles) {\n // @ts-expect-error this is 'any' type\n const theme = this;\n if (theme.vars) {\n if (!theme.colorSchemes?.[key] || typeof theme.getColorSchemeSelector !== 'function') {\n return {};\n }\n // If CssVarsProvider is used as a provider, returns '*:where({selector}) &'\n let selector = theme.getColorSchemeSelector(key);\n if (selector === '&') {\n return styles;\n }\n if (selector.includes('data-') || selector.includes('.')) {\n // '*' is required as a workaround for Emotion issue (https://github.com/emotion-js/emotion/issues/2836)\n selector = `*:where(${selector.replace(/\\s*&$/, '')}) &`;\n }\n return {\n [selector]: styles\n };\n }\n if (theme.palette.mode === key) {\n return styles;\n }\n return {};\n}","import deepmerge from '@mui/utils/deepmerge';\nimport createBreakpoints from \"../createBreakpoints/createBreakpoints.js\";\nimport cssContainerQueries from \"../cssContainerQueries/index.js\";\nimport shape from \"./shape.js\";\nimport createSpacing from \"./createSpacing.js\";\nimport styleFunctionSx from \"../styleFunctionSx/styleFunctionSx.js\";\nimport defaultSxConfig from \"../styleFunctionSx/defaultSxConfig.js\";\nimport applyStyles from \"./applyStyles.js\";\nfunction createTheme(options = {}, ...args) {\n const {\n breakpoints: breakpointsInput = {},\n palette: paletteInput = {},\n spacing: spacingInput,\n shape: shapeInput = {},\n ...other\n } = options;\n const breakpoints = createBreakpoints(breakpointsInput);\n const spacing = createSpacing(spacingInput);\n let muiTheme = deepmerge({\n breakpoints,\n direction: 'ltr',\n components: {},\n // Inject component definitions.\n palette: {\n mode: 'light',\n ...paletteInput\n },\n spacing,\n shape: {\n ...shape,\n ...shapeInput\n }\n }, other);\n muiTheme = cssContainerQueries(muiTheme);\n muiTheme.applyStyles = applyStyles;\n muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);\n muiTheme.unstable_sxConfig = {\n ...defaultSxConfig,\n ...other?.unstable_sxConfig\n };\n muiTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n return muiTheme;\n}\nexport default createTheme;","import { internal_serializeStyles } from '@mui/styled-engine';\nexport default function preprocessStyles(input) {\n const {\n variants,\n ...style\n } = input;\n const result = {\n variants,\n style: internal_serializeStyles(style),\n isProcessed: true\n };\n\n // Not supported on styled-components\n if (result.style === style) {\n return result;\n }\n if (variants) {\n variants.forEach(variant => {\n if (typeof variant.style !== 'function') {\n variant.style = internal_serializeStyles(variant.style);\n }\n });\n }\n return result;\n}","import styledEngineStyled, { internal_mutateStyles as mutateStyles } from '@mui/styled-engine';\nimport { isPlainObject } from '@mui/utils/deepmerge';\nimport capitalize from '@mui/utils/capitalize';\nimport getDisplayName from '@mui/utils/getDisplayName';\nimport createTheme from \"../createTheme/index.js\";\nimport styleFunctionSx from \"../styleFunctionSx/index.js\";\nimport preprocessStyles from \"../preprocessStyles.js\";\n\n/* eslint-disable no-underscore-dangle */\n/* eslint-disable no-labels */\n/* eslint-disable no-lone-blocks */\n\nexport const systemDefaultTheme = createTheme();\n\n// Update /system/styled/#api in case if this changes\nexport function shouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nfunction defaultOverridesResolver(slot) {\n if (!slot) {\n return null;\n }\n return (_props, styles) => styles[slot];\n}\nfunction attachTheme(props, themeId, defaultTheme) {\n props.theme = isObjectEmpty(props.theme) ? defaultTheme : props.theme[themeId] || props.theme;\n}\nfunction processStyle(props, style) {\n /*\n * Style types:\n * - null/undefined\n * - string\n * - CSS style object: { [cssKey]: [cssValue], variants }\n * - Processed style object: { style, variants, isProcessed: true }\n * - Array of any of the above\n */\n\n const resolvedStyle = typeof style === 'function' ? style(props) : style;\n if (Array.isArray(resolvedStyle)) {\n return resolvedStyle.flatMap(subStyle => processStyle(props, subStyle));\n }\n if (Array.isArray(resolvedStyle?.variants)) {\n let rootStyle;\n if (resolvedStyle.isProcessed) {\n rootStyle = resolvedStyle.style;\n } else {\n const {\n variants,\n ...otherStyles\n } = resolvedStyle;\n rootStyle = otherStyles;\n }\n return processStyleVariants(props, resolvedStyle.variants, [rootStyle]);\n }\n if (resolvedStyle?.isProcessed) {\n return resolvedStyle.style;\n }\n return resolvedStyle;\n}\nfunction processStyleVariants(props, variants, results = []) {\n let mergedState; // We might not need it, initialized lazily\n\n variantLoop: for (let i = 0; i < variants.length; i += 1) {\n const variant = variants[i];\n if (typeof variant.props === 'function') {\n mergedState ??= {\n ...props,\n ...props.ownerState,\n ownerState: props.ownerState\n };\n if (!variant.props(mergedState)) {\n continue;\n }\n } else {\n for (const key in variant.props) {\n if (props[key] !== variant.props[key] && props.ownerState?.[key] !== variant.props[key]) {\n continue variantLoop;\n }\n }\n }\n if (typeof variant.style === 'function') {\n mergedState ??= {\n ...props,\n ...props.ownerState,\n ownerState: props.ownerState\n };\n results.push(variant.style(mergedState));\n } else {\n results.push(variant.style);\n }\n }\n return results;\n}\nexport default function createStyled(input = {}) {\n const {\n themeId,\n defaultTheme = systemDefaultTheme,\n rootShouldForwardProp = shouldForwardProp,\n slotShouldForwardProp = shouldForwardProp\n } = input;\n function styleAttachTheme(props) {\n attachTheme(props, themeId, defaultTheme);\n }\n const styled = (tag, inputOptions = {}) => {\n // If `tag` is already a styled component, filter out the `sx` style function\n // to prevent unnecessary styles generated by the composite components.\n mutateStyles(tag, styles => styles.filter(style => style !== styleFunctionSx));\n const {\n name: componentName,\n slot: componentSlot,\n skipVariantsResolver: inputSkipVariantsResolver,\n skipSx: inputSkipSx,\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n overridesResolver = defaultOverridesResolver(lowercaseFirstLetter(componentSlot)),\n ...options\n } = inputOptions;\n\n // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.\n const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver :\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n componentSlot && componentSlot !== 'Root' && componentSlot !== 'root' || false;\n const skipSx = inputSkipSx || false;\n let shouldForwardPropOption = shouldForwardProp;\n\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n if (componentSlot === 'Root' || componentSlot === 'root') {\n shouldForwardPropOption = rootShouldForwardProp;\n } else if (componentSlot) {\n // any other slot specified\n shouldForwardPropOption = slotShouldForwardProp;\n } else if (isStringTag(tag)) {\n // for string (html) tag, preserve the behavior in emotion & styled-components.\n shouldForwardPropOption = undefined;\n }\n const defaultStyledResolver = styledEngineStyled(tag, {\n shouldForwardProp: shouldForwardPropOption,\n label: generateStyledLabel(componentName, componentSlot),\n ...options\n });\n const transformStyle = style => {\n // On the server Emotion doesn't use React.forwardRef for creating components, so the created\n // component stays as a function. This condition makes sure that we do not interpolate functions\n // which are basically components used as a selectors.\n if (typeof style === 'function' && style.__emotion_real !== style) {\n return function styleFunctionProcessor(props) {\n return processStyle(props, style);\n };\n }\n if (isPlainObject(style)) {\n const serialized = preprocessStyles(style);\n if (!serialized.variants) {\n return serialized.style;\n }\n return function styleObjectProcessor(props) {\n return processStyle(props, serialized);\n };\n }\n return style;\n };\n const muiStyledResolver = (...expressionsInput) => {\n const expressionsHead = [];\n const expressionsBody = expressionsInput.map(transformStyle);\n const expressionsTail = [];\n\n // Preprocess `props` to set the scoped theme value.\n // This must run before any other expression.\n expressionsHead.push(styleAttachTheme);\n if (componentName && overridesResolver) {\n expressionsTail.push(function styleThemeOverrides(props) {\n const theme = props.theme;\n const styleOverrides = theme.components?.[componentName]?.styleOverrides;\n if (!styleOverrides) {\n return null;\n }\n const resolvedStyleOverrides = {};\n\n // TODO: v7 remove iteration and use `resolveStyleArg(styleOverrides[slot])` directly\n // eslint-disable-next-line guard-for-in\n for (const slotKey in styleOverrides) {\n resolvedStyleOverrides[slotKey] = processStyle(props, styleOverrides[slotKey]);\n }\n return overridesResolver(props, resolvedStyleOverrides);\n });\n }\n if (componentName && !skipVariantsResolver) {\n expressionsTail.push(function styleThemeVariants(props) {\n const theme = props.theme;\n const themeVariants = theme?.components?.[componentName]?.variants;\n if (!themeVariants) {\n return null;\n }\n return processStyleVariants(props, themeVariants);\n });\n }\n if (!skipSx) {\n expressionsTail.push(styleFunctionSx);\n }\n\n // This function can be called as a tagged template, so the first argument would contain\n // CSS `string[]` values.\n if (Array.isArray(expressionsBody[0])) {\n const inputStrings = expressionsBody.shift();\n\n // We need to add placeholders in the tagged template for the custom functions we have\n // possibly added (attachTheme, overrides, variants, and sx).\n const placeholdersHead = new Array(expressionsHead.length).fill('');\n const placeholdersTail = new Array(expressionsTail.length).fill('');\n let outputStrings;\n // prettier-ignore\n {\n outputStrings = [...placeholdersHead, ...inputStrings, ...placeholdersTail];\n outputStrings.raw = [...placeholdersHead, ...inputStrings.raw, ...placeholdersTail];\n }\n\n // The only case where we put something before `attachTheme`\n expressionsHead.unshift(outputStrings);\n }\n const expressions = [...expressionsHead, ...expressionsBody, ...expressionsTail];\n const Component = defaultStyledResolver(...expressions);\n if (tag.muiName) {\n Component.muiName = tag.muiName;\n }\n if (process.env.NODE_ENV !== 'production') {\n Component.displayName = generateDisplayName(componentName, componentSlot, tag);\n }\n return Component;\n };\n if (defaultStyledResolver.withConfig) {\n muiStyledResolver.withConfig = defaultStyledResolver.withConfig;\n }\n return muiStyledResolver;\n };\n return styled;\n}\nfunction generateDisplayName(componentName, componentSlot, tag) {\n if (componentName) {\n return `${componentName}${capitalize(componentSlot || '')}`;\n }\n return `Styled(${getDisplayName(tag)})`;\n}\nfunction generateStyledLabel(componentName, componentSlot) {\n let label;\n if (process.env.NODE_ENV !== 'production') {\n if (componentName) {\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n label = `${componentName}-${lowercaseFirstLetter(componentSlot || 'Root')}`;\n }\n }\n return label;\n}\nfunction isObjectEmpty(object) {\n // eslint-disable-next-line\n for (const _ in object) {\n return false;\n }\n return true;\n}\n\n// https://github.com/emotion-js/emotion/blob/26ded6109fcd8ca9875cc2ce4564fee678a3f3c5/packages/styled/src/utils.js#L40\nfunction isStringTag(tag) {\n return typeof tag === 'string' &&\n // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96;\n}\nfunction lowercaseFirstLetter(string) {\n if (!string) {\n return string;\n }\n return string.charAt(0).toLowerCase() + string.slice(1);\n}","function clamp(val, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {\n return Math.max(min, Math.min(val, max));\n}\nexport default clamp;","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n/* eslint-disable @typescript-eslint/naming-convention */\nimport clamp from '@mui/utils/clamp';\n\n/**\n * Returns a number whose value is limited to the given range.\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clampWrapper(value, min = 0, max = 1) {\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`);\n }\n }\n return clamp(value, min, max);\n}\n\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\nexport function hexToRgb(color) {\n color = color.slice(1);\n const re = new RegExp(`.{1,${color.length >= 6 ? 2 : 1}}`, 'g');\n let colors = color.match(re);\n if (colors && colors[0].length === 1) {\n colors = colors.map(n => n + n);\n }\n if (process.env.NODE_ENV !== 'production') {\n if (color.length !== color.trim().length) {\n console.error(`MUI: The color: \"${color}\" is invalid. Make sure the color input doesn't contain leading/trailing space.`);\n }\n }\n return colors ? `rgb${colors.length === 4 ? 'a' : ''}(${colors.map((n, index) => {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', ')})` : '';\n}\nfunction intToHex(int) {\n const hex = int.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n}\n\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\nexport function decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n const marker = color.indexOf('(');\n const type = color.substring(0, marker);\n if (!['rgb', 'rgba', 'hsl', 'hsla', 'color'].includes(type)) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: Unsupported \\`${color}\\` color.\\n` + 'The following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().' : _formatMuiErrorMessage(9, color));\n }\n let values = color.substring(marker + 1, color.length - 1);\n let colorSpace;\n if (type === 'color') {\n values = values.split(' ');\n colorSpace = values.shift();\n if (values.length === 4 && values[3].charAt(0) === '/') {\n values[3] = values[3].slice(1);\n }\n if (!['srgb', 'display-p3', 'a98-rgb', 'prophoto-rgb', 'rec-2020'].includes(colorSpace)) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: unsupported \\`${colorSpace}\\` color space.\\n` + 'The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.' : _formatMuiErrorMessage(10, colorSpace));\n }\n } else {\n values = values.split(',');\n }\n values = values.map(value => parseFloat(value));\n return {\n type,\n values,\n colorSpace\n };\n}\n\n/**\n * Returns a channel created from the input color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {string} - The channel for the color, that can be used in rgba or hsla colors\n */\nexport const colorChannel = color => {\n const decomposedColor = decomposeColor(color);\n return decomposedColor.values.slice(0, 3).map((val, idx) => decomposedColor.type.includes('hsl') && idx !== 0 ? `${val}%` : val).join(' ');\n};\nexport const private_safeColorChannel = (color, warning) => {\n try {\n return colorChannel(color);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n};\n\n/**\n * Converts a color object with type and values to a string.\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla', 'color'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\nexport function recomposeColor(color) {\n const {\n type,\n colorSpace\n } = color;\n let {\n values\n } = color;\n if (type.includes('rgb')) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map((n, i) => i < 3 ? parseInt(n, 10) : n);\n } else if (type.includes('hsl')) {\n values[1] = `${values[1]}%`;\n values[2] = `${values[2]}%`;\n }\n if (type.includes('color')) {\n values = `${colorSpace} ${values.join(' ')}`;\n } else {\n values = `${values.join(', ')}`;\n }\n return `${type}(${values})`;\n}\n\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\nexport function rgbToHex(color) {\n // Idempotent\n if (color.startsWith('#')) {\n return color;\n }\n const {\n values\n } = decomposeColor(color);\n return `#${values.map((n, i) => intToHex(i === 3 ? Math.round(255 * n) : n)).join('')}`;\n}\n\n/**\n * Converts a color from hsl format to rgb format.\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\nexport function hslToRgb(color) {\n color = decomposeColor(color);\n const {\n values\n } = color;\n const h = values[0];\n const s = values[1] / 100;\n const l = values[2] / 100;\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n let type = 'rgb';\n const rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n return recomposeColor({\n type,\n values: rgb\n });\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\nexport function getLuminance(color) {\n color = decomposeColor(color);\n let rgb = color.type === 'hsl' || color.type === 'hsla' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(val => {\n if (color.type !== 'color') {\n val /= 255; // normalized\n }\n return val <= 0.03928 ? val / 12.92 : ((val + 0.055) / 1.055) ** 2.4;\n });\n\n // Truncate at 3 digits\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\nexport function getContrastRatio(foreground, background) {\n const lumA = getLuminance(foreground);\n const lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n\n/**\n * Sets the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} value - value to set the alpha channel to in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function alpha(color, value) {\n color = decomposeColor(color);\n value = clampWrapper(value);\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n if (color.type === 'color') {\n color.values[3] = `/${value}`;\n } else {\n color.values[3] = value;\n }\n return recomposeColor(color);\n}\nexport function private_safeAlpha(color, value, warning) {\n try {\n return alpha(color, value);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darkens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.includes('hsl')) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.includes('rgb') || color.type.includes('color')) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeDarken(color, coefficient, warning) {\n try {\n return darken(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Lightens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.includes('hsl')) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.includes('rgb')) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n } else if (color.type.includes('color')) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (1 - color.values[i]) * coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeLighten(color, coefficient, warning) {\n try {\n return lighten(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function emphasize(color, coefficient = 0.15) {\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nexport function private_safeEmphasize(color, coefficient, warning) {\n try {\n return emphasize(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Blend a transparent overlay color with a background color, resulting in a single\n * RGB color.\n * @param {string} background - CSS color\n * @param {string} overlay - CSS color\n * @param {number} opacity - Opacity multiplier in the range 0 - 1\n * @param {number} [gamma=1.0] - Gamma correction factor. For gamma-correct blending, 2.2 is usual.\n */\nexport function blend(background, overlay, opacity, gamma = 1.0) {\n const blendChannel = (b, o) => Math.round((b ** (1 / gamma) * (1 - opacity) + o ** (1 / gamma) * opacity) ** gamma);\n const backgroundColor = decomposeColor(background);\n const overlayColor = decomposeColor(overlay);\n const rgb = [blendChannel(backgroundColor.values[0], overlayColor.values[0]), blendChannel(backgroundColor.values[1], overlayColor.values[1]), blendChannel(backgroundColor.values[2], overlayColor.values[2])];\n return recomposeColor({\n type: 'rgb',\n values: rgb\n });\n}","const common = {\n black: '#000',\n white: '#fff'\n};\nexport default common;","const grey = {\n 50: '#fafafa',\n 100: '#f5f5f5',\n 200: '#eeeeee',\n 300: '#e0e0e0',\n 400: '#bdbdbd',\n 500: '#9e9e9e',\n 600: '#757575',\n 700: '#616161',\n 800: '#424242',\n 900: '#212121',\n A100: '#f5f5f5',\n A200: '#eeeeee',\n A400: '#bdbdbd',\n A700: '#616161'\n};\nexport default grey;","const purple = {\n 50: '#f3e5f5',\n 100: '#e1bee7',\n 200: '#ce93d8',\n 300: '#ba68c8',\n 400: '#ab47bc',\n 500: '#9c27b0',\n 600: '#8e24aa',\n 700: '#7b1fa2',\n 800: '#6a1b9a',\n 900: '#4a148c',\n A100: '#ea80fc',\n A200: '#e040fb',\n A400: '#d500f9',\n A700: '#aa00ff'\n};\nexport default purple;","const red = {\n 50: '#ffebee',\n 100: '#ffcdd2',\n 200: '#ef9a9a',\n 300: '#e57373',\n 400: '#ef5350',\n 500: '#f44336',\n 600: '#e53935',\n 700: '#d32f2f',\n 800: '#c62828',\n 900: '#b71c1c',\n A100: '#ff8a80',\n A200: '#ff5252',\n A400: '#ff1744',\n A700: '#d50000'\n};\nexport default red;","const orange = {\n 50: '#fff3e0',\n 100: '#ffe0b2',\n 200: '#ffcc80',\n 300: '#ffb74d',\n 400: '#ffa726',\n 500: '#ff9800',\n 600: '#fb8c00',\n 700: '#f57c00',\n 800: '#ef6c00',\n 900: '#e65100',\n A100: '#ffd180',\n A200: '#ffab40',\n A400: '#ff9100',\n A700: '#ff6d00'\n};\nexport default orange;","const blue = {\n 50: '#e3f2fd',\n 100: '#bbdefb',\n 200: '#90caf9',\n 300: '#64b5f6',\n 400: '#42a5f5',\n 500: '#2196f3',\n 600: '#1e88e5',\n 700: '#1976d2',\n 800: '#1565c0',\n 900: '#0d47a1',\n A100: '#82b1ff',\n A200: '#448aff',\n A400: '#2979ff',\n A700: '#2962ff'\n};\nexport default blue;","const lightBlue = {\n 50: '#e1f5fe',\n 100: '#b3e5fc',\n 200: '#81d4fa',\n 300: '#4fc3f7',\n 400: '#29b6f6',\n 500: '#03a9f4',\n 600: '#039be5',\n 700: '#0288d1',\n 800: '#0277bd',\n 900: '#01579b',\n A100: '#80d8ff',\n A200: '#40c4ff',\n A400: '#00b0ff',\n A700: '#0091ea'\n};\nexport default lightBlue;","const green = {\n 50: '#e8f5e9',\n 100: '#c8e6c9',\n 200: '#a5d6a7',\n 300: '#81c784',\n 400: '#66bb6a',\n 500: '#4caf50',\n 600: '#43a047',\n 700: '#388e3c',\n 800: '#2e7d32',\n 900: '#1b5e20',\n A100: '#b9f6ca',\n A200: '#69f0ae',\n A400: '#00e676',\n A700: '#00c853'\n};\nexport default green;","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nimport deepmerge from '@mui/utils/deepmerge';\nimport { darken, getContrastRatio, lighten } from '@mui/system/colorManipulator';\nimport common from \"../colors/common.js\";\nimport grey from \"../colors/grey.js\";\nimport purple from \"../colors/purple.js\";\nimport red from \"../colors/red.js\";\nimport orange from \"../colors/orange.js\";\nimport blue from \"../colors/blue.js\";\nimport lightBlue from \"../colors/lightBlue.js\";\nimport green from \"../colors/green.js\";\nfunction getLight() {\n return {\n // The colors used to style the text.\n text: {\n // The most important text.\n primary: 'rgba(0, 0, 0, 0.87)',\n // Secondary text.\n secondary: 'rgba(0, 0, 0, 0.6)',\n // Disabled text have even lower visual prominence.\n disabled: 'rgba(0, 0, 0, 0.38)'\n },\n // The color used to divide different elements.\n divider: 'rgba(0, 0, 0, 0.12)',\n // The background colors used to style the surfaces.\n // Consistency between these values is important.\n background: {\n paper: common.white,\n default: common.white\n },\n // The colors used to style the action elements.\n action: {\n // The color of an active action like an icon button.\n active: 'rgba(0, 0, 0, 0.54)',\n // The color of an hovered action.\n hover: 'rgba(0, 0, 0, 0.04)',\n hoverOpacity: 0.04,\n // The color of a selected action.\n selected: 'rgba(0, 0, 0, 0.08)',\n selectedOpacity: 0.08,\n // The color of a disabled action.\n disabled: 'rgba(0, 0, 0, 0.26)',\n // The background color of a disabled action.\n disabledBackground: 'rgba(0, 0, 0, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(0, 0, 0, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.12\n }\n };\n}\nexport const light = getLight();\nfunction getDark() {\n return {\n text: {\n primary: common.white,\n secondary: 'rgba(255, 255, 255, 0.7)',\n disabled: 'rgba(255, 255, 255, 0.5)',\n icon: 'rgba(255, 255, 255, 0.5)'\n },\n divider: 'rgba(255, 255, 255, 0.12)',\n background: {\n paper: '#121212',\n default: '#121212'\n },\n action: {\n active: common.white,\n hover: 'rgba(255, 255, 255, 0.08)',\n hoverOpacity: 0.08,\n selected: 'rgba(255, 255, 255, 0.16)',\n selectedOpacity: 0.16,\n disabled: 'rgba(255, 255, 255, 0.3)',\n disabledBackground: 'rgba(255, 255, 255, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(255, 255, 255, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.24\n }\n };\n}\nexport const dark = getDark();\nfunction addLightOrDark(intent, direction, shade, tonalOffset) {\n const tonalOffsetLight = tonalOffset.light || tonalOffset;\n const tonalOffsetDark = tonalOffset.dark || tonalOffset * 1.5;\n if (!intent[direction]) {\n if (intent.hasOwnProperty(shade)) {\n intent[direction] = intent[shade];\n } else if (direction === 'light') {\n intent.light = lighten(intent.main, tonalOffsetLight);\n } else if (direction === 'dark') {\n intent.dark = darken(intent.main, tonalOffsetDark);\n }\n }\n}\nfunction getDefaultPrimary(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: blue[200],\n light: blue[50],\n dark: blue[400]\n };\n }\n return {\n main: blue[700],\n light: blue[400],\n dark: blue[800]\n };\n}\nfunction getDefaultSecondary(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: purple[200],\n light: purple[50],\n dark: purple[400]\n };\n }\n return {\n main: purple[500],\n light: purple[300],\n dark: purple[700]\n };\n}\nfunction getDefaultError(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: red[500],\n light: red[300],\n dark: red[700]\n };\n }\n return {\n main: red[700],\n light: red[400],\n dark: red[800]\n };\n}\nfunction getDefaultInfo(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: lightBlue[400],\n light: lightBlue[300],\n dark: lightBlue[700]\n };\n }\n return {\n main: lightBlue[700],\n light: lightBlue[500],\n dark: lightBlue[900]\n };\n}\nfunction getDefaultSuccess(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: green[400],\n light: green[300],\n dark: green[700]\n };\n }\n return {\n main: green[800],\n light: green[500],\n dark: green[900]\n };\n}\nfunction getDefaultWarning(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: orange[400],\n light: orange[300],\n dark: orange[700]\n };\n }\n return {\n main: '#ed6c02',\n // closest to orange[800] that pass 3:1.\n light: orange[500],\n dark: orange[900]\n };\n}\nexport default function createPalette(palette) {\n const {\n mode = 'light',\n contrastThreshold = 3,\n tonalOffset = 0.2,\n ...other\n } = palette;\n const primary = palette.primary || getDefaultPrimary(mode);\n const secondary = palette.secondary || getDefaultSecondary(mode);\n const error = palette.error || getDefaultError(mode);\n const info = palette.info || getDefaultInfo(mode);\n const success = palette.success || getDefaultSuccess(mode);\n const warning = palette.warning || getDefaultWarning(mode);\n\n // Use the same logic as\n // Bootstrap: https://github.com/twbs/bootstrap/blob/1d6e3710dd447de1a200f29e8fa521f8a0908f70/scss/_functions.scss#L59\n // and material-components-web https://github.com/material-components/material-components-web/blob/ac46b8863c4dab9fc22c4c662dc6bd1b65dd652f/packages/mdc-theme/_functions.scss#L54\n function getContrastText(background) {\n const contrastText = getContrastRatio(background, dark.text.primary) >= contrastThreshold ? dark.text.primary : light.text.primary;\n if (process.env.NODE_ENV !== 'production') {\n const contrast = getContrastRatio(background, contrastText);\n if (contrast < 3) {\n console.error([`MUI: The contrast ratio of ${contrast}:1 for ${contrastText} on ${background}`, 'falls below the WCAG recommended absolute minimum contrast ratio of 3:1.', 'https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast'].join('\\n'));\n }\n }\n return contrastText;\n }\n const augmentColor = ({\n color,\n name,\n mainShade = 500,\n lightShade = 300,\n darkShade = 700\n }) => {\n color = {\n ...color\n };\n if (!color.main && color[mainShade]) {\n color.main = color[mainShade];\n }\n if (!color.hasOwnProperty('main')) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid.\\n` + `The color object needs to have a \\`main\\` property or a \\`${mainShade}\\` property.` : _formatMuiErrorMessage(11, name ? ` (${name})` : '', mainShade));\n }\n if (typeof color.main !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid.\\n` + `\\`color.main\\` should be a string, but \\`${JSON.stringify(color.main)}\\` was provided instead.\\n` + '\\n' + 'Did you intend to use one of the following approaches?\\n' + '\\n' + 'import { green } from \"@mui/material/colors\";\\n' + '\\n' + 'const theme1 = createTheme({ palette: {\\n' + ' primary: green,\\n' + '} });\\n' + '\\n' + 'const theme2 = createTheme({ palette: {\\n' + ' primary: { main: green[500] },\\n' + '} });' : _formatMuiErrorMessage(12, name ? ` (${name})` : '', JSON.stringify(color.main)));\n }\n addLightOrDark(color, 'light', lightShade, tonalOffset);\n addLightOrDark(color, 'dark', darkShade, tonalOffset);\n if (!color.contrastText) {\n color.contrastText = getContrastText(color.main);\n }\n return color;\n };\n let modeHydrated;\n if (mode === 'light') {\n modeHydrated = getLight();\n } else if (mode === 'dark') {\n modeHydrated = getDark();\n }\n if (process.env.NODE_ENV !== 'production') {\n if (!modeHydrated) {\n console.error(`MUI: The palette mode \\`${mode}\\` is not supported.`);\n }\n }\n const paletteOutput = deepmerge({\n // A collection of common colors.\n common: {\n ...common\n },\n // prevent mutable object.\n // The palette mode, can be light or dark.\n mode,\n // The colors used to represent primary interface elements for a user.\n primary: augmentColor({\n color: primary,\n name: 'primary'\n }),\n // The colors used to represent secondary interface elements for a user.\n secondary: augmentColor({\n color: secondary,\n name: 'secondary',\n mainShade: 'A400',\n lightShade: 'A200',\n darkShade: 'A700'\n }),\n // The colors used to represent interface elements that the user should be made aware of.\n error: augmentColor({\n color: error,\n name: 'error'\n }),\n // The colors used to represent potentially dangerous actions or important messages.\n warning: augmentColor({\n color: warning,\n name: 'warning'\n }),\n // The colors used to present information to the user that is neutral and not necessarily important.\n info: augmentColor({\n color: info,\n name: 'info'\n }),\n // The colors used to indicate the successful completion of an action that user triggered.\n success: augmentColor({\n color: success,\n name: 'success'\n }),\n // The grey colors.\n grey,\n // Used by `getContrastText()` to maximize the contrast between\n // the background and the text.\n contrastThreshold,\n // Takes a background color and returns the text color that maximizes the contrast.\n getContrastText,\n // Generate a rich color object.\n augmentColor,\n // Used by the functions below to shift a color's luminance by approximately\n // two indexes within its tonal palette.\n // E.g., shift from Red 500 to Red 300 or Red 700.\n tonalOffset,\n // The light and dark mode object.\n ...modeHydrated\n }, other);\n return paletteOutput;\n}","/**\n * The benefit of this function is to help developers get CSS var from theme without specifying the whole variable\n * and they does not need to remember the prefix (defined once).\n */\nexport default function createGetCssVar(prefix = '') {\n function appendVar(...vars) {\n if (!vars.length) {\n return '';\n }\n const value = vars[0];\n if (typeof value === 'string' && !value.match(/(#|\\(|\\)|(-?(\\d*\\.)?\\d+)(px|em|%|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc))|^(-?(\\d*\\.)?\\d+)$|(\\d+ \\d+ \\d+)/)) {\n return `, var(--${prefix ? `${prefix}-` : ''}${value}${appendVar(...vars.slice(1))})`;\n }\n return `, ${value}`;\n }\n\n // AdditionalVars makes `getCssVar` less strict, so it can be use like this `getCssVar('non-mui-variable')` without type error.\n const getCssVar = (field, ...fallbacks) => {\n return `var(--${prefix ? `${prefix}-` : ''}${field}${appendVar(...fallbacks)})`;\n };\n return getCssVar;\n}","export default function prepareTypographyVars(typography) {\n const vars = {};\n const entries = Object.entries(typography);\n entries.forEach(entry => {\n const [key, value] = entry;\n if (typeof value === 'object') {\n vars[key] = `${value.fontStyle ? `${value.fontStyle} ` : ''}${value.fontVariant ? `${value.fontVariant} ` : ''}${value.fontWeight ? `${value.fontWeight} ` : ''}${value.fontStretch ? `${value.fontStretch} ` : ''}${value.fontSize || ''}${value.lineHeight ? `/${value.lineHeight} ` : ''}${value.fontFamily || ''}`;\n }\n });\n return vars;\n}","/**\n * This function create an object from keys, value and then assign to target\n *\n * @param {Object} obj : the target object to be assigned\n * @param {string[]} keys\n * @param {string | number} value\n *\n * @example\n * const source = {}\n * assignNestedKeys(source, ['palette', 'primary'], 'var(--palette-primary)')\n * console.log(source) // { palette: { primary: 'var(--palette-primary)' } }\n *\n * @example\n * const source = { palette: { primary: 'var(--palette-primary)' } }\n * assignNestedKeys(source, ['palette', 'secondary'], 'var(--palette-secondary)')\n * console.log(source) // { palette: { primary: 'var(--palette-primary)', secondary: 'var(--palette-secondary)' } }\n */\nexport const assignNestedKeys = (obj, keys, value, arrayKeys = []) => {\n let temp = obj;\n keys.forEach((k, index) => {\n if (index === keys.length - 1) {\n if (Array.isArray(temp)) {\n temp[Number(k)] = value;\n } else if (temp && typeof temp === 'object') {\n temp[k] = value;\n }\n } else if (temp && typeof temp === 'object') {\n if (!temp[k]) {\n temp[k] = arrayKeys.includes(k) ? [] : {};\n }\n temp = temp[k];\n }\n });\n};\n\n/**\n *\n * @param {Object} obj : source object\n * @param {Function} callback : a function that will be called when\n * - the deepest key in source object is reached\n * - the value of the deepest key is NOT `undefined` | `null`\n *\n * @example\n * walkObjectDeep({ palette: { primary: { main: '#000000' } } }, console.log)\n * // ['palette', 'primary', 'main'] '#000000'\n */\nexport const walkObjectDeep = (obj, callback, shouldSkipPaths) => {\n function recurse(object, parentKeys = [], arrayKeys = []) {\n Object.entries(object).forEach(([key, value]) => {\n if (!shouldSkipPaths || shouldSkipPaths && !shouldSkipPaths([...parentKeys, key])) {\n if (value !== undefined && value !== null) {\n if (typeof value === 'object' && Object.keys(value).length > 0) {\n recurse(value, [...parentKeys, key], Array.isArray(value) ? [...arrayKeys, key] : arrayKeys);\n } else {\n callback([...parentKeys, key], value, arrayKeys);\n }\n }\n }\n });\n }\n recurse(obj);\n};\nconst getCssValue = (keys, value) => {\n if (typeof value === 'number') {\n if (['lineHeight', 'fontWeight', 'opacity', 'zIndex'].some(prop => keys.includes(prop))) {\n // CSS property that are unitless\n return value;\n }\n const lastKey = keys[keys.length - 1];\n if (lastKey.toLowerCase().includes('opacity')) {\n // opacity values are unitless\n return value;\n }\n return `${value}px`;\n }\n return value;\n};\n\n/**\n * a function that parse theme and return { css, vars }\n *\n * @param {Object} theme\n * @param {{\n * prefix?: string,\n * shouldSkipGeneratingVar?: (objectPathKeys: Array, value: string | number) => boolean\n * }} options.\n * `prefix`: The prefix of the generated CSS variables. This function does not change the value.\n *\n * @returns {{ css: Object, vars: Object }} `css` is the stylesheet, `vars` is an object to get css variable (same structure as theme).\n *\n * @example\n * const { css, vars } = parser({\n * fontSize: 12,\n * lineHeight: 1.2,\n * palette: { primary: { 500: 'var(--color)' } }\n * }, { prefix: 'foo' })\n *\n * console.log(css) // { '--foo-fontSize': '12px', '--foo-lineHeight': 1.2, '--foo-palette-primary-500': 'var(--color)' }\n * console.log(vars) // { fontSize: 'var(--foo-fontSize)', lineHeight: 'var(--foo-lineHeight)', palette: { primary: { 500: 'var(--foo-palette-primary-500)' } } }\n */\nexport default function cssVarsParser(theme, options) {\n const {\n prefix,\n shouldSkipGeneratingVar\n } = options || {};\n const css = {};\n const vars = {};\n const varsWithDefaults = {};\n walkObjectDeep(theme, (keys, value, arrayKeys) => {\n if (typeof value === 'string' || typeof value === 'number') {\n if (!shouldSkipGeneratingVar || !shouldSkipGeneratingVar(keys, value)) {\n // only create css & var if `shouldSkipGeneratingVar` return false\n const cssVar = `--${prefix ? `${prefix}-` : ''}${keys.join('-')}`;\n const resolvedValue = getCssValue(keys, value);\n Object.assign(css, {\n [cssVar]: resolvedValue\n });\n assignNestedKeys(vars, keys, `var(${cssVar})`, arrayKeys);\n assignNestedKeys(varsWithDefaults, keys, `var(${cssVar}, ${resolvedValue})`, arrayKeys);\n }\n }\n }, keys => keys[0] === 'vars' // skip 'vars/*' paths\n );\n return {\n css,\n vars,\n varsWithDefaults\n };\n}","import deepmerge from '@mui/utils/deepmerge';\nimport cssVarsParser from \"./cssVarsParser.js\";\nfunction prepareCssVars(theme, parserConfig = {}) {\n const {\n getSelector = defaultGetSelector,\n disableCssColorScheme,\n colorSchemeSelector: selector\n } = parserConfig;\n // @ts-ignore - ignore components do not exist\n const {\n colorSchemes = {},\n components,\n defaultColorScheme = 'light',\n ...otherTheme\n } = theme;\n const {\n vars: rootVars,\n css: rootCss,\n varsWithDefaults: rootVarsWithDefaults\n } = cssVarsParser(otherTheme, parserConfig);\n let themeVars = rootVarsWithDefaults;\n const colorSchemesMap = {};\n const {\n [defaultColorScheme]: defaultScheme,\n ...otherColorSchemes\n } = colorSchemes;\n Object.entries(otherColorSchemes || {}).forEach(([key, scheme]) => {\n const {\n vars,\n css,\n varsWithDefaults\n } = cssVarsParser(scheme, parserConfig);\n themeVars = deepmerge(themeVars, varsWithDefaults);\n colorSchemesMap[key] = {\n css,\n vars\n };\n });\n if (defaultScheme) {\n // default color scheme vars should be merged last to set as default\n const {\n css,\n vars,\n varsWithDefaults\n } = cssVarsParser(defaultScheme, parserConfig);\n themeVars = deepmerge(themeVars, varsWithDefaults);\n colorSchemesMap[defaultColorScheme] = {\n css,\n vars\n };\n }\n function defaultGetSelector(colorScheme, cssObject) {\n let rule = selector;\n if (selector === 'class') {\n rule = '.%s';\n }\n if (selector === 'data') {\n rule = '[data-%s]';\n }\n if (selector?.startsWith('data-') && !selector.includes('%s')) {\n // 'data-joy-color-scheme' -> '[data-joy-color-scheme=\"%s\"]'\n rule = `[${selector}=\"%s\"]`;\n }\n if (colorScheme) {\n if (rule === 'media') {\n if (theme.defaultColorScheme === colorScheme) {\n return ':root';\n }\n const mode = colorSchemes[colorScheme]?.palette?.mode || colorScheme;\n return {\n [`@media (prefers-color-scheme: ${mode})`]: {\n ':root': cssObject\n }\n };\n }\n if (rule) {\n if (theme.defaultColorScheme === colorScheme) {\n return `:root, ${rule.replace('%s', String(colorScheme))}`;\n }\n return rule.replace('%s', String(colorScheme));\n }\n }\n return ':root';\n }\n const generateThemeVars = () => {\n let vars = {\n ...rootVars\n };\n Object.entries(colorSchemesMap).forEach(([, {\n vars: schemeVars\n }]) => {\n vars = deepmerge(vars, schemeVars);\n });\n return vars;\n };\n const generateStyleSheets = () => {\n const stylesheets = [];\n const colorScheme = theme.defaultColorScheme || 'light';\n function insertStyleSheet(key, css) {\n if (Object.keys(css).length) {\n stylesheets.push(typeof key === 'string' ? {\n [key]: {\n ...css\n }\n } : key);\n }\n }\n insertStyleSheet(getSelector(undefined, {\n ...rootCss\n }), rootCss);\n const {\n [colorScheme]: defaultSchemeVal,\n ...other\n } = colorSchemesMap;\n if (defaultSchemeVal) {\n // default color scheme has to come before other color schemes\n const {\n css\n } = defaultSchemeVal;\n const cssColorSheme = colorSchemes[colorScheme]?.palette?.mode;\n const finalCss = !disableCssColorScheme && cssColorSheme ? {\n colorScheme: cssColorSheme,\n ...css\n } : {\n ...css\n };\n insertStyleSheet(getSelector(colorScheme, {\n ...finalCss\n }), finalCss);\n }\n Object.entries(other).forEach(([key, {\n css\n }]) => {\n const cssColorSheme = colorSchemes[key]?.palette?.mode;\n const finalCss = !disableCssColorScheme && cssColorSheme ? {\n colorScheme: cssColorSheme,\n ...css\n } : {\n ...css\n };\n insertStyleSheet(getSelector(key, {\n ...finalCss\n }), finalCss);\n });\n return stylesheets;\n };\n return {\n vars: themeVars,\n generateThemeVars,\n generateStyleSheets\n };\n}\nexport default prepareCssVars;","export default function createMixins(breakpoints, mixins) {\n return {\n toolbar: {\n minHeight: 56,\n [breakpoints.up('xs')]: {\n '@media (orientation: landscape)': {\n minHeight: 48\n }\n },\n [breakpoints.up('sm')]: {\n minHeight: 64\n }\n },\n ...mixins\n };\n}","import deepmerge from '@mui/utils/deepmerge';\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\nconst caseAllCaps = {\n textTransform: 'uppercase'\n};\nconst defaultFontFamily = '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif';\n\n/**\n * @see @link{https://m2.material.io/design/typography/the-type-system.html}\n * @see @link{https://m2.material.io/design/typography/understanding-typography.html}\n */\nexport default function createTypography(palette, typography) {\n const {\n fontFamily = defaultFontFamily,\n // The default font size of the Material Specification.\n fontSize = 14,\n // px\n fontWeightLight = 300,\n fontWeightRegular = 400,\n fontWeightMedium = 500,\n fontWeightBold = 700,\n // Tell MUI what's the font-size on the html element.\n // 16px is the default font-size used by browsers.\n htmlFontSize = 16,\n // Apply the CSS properties to all the variants.\n allVariants,\n pxToRem: pxToRem2,\n ...other\n } = typeof typography === 'function' ? typography(palette) : typography;\n if (process.env.NODE_ENV !== 'production') {\n if (typeof fontSize !== 'number') {\n console.error('MUI: `fontSize` is required to be a number.');\n }\n if (typeof htmlFontSize !== 'number') {\n console.error('MUI: `htmlFontSize` is required to be a number.');\n }\n }\n const coef = fontSize / 14;\n const pxToRem = pxToRem2 || (size => `${size / htmlFontSize * coef}rem`);\n const buildVariant = (fontWeight, size, lineHeight, letterSpacing, casing) => ({\n fontFamily,\n fontWeight,\n fontSize: pxToRem(size),\n // Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/\n lineHeight,\n // The letter spacing was designed for the Roboto font-family. Using the same letter-spacing\n // across font-families can cause issues with the kerning.\n ...(fontFamily === defaultFontFamily ? {\n letterSpacing: `${round(letterSpacing / size)}em`\n } : {}),\n ...casing,\n ...allVariants\n });\n const variants = {\n h1: buildVariant(fontWeightLight, 96, 1.167, -1.5),\n h2: buildVariant(fontWeightLight, 60, 1.2, -0.5),\n h3: buildVariant(fontWeightRegular, 48, 1.167, 0),\n h4: buildVariant(fontWeightRegular, 34, 1.235, 0.25),\n h5: buildVariant(fontWeightRegular, 24, 1.334, 0),\n h6: buildVariant(fontWeightMedium, 20, 1.6, 0.15),\n subtitle1: buildVariant(fontWeightRegular, 16, 1.75, 0.15),\n subtitle2: buildVariant(fontWeightMedium, 14, 1.57, 0.1),\n body1: buildVariant(fontWeightRegular, 16, 1.5, 0.15),\n body2: buildVariant(fontWeightRegular, 14, 1.43, 0.15),\n button: buildVariant(fontWeightMedium, 14, 1.75, 0.4, caseAllCaps),\n caption: buildVariant(fontWeightRegular, 12, 1.66, 0.4),\n overline: buildVariant(fontWeightRegular, 12, 2.66, 1, caseAllCaps),\n // TODO v6: Remove handling of 'inherit' variant from the theme as it is already handled in Material UI's Typography component. Also, remember to remove the associated types.\n inherit: {\n fontFamily: 'inherit',\n fontWeight: 'inherit',\n fontSize: 'inherit',\n lineHeight: 'inherit',\n letterSpacing: 'inherit'\n }\n };\n return deepmerge({\n htmlFontSize,\n pxToRem,\n fontFamily,\n fontSize,\n fontWeightLight,\n fontWeightRegular,\n fontWeightMedium,\n fontWeightBold,\n ...variants\n }, other, {\n clone: false // No need to clone deep\n });\n}","const shadowKeyUmbraOpacity = 0.2;\nconst shadowKeyPenumbraOpacity = 0.14;\nconst shadowAmbientShadowOpacity = 0.12;\nfunction createShadow(...px) {\n return [`${px[0]}px ${px[1]}px ${px[2]}px ${px[3]}px rgba(0,0,0,${shadowKeyUmbraOpacity})`, `${px[4]}px ${px[5]}px ${px[6]}px ${px[7]}px rgba(0,0,0,${shadowKeyPenumbraOpacity})`, `${px[8]}px ${px[9]}px ${px[10]}px ${px[11]}px rgba(0,0,0,${shadowAmbientShadowOpacity})`].join(',');\n}\n\n// Values from https://github.com/material-components/material-components-web/blob/be8747f94574669cb5e7add1a7c54fa41a89cec7/packages/mdc-elevation/_variables.scss\nconst shadows = ['none', createShadow(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), createShadow(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), createShadow(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)];\nexport default shadows;","// Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves\n// to learn the context in which each easing should be used.\nexport const easing = {\n // This is the most common easing curve.\n easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',\n // Objects enter the screen at full velocity from off-screen and\n // slowly decelerate to a resting point.\n easeOut: 'cubic-bezier(0.0, 0, 0.2, 1)',\n // Objects leave the screen at full velocity. They do not decelerate when off-screen.\n easeIn: 'cubic-bezier(0.4, 0, 1, 1)',\n // The sharp curve is used by objects that may return to the screen at any time.\n sharp: 'cubic-bezier(0.4, 0, 0.6, 1)'\n};\n\n// Follow https://m2.material.io/guidelines/motion/duration-easing.html#duration-easing-common-durations\n// to learn when use what timing\nexport const duration = {\n shortest: 150,\n shorter: 200,\n short: 250,\n // most basic recommended timing\n standard: 300,\n // this is to be used in complex animations\n complex: 375,\n // recommended when something is entering screen\n enteringScreen: 225,\n // recommended when something is leaving screen\n leavingScreen: 195\n};\nfunction formatMs(milliseconds) {\n return `${Math.round(milliseconds)}ms`;\n}\nfunction getAutoHeightDuration(height) {\n if (!height) {\n return 0;\n }\n const constant = height / 36;\n\n // https://www.desmos.com/calculator/vbrp3ggqet\n return Math.min(Math.round((4 + 15 * constant ** 0.25 + constant / 5) * 10), 3000);\n}\nexport default function createTransitions(inputTransitions) {\n const mergedEasing = {\n ...easing,\n ...inputTransitions.easing\n };\n const mergedDuration = {\n ...duration,\n ...inputTransitions.duration\n };\n const create = (props = ['all'], options = {}) => {\n const {\n duration: durationOption = mergedDuration.standard,\n easing: easingOption = mergedEasing.easeInOut,\n delay = 0,\n ...other\n } = options;\n if (process.env.NODE_ENV !== 'production') {\n const isString = value => typeof value === 'string';\n const isNumber = value => !Number.isNaN(parseFloat(value));\n if (!isString(props) && !Array.isArray(props)) {\n console.error('MUI: Argument \"props\" must be a string or Array.');\n }\n if (!isNumber(durationOption) && !isString(durationOption)) {\n console.error(`MUI: Argument \"duration\" must be a number or a string but found ${durationOption}.`);\n }\n if (!isString(easingOption)) {\n console.error('MUI: Argument \"easing\" must be a string.');\n }\n if (!isNumber(delay) && !isString(delay)) {\n console.error('MUI: Argument \"delay\" must be a number or a string.');\n }\n if (typeof options !== 'object') {\n console.error(['MUI: Secong argument of transition.create must be an object.', \"Arguments should be either `create('prop1', options)` or `create(['prop1', 'prop2'], options)`\"].join('\\n'));\n }\n if (Object.keys(other).length !== 0) {\n console.error(`MUI: Unrecognized argument(s) [${Object.keys(other).join(',')}].`);\n }\n }\n return (Array.isArray(props) ? props : [props]).map(animatedProp => `${animatedProp} ${typeof durationOption === 'string' ? durationOption : formatMs(durationOption)} ${easingOption} ${typeof delay === 'string' ? delay : formatMs(delay)}`).join(',');\n };\n return {\n getAutoHeightDuration,\n create,\n ...inputTransitions,\n easing: mergedEasing,\n duration: mergedDuration\n };\n}","// We need to centralize the zIndex definitions as they work\n// like global values in the browser.\nconst zIndex = {\n mobileStepper: 1000,\n fab: 1050,\n speedDial: 1050,\n appBar: 1100,\n drawer: 1200,\n modal: 1300,\n snackbar: 1400,\n tooltip: 1500\n};\nexport default zIndex;","/* eslint-disable import/prefer-default-export */\nimport { isPlainObject } from '@mui/utils/deepmerge';\nfunction isSerializable(val) {\n return isPlainObject(val) || typeof val === 'undefined' || typeof val === 'string' || typeof val === 'boolean' || typeof val === 'number' || Array.isArray(val);\n}\n\n/**\n * `baseTheme` usually comes from `createTheme()` or `extendTheme()`.\n *\n * This function is intended to be used with zero-runtime CSS-in-JS like Pigment CSS\n * For example, in a Next.js project:\n *\n * ```js\n * // next.config.js\n * const { extendTheme } = require('@mui/material/styles');\n *\n * const theme = extendTheme();\n * // `.toRuntimeSource` is Pigment CSS specific to create a theme that is available at runtime.\n * theme.toRuntimeSource = stringifyTheme;\n *\n * module.exports = withPigment({\n * theme,\n * });\n * ```\n */\nexport function stringifyTheme(baseTheme = {}) {\n const serializableTheme = {\n ...baseTheme\n };\n function serializeTheme(object) {\n const array = Object.entries(object);\n // eslint-disable-next-line no-plusplus\n for (let index = 0; index < array.length; index++) {\n const [key, value] = array[index];\n if (!isSerializable(value) || key.startsWith('unstable_')) {\n delete object[key];\n } else if (isPlainObject(value)) {\n object[key] = {\n ...value\n };\n serializeTheme(object[key]);\n }\n }\n }\n serializeTheme(serializableTheme);\n return `import { unstable_createBreakpoints as createBreakpoints, createTransitions } from '@mui/material/styles';\n\nconst theme = ${JSON.stringify(serializableTheme, null, 2)};\n\ntheme.breakpoints = createBreakpoints(theme.breakpoints || {});\ntheme.transitions = createTransitions(theme.transitions || {});\n\nexport default theme;`;\n}","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nimport deepmerge from '@mui/utils/deepmerge';\nimport styleFunctionSx, { unstable_defaultSxConfig as defaultSxConfig } from '@mui/system/styleFunctionSx';\nimport systemCreateTheme from '@mui/system/createTheme';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport createMixins from \"./createMixins.js\";\nimport createPalette from \"./createPalette.js\";\nimport createTypography from \"./createTypography.js\";\nimport shadows from \"./shadows.js\";\nimport createTransitions from \"./createTransitions.js\";\nimport zIndex from \"./zIndex.js\";\nimport { stringifyTheme } from \"./stringifyTheme.js\";\nfunction createThemeNoVars(options = {}, ...args) {\n const {\n breakpoints: breakpointsInput,\n mixins: mixinsInput = {},\n spacing: spacingInput,\n palette: paletteInput = {},\n transitions: transitionsInput = {},\n typography: typographyInput = {},\n shape: shapeInput,\n ...other\n } = options;\n if (options.vars) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'MUI: `vars` is a private field used for CSS variables support.\\n' + 'Please use another name.' : _formatMuiErrorMessage(20));\n }\n const palette = createPalette(paletteInput);\n const systemTheme = systemCreateTheme(options);\n let muiTheme = deepmerge(systemTheme, {\n mixins: createMixins(systemTheme.breakpoints, mixinsInput),\n palette,\n // Don't use [...shadows] until you've verified its transpiled code is not invoking the iterator protocol.\n shadows: shadows.slice(),\n typography: createTypography(palette, typographyInput),\n transitions: createTransitions(transitionsInput),\n zIndex: {\n ...zIndex\n }\n });\n muiTheme = deepmerge(muiTheme, other);\n muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);\n if (process.env.NODE_ENV !== 'production') {\n // TODO v6: Refactor to use globalStateClassesMapping from @mui/utils once `readOnly` state class is used in Rating component.\n const stateClasses = ['active', 'checked', 'completed', 'disabled', 'error', 'expanded', 'focused', 'focusVisible', 'required', 'selected'];\n const traverse = (node, component) => {\n let key;\n\n // eslint-disable-next-line guard-for-in\n for (key in node) {\n const child = node[key];\n if (stateClasses.includes(key) && Object.keys(child).length > 0) {\n if (process.env.NODE_ENV !== 'production') {\n const stateClass = generateUtilityClass('', key);\n console.error([`MUI: The \\`${component}\\` component increases ` + `the CSS specificity of the \\`${key}\\` internal state.`, 'You can not override it like this: ', JSON.stringify(node, null, 2), '', `Instead, you need to use the '&.${stateClass}' syntax:`, JSON.stringify({\n root: {\n [`&.${stateClass}`]: child\n }\n }, null, 2), '', 'https://mui.com/r/state-classes-guide'].join('\\n'));\n }\n // Remove the style to prevent global conflicts.\n node[key] = {};\n }\n }\n };\n Object.keys(muiTheme.components).forEach(component => {\n const styleOverrides = muiTheme.components[component].styleOverrides;\n if (styleOverrides && component.startsWith('Mui')) {\n traverse(styleOverrides, component);\n }\n });\n }\n muiTheme.unstable_sxConfig = {\n ...defaultSxConfig,\n ...other?.unstable_sxConfig\n };\n muiTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n muiTheme.toRuntimeSource = stringifyTheme; // for Pigment CSS integration\n\n return muiTheme;\n}\nlet warnedOnce = false;\nexport function createMuiTheme(...args) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.error(['MUI: the createMuiTheme function was renamed to createTheme.', '', \"You should use `import { createTheme } from '@mui/material/styles'`\"].join('\\n'));\n }\n }\n return createThemeNoVars(...args);\n}\nexport default createThemeNoVars;","import createPalette from \"./createPalette.js\";\nimport getOverlayAlpha from \"./getOverlayAlpha.js\";\nconst defaultDarkOverlays = [...Array(25)].map((_, index) => {\n if (index === 0) {\n return 'none';\n }\n const overlay = getOverlayAlpha(index);\n return `linear-gradient(rgba(255 255 255 / ${overlay}), rgba(255 255 255 / ${overlay}))`;\n});\nexport function getOpacity(mode) {\n return {\n inputPlaceholder: mode === 'dark' ? 0.5 : 0.42,\n inputUnderline: mode === 'dark' ? 0.7 : 0.42,\n switchTrackDisabled: mode === 'dark' ? 0.2 : 0.12,\n switchTrack: mode === 'dark' ? 0.3 : 0.38\n };\n}\nexport function getOverlays(mode) {\n return mode === 'dark' ? defaultDarkOverlays : [];\n}\nexport default function createColorScheme(options) {\n const {\n palette: paletteInput = {\n mode: 'light'\n },\n // need to cast to avoid module augmentation test\n opacity,\n overlays,\n ...rest\n } = options;\n const palette = createPalette(paletteInput);\n return {\n palette,\n opacity: {\n ...getOpacity(palette.mode),\n ...opacity\n },\n overlays: overlays || getOverlays(palette.mode),\n ...rest\n };\n}","// Inspired by https://github.com/material-components/material-components-ios/blob/bca36107405594d5b7b16265a5b0ed698f85a5ee/components/Elevation/src/UIColor%2BMaterialElevation.m#L61\nexport default function getOverlayAlpha(elevation) {\n let alphaValue;\n if (elevation < 1) {\n alphaValue = 5.11916 * elevation ** 2;\n } else {\n alphaValue = 4.5 * Math.log(elevation + 1) + 2;\n }\n return Math.round(alphaValue * 10) / 1000;\n}","export default function shouldSkipGeneratingVar(keys) {\n return !!keys[0].match(/(cssVarPrefix|colorSchemeSelector|rootSelector|typography|mixins|breakpoints|direction|transitions)/) || !!keys[0].match(/sxConfig$/) ||\n // ends with sxConfig\n keys[0] === 'palette' && !!keys[1]?.match(/(mode|contrastThreshold|tonalOffset)/);\n}","/**\n * @internal These variables should not appear in the :root stylesheet when the `defaultColorScheme=\"dark\"`\n */\nconst excludeVariablesFromRoot = cssVarPrefix => [...[...Array(25)].map((_, index) => `--${cssVarPrefix ? `${cssVarPrefix}-` : ''}overlays-${index}`), `--${cssVarPrefix ? `${cssVarPrefix}-` : ''}palette-AppBar-darkBg`, `--${cssVarPrefix ? `${cssVarPrefix}-` : ''}palette-AppBar-darkColor`];\nexport default excludeVariablesFromRoot;","import excludeVariablesFromRoot from \"./excludeVariablesFromRoot.js\";\nexport default theme => (colorScheme, css) => {\n const root = theme.rootSelector || ':root';\n const selector = theme.colorSchemeSelector;\n let rule = selector;\n if (selector === 'class') {\n rule = '.%s';\n }\n if (selector === 'data') {\n rule = '[data-%s]';\n }\n if (selector?.startsWith('data-') && !selector.includes('%s')) {\n // 'data-mui-color-scheme' -> '[data-mui-color-scheme=\"%s\"]'\n rule = `[${selector}=\"%s\"]`;\n }\n if (theme.defaultColorScheme === colorScheme) {\n if (colorScheme === 'dark') {\n const excludedVariables = {};\n excludeVariablesFromRoot(theme.cssVarPrefix).forEach(cssVar => {\n excludedVariables[cssVar] = css[cssVar];\n delete css[cssVar];\n });\n if (rule === 'media') {\n return {\n [root]: css,\n [`@media (prefers-color-scheme: dark)`]: {\n [root]: excludedVariables\n }\n };\n }\n if (rule) {\n return {\n [rule.replace('%s', colorScheme)]: excludedVariables,\n [`${root}, ${rule.replace('%s', colorScheme)}`]: css\n };\n }\n return {\n [root]: {\n ...css,\n ...excludedVariables\n }\n };\n }\n if (rule && rule !== 'media') {\n return `${root}, ${rule.replace('%s', String(colorScheme))}`;\n }\n } else if (colorScheme) {\n if (rule === 'media') {\n return {\n [`@media (prefers-color-scheme: ${String(colorScheme)})`]: {\n [root]: css\n }\n };\n }\n if (rule) {\n return rule.replace('%s', String(colorScheme));\n }\n }\n return root;\n};","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nimport deepmerge from '@mui/utils/deepmerge';\nimport { unstable_createGetCssVar as systemCreateGetCssVar, createSpacing } from '@mui/system';\nimport { createUnarySpacing } from '@mui/system/spacing';\nimport { prepareCssVars, prepareTypographyVars, createGetColorSchemeSelector } from '@mui/system/cssVars';\nimport styleFunctionSx, { unstable_defaultSxConfig as defaultSxConfig } from '@mui/system/styleFunctionSx';\nimport { private_safeColorChannel as safeColorChannel, private_safeAlpha as safeAlpha, private_safeDarken as safeDarken, private_safeLighten as safeLighten, private_safeEmphasize as safeEmphasize, hslToRgb } from '@mui/system/colorManipulator';\nimport createThemeNoVars from \"./createThemeNoVars.js\";\nimport createColorScheme, { getOpacity, getOverlays } from \"./createColorScheme.js\";\nimport defaultShouldSkipGeneratingVar from \"./shouldSkipGeneratingVar.js\";\nimport defaultGetSelector from \"./createGetSelector.js\";\nimport { stringifyTheme } from \"./stringifyTheme.js\";\nfunction assignNode(obj, keys) {\n keys.forEach(k => {\n if (!obj[k]) {\n obj[k] = {};\n }\n });\n}\nfunction setColor(obj, key, defaultValue) {\n if (!obj[key] && defaultValue) {\n obj[key] = defaultValue;\n }\n}\nfunction toRgb(color) {\n if (typeof color !== 'string' || !color.startsWith('hsl')) {\n return color;\n }\n return hslToRgb(color);\n}\nfunction setColorChannel(obj, key) {\n if (!(`${key}Channel` in obj)) {\n // custom channel token is not provided, generate one.\n // if channel token can't be generated, show a warning.\n obj[`${key}Channel`] = safeColorChannel(toRgb(obj[key]), `MUI: Can't create \\`palette.${key}Channel\\` because \\`palette.${key}\\` is not one of these formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` + '\\n' + `To suppress this warning, you need to explicitly provide the \\`palette.${key}Channel\\` as a string (in rgb format, for example \"12 12 12\") or undefined if you want to remove the channel token.`);\n }\n}\nfunction getSpacingVal(spacingInput) {\n if (typeof spacingInput === 'number') {\n return `${spacingInput}px`;\n }\n if (typeof spacingInput === 'string' || typeof spacingInput === 'function' || Array.isArray(spacingInput)) {\n return spacingInput;\n }\n return '8px';\n}\nconst silent = fn => {\n try {\n return fn();\n } catch (error) {\n // ignore error\n }\n return undefined;\n};\nexport const createGetCssVar = (cssVarPrefix = 'mui') => systemCreateGetCssVar(cssVarPrefix);\nfunction attachColorScheme(colorSchemes, scheme, restTheme, colorScheme) {\n if (!scheme) {\n return undefined;\n }\n scheme = scheme === true ? {} : scheme;\n const mode = colorScheme === 'dark' ? 'dark' : 'light';\n if (!restTheme) {\n colorSchemes[colorScheme] = createColorScheme({\n ...scheme,\n palette: {\n mode,\n ...scheme?.palette\n }\n });\n return undefined;\n }\n const {\n palette,\n ...muiTheme\n } = createThemeNoVars({\n ...restTheme,\n palette: {\n mode,\n ...scheme?.palette\n }\n });\n colorSchemes[colorScheme] = {\n ...scheme,\n palette,\n opacity: {\n ...getOpacity(mode),\n ...scheme?.opacity\n },\n overlays: scheme?.overlays || getOverlays(mode)\n };\n return muiTheme;\n}\n\n/**\n * A default `createThemeWithVars` comes with a single color scheme, either `light` or `dark` based on the `defaultColorScheme`.\n * This is better suited for apps that only need a single color scheme.\n *\n * To enable built-in `light` and `dark` color schemes, either:\n * 1. provide a `colorSchemeSelector` to define how the color schemes will change.\n * 2. provide `colorSchemes.dark` will set `colorSchemeSelector: 'media'` by default.\n */\nexport default function createThemeWithVars(options = {}, ...args) {\n const {\n colorSchemes: colorSchemesInput = {\n light: true\n },\n defaultColorScheme: defaultColorSchemeInput,\n disableCssColorScheme = false,\n cssVarPrefix = 'mui',\n shouldSkipGeneratingVar = defaultShouldSkipGeneratingVar,\n colorSchemeSelector: selector = colorSchemesInput.light && colorSchemesInput.dark ? 'media' : undefined,\n rootSelector = ':root',\n ...input\n } = options;\n const firstColorScheme = Object.keys(colorSchemesInput)[0];\n const defaultColorScheme = defaultColorSchemeInput || (colorSchemesInput.light && firstColorScheme !== 'light' ? 'light' : firstColorScheme);\n const getCssVar = createGetCssVar(cssVarPrefix);\n const {\n [defaultColorScheme]: defaultSchemeInput,\n light: builtInLight,\n dark: builtInDark,\n ...customColorSchemes\n } = colorSchemesInput;\n const colorSchemes = {\n ...customColorSchemes\n };\n let defaultScheme = defaultSchemeInput;\n\n // For built-in light and dark color schemes, ensure that the value is valid if they are the default color scheme.\n if (defaultColorScheme === 'dark' && !('dark' in colorSchemesInput) || defaultColorScheme === 'light' && !('light' in colorSchemesInput)) {\n defaultScheme = true;\n }\n if (!defaultScheme) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The \\`colorSchemes.${defaultColorScheme}\\` option is either missing or invalid.` : _formatMuiErrorMessage(21, defaultColorScheme));\n }\n\n // Create the palette for the default color scheme, either `light`, `dark`, or custom color scheme.\n const muiTheme = attachColorScheme(colorSchemes, defaultScheme, input, defaultColorScheme);\n if (builtInLight && !colorSchemes.light) {\n attachColorScheme(colorSchemes, builtInLight, undefined, 'light');\n }\n if (builtInDark && !colorSchemes.dark) {\n attachColorScheme(colorSchemes, builtInDark, undefined, 'dark');\n }\n let theme = {\n defaultColorScheme,\n ...muiTheme,\n cssVarPrefix,\n colorSchemeSelector: selector,\n rootSelector,\n getCssVar,\n colorSchemes,\n font: {\n ...prepareTypographyVars(muiTheme.typography),\n ...muiTheme.font\n },\n spacing: getSpacingVal(input.spacing)\n };\n Object.keys(theme.colorSchemes).forEach(key => {\n const palette = theme.colorSchemes[key].palette;\n const setCssVarColor = cssVar => {\n const tokens = cssVar.split('-');\n const color = tokens[1];\n const colorToken = tokens[2];\n return getCssVar(cssVar, palette[color][colorToken]);\n };\n\n // attach black & white channels to common node\n if (palette.mode === 'light') {\n setColor(palette.common, 'background', '#fff');\n setColor(palette.common, 'onBackground', '#000');\n }\n if (palette.mode === 'dark') {\n setColor(palette.common, 'background', '#000');\n setColor(palette.common, 'onBackground', '#fff');\n }\n\n // assign component variables\n assignNode(palette, ['Alert', 'AppBar', 'Avatar', 'Button', 'Chip', 'FilledInput', 'LinearProgress', 'Skeleton', 'Slider', 'SnackbarContent', 'SpeedDialAction', 'StepConnector', 'StepContent', 'Switch', 'TableCell', 'Tooltip']);\n if (palette.mode === 'light') {\n setColor(palette.Alert, 'errorColor', safeDarken(palette.error.light, 0.6));\n setColor(palette.Alert, 'infoColor', safeDarken(palette.info.light, 0.6));\n setColor(palette.Alert, 'successColor', safeDarken(palette.success.light, 0.6));\n setColor(palette.Alert, 'warningColor', safeDarken(palette.warning.light, 0.6));\n setColor(palette.Alert, 'errorFilledBg', setCssVarColor('palette-error-main'));\n setColor(palette.Alert, 'infoFilledBg', setCssVarColor('palette-info-main'));\n setColor(palette.Alert, 'successFilledBg', setCssVarColor('palette-success-main'));\n setColor(palette.Alert, 'warningFilledBg', setCssVarColor('palette-warning-main'));\n setColor(palette.Alert, 'errorFilledColor', silent(() => palette.getContrastText(palette.error.main)));\n setColor(palette.Alert, 'infoFilledColor', silent(() => palette.getContrastText(palette.info.main)));\n setColor(palette.Alert, 'successFilledColor', silent(() => palette.getContrastText(palette.success.main)));\n setColor(palette.Alert, 'warningFilledColor', silent(() => palette.getContrastText(palette.warning.main)));\n setColor(palette.Alert, 'errorStandardBg', safeLighten(palette.error.light, 0.9));\n setColor(palette.Alert, 'infoStandardBg', safeLighten(palette.info.light, 0.9));\n setColor(palette.Alert, 'successStandardBg', safeLighten(palette.success.light, 0.9));\n setColor(palette.Alert, 'warningStandardBg', safeLighten(palette.warning.light, 0.9));\n setColor(palette.Alert, 'errorIconColor', setCssVarColor('palette-error-main'));\n setColor(palette.Alert, 'infoIconColor', setCssVarColor('palette-info-main'));\n setColor(palette.Alert, 'successIconColor', setCssVarColor('palette-success-main'));\n setColor(palette.Alert, 'warningIconColor', setCssVarColor('palette-warning-main'));\n setColor(palette.AppBar, 'defaultBg', setCssVarColor('palette-grey-100'));\n setColor(palette.Avatar, 'defaultBg', setCssVarColor('palette-grey-400'));\n setColor(palette.Button, 'inheritContainedBg', setCssVarColor('palette-grey-300'));\n setColor(palette.Button, 'inheritContainedHoverBg', setCssVarColor('palette-grey-A100'));\n setColor(palette.Chip, 'defaultBorder', setCssVarColor('palette-grey-400'));\n setColor(palette.Chip, 'defaultAvatarColor', setCssVarColor('palette-grey-700'));\n setColor(palette.Chip, 'defaultIconColor', setCssVarColor('palette-grey-700'));\n setColor(palette.FilledInput, 'bg', 'rgba(0, 0, 0, 0.06)');\n setColor(palette.FilledInput, 'hoverBg', 'rgba(0, 0, 0, 0.09)');\n setColor(palette.FilledInput, 'disabledBg', 'rgba(0, 0, 0, 0.12)');\n setColor(palette.LinearProgress, 'primaryBg', safeLighten(palette.primary.main, 0.62));\n setColor(palette.LinearProgress, 'secondaryBg', safeLighten(palette.secondary.main, 0.62));\n setColor(palette.LinearProgress, 'errorBg', safeLighten(palette.error.main, 0.62));\n setColor(palette.LinearProgress, 'infoBg', safeLighten(palette.info.main, 0.62));\n setColor(palette.LinearProgress, 'successBg', safeLighten(palette.success.main, 0.62));\n setColor(palette.LinearProgress, 'warningBg', safeLighten(palette.warning.main, 0.62));\n setColor(palette.Skeleton, 'bg', `rgba(${setCssVarColor('palette-text-primaryChannel')} / 0.11)`);\n setColor(palette.Slider, 'primaryTrack', safeLighten(palette.primary.main, 0.62));\n setColor(palette.Slider, 'secondaryTrack', safeLighten(palette.secondary.main, 0.62));\n setColor(palette.Slider, 'errorTrack', safeLighten(palette.error.main, 0.62));\n setColor(palette.Slider, 'infoTrack', safeLighten(palette.info.main, 0.62));\n setColor(palette.Slider, 'successTrack', safeLighten(palette.success.main, 0.62));\n setColor(palette.Slider, 'warningTrack', safeLighten(palette.warning.main, 0.62));\n const snackbarContentBackground = safeEmphasize(palette.background.default, 0.8);\n setColor(palette.SnackbarContent, 'bg', snackbarContentBackground);\n setColor(palette.SnackbarContent, 'color', silent(() => palette.getContrastText(snackbarContentBackground)));\n setColor(palette.SpeedDialAction, 'fabHoverBg', safeEmphasize(palette.background.paper, 0.15));\n setColor(palette.StepConnector, 'border', setCssVarColor('palette-grey-400'));\n setColor(palette.StepContent, 'border', setCssVarColor('palette-grey-400'));\n setColor(palette.Switch, 'defaultColor', setCssVarColor('palette-common-white'));\n setColor(palette.Switch, 'defaultDisabledColor', setCssVarColor('palette-grey-100'));\n setColor(palette.Switch, 'primaryDisabledColor', safeLighten(palette.primary.main, 0.62));\n setColor(palette.Switch, 'secondaryDisabledColor', safeLighten(palette.secondary.main, 0.62));\n setColor(palette.Switch, 'errorDisabledColor', safeLighten(palette.error.main, 0.62));\n setColor(palette.Switch, 'infoDisabledColor', safeLighten(palette.info.main, 0.62));\n setColor(palette.Switch, 'successDisabledColor', safeLighten(palette.success.main, 0.62));\n setColor(palette.Switch, 'warningDisabledColor', safeLighten(palette.warning.main, 0.62));\n setColor(palette.TableCell, 'border', safeLighten(safeAlpha(palette.divider, 1), 0.88));\n setColor(palette.Tooltip, 'bg', safeAlpha(palette.grey[700], 0.92));\n }\n if (palette.mode === 'dark') {\n setColor(palette.Alert, 'errorColor', safeLighten(palette.error.light, 0.6));\n setColor(palette.Alert, 'infoColor', safeLighten(palette.info.light, 0.6));\n setColor(palette.Alert, 'successColor', safeLighten(palette.success.light, 0.6));\n setColor(palette.Alert, 'warningColor', safeLighten(palette.warning.light, 0.6));\n setColor(palette.Alert, 'errorFilledBg', setCssVarColor('palette-error-dark'));\n setColor(palette.Alert, 'infoFilledBg', setCssVarColor('palette-info-dark'));\n setColor(palette.Alert, 'successFilledBg', setCssVarColor('palette-success-dark'));\n setColor(palette.Alert, 'warningFilledBg', setCssVarColor('palette-warning-dark'));\n setColor(palette.Alert, 'errorFilledColor', silent(() => palette.getContrastText(palette.error.dark)));\n setColor(palette.Alert, 'infoFilledColor', silent(() => palette.getContrastText(palette.info.dark)));\n setColor(palette.Alert, 'successFilledColor', silent(() => palette.getContrastText(palette.success.dark)));\n setColor(palette.Alert, 'warningFilledColor', silent(() => palette.getContrastText(palette.warning.dark)));\n setColor(palette.Alert, 'errorStandardBg', safeDarken(palette.error.light, 0.9));\n setColor(palette.Alert, 'infoStandardBg', safeDarken(palette.info.light, 0.9));\n setColor(palette.Alert, 'successStandardBg', safeDarken(palette.success.light, 0.9));\n setColor(palette.Alert, 'warningStandardBg', safeDarken(palette.warning.light, 0.9));\n setColor(palette.Alert, 'errorIconColor', setCssVarColor('palette-error-main'));\n setColor(palette.Alert, 'infoIconColor', setCssVarColor('palette-info-main'));\n setColor(palette.Alert, 'successIconColor', setCssVarColor('palette-success-main'));\n setColor(palette.Alert, 'warningIconColor', setCssVarColor('palette-warning-main'));\n setColor(palette.AppBar, 'defaultBg', setCssVarColor('palette-grey-900'));\n setColor(palette.AppBar, 'darkBg', setCssVarColor('palette-background-paper')); // specific for dark mode\n setColor(palette.AppBar, 'darkColor', setCssVarColor('palette-text-primary')); // specific for dark mode\n setColor(palette.Avatar, 'defaultBg', setCssVarColor('palette-grey-600'));\n setColor(palette.Button, 'inheritContainedBg', setCssVarColor('palette-grey-800'));\n setColor(palette.Button, 'inheritContainedHoverBg', setCssVarColor('palette-grey-700'));\n setColor(palette.Chip, 'defaultBorder', setCssVarColor('palette-grey-700'));\n setColor(palette.Chip, 'defaultAvatarColor', setCssVarColor('palette-grey-300'));\n setColor(palette.Chip, 'defaultIconColor', setCssVarColor('palette-grey-300'));\n setColor(palette.FilledInput, 'bg', 'rgba(255, 255, 255, 0.09)');\n setColor(palette.FilledInput, 'hoverBg', 'rgba(255, 255, 255, 0.13)');\n setColor(palette.FilledInput, 'disabledBg', 'rgba(255, 255, 255, 0.12)');\n setColor(palette.LinearProgress, 'primaryBg', safeDarken(palette.primary.main, 0.5));\n setColor(palette.LinearProgress, 'secondaryBg', safeDarken(palette.secondary.main, 0.5));\n setColor(palette.LinearProgress, 'errorBg', safeDarken(palette.error.main, 0.5));\n setColor(palette.LinearProgress, 'infoBg', safeDarken(palette.info.main, 0.5));\n setColor(palette.LinearProgress, 'successBg', safeDarken(palette.success.main, 0.5));\n setColor(palette.LinearProgress, 'warningBg', safeDarken(palette.warning.main, 0.5));\n setColor(palette.Skeleton, 'bg', `rgba(${setCssVarColor('palette-text-primaryChannel')} / 0.13)`);\n setColor(palette.Slider, 'primaryTrack', safeDarken(palette.primary.main, 0.5));\n setColor(palette.Slider, 'secondaryTrack', safeDarken(palette.secondary.main, 0.5));\n setColor(palette.Slider, 'errorTrack', safeDarken(palette.error.main, 0.5));\n setColor(palette.Slider, 'infoTrack', safeDarken(palette.info.main, 0.5));\n setColor(palette.Slider, 'successTrack', safeDarken(palette.success.main, 0.5));\n setColor(palette.Slider, 'warningTrack', safeDarken(palette.warning.main, 0.5));\n const snackbarContentBackground = safeEmphasize(palette.background.default, 0.98);\n setColor(palette.SnackbarContent, 'bg', snackbarContentBackground);\n setColor(palette.SnackbarContent, 'color', silent(() => palette.getContrastText(snackbarContentBackground)));\n setColor(palette.SpeedDialAction, 'fabHoverBg', safeEmphasize(palette.background.paper, 0.15));\n setColor(palette.StepConnector, 'border', setCssVarColor('palette-grey-600'));\n setColor(palette.StepContent, 'border', setCssVarColor('palette-grey-600'));\n setColor(palette.Switch, 'defaultColor', setCssVarColor('palette-grey-300'));\n setColor(palette.Switch, 'defaultDisabledColor', setCssVarColor('palette-grey-600'));\n setColor(palette.Switch, 'primaryDisabledColor', safeDarken(palette.primary.main, 0.55));\n setColor(palette.Switch, 'secondaryDisabledColor', safeDarken(palette.secondary.main, 0.55));\n setColor(palette.Switch, 'errorDisabledColor', safeDarken(palette.error.main, 0.55));\n setColor(palette.Switch, 'infoDisabledColor', safeDarken(palette.info.main, 0.55));\n setColor(palette.Switch, 'successDisabledColor', safeDarken(palette.success.main, 0.55));\n setColor(palette.Switch, 'warningDisabledColor', safeDarken(palette.warning.main, 0.55));\n setColor(palette.TableCell, 'border', safeDarken(safeAlpha(palette.divider, 1), 0.68));\n setColor(palette.Tooltip, 'bg', safeAlpha(palette.grey[700], 0.92));\n }\n\n // MUI X - DataGrid needs this token.\n setColorChannel(palette.background, 'default');\n\n // added for consistency with the `background.default` token\n setColorChannel(palette.background, 'paper');\n setColorChannel(palette.common, 'background');\n setColorChannel(palette.common, 'onBackground');\n setColorChannel(palette, 'divider');\n Object.keys(palette).forEach(color => {\n const colors = palette[color];\n\n // The default palettes (primary, secondary, error, info, success, and warning) errors are handled by the above `createTheme(...)`.\n\n if (color !== 'tonalOffset' && colors && typeof colors === 'object') {\n // Silent the error for custom palettes.\n if (colors.main) {\n setColor(palette[color], 'mainChannel', safeColorChannel(toRgb(colors.main)));\n }\n if (colors.light) {\n setColor(palette[color], 'lightChannel', safeColorChannel(toRgb(colors.light)));\n }\n if (colors.dark) {\n setColor(palette[color], 'darkChannel', safeColorChannel(toRgb(colors.dark)));\n }\n if (colors.contrastText) {\n setColor(palette[color], 'contrastTextChannel', safeColorChannel(toRgb(colors.contrastText)));\n }\n if (color === 'text') {\n // Text colors: text.primary, text.secondary\n setColorChannel(palette[color], 'primary');\n setColorChannel(palette[color], 'secondary');\n }\n if (color === 'action') {\n // Action colors: action.active, action.selected\n if (colors.active) {\n setColorChannel(palette[color], 'active');\n }\n if (colors.selected) {\n setColorChannel(palette[color], 'selected');\n }\n }\n }\n });\n });\n theme = args.reduce((acc, argument) => deepmerge(acc, argument), theme);\n const parserConfig = {\n prefix: cssVarPrefix,\n disableCssColorScheme,\n shouldSkipGeneratingVar,\n getSelector: defaultGetSelector(theme)\n };\n const {\n vars,\n generateThemeVars,\n generateStyleSheets\n } = prepareCssVars(theme, parserConfig);\n theme.vars = vars;\n Object.entries(theme.colorSchemes[theme.defaultColorScheme]).forEach(([key, value]) => {\n theme[key] = value;\n });\n theme.generateThemeVars = generateThemeVars;\n theme.generateStyleSheets = generateStyleSheets;\n theme.generateSpacing = function generateSpacing() {\n return createSpacing(input.spacing, createUnarySpacing(this));\n };\n theme.getColorSchemeSelector = createGetColorSchemeSelector(selector);\n theme.spacing = theme.generateSpacing();\n theme.shouldSkipGeneratingVar = shouldSkipGeneratingVar;\n theme.unstable_sxConfig = {\n ...defaultSxConfig,\n ...input?.unstable_sxConfig\n };\n theme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n theme.toRuntimeSource = stringifyTheme; // for Pigment CSS integration\n\n return theme;\n}","/* eslint-disable import/prefer-default-export */\nexport function createGetColorSchemeSelector(selector) {\n return function getColorSchemeSelector(colorScheme) {\n if (selector === 'media') {\n if (process.env.NODE_ENV !== 'production') {\n if (colorScheme !== 'light' && colorScheme !== 'dark') {\n console.error(`MUI: @media (prefers-color-scheme) supports only 'light' or 'dark', but receive '${colorScheme}'.`);\n }\n }\n return `@media (prefers-color-scheme: ${colorScheme})`;\n }\n if (selector) {\n if (selector.startsWith('data-') && !selector.includes('%s')) {\n return `[${selector}=\"${colorScheme}\"] &`;\n }\n if (selector === 'class') {\n return `.${colorScheme} &`;\n }\n if (selector === 'data') {\n return `[data-${colorScheme}] &`;\n }\n return `${selector.replace('%s', colorScheme)} &`;\n }\n return '&';\n };\n}","import createPalette from \"./createPalette.js\";\nimport createThemeWithVars from \"./createThemeWithVars.js\";\nimport createThemeNoVars from \"./createThemeNoVars.js\";\nexport { createMuiTheme } from \"./createThemeNoVars.js\";\n// eslint-disable-next-line consistent-return\nfunction attachColorScheme(theme, scheme, colorScheme) {\n if (!theme.colorSchemes) {\n return undefined;\n }\n if (colorScheme) {\n theme.colorSchemes[scheme] = {\n ...(colorScheme !== true && colorScheme),\n palette: createPalette({\n ...(colorScheme === true ? {} : colorScheme.palette),\n mode: scheme\n }) // cast type to skip module augmentation test\n };\n }\n}\n\n/**\n * Generate a theme base on the options received.\n * @param options Takes an incomplete theme object and adds the missing parts.\n * @param args Deep merge the arguments with the about to be returned theme.\n * @returns A complete, ready-to-use theme object.\n */\nexport default function createTheme(options = {},\n// cast type to skip module augmentation test\n...args) {\n const {\n palette,\n cssVariables = false,\n colorSchemes: initialColorSchemes = !palette ? {\n light: true\n } : undefined,\n defaultColorScheme: initialDefaultColorScheme = palette?.mode,\n ...rest\n } = options;\n const defaultColorSchemeInput = initialDefaultColorScheme || 'light';\n const defaultScheme = initialColorSchemes?.[defaultColorSchemeInput];\n const colorSchemesInput = {\n ...initialColorSchemes,\n ...(palette ? {\n [defaultColorSchemeInput]: {\n ...(typeof defaultScheme !== 'boolean' && defaultScheme),\n palette\n }\n } : undefined)\n };\n if (cssVariables === false) {\n if (!('colorSchemes' in options)) {\n // Behaves exactly as v5\n return createThemeNoVars(options, ...args);\n }\n let paletteOptions = palette;\n if (!('palette' in options)) {\n if (colorSchemesInput[defaultColorSchemeInput]) {\n if (colorSchemesInput[defaultColorSchemeInput] !== true) {\n paletteOptions = colorSchemesInput[defaultColorSchemeInput].palette;\n } else if (defaultColorSchemeInput === 'dark') {\n // @ts-ignore to prevent the module augmentation test from failing\n paletteOptions = {\n mode: 'dark'\n };\n }\n }\n }\n const theme = createThemeNoVars({\n ...options,\n palette: paletteOptions\n }, ...args);\n theme.defaultColorScheme = defaultColorSchemeInput;\n theme.colorSchemes = colorSchemesInput;\n if (theme.palette.mode === 'light') {\n theme.colorSchemes.light = {\n ...(colorSchemesInput.light !== true && colorSchemesInput.light),\n palette: theme.palette\n };\n attachColorScheme(theme, 'dark', colorSchemesInput.dark);\n }\n if (theme.palette.mode === 'dark') {\n theme.colorSchemes.dark = {\n ...(colorSchemesInput.dark !== true && colorSchemesInput.dark),\n palette: theme.palette\n };\n attachColorScheme(theme, 'light', colorSchemesInput.light);\n }\n return theme;\n }\n if (!palette && !('light' in colorSchemesInput) && defaultColorSchemeInput === 'light') {\n colorSchemesInput.light = true;\n }\n return createThemeWithVars({\n ...rest,\n colorSchemes: colorSchemesInput,\n defaultColorScheme: defaultColorSchemeInput,\n ...(typeof cssVariables !== 'boolean' && cssVariables)\n }, ...args);\n}","'use client';\n\nimport createTheme from \"./createTheme.js\";\nconst defaultTheme = createTheme();\nexport default defaultTheme;","// copied from @mui/system/createStyled\nfunction slotShouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nexport default slotShouldForwardProp;","'use client';\n\nimport createStyled from '@mui/system/createStyled';\nimport defaultTheme from \"./defaultTheme.js\";\nimport THEME_ID from \"./identifier.js\";\nimport rootShouldForwardProp from \"./rootShouldForwardProp.js\";\nexport { default as slotShouldForwardProp } from \"./slotShouldForwardProp.js\";\nexport { default as rootShouldForwardProp } from \"./rootShouldForwardProp.js\";\nconst styled = createStyled({\n themeId: THEME_ID,\n defaultTheme,\n rootShouldForwardProp\n});\nexport default styled;","export default '$$material';","import slotShouldForwardProp from \"./slotShouldForwardProp.js\";\nconst rootShouldForwardProp = prop => slotShouldForwardProp(prop) && prop !== 'classes';\nexport default rootShouldForwardProp;","import preprocessStyles from \"./preprocessStyles.js\";\n\n/* eslint-disable @typescript-eslint/naming-convention */\n\n// We need to pass an argument as `{ theme }` for PigmentCSS, but we don't want to\n// allocate more objects.\nconst arg = {\n theme: undefined\n};\n\n/**\n * Memoize style function on theme.\n * Intended to be used in styled() calls that only need access to the theme.\n */\nexport default function unstable_memoTheme(styleFn) {\n let lastValue;\n let lastTheme;\n return function styleMemoized(props) {\n let value = lastValue;\n if (value === undefined || props.theme !== lastTheme) {\n arg.theme = props.theme;\n value = preprocessStyles(styleFn(arg));\n lastValue = value;\n lastTheme = props.theme;\n }\n return value;\n };\n}","import { unstable_memoTheme } from '@mui/system';\nconst memoTheme = unstable_memoTheme;\nexport default memoTheme;","/**\n * Add keys, values of `defaultProps` that does not exist in `props`\n * @param defaultProps\n * @param props\n * @returns resolved props\n */\nexport default function resolveProps(defaultProps, props) {\n const output = {\n ...props\n };\n for (const key in defaultProps) {\n if (Object.prototype.hasOwnProperty.call(defaultProps, key)) {\n const propName = key;\n if (propName === 'components' || propName === 'slots') {\n output[propName] = {\n ...defaultProps[propName],\n ...output[propName]\n };\n } else if (propName === 'componentsProps' || propName === 'slotProps') {\n const defaultSlotProps = defaultProps[propName];\n const slotProps = props[propName];\n if (!slotProps) {\n output[propName] = defaultSlotProps || {};\n } else if (!defaultSlotProps) {\n output[propName] = slotProps;\n } else {\n output[propName] = {\n ...slotProps\n };\n for (const slotKey in defaultSlotProps) {\n if (Object.prototype.hasOwnProperty.call(defaultSlotProps, slotKey)) {\n const slotPropName = slotKey;\n output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]);\n }\n }\n }\n } else if (output[propName] === undefined) {\n output[propName] = defaultProps[propName];\n }\n }\n }\n return output;\n}","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport resolveProps from '@mui/utils/resolveProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PropsContext = /*#__PURE__*/React.createContext(undefined);\nfunction DefaultPropsProvider({\n value,\n children\n}) {\n return /*#__PURE__*/_jsx(PropsContext.Provider, {\n value: value,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? DefaultPropsProvider.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n value: PropTypes.object\n} : void 0;\nfunction getThemeProps(params) {\n const {\n theme,\n name,\n props\n } = params;\n if (!theme || !theme.components || !theme.components[name]) {\n return props;\n }\n const config = theme.components[name];\n if (config.defaultProps) {\n // compatible with v5 signature\n return resolveProps(config.defaultProps, props);\n }\n if (!config.styleOverrides && !config.variants) {\n // v6 signature, no property 'defaultProps'\n return resolveProps(config, props);\n }\n return props;\n}\nexport function useDefaultProps({\n props,\n name\n}) {\n const ctx = React.useContext(PropsContext);\n return getThemeProps({\n props,\n name,\n theme: {\n components: ctx\n }\n });\n}\nexport default DefaultPropsProvider;","const defaultGenerator = componentName => componentName;\nconst createClassNameGenerator = () => {\n let generate = defaultGenerator;\n return {\n configure(generator) {\n generate = generator;\n },\n generate(componentName) {\n return generate(componentName);\n },\n reset() {\n generate = defaultGenerator;\n }\n };\n};\nconst ClassNameGenerator = createClassNameGenerator();\nexport default ClassNameGenerator;","import ClassNameGenerator from \"../ClassNameGenerator/index.js\";\nexport const globalStateClasses = {\n active: 'active',\n checked: 'checked',\n completed: 'completed',\n disabled: 'disabled',\n error: 'error',\n expanded: 'expanded',\n focused: 'focused',\n focusVisible: 'focusVisible',\n open: 'open',\n readOnly: 'readOnly',\n required: 'required',\n selected: 'selected'\n};\nexport default function generateUtilityClass(componentName, slot, globalStatePrefix = 'Mui') {\n const globalStateClass = globalStateClasses[slot];\n return globalStateClass ? `${globalStatePrefix}-${globalStateClass}` : `${ClassNameGenerator.generate(componentName)}-${slot}`;\n}\nexport function isGlobalState(slot) {\n return globalStateClasses[slot] !== undefined;\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSvgIconUtilityClass(slot) {\n return generateUtilityClass('MuiSvgIcon', slot);\n}\nconst svgIconClasses = generateUtilityClasses('MuiSvgIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']);\nexport default svgIconClasses;","import generateUtilityClass from \"../generateUtilityClass/index.js\";\nexport default function generateUtilityClasses(componentName, slots, globalStatePrefix = 'Mui') {\n const result = {};\n slots.forEach(slot => {\n result[slot] = generateUtilityClass(componentName, slot, globalStatePrefix);\n });\n return result;\n}","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from \"../utils/capitalize.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { getSvgIconUtilityClass } from \"./svgIconClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n fontSize,\n classes\n } = ownerState;\n const slots = {\n root: ['root', color !== 'inherit' && `color${capitalize(color)}`, `fontSize${capitalize(fontSize)}`]\n };\n return composeClasses(slots, getSvgIconUtilityClass, classes);\n};\nconst SvgIconRoot = styled('svg', {\n name: 'MuiSvgIcon',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.color !== 'inherit' && styles[`color${capitalize(ownerState.color)}`], styles[`fontSize${capitalize(ownerState.fontSize)}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n userSelect: 'none',\n width: '1em',\n height: '1em',\n display: 'inline-block',\n flexShrink: 0,\n transition: theme.transitions?.create?.('fill', {\n duration: (theme.vars ?? theme).transitions?.duration?.shorter\n }),\n variants: [{\n props: props => !props.hasSvgAsChild,\n style: {\n // the will define the property that has `currentColor`\n // for example heroicons uses fill=\"none\" and stroke=\"currentColor\"\n fill: 'currentColor'\n }\n }, {\n props: {\n fontSize: 'inherit'\n },\n style: {\n fontSize: 'inherit'\n }\n }, {\n props: {\n fontSize: 'small'\n },\n style: {\n fontSize: theme.typography?.pxToRem?.(20) || '1.25rem'\n }\n }, {\n props: {\n fontSize: 'medium'\n },\n style: {\n fontSize: theme.typography?.pxToRem?.(24) || '1.5rem'\n }\n }, {\n props: {\n fontSize: 'large'\n },\n style: {\n fontSize: theme.typography?.pxToRem?.(35) || '2.1875rem'\n }\n },\n // TODO v5 deprecate color prop, v6 remove for sx\n ...Object.entries((theme.vars ?? theme).palette).filter(([, value]) => value && value.main).map(([color]) => ({\n props: {\n color\n },\n style: {\n color: (theme.vars ?? theme).palette?.[color]?.main\n }\n })), {\n props: {\n color: 'action'\n },\n style: {\n color: (theme.vars ?? theme).palette?.action?.active\n }\n }, {\n props: {\n color: 'disabled'\n },\n style: {\n color: (theme.vars ?? theme).palette?.action?.disabled\n }\n }, {\n props: {\n color: 'inherit'\n },\n style: {\n color: undefined\n }\n }]\n})));\nconst SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiSvgIcon'\n });\n const {\n children,\n className,\n color = 'inherit',\n component = 'svg',\n fontSize = 'medium',\n htmlColor,\n inheritViewBox = false,\n titleAccess,\n viewBox = '0 0 24 24',\n ...other\n } = props;\n const hasSvgAsChild = /*#__PURE__*/React.isValidElement(children) && children.type === 'svg';\n const ownerState = {\n ...props,\n color,\n component,\n fontSize,\n instanceFontSize: inProps.fontSize,\n inheritViewBox,\n viewBox,\n hasSvgAsChild\n };\n const more = {};\n if (!inheritViewBox) {\n more.viewBox = viewBox;\n }\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SvgIconRoot, {\n as: component,\n className: clsx(classes.root, className),\n focusable: \"false\",\n color: htmlColor,\n \"aria-hidden\": titleAccess ? undefined : true,\n role: titleAccess ? 'img' : undefined,\n ref: ref,\n ...more,\n ...other,\n ...(hasSvgAsChild && children.props),\n ownerState: ownerState,\n children: [hasSvgAsChild ? children.props.children : children, titleAccess ? /*#__PURE__*/_jsx(\"title\", {\n children: titleAccess\n }) : null]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? SvgIcon.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Node passed into the SVG element.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * You can use the `htmlColor` prop to apply a color attribute to the SVG element.\n * @default 'inherit'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'action', 'disabled', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The fontSize applied to the icon. Defaults to 24px, but can be configure to inherit font size.\n * @default 'medium'\n */\n fontSize: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'large', 'medium', 'small']), PropTypes.string]),\n /**\n * Applies a color attribute to the SVG element.\n */\n htmlColor: PropTypes.string,\n /**\n * If `true`, the root node will inherit the custom `component`'s viewBox and the `viewBox`\n * prop will be ignored.\n * Useful when you want to reference a custom `component` and have `SvgIcon` pass that\n * `component`'s viewBox to the root node.\n * @default false\n */\n inheritViewBox: PropTypes.bool,\n /**\n * The shape-rendering attribute. The behavior of the different options is described on the\n * [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/shape-rendering).\n * If you are having issues with blurry icons you should investigate this prop.\n */\n shapeRendering: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Provides a human-readable title for the element that contains it.\n * https://www.w3.org/TR/SVG-access/#Equivalent\n */\n titleAccess: PropTypes.string,\n /**\n * Allows you to redefine what the coordinates without units mean inside an SVG element.\n * For example, if the SVG element is 500 (width) by 200 (height),\n * and you pass viewBox=\"0 0 50 20\",\n * this means that the coordinates inside the SVG will go from the top left corner (0,0)\n * to bottom right (50,20) and each unit will be worth 10px.\n * @default '0 0 24 24'\n */\n viewBox: PropTypes.string\n} : void 0;\nSvgIcon.muiName = 'SvgIcon';\nexport default SvgIcon;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport SystemDefaultPropsProvider, { useDefaultProps as useSystemDefaultProps } from '@mui/system/DefaultPropsProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction DefaultPropsProvider(props) {\n return /*#__PURE__*/_jsx(SystemDefaultPropsProvider, {\n ...props\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? DefaultPropsProvider.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n value: PropTypes.object.isRequired\n} : void 0;\nexport default DefaultPropsProvider;\nexport function useDefaultProps(params) {\n return useSystemDefaultProps(params);\n}","/* eslint no-restricted-syntax: 0, prefer-template: 0, guard-for-in: 0\n ---\n These rules are preventing the performance optimizations below.\n */\n\n/**\n * Compose classes from multiple sources.\n *\n * @example\n * ```tsx\n * const slots = {\n * root: ['root', 'primary'],\n * label: ['label'],\n * };\n *\n * const getUtilityClass = (slot) => `MuiButton-${slot}`;\n *\n * const classes = {\n * root: 'my-root-class',\n * };\n *\n * const output = composeClasses(slots, getUtilityClass, classes);\n * // {\n * // root: 'MuiButton-root MuiButton-primary my-root-class',\n * // label: 'MuiButton-label',\n * // }\n * ```\n *\n * @param slots a list of classes for each possible slot\n * @param getUtilityClass a function to resolve the class based on the slot name\n * @param classes the input classes from props\n * @returns the resolved classes for all slots\n */\nexport default function composeClasses(slots, getUtilityClass, classes = undefined) {\n const output = {};\n for (const slotName in slots) {\n const slot = slots[slotName];\n let buffer = '';\n let start = true;\n for (let i = 0; i < slot.length; i += 1) {\n const value = slot[i];\n if (value) {\n buffer += (start === true ? '' : ' ') + getUtilityClass(value);\n start = false;\n if (classes && classes[value]) {\n buffer += ' ' + classes[value];\n }\n }\n }\n output[slotName] = buffer;\n }\n return output;\n}","'use client';\n\nimport * as React from 'react';\nimport SvgIcon from \"../SvgIcon/index.js\";\n\n/**\n * Private module reserved for @mui packages.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function createSvgIcon(path, displayName) {\n function Component(props, ref) {\n return /*#__PURE__*/_jsx(SvgIcon, {\n \"data-testid\": `${displayName}Icon`,\n ref: ref,\n ...props,\n children: path\n });\n }\n if (process.env.NODE_ENV !== 'production') {\n // Need to set `displayName` on the inner component for React.memo.\n // React prior to 16.14 ignores `displayName` on the wrapper.\n Component.displayName = `${displayName}Icon`;\n }\n Component.muiName = SvgIcon.muiName;\n return /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(Component));\n}","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\n\n if (protocol && [ 'http', 'https', 'file' ].indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/AxiosError');\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar CanceledError = require('./CanceledError');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nvar AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction CanceledError(message) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar buildFullPath = require('./buildFullPath');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar AxiosError = require('./AxiosError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n var isObjectPayload = utils.isObject(data);\n var contentType = headers && headers['Content-Type'];\n\n var isFileList;\n\n if ((isFileList = utils.isFileList(data)) || (isObjectPayload && contentType === 'multipart/form-data')) {\n var _FormData = this.env && this.env.FormData;\n return toFormData(isFileList ? {'files[]': data} : data, _FormData && new _FormData());\n } else if (isObjectPayload || contentType === 'application/json') {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: require('./env/FormData')\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","module.exports = {\n \"version\": \"0.27.2\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","// eslint-disable-next-line strict\nmodule.exports = null;\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData) {\n // eslint-disable-next-line no-param-reassign\n formData = formData || new FormData();\n\n var stack = [];\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n function build(data, parentKey) {\n if (utils.isPlainObject(data) || utils.isArray(data)) {\n if (stack.indexOf(data) !== -1) {\n throw Error('Circular reference detected in ' + parentKey);\n }\n\n stack.push(data);\n\n utils.forEach(data, function each(value, key) {\n if (utils.isUndefined(value)) return;\n var fullKey = parentKey ? parentKey + '.' + key : key;\n var arr;\n\n if (value && !parentKey && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (utils.endsWith(key, '[]') && (arr = utils.toArray(value))) {\n // eslint-disable-next-line func-names\n arr.forEach(function(el) {\n !utils.isUndefined(el) && formData.append(fullKey, convertValue(el));\n });\n return;\n }\n }\n\n build(value, fullKey);\n });\n\n stack.pop();\n } else {\n formData.append(parentKey, convertValue(data));\n }\n }\n\n build(obj);\n\n return formData;\n}\n\nmodule.exports = toFormData;\n","'use strict';\n\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function} [filter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (!merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object\n * @param {*} [thing]\n * @returns {Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n var i = thing.length;\n if (isUndefined(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList\n};\n","'use strict';\n\nvar bind = require('function-bind');\n\nvar $apply = require('./functionApply');\nvar $call = require('./functionCall');\nvar $reflectApply = require('./reflectApply');\n\n/** @type {import('./actualApply')} */\nmodule.exports = $reflectApply || bind.call($call, $apply);\n","'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n","'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n","'use strict';\n\nvar bind = require('function-bind');\nvar $TypeError = require('es-errors/type');\n\nvar $call = require('./functionCall');\nvar $actualApply = require('./actualApply');\n\n/** @type {import('.')} */\nmodule.exports = function callBindBasic(args) {\n\tif (args.length < 1 || typeof args[0] !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\treturn $actualApply(bind, $call, args);\n};\n","'use strict';\n\n/** @type {import('./reflectApply')} */\nmodule.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBindBasic = require('call-bind-apply-helpers');\n\n/** @type {(thisArg: string, searchString: string, position?: number) => number} */\nvar $indexOf = callBindBasic([GetIntrinsic('%String.prototype.indexOf%')]);\n\n/** @type {import('.')} */\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\t// eslint-disable-next-line no-extra-parens\n\tvar intrinsic = /** @type {Parameters[0][0]} */ (GetIntrinsic(name, !!allowMissing));\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBindBasic([intrinsic]);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nconst UPPERCASE = /[\\p{Lu}]/u;\nconst LOWERCASE = /[\\p{Ll}]/u;\nconst LEADING_CAPITAL = /^[\\p{Lu}](?![\\p{Lu}])/gu;\nconst IDENTIFIER = /([\\p{Alpha}\\p{N}_]|$)/u;\nconst SEPARATORS = /[_.\\- ]+/;\n\nconst LEADING_SEPARATORS = new RegExp('^' + SEPARATORS.source);\nconst SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, 'gu');\nconst NUMBERS_AND_IDENTIFIER = new RegExp('\\\\d+' + IDENTIFIER.source, 'gu');\n\nconst preserveCamelCase = (string, toLowerCase, toUpperCase) => {\n\tlet isLastCharLower = false;\n\tlet isLastCharUpper = false;\n\tlet isLastLastCharUpper = false;\n\n\tfor (let i = 0; i < string.length; i++) {\n\t\tconst character = string[i];\n\n\t\tif (isLastCharLower && UPPERCASE.test(character)) {\n\t\t\tstring = string.slice(0, i) + '-' + string.slice(i);\n\t\t\tisLastCharLower = false;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = true;\n\t\t\ti++;\n\t\t} else if (isLastCharUpper && isLastLastCharUpper && LOWERCASE.test(character)) {\n\t\t\tstring = string.slice(0, i - 1) + '-' + string.slice(i - 1);\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = false;\n\t\t\tisLastCharLower = true;\n\t\t} else {\n\t\t\tisLastCharLower = toLowerCase(character) === character && toUpperCase(character) !== character;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = toUpperCase(character) === character && toLowerCase(character) !== character;\n\t\t}\n\t}\n\n\treturn string;\n};\n\nconst preserveConsecutiveUppercase = (input, toLowerCase) => {\n\tLEADING_CAPITAL.lastIndex = 0;\n\n\treturn input.replace(LEADING_CAPITAL, m1 => toLowerCase(m1));\n};\n\nconst postProcess = (input, toUpperCase) => {\n\tSEPARATORS_AND_IDENTIFIER.lastIndex = 0;\n\tNUMBERS_AND_IDENTIFIER.lastIndex = 0;\n\n\treturn input.replace(SEPARATORS_AND_IDENTIFIER, (_, identifier) => toUpperCase(identifier))\n\t\t.replace(NUMBERS_AND_IDENTIFIER, m => toUpperCase(m));\n};\n\nconst camelCase = (input, options) => {\n\tif (!(typeof input === 'string' || Array.isArray(input))) {\n\t\tthrow new TypeError('Expected the input to be `string | string[]`');\n\t}\n\n\toptions = {\n\t\tpascalCase: false,\n\t\tpreserveConsecutiveUppercase: false,\n\t\t...options\n\t};\n\n\tif (Array.isArray(input)) {\n\t\tinput = input.map(x => x.trim())\n\t\t\t.filter(x => x.length)\n\t\t\t.join('-');\n\t} else {\n\t\tinput = input.trim();\n\t}\n\n\tif (input.length === 0) {\n\t\treturn '';\n\t}\n\n\tconst toLowerCase = options.locale === false ?\n\t\tstring => string.toLowerCase() :\n\t\tstring => string.toLocaleLowerCase(options.locale);\n\tconst toUpperCase = options.locale === false ?\n\t\tstring => string.toUpperCase() :\n\t\tstring => string.toLocaleUpperCase(options.locale);\n\n\tif (input.length === 1) {\n\t\treturn options.pascalCase ? toUpperCase(input) : toLowerCase(input);\n\t}\n\n\tconst hasUpperCase = input !== toLowerCase(input);\n\n\tif (hasUpperCase) {\n\t\tinput = preserveCamelCase(input, toLowerCase, toUpperCase);\n\t}\n\n\tinput = input.replace(LEADING_SEPARATORS, '');\n\n\tif (options.preserveConsecutiveUppercase) {\n\t\tinput = preserveConsecutiveUppercase(input, toLowerCase);\n\t} else {\n\t\tinput = toLowerCase(input);\n\t}\n\n\tif (options.pascalCase) {\n\t\tinput = toUpperCase(input.charAt(0)) + input.slice(1);\n\t}\n\n\treturn postProcess(input, toUpperCase);\n};\n\nmodule.exports = camelCase;\n// TODO: Remove this for the next major release\nmodule.exports.default = camelCase;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = exports.ElementType = void 0;\n/** Types of elements found in htmlparser2's DOM */\nvar ElementType;\n(function (ElementType) {\n /** Type for the root element of a document */\n ElementType[\"Root\"] = \"root\";\n /** Type for Text */\n ElementType[\"Text\"] = \"text\";\n /** Type for */\n ElementType[\"Directive\"] = \"directive\";\n /** Type for */\n ElementType[\"Comment\"] = \"comment\";\n /** Type for
`\n }\n\n if (layout === `constrained`) {\n sizer = `
\"\"
`\n }\n\n return sizer\n}\n\nconst Sizer: FunctionComponent = function Sizer({\n layout,\n width,\n height,\n}) {\n if (layout === `fullWidth`) {\n return (\n
\n )\n }\n\n if (layout === `constrained`) {\n return (\n
\n \n
\n )\n }\n\n return null\n}\n\nexport const LayoutWrapper: FunctionComponent<\n PropsWithChildren\n> = function LayoutWrapper({ children, ...props }) {\n return (\n \n \n {children}\n\n {SERVER ? : null}\n \n )\n}\n","import React, { FunctionComponent, ImgHTMLAttributes } from \"react\"\nimport * as PropTypes from \"prop-types\"\n\nexport interface IResponsiveImageProps {\n sizes?: string\n srcSet: string\n}\n\nexport type SourceProps = IResponsiveImageProps &\n (\n | {\n media: string\n type?: string\n }\n | {\n media?: string\n type: string\n }\n )\n\ntype FallbackProps = { src: string } & Partial\n\ntype ImageProps = ImgHTMLAttributes & {\n src: string\n alt: string\n shouldLoad: boolean\n}\n\nexport type PictureProps = ImgHTMLAttributes & {\n fallback?: FallbackProps\n sources?: Array\n alt: string\n shouldLoad?: boolean\n}\n\nconst Image: FunctionComponent = function Image({\n src,\n srcSet,\n loading,\n alt = ``,\n shouldLoad,\n ...props\n}) {\n return (\n \n )\n}\n\nexport const Picture: React.FC = function Picture({\n fallback,\n sources = [],\n shouldLoad = true,\n ...props\n}) {\n const sizes = props.sizes || fallback?.sizes\n const fallbackImage = (\n \n )\n\n if (!sources.length) {\n return fallbackImage\n }\n\n return (\n \n {sources.map(({ media, srcSet, type }) => (\n \n ))}\n {fallbackImage}\n \n )\n}\n\nImage.propTypes = {\n src: PropTypes.string.isRequired,\n alt: PropTypes.string.isRequired,\n sizes: PropTypes.string,\n srcSet: PropTypes.string,\n shouldLoad: PropTypes.bool,\n}\n\nPicture.displayName = `Picture`\nPicture.propTypes = {\n alt: PropTypes.string.isRequired,\n shouldLoad: PropTypes.bool,\n fallback: PropTypes.exact({\n src: PropTypes.string.isRequired,\n srcSet: PropTypes.string,\n sizes: PropTypes.string,\n }),\n sources: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.exact({\n media: PropTypes.string.isRequired,\n type: PropTypes.string,\n sizes: PropTypes.string,\n srcSet: PropTypes.string.isRequired,\n }),\n PropTypes.exact({\n media: PropTypes.string,\n type: PropTypes.string.isRequired,\n sizes: PropTypes.string,\n srcSet: PropTypes.string.isRequired,\n }),\n ])\n ),\n}\n","import React, { FunctionComponent, ImgHTMLAttributes } from \"react\"\nimport * as PropTypes from \"prop-types\"\nimport { Picture, SourceProps } from \"./picture\"\n\nexport type PlaceholderProps = ImgHTMLAttributes & {\n fallback?: string\n sources?: Array\n}\n\nexport const Placeholder: FunctionComponent =\n function Placeholder({ fallback, ...props }) {\n if (fallback) {\n return (\n \n )\n } else {\n return
\n }\n }\n\nPlaceholder.displayName = `Placeholder`\nPlaceholder.propTypes = {\n fallback: PropTypes.string,\n sources: Picture.propTypes?.sources,\n alt: function (props, propName, componentName): Error | null {\n if (!props[propName]) {\n return null\n }\n\n return new Error(\n `Invalid prop \\`${propName}\\` supplied to \\`${componentName}\\`. Validation failed.`\n )\n },\n}\n","import React from \"react\"\nimport { Picture, PictureProps } from \"./picture\"\n\nexport type MainImageProps = PictureProps\n\nexport const MainImage: React.FC = function MainImage(props) {\n return (\n <>\n \n \n \n )\n}\n\nMainImage.displayName = `MainImage`\nMainImage.propTypes = Picture.propTypes\n","import React from \"react\"\nimport { getWrapperProps, getMainProps, getPlaceholderProps } from \"./hooks\"\nimport { Placeholder } from \"./placeholder\"\nimport { MainImage, MainImageProps } from \"./main-image\"\nimport { LayoutWrapper } from \"./layout-wrapper\"\nimport PropTypes from \"prop-types\"\nimport type { FunctionComponent, WeakValidationMap } from \"react\"\nimport type { GatsbyImageProps, IGatsbyImageData } from \"./gatsby-image.browser\"\n\nconst removeNewLines = (str: string): string => str.replace(/\\n/g, ``)\n\nexport const GatsbyImage: FunctionComponent =\n function GatsbyImage({\n as = `div`,\n className,\n class: preactClass,\n style,\n image,\n loading = `lazy`,\n imgClassName,\n imgStyle,\n backgroundColor,\n objectFit,\n objectPosition,\n ...props\n }) {\n if (!image) {\n console.warn(`[gatsby-plugin-image] Missing image prop`)\n return null\n }\n\n if (preactClass) {\n className = preactClass\n }\n\n imgStyle = {\n objectFit,\n objectPosition,\n backgroundColor,\n ...imgStyle,\n }\n\n const {\n width,\n height,\n layout,\n images,\n placeholder,\n backgroundColor: placeholderBackgroundColor,\n } = image\n\n const {\n style: wStyle,\n className: wClass,\n ...wrapperProps\n } = getWrapperProps(width, height, layout)\n\n const cleanedImages: IGatsbyImageData[\"images\"] = {\n fallback: undefined,\n sources: [],\n }\n if (images.fallback) {\n cleanedImages.fallback = {\n ...images.fallback,\n srcSet: images.fallback.srcSet\n ? removeNewLines(images.fallback.srcSet)\n : undefined,\n }\n }\n\n if (images.sources) {\n cleanedImages.sources = images.sources.map(source => {\n return {\n ...source,\n srcSet: removeNewLines(source.srcSet),\n }\n })\n }\n\n return React.createElement(\n as,\n {\n ...wrapperProps,\n style: {\n ...wStyle,\n ...style,\n backgroundColor,\n },\n className: `${wClass}${className ? ` ${className}` : ``}`,\n },\n \n \n\n )}\n // When eager is set we want to start the isLoading state on true (we want to load the img without react)\n {...getMainProps(\n loading === `eager`,\n false,\n cleanedImages,\n loading,\n imgStyle\n )}\n />\n \n )\n }\n\nexport const altValidator: PropTypes.Validator = (\n props: GatsbyImageProps,\n propName,\n componentName,\n ...rest\n): Error | undefined => {\n if (!props.alt && props.alt !== ``) {\n return new Error(\n `The \"alt\" prop is required in ${componentName}. If the image is purely presentational then pass an empty string: e.g. alt=\"\". Learn more: https://a11y-style-guide.com/style-guide/section-media.html`\n )\n }\n\n return PropTypes.string(props, propName, componentName, ...rest)\n}\n\nexport const propTypes = {\n image: PropTypes.object.isRequired,\n alt: altValidator,\n} as WeakValidationMap\n","import {\n createElement,\n memo,\n useMemo,\n useEffect,\n useLayoutEffect,\n useRef,\n} from \"react\"\nimport {\n getWrapperProps,\n gatsbyImageIsInstalled,\n hasNativeLazyLoadSupport,\n} from \"./hooks\"\nimport { getSizer } from \"./layout-wrapper\"\nimport { propTypes } from \"./gatsby-image.server\"\nimport type {\n FC,\n ElementType,\n FunctionComponent,\n ImgHTMLAttributes,\n CSSProperties,\n ReactEventHandler,\n} from \"react\"\nimport type { renderImageToString } from \"./lazy-hydrate\"\nimport type { PlaceholderProps } from \"./placeholder\"\nimport type { MainImageProps } from \"./main-image\"\nimport type { Layout } from \"../image-utils\"\n\nconst imageCache = new Set()\nlet renderImageToStringPromise\nlet renderImage: typeof renderImageToString | undefined\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport interface GatsbyImageProps\n extends Omit<\n ImgHTMLAttributes,\n \"placeholder\" | \"onLoad\" | \"src\" | \"srcSet\" | \"width\" | \"height\"\n > {\n alt: string\n as?: ElementType\n className?: string\n class?: string\n imgClassName?: string\n image: IGatsbyImageData\n imgStyle?: CSSProperties\n backgroundColor?: string\n objectFit?: CSSProperties[\"objectFit\"]\n objectPosition?: CSSProperties[\"objectPosition\"]\n onLoad?: (props: { wasCached: boolean }) => void\n onError?: ReactEventHandler\n onStartLoad?: (props: { wasCached: boolean }) => void\n}\n\nexport interface IGatsbyImageData {\n layout: Layout\n width: number\n height: number\n backgroundColor?: string\n images: Pick\n placeholder?: Pick\n}\n\nconst GatsbyImageHydrator: FC = function GatsbyImageHydrator({\n as = `div`,\n image,\n style,\n backgroundColor,\n className,\n class: preactClass,\n onStartLoad,\n onLoad,\n onError,\n ...props\n}) {\n const { width, height, layout } = image\n const {\n style: wStyle,\n className: wClass,\n ...wrapperProps\n } = getWrapperProps(width, height, layout)\n const root = useRef()\n const cacheKey = useMemo(() => JSON.stringify(image.images), [image.images])\n\n // Preact uses class instead of className so we need to check for both\n if (preactClass) {\n className = preactClass\n }\n\n const sizer = getSizer(layout, width, height)\n\n useEffect(() => {\n if (!renderImageToStringPromise) {\n renderImageToStringPromise = import(`./lazy-hydrate`).then(\n ({ renderImageToString, swapPlaceholderImage }) => {\n renderImage = renderImageToString\n\n return {\n renderImageToString,\n swapPlaceholderImage,\n }\n }\n )\n }\n\n // The plugin image component is a bit special where if it's server-side rendered, we add extra script tags to support lazy-loading without\n // In this case we stop hydration but fire the correct events.\n const ssrImage = root.current.querySelector(\n `[data-gatsby-image-ssr]`\n ) as HTMLImageElement\n if (ssrImage && hasNativeLazyLoadSupport()) {\n if (ssrImage.complete) {\n // Trigger onStartload and onLoad events\n onStartLoad?.({\n wasCached: true,\n })\n onLoad?.({\n wasCached: true,\n })\n\n // remove ssr key for state updates but add delay to not fight with native code snippt of gatsby-ssr\n setTimeout(() => {\n ssrImage.removeAttribute(`data-gatsby-image-ssr`)\n }, 0)\n } else {\n onStartLoad?.({\n wasCached: true,\n })\n\n ssrImage.addEventListener(`load`, function onLoadListener() {\n ssrImage.removeEventListener(`load`, onLoadListener)\n\n onLoad?.({\n wasCached: true,\n })\n // remove ssr key for state updates but add delay to not fight with native code snippt of gatsby-ssr\n setTimeout(() => {\n ssrImage.removeAttribute(`data-gatsby-image-ssr`)\n }, 0)\n })\n }\n\n imageCache.add(cacheKey)\n\n return\n }\n\n if (renderImage && imageCache.has(cacheKey)) {\n return\n }\n\n let animationFrame\n let cleanupCallback\n renderImageToStringPromise.then(\n ({ renderImageToString, swapPlaceholderImage }) => {\n if (!root.current) {\n return\n }\n\n root.current.innerHTML = renderImageToString({\n isLoading: true,\n isLoaded: imageCache.has(cacheKey),\n image,\n ...props,\n })\n\n if (!imageCache.has(cacheKey)) {\n animationFrame = requestAnimationFrame(() => {\n if (root.current) {\n cleanupCallback = swapPlaceholderImage(\n root.current,\n cacheKey,\n imageCache,\n style,\n onStartLoad,\n onLoad,\n onError\n )\n }\n })\n }\n }\n )\n\n // eslint-disable-next-line consistent-return\n return (): void => {\n if (animationFrame) {\n cancelAnimationFrame(animationFrame)\n }\n if (cleanupCallback) {\n cleanupCallback()\n }\n }\n }, [image])\n\n // useLayoutEffect is ran before React commits to the DOM. This allows us to make sure our HTML is using our cached image version\n useLayoutEffect(() => {\n if (imageCache.has(cacheKey) && renderImage) {\n root.current.innerHTML = renderImage({\n isLoading: imageCache.has(cacheKey),\n isLoaded: imageCache.has(cacheKey),\n image,\n ...props,\n })\n\n // Trigger onStartload and onLoad events\n onStartLoad?.({\n wasCached: true,\n })\n onLoad?.({\n wasCached: true,\n })\n }\n }, [image])\n\n // By keeping all props equal React will keep the component in the DOM\n return createElement(as, {\n ...wrapperProps,\n style: {\n ...wStyle,\n ...style,\n backgroundColor,\n },\n className: `${wClass}${className ? ` ${className}` : ``}`,\n ref: root,\n dangerouslySetInnerHTML: {\n __html: sizer,\n },\n suppressHydrationWarning: true,\n })\n}\n\nexport const GatsbyImage: FunctionComponent = memo(\n function GatsbyImage(props) {\n if (!props.image) {\n if (process.env.NODE_ENV === `development`) {\n console.warn(`[gatsby-plugin-image] Missing image prop`)\n }\n\n return null\n }\n\n if (!gatsbyImageIsInstalled() && process.env.NODE_ENV === `development`) {\n console.warn(\n `[gatsby-plugin-image] You're missing out on some cool performance features. Please add \"gatsby-plugin-image\" to your gatsby-config.js`\n )\n }\n\n return createElement(GatsbyImageHydrator, props)\n }\n)\n\nGatsbyImage.propTypes = propTypes\nGatsbyImage.displayName = `GatsbyImage`\n","import React, { FunctionComponent, ReactElement } from \"react\"\nimport {\n altValidator,\n GatsbyImage as GatsbyImageServer,\n} from \"./gatsby-image.server\"\nimport { GatsbyImageProps, IGatsbyImageData } from \"./gatsby-image.browser\"\nimport PropTypes from \"prop-types\"\nimport { ISharpGatsbyImageArgs } from \"../image-utils\"\n\nexport interface IStaticImageProps\n extends Omit,\n Omit {\n src: string\n filename?: string\n}\n\n// These values are added by Babel. Do not add them manually\ninterface IPrivateProps {\n __imageData?: IGatsbyImageData\n __error?: string\n}\n\nexport function _getStaticImage(\n GatsbyImage: FunctionComponent\n): React.FC {\n return function StaticImage({\n src,\n __imageData: imageData,\n __error,\n // We extract these because they're not meant to be passed-down to GatsbyImage\n /* eslint-disable @typescript-eslint/no-unused-vars */\n width,\n height,\n aspectRatio,\n tracedSVGOptions,\n placeholder,\n formats,\n quality,\n transformOptions,\n jpgOptions,\n pngOptions,\n webpOptions,\n avifOptions,\n blurredOptions,\n breakpoints,\n outputPixelDensities,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ...props\n }): ReactElement {\n if (__error) {\n console.warn(__error)\n }\n\n if (imageData) {\n return \n }\n console.warn(`Image not loaded`, src)\n if (!__error && process.env.NODE_ENV === `development`) {\n console.warn(\n `Please ensure that \"gatsby-plugin-image\" is included in the plugins array in gatsby-config.js, and that your version of gatsby is at least 2.24.78`\n )\n }\n return null\n }\n}\n\nconst StaticImage: React.FC =\n _getStaticImage(GatsbyImageServer)\n\nconst checkDimensionProps: PropTypes.Validator = (\n props: IStaticImageProps & IPrivateProps,\n propName: keyof IStaticImageProps & IPrivateProps,\n ...rest\n) => {\n if (\n props.layout === `fullWidth` &&\n (propName === `width` || propName === `height`) &&\n props[propName]\n ) {\n return new Error(\n `\"${propName}\" ${props[propName]} may not be passed when layout is fullWidth.`\n )\n }\n return PropTypes.number(props, propName, ...rest)\n}\n\nconst validLayouts = new Set([`fixed`, `fullWidth`, `constrained`])\n\nexport const propTypes = {\n src: PropTypes.string.isRequired,\n alt: altValidator,\n width: checkDimensionProps,\n height: checkDimensionProps,\n sizes: PropTypes.string,\n layout: (props: IStaticImageProps & IPrivateProps): Error | undefined => {\n if (props.layout === undefined) {\n return undefined\n }\n if (validLayouts.has(props.layout)) {\n return undefined\n }\n\n return new Error(\n `Invalid value ${props.layout}\" provided for prop \"layout\". Defaulting to \"constrained\". Valid values are \"fixed\", \"fullWidth\" or \"constrained\".`\n )\n },\n}\n\nStaticImage.displayName = `StaticImage`\nStaticImage.propTypes = propTypes\n\nexport { StaticImage }\n","import {\n GatsbyImage as GatsbyImageBrowser,\n IGatsbyImageData,\n} from \"./gatsby-image.browser\"\nimport React from \"react\"\nimport {\n _getStaticImage,\n propTypes,\n IStaticImageProps,\n} from \"./static-image.server\"\n// These values are added by Babel. Do not add them manually\ninterface IPrivateProps {\n __imageData?: IGatsbyImageData\n __error?: string\n}\n\nconst StaticImage: React.FC =\n _getStaticImage(GatsbyImageBrowser)\n\nStaticImage.displayName = `StaticImage`\nStaticImage.propTypes = propTypes\n\nexport { StaticImage }\n","/**\n * Copyright (c) 2013-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\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-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\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.Link = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar _i18nextContext = require(\"./i18nextContext\");\nvar _gatsby = require(\"gatsby\");\nvar _types = require(\"./types\");\nvar _excluded = [\"language\", \"to\", \"onClick\"];\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nvar Link = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {\n var language = _ref.language,\n to = _ref.to,\n _onClick = _ref.onClick,\n rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);\n var context = (0, _react.useContext)(_i18nextContext.I18nextContext);\n var urlLanguage = language || context.language;\n var getLanguagePath = function getLanguagePath(language) {\n return context.generateDefaultLanguagePage || language !== context.defaultLanguage ? \"/\" + language : '';\n };\n var link = \"\" + getLanguagePath(urlLanguage) + to;\n return (\n /*#__PURE__*/\n // @ts-ignore\n _react.default.createElement(_gatsby.Link, (0, _extends2.default)({}, rest, {\n to: link,\n innerRef: ref,\n hrefLang: urlLanguage,\n onClick: function onClick(e) {\n if (language) {\n localStorage.setItem(_types.LANGUAGE_KEY, language);\n }\n if (_onClick) {\n _onClick(e);\n }\n }\n }))\n );\n});\nexports.Link = Link;","\"use strict\";\n\nexports.__esModule = true;\nvar _reactI18next = require(\"react-i18next\");\nObject.keys(_reactI18next).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _reactI18next[key]) return;\n exports[key] = _reactI18next[key];\n});\nvar _i18nextContext = require(\"./i18nextContext\");\nObject.keys(_i18nextContext).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _i18nextContext[key]) return;\n exports[key] = _i18nextContext[key];\n});\nvar _useI18next = require(\"./useI18next\");\nObject.keys(_useI18next).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _useI18next[key]) return;\n exports[key] = _useI18next[key];\n});\nvar _Link = require(\"./Link\");\nObject.keys(_Link).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _Link[key]) return;\n exports[key] = _Link[key];\n});","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.useI18next = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _reactI18next = require(\"react-i18next\");\nvar _react = require(\"react\");\nvar _gatsby = require(\"gatsby\");\nvar _i18nextContext = require(\"./i18nextContext\");\nvar _types = require(\"./types\");\nvar useI18next = function useI18next(ns, options) {\n var _useTranslation = (0, _reactI18next.useTranslation)(ns, options),\n i18n = _useTranslation.i18n,\n t = _useTranslation.t,\n ready = _useTranslation.ready;\n var context = (0, _react.useContext)(_i18nextContext.I18nextContext);\n var routed = context.routed,\n defaultLanguage = context.defaultLanguage,\n generateDefaultLanguagePage = context.generateDefaultLanguagePage;\n var getLanguagePath = function getLanguagePath(language) {\n return generateDefaultLanguagePage || language !== defaultLanguage ? \"/\" + language : '';\n };\n var removePrefix = function removePrefix(pathname) {\n var base = typeof __BASE_PATH__ !== \"undefined\" ? __BASE_PATH__ : __PATH_PREFIX__;\n if (base && pathname.indexOf(base) === 0) {\n pathname = pathname.slice(base.length);\n }\n return pathname;\n };\n var removeLocalePart = function removeLocalePart(pathname) {\n if (!routed) return pathname;\n var i = pathname.indexOf(\"/\", 1);\n return pathname.substring(i);\n };\n var navigate = function navigate(to, options) {\n var languagePath = getLanguagePath(context.language);\n var link = routed ? \"\" + languagePath + to : \"\" + to;\n return (0, _gatsby.navigate)(link, options);\n };\n var changeLanguage = function changeLanguage(language, to, options) {\n var languagePath = getLanguagePath(language);\n var pathname = to || removeLocalePart(removePrefix(window.location.pathname));\n var link = \"\" + languagePath + pathname + window.location.search;\n localStorage.setItem(_types.LANGUAGE_KEY, language);\n return (0, _gatsby.navigate)(link, options);\n };\n return (0, _extends2.default)({}, context, {\n i18n: i18n,\n t: t,\n ready: ready,\n navigate: navigate,\n changeLanguage: changeLanguage\n });\n};\nexports.useI18next = useI18next;","module.exports = require('./dist');\n","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 9h-4V3H9v6H5l7 7zM5 18v2h14v-2z\"\n}), 'FileDownload');","import React from 'react'\nimport PropTypes from 'prop-types'\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward'\nimport FileDownloadIcon from '@mui/icons-material/FileDownload'\nimport { classNames } from '../../helper'\n\n// \n// const variants = {\n// fixed: `inline-flex py-[0.4375rem] border border-transparent text-14 leading-[1rem] font-bold uppercase`,\n// default: `text-white bg-rio pl-4 pr-3 justify-between `,\n// green: `text-white bg-rio px-4 justify-between `,\n// silent: `text-charcoal bg-off-white px-4`,\n// loud: `text-charcoal bg-rio px-4`,\n// dark: `text-white bg-charcoal px-4`,\n// white: `text-charcoal bg-white px-4`,\n// inverted: `text-rio bg-white px-4`,\n// }\n\nconst variants = {\n fixed: `inline-flex`,\n default: `btn-default cl-default`,\n green: `btn-debug cl-green`,\n silent: `btn-debug cl-silent`,\n loud: `btn-debug cl-loud`,\n dark: `btn-debug cl-dark`,\n white: `btn-debug cl-white`,\n inverted: `btn-debug cl-inverted`,\n primaryinverted: `btn-primary-inverted`,\n primary: `btn-primary`,\n secondary: `btn-secondary`,\n tertiary: `btn-tertiary`,\n}\n\nconst Button = ({\n as: Tag = 'a',\n className,\n children,\n variant,\n Icon,\n AppendIcon,\n showLinkIcon = false,\n isDownload = false,\n href,\n type,\n onClick,\n}) => {\n const buttonType = Tag === 'button' && !type ? 'button' : type\n const isDefaultVariant = !(variant && variants[variant])\n const variantClasses =\n variant && variants[variant] ? variants[variant] : variants.default\n\n return (\n \n {isDownload && (\n \n \n \n \n )}\n {Icon && (\n \n \n \n \n )}\n {children}\n {!isDownload && (isDefaultVariant || showLinkIcon) && !AppendIcon && (\n \n \n \n \n )}\n {AppendIcon && (\n \n \n \n \n )}\n \n )\n}\n\nButton.propTypes = {\n as: PropTypes.any,\n className: PropTypes.string,\n children: PropTypes.node,\n variant: PropTypes.string,\n Icon: PropTypes.object,\n AppendIcon: PropTypes.object,\n showLinkIcon: PropTypes.bool,\n isDownload: PropTypes.bool,\n href: PropTypes.string,\n type: PropTypes.string,\n}\n\nexport default Button\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nconst HeadlineTag = ({ order = 2, children, ...props }) => {\n const Tag = `h${Math.max(1, Math.min(order, 6))}`\n\n return {children}\n}\n\nHeadlineTag.propTypes = {\n order: PropTypes.number,\n children: PropTypes.node,\n}\n\nexport default HeadlineTag\n","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgPlatformsHexAndroid = function SvgPlatformsHexAndroid(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n \"data-name\": \"Layer 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 48 56\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Pfad 3096\",\n d: \"M24 .5 0 14.25v27.5L24 55.5l24-13.75v-27.5Z\",\n fill: \"#9e1981\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"icon\",\n d: \"M31.64 25.12 34.15 21a.82.82 0 0 0-.34-1.1.89.89 0 0 0-1.13.29l-2.58 4.18a16.29 16.29 0 0 0-12.2 0l-2.56-4.23a.91.91 0 0 0-1.19-.26.82.82 0 0 0-.3 1.08l2.51 4.16A14 14 0 0 0 9 36.24h30a14 14 0 0 0-7.36-11.12m-14.46 7.53a1.64 1.64 0 1 1 0-3.27 1.64 1.64 0 1 1 0 3.27m13.64 0a1.64 1.64 0 1 1 1.7-1.65 1.67 1.67 0 0 1-1.7 1.63\",\n fill: \"#fff\"\n })));\n};\nexport { SvgPlatformsHexAndroid as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyBpZD0iYjczZDE4ZGMtMGUxMi00MTQ2LWFjMTctMTc4Zjc4MTNhZjZlIiBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4IDU2Ij4KICA8cGF0aCBpZD0iYmE5Mzk1YjQtOWY2ZS00ZTlmLWEwZjMtODBmNjRhOGZmNTVjIiBkYXRhLW5hbWU9IlBmYWQgMzA5NiIgZD0iTTI0LC41LDAsMTQuMjV2MjcuNUwyNCw1NS41LDQ4LDQxLjc1VjE0LjI1WiIgZmlsbD0iIzllMTk4MSIvPgogIDxwYXRoIGlkPSJiY2RkMDc4Yy1mOWFkLTRjYjAtODQxNi1iNWEyN2RiMzVmYTciIGRhdGEtbmFtZT0iaWNvbiIgZD0iTTMxLjY0LDI1LjEyLDM0LjE1LDIxYS44Mi44MiwwLDAsMC0uMzQtMS4xaDBhLjg5Ljg5LDAsMCwwLTEuMTMuMjlMMzAuMSwyNC4zN2ExNi4yOSwxNi4yOSwwLDAsMC0xMi4yLDBsLTIuNTYtNC4yM2EuOTEuOTEsMCwwLDAtMS4xOS0uMjYuODIuODIsMCwwLDAtLjMsMS4wOGwyLjUxLDQuMTZBMTQsMTQsMCwwLDAsOSwzNi4yNEgzOWExNCwxNCwwLDAsMC03LjM2LTExLjEyTTE3LjE4LDMyLjY1YTEuNjQsMS42NCwwLDEsMSwwLTMuMjcsMS42NCwxLjY0LDAsMSwxLDAsMy4yN20xMy42NCwwQTEuNjQsMS42NCwwLDEsMSwzMi41MiwzMWExLjY3LDEuNjcsMCwwLDEtMS43LDEuNjMiIGZpbGw9IiNmZmYiLz4KPC9zdmc+Cg==\";","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgPlatformsHexApple = function SvgPlatformsHexApple(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n \"data-name\": \"Layer 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 48 56\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Pfad 3096\",\n d: \"M24 .5 0 14.25v27.5L24 55.5l24-13.75v-27.5Z\",\n fill: \"#e40522\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"icon\",\n d: \"M28 19.08a5.84 5.84 0 0 0 1.43-3.67 2.24 2.24 0 0 0-.06-.52 6 6 0 0 0-4 2 5.65 5.65 0 0 0-1.49 3.55 1.84 1.84 0 0 0 .06.47 1.47 1.47 0 0 0 .36 0 5.4 5.4 0 0 0 3.7-1.83m1 2.15c-2.05 0-3.7 1.2-4.77 1.2s-2.61-1.13-4.39-1.13C16.42 21.3 13 24 13 29.09a15.63 15.63 0 0 0 2.83 8.69c1.34 1.83 2.51 3.33 4.2 3.33S22.44 40 24.52 40s2.58 1 4.43 1 3.05-1.62 4.2-3.22A13.76 13.76 0 0 0 35 34.13a5.83 5.83 0 0 1-3.61-5.31 5.91 5.91 0 0 1 2.91-5 6.43 6.43 0 0 0-5.3-2.59\",\n fill: \"#fff\"\n })));\n};\nexport { SvgPlatformsHexApple as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyBpZD0iYTA4ZmE4NzEtNWQ4YS00MzY1LWFhZmItOTQ5ZjkzOThiZDRkIiBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4IDU2Ij4KICA8cGF0aCBpZD0iYmUxM2I4ZDktMmViZS00NmJlLThmN2MtNmFjNzE4OTZlYzQzIiBkYXRhLW5hbWU9IlBmYWQgMzA5NiIgZD0iTTI0LC41LDAsMTQuMjV2MjcuNUwyNCw1NS41LDQ4LDQxLjc1VjE0LjI1WiIgZmlsbD0iI2U0MDUyMiIvPgogIDxwYXRoIGlkPSJhNDIyMGIwYy1mMWZjLTRhY2EtYTZhYi1kOWQwZWNhMDY1YmQiIGRhdGEtbmFtZT0iaWNvbiIgZD0iTTI4LDE5LjA4YTUuODQsNS44NCwwLDAsMCwxLjQzLTMuNjcsMi4yNCwyLjI0LDAsMCwwLS4wNi0uNTIsNiw2LDAsMCwwLTQsMiw1LjY1LDUuNjUsMCwwLDAtMS40OSwzLjU1LDEuODQsMS44NCwwLDAsMCwuMDYuNDcsMS40NywxLjQ3LDAsMCwwLC4zNiwwQTUuNCw1LjQsMCwwLDAsMjgsMTkuMDhtMSwyLjE1Yy0yLjA1LDAtMy43LDEuMi00Ljc3LDEuMnMtMi42MS0xLjEzLTQuMzktMS4xM0MxNi40MiwyMS4zLDEzLDI0LDEzLDI5LjA5YTE1LjYzLDE1LjYzLDAsMCwwLDIuODMsOC42OWMxLjM0LDEuODMsMi41MSwzLjMzLDQuMiwzLjMzUzIyLjQ0LDQwLDI0LjUyLDQwczIuNTgsMSw0LjQzLDEsMy4wNS0xLjYyLDQuMi0zLjIyQTEzLjc2LDEzLjc2LDAsMCwwLDM1LDM0LjEzYTUuODMsNS44MywwLDAsMS0zLjYxLTUuMzEsNS45MSw1LjkxLDAsMCwxLDIuOTEtNUE2LjQzLDYuNDMsMCwwLDAsMjksMjEuMjMiIGZpbGw9IiNmZmYiLz4KPC9zdmc+Cg==\";","var _path, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgPlatformsHexRelution = function SvgPlatformsHexRelution(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n \"data-name\": \"Layer 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 48 56\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Pfad 3096\",\n d: \"M24 .5 0 14.25v27.5L24 55.5l24-13.75v-27.5Z\",\n fill: \"#bccf00\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"icon\",\n fill: \"#fff\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.05 31.58V39H35v-9.88h-7.1c-1.74 0-2.85.67-2.85 2.46Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.76 17A5.48 5.48 0 0 0 13 22.72V39h6.42V25.85a2.35 2.35 0 0 1 2.37-2.32H35V17Z\"\n }))));\n};\nexport { SvgPlatformsHexRelution as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyBpZD0iYWY3MDJiMGItMDdhYS00ZDU0LWJmZWYtNTU4ZTA5ZDU5ZmRmIiBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4IDU2Ij4KICA8cGF0aCBpZD0iZTQzYTlhODQtMzU0OC00MmMzLWFmNWUtMzg0OWQyYzRhNTU4IiBkYXRhLW5hbWU9IlBmYWQgMzA5NiIgZD0iTTI0LC41LDAsMTQuMjV2MjcuNUwyNCw1NS41LDQ4LDQxLjc1VjE0LjI1WiIgZmlsbD0iI2JjY2YwMCIvPgogIDxnIGlkPSJiNmJmYjEzYy1hY2M1LTRhNzctOWVjMC04NGVlNmZlZTBhNWUiIGRhdGEtbmFtZT0iaWNvbiI+CiAgICA8cGF0aCBkPSJNMjUuMDUsMzEuNThWMzlIMzVWMjkuMTJIMjcuOUMyNi4xNiwyOS4xMiwyNS4wNSwyOS43OSwyNS4wNSwzMS41OFoiIGZpbGw9IiNmZmYiLz4KICAgIDxwYXRoIGQ9Ik0xOC43NiwxN0E1LjQ4LDUuNDgsMCwwLDAsMTMsMjIuNzJWMzloNi40MlYyNS44NWEyLjM1LDIuMzUsMCwwLDEsMi4zNy0yLjMySDM1VjE3WiIgZmlsbD0iI2ZmZiIvPgogIDwvZz4KPC9zdmc+Cg==\";","var _path, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgPlatformsHexRelutionInverted = function SvgPlatformsHexRelutionInverted(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n \"data-name\": \"Layer 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 48 56\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Pfad 3096\",\n d: \"M24 .5 0 14.25v27.5L24 55.5l24-13.75v-27.5Z\",\n fill: \"#fff\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"icon\",\n fill: \"#bccf00\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.05 31.58V39H35v-9.88h-7.1c-1.74 0-2.85.67-2.85 2.46Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.76 17A5.48 5.48 0 0 0 13 22.72V39h6.42V25.85a2.35 2.35 0 0 1 2.37-2.32H35V17Z\"\n }))));\n};\nexport { SvgPlatformsHexRelutionInverted as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyBpZD0iYWY3MDJiMGItMDdhYS00ZDU0LWJmZWYtNTU4ZTA5ZDU5ZmRmIiBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4IDU2Ij4KICA8cGF0aCBpZD0iZTQzYTlhODQtMzU0OC00MmMzLWFmNWUtMzg0OWQyYzRhNTU4IiBkYXRhLW5hbWU9IlBmYWQgMzA5NiIgZD0iTTI0LC41LDAsMTQuMjV2MjcuNUwyNCw1NS41LDQ4LDQxLjc1VjE0LjI1WiIgZmlsbD0iI2ZmZiIvPgogIDxnIGlkPSJiNmJmYjEzYy1hY2M1LTRhNzctOWVjMC04NGVlNmZlZTBhNWUiIGRhdGEtbmFtZT0iaWNvbiI+CiAgICA8cGF0aCBkPSJNMjUuMDUsMzEuNThWMzlIMzVWMjkuMTJIMjcuOUMyNi4xNiwyOS4xMiwyNS4wNSwyOS43OSwyNS4wNSwzMS41OFoiIGZpbGw9IiNiY2NmMDAiLz4KICAgIDxwYXRoIGQ9Ik0xOC43NiwxN0E1LjQ4LDUuNDgsMCwwLDAsMTMsMjIuNzJWMzloNi40MlYyNS44NWEyLjM1LDIuMzUsMCwwLDEsMi4zNy0yLjMySDM1VjE3WiIgZmlsbD0iI2JjY2YwMCIvPgogIDwvZz4KPC9zdmc+Cg==\";","var _path, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgPlatformsHexWindows = function SvgPlatformsHexWindows(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n \"data-name\": \"Layer 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 48 56\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Pfad 3096\",\n d: \"M24 .5 0 14.25v27.5L24 55.5l24-13.75v-27.5Z\",\n fill: \"#0091d2\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"icon\",\n fill: \"#fff\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m13.01 35.75.2.02 8.61 1.15.26.03v-8.48h-9.07v7.28zM23.05 28.47v8.6l.2.03 11.48 1.56.27.04V28.47H23.05zM34.73 17.34l-11.48 1.62-.2.03v8.54H35V17.3l-.27.04zM13.2 20.3l-.2.02v.2l.01 6.78v.23h9.07v-8.4l-.26.03-8.62 1.14z\"\n }))));\n};\nexport { SvgPlatformsHexWindows as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyBpZD0iYjIzNzJkNGYtOTc0Zi00NTc5LThkYmYtZDgxOWZkMmZmMDA0IiBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4IDU2Ij4KICA8cGF0aCBpZD0iYWM0NzZhN2EtZWUxMy00YjBhLWE0NmItNDc0MzU4NmY3NWI4IiBkYXRhLW5hbWU9IlBmYWQgMzA5NiIgZD0iTTI0LC41LDAsMTQuMjV2MjcuNUwyNCw1NS41LDQ4LDQxLjc1VjE0LjI1WiIgZmlsbD0iIzAwOTFkMiIvPgogIDxnIGlkPSJiYjg0NDFkYy0yZDE5LTQ4MTctYTk1ZS1jZjBlZjQ0MjRiYmQiIGRhdGEtbmFtZT0iaWNvbiI+CiAgICA8cG9seWdvbiBwb2ludHM9IjEzLjAxIDM1Ljc1IDEzLjIxIDM1Ljc3IDIxLjgyIDM2LjkyIDIyLjA4IDM2Ljk1IDIyLjA4IDI4LjQ3IDEzLjAxIDI4LjQ3IDEzLjAxIDM1Ljc1IiBmaWxsPSIjZmZmIi8+CiAgICA8cG9seWdvbiBwb2ludHM9IjIzLjA1IDI4LjQ3IDIzLjA1IDM3LjA3IDIzLjI1IDM3LjEgMzQuNzMgMzguNjYgMzUgMzguNyAzNSAzOC40NCAzNSAyOC43IDM1IDI4LjQ3IDM0Ljc3IDI4LjQ3IDIzLjA1IDI4LjQ3IiBmaWxsPSIjZmZmIi8+CiAgICA8cG9seWdvbiBwb2ludHM9IjM0LjczIDE3LjM0IDIzLjI1IDE4Ljk2IDIzLjA1IDE4Ljk5IDIzLjA1IDI3LjUzIDM1IDI3LjUzIDM1IDE3LjMgMzQuNzMgMTcuMzQiIGZpbGw9IiNmZmYiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iMTMuMiAyMC4zIDEzIDIwLjMyIDEzIDIwLjUyIDEzLjAxIDI3LjMgMTMuMDEgMjcuNTMgMjIuMDggMjcuNTMgMjIuMDggMTkuMTMgMjEuODIgMTkuMTYgMTMuMiAyMC4zIiBmaWxsPSIjZmZmIi8+CiAgPC9nPgo8L3N2Zz4K\";","var _style, _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgPlatformsHexChrome = function SvgPlatformsHexChrome(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"platforms-hex-chrome_svg__Ebene_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n x: 0,\n y: 0,\n viewBox: \"70 0 950 1070\",\n style: {\n enableBackground: \"new 0 0 1080 1080\"\n },\n xmlSpace: \"preserve\"\n }, props), _style || (_style = /*#__PURE__*/React.createElement(\"style\", null, \".platforms-hex-chrome_svg__st1{fill:#4b9f65}.platforms-hex-chrome_svg__st2{fill:#fff}\")), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n opacity: 0.39,\n fill: \"#fff\"\n },\n d: \"M369.9 2752.3h1080v1080h-1080z\"\n }), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"platforms-hex-chrome_svg__st1\",\n d: \"M2718.6 1781.5v-105l-91-52.6-91 52.6v105l91 52.6z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"platforms-hex-chrome_svg__st2\",\n d: \"M2624.1 1781.6c.2-.4.3-.7.5-1 7.6-13.1 15.5-26 22.9-39.3 4.8-8.7 4.7-17.9-1.4-26.2-1.5-2-3.4-3.8-5.2-5.6-.2-.2-.4-.3-.7-.7.5 0 .8-.1 1-.1h34.2c.5 0 .9.1 1.1.6 3.4 9.8 4.7 19.8 2.4 30-3.9 17.5-14 30.1-30.3 37.7-6.5 3.1-13.5 4.4-20.7 4.5-1.2.1-2.4.1-3.8.1z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"platforms-hex-chrome_svg__st2\",\n d: \"M2638.1 1750c-.5.9-1 1.8-1.6 2.7-5.3 9.2-10.7 18.4-16 27.7-.4.6-.8.6-1.3.5-6.1-1-11.9-2.9-17.2-6-13.6-7.9-22.3-19.5-25.6-34.8-3-14-.5-27.2 7.2-39.3.2-.2.3-.5.6-.8.2.3.4.5.5.7 7 12 14.1 24 21.1 36 .9 1.6 1.5 3.4 2.6 5 3.8 5.8 9.2 9.3 16.1 10.4 4.4.7 8.8 0 12.9-1.8.3-.1.5-.2.8-.3-.2-.2-.2-.1-.1 0z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"platforms-hex-chrome_svg__st2\",\n d: \"M2674.5 1705.5h-46c-3.7 0-7.3.6-10.7 2.1-6.8 3.2-10.7 8.6-12.5 15.7-.2 1-.3 2-.5 3 0 .2-.1.5-.2.9-.2-.4-.4-.6-.5-.8-5.7-9.7-11.4-19.4-17.2-29.1-.4-.7-.4-1.1.1-1.7 7.4-8.9 16.7-14.9 27.9-17.7 11.1-2.8 22.1-2 32.7 2.4 10.8 4.4 19.1 11.7 25.1 21.7.6 1 1.1 2 1.7 3 .1.2.1.3.1.5z\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"platforms-hex-chrome_svg__st2\",\n d: \"M2608.1 1729.1c0-10.9 8.8-19.6 19.6-19.6s19.6 8.9 19.5 19.8c-.1 10.6-9 19.4-19.5 19.3-10.9-.1-19.7-8.8-19.6-19.5z\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"platforms-hex-chrome_svg__st1\",\n d: \"M1000.9 805V272.8L540 6.7 79.1 272.8V805L540 1071.1z\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"platforms-hex-chrome_svg__st2\",\n d: \"M522.2 805.5c1.1-2.2 1.8-3.7 2.6-5.1 38.7-66.3 78.5-131.9 115.7-199 24.5-44.2 23.6-90.5-6.9-132.6-7.5-10.4-17.4-19-26.2-28.4-.9-.9-1.8-1.7-3.6-3.4 2.5-.2 3.9-.4 5.3-.4h173.1c2.6 0 4.4.3 5.5 3.3 17.4 49.5 23.8 100.1 12.3 151.8-19.8 88.7-71 152.6-153.4 191.2-33.2 15.5-68.4 22.5-105 22.8-6.2-.2-12.5-.2-19.4-.2z\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"platforms-hex-chrome_svg__st2\",\n d: \"M593 645.1c-2.6 4.6-5.3 9.2-7.9 13.8-27.1 46.7-54.2 93.3-81.2 140.1-1.8 3.1-4 2.9-6.7 2.4-30.8-5.1-60-14.8-87-30.5-68.8-39.9-113.1-98.5-129.8-176.4-15.2-70.9-2.5-137.7 36.4-199.1.8-1.2 1.7-2.3 2.8-3.9 1 1.5 1.8 2.5 2.5 3.6 35.6 60.8 71.2 121.6 106.7 182.5 4.7 8.1 7.8 17.3 12.9 25.2 19.2 29.6 46.6 47.1 81.4 52.5 22.5 3.5 44.3.2 65.2-9.2 1.3-.6 2.6-1.1 3.9-1.7.3.1.5.4.8.7z\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"platforms-hex-chrome_svg__st2\",\n d: \"M777.4 419.9h-6.2c-75.6 0-151.1.1-226.7-.1-18.8 0-37 2.8-54 10.7-34.3 16-54.4 43.4-63.2 79.7-1.2 5-1.7 10.2-2.6 15.3-.2 1.2-.5 2.5-.9 4.5-1.2-1.8-2-2.9-2.6-4-29-49.1-58-98.2-87-147.2-2-3.4-2.1-5.5.5-8.6 37.5-45 84.4-75.4 141.3-89.7 56.4-14.2 111.9-10.1 165.7 12.1 54.5 22.4 96.9 59.3 127.2 109.8 3 5 5.6 10.3 8.4 15.4.1.4 0 .9.1 2.1zM441 539.3c.2-55 44.7-99.3 99.4-99 54.9.2 99 45 98.7 100.1-.3 53.6-45.4 98.3-99 97.9-55-.4-99.3-44.7-99.1-99z\"\n })));\n};\nexport { SvgPlatformsHexChrome as ReactComponent };\nexport default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI4LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkViZW5lXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjcwIDAgOTUwIDEwNzAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDEwODAgMTA4MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtvcGFjaXR5OjAuMzk7ZmlsbDojRkZGRkZGO30KCS5zdDF7ZmlsbDojNEI5RjY1O30KCS5zdDJ7ZmlsbDojRkZGRkZGO30KPC9zdHlsZT4KPHJlY3QgeD0iMzY5LjkiIHk9IjI3NTIuMyIgY2xhc3M9InN0MCIgd2lkdGg9IjEwODAiIGhlaWdodD0iMTA4MCIvPgoKCjxnPgoJPHBvbHlnb24gY2xhc3M9InN0MSIgcG9pbnRzPSIyNzE4LjYsMTc4MS41IDI3MTguNiwxNjc2LjUgMjYyNy42LDE2MjMuOSAyNTM2LjYsMTY3Ni41IDI1MzYuNiwxNzgxLjUgMjYyNy42LDE4MzQuMSAJIi8+Cgk8Zz4KCQk8cGF0aCBjbGFzcz0ic3QyIiBkPSJNMjYyNC4xLDE3ODEuNmMwLjItMC40LDAuMy0wLjcsMC41LTFjNy42LTEzLjEsMTUuNS0yNiwyMi45LTM5LjNjNC44LTguNyw0LjctMTcuOS0xLjQtMjYuMgoJCQljLTEuNS0yLTMuNC0zLjgtNS4yLTUuNmMtMC4yLTAuMi0wLjQtMC4zLTAuNy0wLjdjMC41LDAsMC44LTAuMSwxLTAuMWMxMS40LDAsMjIuOCwwLDM0LjIsMGMwLjUsMCwwLjksMC4xLDEuMSwwLjYKCQkJYzMuNCw5LjgsNC43LDE5LjgsMi40LDMwYy0zLjksMTcuNS0xNCwzMC4xLTMwLjMsMzcuN2MtNi41LDMuMS0xMy41LDQuNC0yMC43LDQuNUMyNjI2LjcsMTc4MS42LDI2MjUuNSwxNzgxLjYsMjYyNC4xLDE3ODEuNnoiLz4KCQk8cGF0aCBjbGFzcz0ic3QyIiBkPSJNMjYzOC4xLDE3NTBjLTAuNSwwLjktMSwxLjgtMS42LDIuN2MtNS4zLDkuMi0xMC43LDE4LjQtMTYsMjcuN2MtMC40LDAuNi0wLjgsMC42LTEuMywwLjUKCQkJYy02LjEtMS0xMS45LTIuOS0xNy4yLTZjLTEzLjYtNy45LTIyLjMtMTkuNS0yNS42LTM0LjhjLTMtMTQtMC41LTI3LjIsNy4yLTM5LjNjMC4yLTAuMiwwLjMtMC41LDAuNi0wLjhjMC4yLDAuMywwLjQsMC41LDAuNSwwLjcKCQkJYzcsMTIsMTQuMSwyNCwyMS4xLDM2YzAuOSwxLjYsMS41LDMuNCwyLjYsNWMzLjgsNS44LDkuMiw5LjMsMTYuMSwxMC40YzQuNCwwLjcsOC44LDAsMTIuOS0xLjhjMC4zLTAuMSwwLjUtMC4yLDAuOC0wLjMKCQkJQzI2MzgsMTc0OS44LDI2MzgsMTc0OS45LDI2MzguMSwxNzUweiIvPgoJCTxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0yNjc0LjUsMTcwNS41Yy0wLjQsMC0wLjgsMC0xLjIsMGMtMTQuOSwwLTI5LjgsMC00NC44LDBjLTMuNywwLTcuMywwLjYtMTAuNywyLjEKCQkJYy02LjgsMy4yLTEwLjcsOC42LTEyLjUsMTUuN2MtMC4yLDEtMC4zLDItMC41LDNjMCwwLjItMC4xLDAuNS0wLjIsMC45Yy0wLjItMC40LTAuNC0wLjYtMC41LTAuOGMtNS43LTkuNy0xMS40LTE5LjQtMTcuMi0yOS4xCgkJCWMtMC40LTAuNy0wLjQtMS4xLDAuMS0xLjdjNy40LTguOSwxNi43LTE0LjksMjcuOS0xNy43YzExLjEtMi44LDIyLjEtMiwzMi43LDIuNGMxMC44LDQuNCwxOS4xLDExLjcsMjUuMSwyMS43YzAuNiwxLDEuMSwyLDEuNywzCgkJCUMyNjc0LjUsMTcwNS4yLDI2NzQuNSwxNzA1LjMsMjY3NC41LDE3MDUuNXoiLz4KCQk8cGF0aCBjbGFzcz0ic3QyIiBkPSJNMjYwOC4xLDE3MjkuMWMwLTEwLjksOC44LTE5LjYsMTkuNi0xOS42YzEwLjgsMCwxOS42LDguOSwxOS41LDE5LjhjLTAuMSwxMC42LTksMTkuNC0xOS41LDE5LjMKCQkJQzI2MTYuOCwxNzQ4LjUsMjYwOCwxNzM5LjgsMjYwOC4xLDE3MjkuMXoiLz4KCTwvZz4KPC9nPgo8Zz4KCTxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iMTAwMC45LDgwNSAxMDAwLjksMjcyLjggNTQwLDYuNyA3OS4xLDI3Mi44IDc5LjEsODA1IDU0MCwxMDcxLjEgCSIvPgoJPGc+CgkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTUyMi4yLDgwNS41YzEuMS0yLjIsMS44LTMuNywyLjYtNS4xYzM4LjctNjYuMyw3OC41LTEzMS45LDExNS43LTE5OWMyNC41LTQ0LjIsMjMuNi05MC41LTYuOS0xMzIuNgoJCQljLTcuNS0xMC40LTE3LjQtMTktMjYuMi0yOC40Yy0wLjktMC45LTEuOC0xLjctMy42LTMuNGMyLjUtMC4yLDMuOS0wLjQsNS4zLTAuNGM1Ny43LDAsMTE1LjQsMCwxNzMuMSwwYzIuNiwwLDQuNCwwLjMsNS41LDMuMwoJCQljMTcuNCw0OS41LDIzLjgsMTAwLjEsMTIuMywxNTEuOGMtMTkuOCw4OC43LTcxLDE1Mi42LTE1My40LDE5MS4yYy0zMy4yLDE1LjUtNjguNCwyMi41LTEwNSwyMi44CgkJCUM1MzUuNCw4MDUuNSw1MjkuMSw4MDUuNSw1MjIuMiw4MDUuNXoiLz4KCQk8cGF0aCBjbGFzcz0ic3QyIiBkPSJNNTkzLDY0NS4xYy0yLjYsNC42LTUuMyw5LjItNy45LDEzLjhjLTI3LjEsNDYuNy01NC4yLDkzLjMtODEuMiwxNDAuMWMtMS44LDMuMS00LDIuOS02LjcsMi40CgkJCWMtMzAuOC01LjEtNjAtMTQuOC04Ny0zMC41Yy02OC44LTM5LjktMTEzLjEtOTguNS0xMjkuOC0xNzYuNGMtMTUuMi03MC45LTIuNS0xMzcuNywzNi40LTE5OS4xYzAuOC0xLjIsMS43LTIuMywyLjgtMy45CgkJCWMxLDEuNSwxLjgsMi41LDIuNSwzLjZjMzUuNiw2MC44LDcxLjIsMTIxLjYsMTA2LjcsMTgyLjVjNC43LDguMSw3LjgsMTcuMywxMi45LDI1LjJjMTkuMiwyOS42LDQ2LjYsNDcuMSw4MS40LDUyLjUKCQkJYzIyLjUsMy41LDQ0LjMsMC4yLDY1LjItOS4yYzEuMy0wLjYsMi42LTEuMSwzLjktMS43QzU5Mi41LDY0NC41LDU5Mi43LDY0NC44LDU5Myw2NDUuMXoiLz4KCQk8cGF0aCBjbGFzcz0ic3QyIiBkPSJNNzc3LjQsNDE5LjljLTIuMywwLTQuMiwwLTYuMiwwYy03NS42LDAtMTUxLjEsMC4xLTIyNi43LTAuMWMtMTguOCwwLTM3LDIuOC01NCwxMC43CgkJCWMtMzQuMywxNi01NC40LDQzLjQtNjMuMiw3OS43Yy0xLjIsNS0xLjcsMTAuMi0yLjYsMTUuM2MtMC4yLDEuMi0wLjUsMi41LTAuOSw0LjVjLTEuMi0xLjgtMi0yLjktMi42LTQKCQkJYy0yOS00OS4xLTU4LTk4LjItODctMTQ3LjJjLTItMy40LTIuMS01LjUsMC41LTguNmMzNy41LTQ1LDg0LjQtNzUuNCwxNDEuMy04OS43YzU2LjQtMTQuMiwxMTEuOS0xMC4xLDE2NS43LDEyLjEKCQkJYzU0LjUsMjIuNCw5Ni45LDU5LjMsMTI3LjIsMTA5LjhjMyw1LDUuNiwxMC4zLDguNCwxNS40Qzc3Ny40LDQxOC4yLDc3Ny4zLDQxOC43LDc3Ny40LDQxOS45eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik00NDEsNTM5LjNjMC4yLTU1LDQ0LjctOTkuMyw5OS40LTk5YzU0LjksMC4yLDk5LDQ1LDk4LjcsMTAwLjFjLTAuMyw1My42LTQ1LjQsOTguMy05OSw5Ny45CgkJCUM0ODUuMSw2MzcuOSw0NDAuOCw1OTMuNiw0NDEsNTM5LjN6Ii8+Cgk8L2c+CjwvZz4KPC9zdmc+Cg==\";","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { Platforms } from '../../constants/enums'\nimport { ReactComponent as Android } from '../../icons/platforms/platforms-hex-android.svg'\nimport { ReactComponent as Apple } from '../../icons/platforms/platforms-hex-apple.svg'\nimport { ReactComponent as Relution } from '../../icons/platforms/platforms-hex-relution.svg'\nimport { ReactComponent as RelutionInverted } from '../../icons/platforms/platforms-hex-relution-inverted.svg'\nimport { ReactComponent as Windows } from '../../icons/platforms/platforms-hex-windows.svg'\nimport { ReactComponent as Chrome } from '../../icons/platforms/platforms-hex-chrome.svg'\n\nconst icons = {\n [Platforms.Apple]: {\n icon: Apple,\n iconInverted: Apple,\n },\n [Platforms.Android]: {\n icon: Android,\n iconInverted: Android,\n },\n [Platforms.Windows]: {\n icon: Windows,\n iconInverted: Windows,\n },\n [Platforms.Relution]: {\n icon: Relution,\n iconInverted: RelutionInverted,\n },\n [Platforms.ChromeOS]: {\n icon: Chrome,\n iconInverted: Chrome,\n },\n}\n\nconst PlatformIcon = ({ platform = Platforms.Relution, inverted = false }) => {\n const platformConfig = platform && icons[platform]\n const Tag = inverted ? platformConfig.iconInverted : platformConfig.icon\n\n return \n}\n\nPlatformIcon.propTypes = {\n platform: PropTypes.string,\n inverted: PropTypes.bool,\n}\n\nexport default PlatformIcon\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport _ from 'lodash'\n\nimport { cn } from '../../helper'\nimport PlatformIcon from './PlatformIcon'\nimport { Platforms } from '../../constants/enums'\n\nconst Sizes = {\n xs: 'w-6 h-8',\n default: 'w-8 h-[2.3333rem] sm:w-12 sm:h-14',\n}\n\nconst variants = {\n fixed: `inline-flex space-x-1`,\n}\n\nconst platformsOrder = [\n Platforms.Apple,\n Platforms.Android,\n Platforms.Windows,\n Platforms.ChromeOS,\n Platforms.Relution,\n]\n\nconst PlatformShelf = ({\n className,\n platforms = [],\n inverted = false,\n size = 'default',\n}) => {\n const iconSizeClasses = Sizes[size]\n const sortedPLatforms = platforms.sort(\n (a, b) =>\n platformsOrder.indexOf(a.platformId) -\n platformsOrder.indexOf(b.platformId),\n )\n\n return (\n
    \n {sortedPLatforms &&\n sortedPLatforms.map((platform) => (\n \n \n \n ))}\n
\n )\n}\n\nPlatformShelf.propTypes = {\n className: PropTypes.string,\n platforms: PropTypes.array,\n inverted: PropTypes.bool,\n size: PropTypes.string,\n}\n\nexport default PlatformShelf\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { classNames } from '../../helper'\nimport HeadlineTag from './HeadlineTag'\nimport PlatformShelf from './PlatformShelf'\n\nimport { ArticleTypes } from '../../constants/enums'\n\nconst ArticleCardSmall = ({\n as: Tag = 'article',\n className,\n headlineOrder = 2,\n headline,\n subline,\n date,\n datetime,\n Link,\n platforms = [],\n variant = ArticleTypes.releaseNote,\n}) => {\n const Background =\n variant === ArticleTypes.insight ? (\n
\n ) : (\n
\n )\n\n const formattedDate = datetime || date\n const showMetaInfo = Boolean(formattedDate || (platforms && platforms.length))\n\n return (\n \n
\n {Background}\n \n {headline && (\n \n {headline}\n {subline && (\n \n {subline}\n \n )}\n \n )}\n {showMetaInfo && (\n
\n {formattedDate && (\n

{formattedDate}

\n )}\n {platforms && (\n \n )}\n
\n )}\n
\n
\n
\n {Link && (\n \n {headline}\n \n )}\n \n )\n}\n\nArticleCardSmall.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n variant: PropTypes.string,\n Link: PropTypes.any,\n headline: PropTypes.string,\n subline: PropTypes.string,\n platforms: PropTypes.array,\n date: PropTypes.string,\n datetime: PropTypes.string,\n}\n\nexport default ArticleCardSmall\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { uid } from 'react-uid'\n\nimport { cn } from '../../helper'\nimport ArticleCardSmall from '../base/ArticleCardSmall'\nimport HeadlineTag from '../base/HeadlineTag'\n\nconst ArticleCollectionColumn = ({\n as: Tag = 'aside',\n className,\n headlineOrder = 2,\n headline,\n items = [],\n}) => (\n \n {headline && (\n \n {headline}\n \n )}\n {items && items.length && (\n
    \n {items.map((item) => (\n
  • \n \n
  • \n ))}\n
\n )}\n
\n)\n\nArticleCollectionColumn.propTypes = {\n as: PropTypes.string,\n className: PropTypes.string,\n headline: PropTypes.string,\n headlineOrder: PropTypes.number,\n items: PropTypes.array,\n}\n\nexport default ArticleCollectionColumn\n","import{useEffect as s,useRef as f}from\"react\";import{useEvent as i}from'./use-event.js';function m(u,t){let e=f([]),r=i(u);s(()=>{let o=[...e.current];for(let[n,a]of t.entries())if(e.current[n]!==a){let l=r(t,o);return e.current=t,l}},[r,...t])}export{m as useWatch};\n","import{onDocumentReady as d}from'./document-ready.js';let t=[];d(()=>{function e(n){n.target instanceof HTMLElement&&n.target!==document.body&&t[0]!==n.target&&(t.unshift(n.target),t=t.filter(r=>r!=null&&r.isConnected),t.splice(10))}window.addEventListener(\"click\",e,{capture:!0}),window.addEventListener(\"mousedown\",e,{capture:!0}),window.addEventListener(\"focus\",e,{capture:!0}),document.body.addEventListener(\"click\",e,{capture:!0}),document.body.addEventListener(\"mousedown\",e,{capture:!0}),document.body.addEventListener(\"focus\",e,{capture:!0})});export{t as history};\n","function t(n){function e(){document.readyState!==\"loading\"&&(n(),document.removeEventListener(\"DOMContentLoaded\",e))}typeof window!=\"undefined\"&&typeof document!=\"undefined\"&&(document.addEventListener(\"DOMContentLoaded\",e),e())}export{t as onDocumentReady};\n","import E,{useRef as d}from\"react\";import{useDisposables as U}from'../../hooks/use-disposables.js';import{useEvent as v}from'../../hooks/use-event.js';import{useEventListener as x}from'../../hooks/use-event-listener.js';import{useIsMounted as g}from'../../hooks/use-is-mounted.js';import{useOnUnmount as N}from'../../hooks/use-on-unmount.js';import{useOwnerDocument as I}from'../../hooks/use-owner.js';import{useServerHandoffComplete as G}from'../../hooks/use-server-handoff-complete.js';import{useSyncRefs as K}from'../../hooks/use-sync-refs.js';import{Direction as L,useTabDirection as W}from'../../hooks/use-tab-direction.js';import{useWatch as b}from'../../hooks/use-watch.js';import{Features as A,Hidden as O}from'../../internal/hidden.js';import{history as F}from'../../utils/active-element-history.js';import{Focus as p,focusElement as f,focusIn as M,FocusResult as V}from'../../utils/focus-management.js';import{match as k}from'../../utils/match.js';import{microTask as C}from'../../utils/micro-task.js';import{forwardRefWithAs as q,render as J}from'../../utils/render.js';function P(t){if(!t)return new Set;if(typeof t==\"function\")return new Set(t());let n=new Set;for(let e of t.current)e.current instanceof HTMLElement&&n.add(e.current);return n}let X=\"div\";var _=(r=>(r[r.None=1]=\"None\",r[r.InitialFocus=2]=\"InitialFocus\",r[r.TabLock=4]=\"TabLock\",r[r.FocusLock=8]=\"FocusLock\",r[r.RestoreFocus=16]=\"RestoreFocus\",r[r.All=30]=\"All\",r))(_||{});function z(t,n){let e=d(null),o=K(e,n),{initialFocus:l,containers:c,features:r=30,...s}=t;G()||(r=1);let i=I(e);Y({ownerDocument:i},Boolean(r&16));let u=Z({ownerDocument:i,container:e,initialFocus:l},Boolean(r&2));$({ownerDocument:i,container:e,containers:c,previousActiveElement:u},Boolean(r&8));let y=W(),R=v(a=>{let m=e.current;if(!m)return;(B=>B())(()=>{k(y.current,{[L.Forwards]:()=>{M(m,p.First,{skipElements:[a.relatedTarget]})},[L.Backwards]:()=>{M(m,p.Last,{skipElements:[a.relatedTarget]})}})})}),h=U(),H=d(!1),j={ref:o,onKeyDown(a){a.key==\"Tab\"&&(H.current=!0,h.requestAnimationFrame(()=>{H.current=!1}))},onBlur(a){let m=P(c);e.current instanceof HTMLElement&&m.add(e.current);let T=a.relatedTarget;T instanceof HTMLElement&&T.dataset.headlessuiFocusGuard!==\"true\"&&(S(m,T)||(H.current?M(e.current,k(y.current,{[L.Forwards]:()=>p.Next,[L.Backwards]:()=>p.Previous})|p.WrapAround,{relativeTo:a.target}):a.target instanceof HTMLElement&&f(a.target)))}};return E.createElement(E.Fragment,null,Boolean(r&4)&&E.createElement(O,{as:\"button\",type:\"button\",\"data-headlessui-focus-guard\":!0,onFocus:R,features:A.Focusable}),J({ourProps:j,theirProps:s,defaultTag:X,name:\"FocusTrap\"}),Boolean(r&4)&&E.createElement(O,{as:\"button\",type:\"button\",\"data-headlessui-focus-guard\":!0,onFocus:R,features:A.Focusable}))}let D=q(z),de=Object.assign(D,{features:_});function Q(t=!0){let n=d(F.slice());return b(([e],[o])=>{o===!0&&e===!1&&C(()=>{n.current.splice(0)}),o===!1&&e===!0&&(n.current=F.slice())},[t,F,n]),v(()=>{var e;return(e=n.current.find(o=>o!=null&&o.isConnected))!=null?e:null})}function Y({ownerDocument:t},n){let e=Q(n);b(()=>{n||(t==null?void 0:t.activeElement)===(t==null?void 0:t.body)&&f(e())},[n]),N(()=>{n&&f(e())})}function Z({ownerDocument:t,container:n,initialFocus:e},o){let l=d(null),c=g();return b(()=>{if(!o)return;let r=n.current;r&&C(()=>{if(!c.current)return;let s=t==null?void 0:t.activeElement;if(e!=null&&e.current){if((e==null?void 0:e.current)===s){l.current=s;return}}else if(r.contains(s)){l.current=s;return}e!=null&&e.current?f(e.current):M(r,p.First)===V.Error&&console.warn(\"There are no focusable elements inside the \"),l.current=t==null?void 0:t.activeElement})},[o]),l}function $({ownerDocument:t,container:n,containers:e,previousActiveElement:o},l){let c=g();x(t==null?void 0:t.defaultView,\"focus\",r=>{if(!l||!c.current)return;let s=P(e);n.current instanceof HTMLElement&&s.add(n.current);let i=o.current;if(!i)return;let u=r.target;u&&u instanceof HTMLElement?S(s,u)?(o.current=u,f(u)):(r.preventDefault(),r.stopPropagation(),f(i)):f(o.current)},!0)}function S(t,n){for(let e of t)if(e.contains(n))return!0;return!1}export{de as FocusTrap};\n","import*as l from\"react\";function i(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}const d=typeof Object.is==\"function\"?Object.is:i,{useState:u,useEffect:h,useLayoutEffect:f,useDebugValue:p}=l;let S=!1,_=!1;function y(e,t,c){const a=t(),[{inst:n},o]=u({inst:{value:a,getSnapshot:t}});return f(()=>{n.value=a,n.getSnapshot=t,r(n)&&o({inst:n})},[e,a,t]),h(()=>(r(n)&&o({inst:n}),e(()=>{r(n)&&o({inst:n})})),[e]),p(a),a}function r(e){const t=e.getSnapshot,c=e.value;try{const a=t();return!d(c,a)}catch{return!0}}export{y as useSyncExternalStore};\n","import*as e from\"react\";import{useSyncExternalStore as t}from'./useSyncExternalStoreShimClient.js';import{useSyncExternalStore as o}from'./useSyncExternalStoreShimServer.js';const r=typeof window!=\"undefined\"&&typeof window.document!=\"undefined\"&&typeof window.document.createElement!=\"undefined\",s=!r,c=s?o:t,a=\"useSyncExternalStore\"in e?(n=>n.useSyncExternalStore)(e):c;export{a as useSyncExternalStore};\n","function c(){let o;return{before({doc:e}){var l;let n=e.documentElement;o=((l=e.defaultView)!=null?l:window).innerWidth-n.clientWidth},after({doc:e,d:n}){let t=e.documentElement,l=t.clientWidth-t.offsetWidth,r=o-l;n.style(t,\"paddingRight\",`${r}px`)}}}export{c as adjustScrollbarPadding};\n","import{disposables as s}from'../../utils/disposables.js';import{createStore as i}from'../../utils/store.js';import{adjustScrollbarPadding as l}from'./adjust-scrollbar-padding.js';import{handleIOSLocking as d}from'./handle-ios-locking.js';import{preventScroll as p}from'./prevent-scroll.js';function m(e){let n={};for(let t of e)Object.assign(n,t(n));return n}let a=i(()=>new Map,{PUSH(e,n){var o;let t=(o=this.get(e))!=null?o:{doc:e,count:0,d:s(),meta:new Set};return t.count++,t.meta.add(n),this.set(e,t),this},POP(e,n){let t=this.get(e);return t&&(t.count--,t.meta.delete(n)),this},SCROLL_PREVENT({doc:e,d:n,meta:t}){let o={doc:e,d:n,meta:m(t)},c=[d(),l(),p()];c.forEach(({before:r})=>r==null?void 0:r(o)),c.forEach(({after:r})=>r==null?void 0:r(o))},SCROLL_ALLOW({d:e}){e.dispose()},TEARDOWN({doc:e}){this.delete(e)}});a.subscribe(()=>{let e=a.getSnapshot(),n=new Map;for(let[t]of e)n.set(t,t.documentElement.style.overflow);for(let t of e.values()){let o=n.get(t.doc)===\"hidden\",c=t.count!==0;(c&&!o||!c&&o)&&a.dispatch(t.count>0?\"SCROLL_PREVENT\":\"SCROLL_ALLOW\",t),t.count===0&&a.dispatch(\"TEARDOWN\",t)}});export{a as overflows};\n","function a(o,r){let t=o(),n=new Set;return{getSnapshot(){return t},subscribe(e){return n.add(e),()=>n.delete(e)},dispatch(e,...s){let i=r[e].call(t,...s);i&&(t=i,n.forEach(c=>c()))}}}export{a as createStore};\n","import{disposables as m}from'../../utils/disposables.js';import{isIOS as u}from'../../utils/platform.js';function d(){return u()?{before({doc:r,d:l,meta:c}){function o(a){return c.containers.flatMap(n=>n()).some(n=>n.contains(a))}l.microTask(()=>{var s;if(window.getComputedStyle(r.documentElement).scrollBehavior!==\"auto\"){let t=m();t.style(r.documentElement,\"scrollBehavior\",\"auto\"),l.add(()=>l.microTask(()=>t.dispose()))}let a=(s=window.scrollY)!=null?s:window.pageYOffset,n=null;l.addEventListener(r,\"click\",t=>{if(t.target instanceof HTMLElement)try{let e=t.target.closest(\"a\");if(!e)return;let{hash:f}=new URL(e.href),i=r.querySelector(f);i&&!o(i)&&(n=i)}catch{}},!0),l.addEventListener(r,\"touchstart\",t=>{if(t.target instanceof HTMLElement)if(o(t.target)){let e=t.target;for(;e.parentElement&&o(e.parentElement);)e=e.parentElement;l.style(e,\"overscrollBehavior\",\"contain\")}else l.style(t.target,\"touchAction\",\"none\")}),l.addEventListener(r,\"touchmove\",t=>{if(t.target instanceof HTMLElement)if(o(t.target)){let e=t.target;for(;e.parentElement&&e.dataset.headlessuiPortal!==\"\"&&!(e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth);)e=e.parentElement;e.dataset.headlessuiPortal===\"\"&&t.preventDefault()}else t.preventDefault()},{passive:!1}),l.add(()=>{var e;let t=(e=window.scrollY)!=null?e:window.pageYOffset;a!==t&&window.scrollTo(0,a),n&&n.isConnected&&(n.scrollIntoView({block:\"nearest\"}),n=null)})})}}:{}}export{d as handleIOSLocking};\n","function l(){return{before({doc:e,d:o}){o.style(e.documentElement,\"overflow\",\"hidden\")}}}export{l as preventScroll};\n","import{useStore as u}from'../../hooks/use-store.js';import{useIsoMorphicEffect as s}from'../use-iso-morphic-effect.js';import{overflows as t}from'./overflow-store.js';function p(e,r,n){let f=u(t),o=e?f.get(e):void 0,i=o?o.count>0:!1;return s(()=>{if(!(!e||!r))return t.dispatch(\"PUSH\",e,n),()=>t.dispatch(\"POP\",e,n)},[r,e]),i}export{p as useDocumentOverflowLockedEffect};\n","import{useSyncExternalStore as r}from'../use-sync-external-store-shim/index.js';function S(t){return r(t.subscribe,t.getSnapshot,t.getSnapshot)}export{S as useStore};\n","import{useIsoMorphicEffect as s}from'./use-iso-morphic-effect.js';let u=new Map,t=new Map;function b(r,l=!0){s(()=>{var o;if(!l)return;let e=typeof r==\"function\"?r():r.current;if(!e)return;function a(){var d;if(!e)return;let i=(d=t.get(e))!=null?d:1;if(i===1?t.delete(e):t.set(e,i-1),i!==1)return;let n=u.get(e);n&&(n[\"aria-hidden\"]===null?e.removeAttribute(\"aria-hidden\"):e.setAttribute(\"aria-hidden\",n[\"aria-hidden\"]),e.inert=n.inert,u.delete(e))}let f=(o=t.get(e))!=null?o:0;return t.set(e,f+1),f!==0||(u.set(e,{\"aria-hidden\":e.getAttribute(\"aria-hidden\"),inert:e.inert}),e.setAttribute(\"aria-hidden\",\"true\"),e.inert=!0),a},[r,l])}export{b as useInert};\n","import d,{createContext as c,useContext as m}from\"react\";import{useEvent as p}from'../hooks/use-event.js';import{useIsoMorphicEffect as f}from'../hooks/use-iso-morphic-effect.js';let a=c(()=>{});a.displayName=\"StackContext\";var s=(e=>(e[e.Add=0]=\"Add\",e[e.Remove=1]=\"Remove\",e))(s||{});function x(){return m(a)}function b({children:i,onUpdate:r,type:e,element:n,enabled:u}){let l=x(),o=p((...t)=>{r==null||r(...t),l(...t)});return f(()=>{let t=u===void 0||u===!0;return t&&o(0,e,n),()=>{t&&o(1,e,n)}},[o,e,n,u]),d.createElement(a.Provider,{value:o},i)}export{s as StackMessage,b as StackProvider,x as useStackContext};\n","import u,{createContext as m,useContext as D,useMemo as l,useState as T}from\"react\";import{useEvent as P}from'../../hooks/use-event.js';import{useId as g}from'../../hooks/use-id.js';import{useIsoMorphicEffect as E}from'../../hooks/use-iso-morphic-effect.js';import{useSyncRefs as x}from'../../hooks/use-sync-refs.js';import{forwardRefWithAs as y,render as R}from'../../utils/render.js';let d=m(null);function f(){let r=D(d);if(r===null){let t=new Error(\"You used a component, but it is not inside a relevant parent.\");throw Error.captureStackTrace&&Error.captureStackTrace(t,f),t}return r}function w(){let[r,t]=T([]);return[r.length>0?r.join(\" \"):void 0,l(()=>function(e){let i=P(s=>(t(o=>[...o,s]),()=>t(o=>{let p=o.slice(),c=p.indexOf(s);return c!==-1&&p.splice(c,1),p}))),n=l(()=>({register:i,slot:e.slot,name:e.name,props:e.props}),[i,e.slot,e.name,e.props]);return u.createElement(d.Provider,{value:n},e.children)},[t])]}let I=\"p\";function S(r,t){let a=g(),{id:e=`headlessui-description-${a}`,...i}=r,n=f(),s=x(t);E(()=>n.register(e),[e,n.register]);let o={ref:s,...n.props,id:e};return R({ourProps:o,theirProps:i,slot:n.slot||{},defaultTag:I,name:n.name||\"Description\"})}let h=y(S),G=Object.assign(h,{});export{G as Description,w as useDescriptions};\n","import u,{createContext as Pe,createRef as ye,useCallback as K,useContext as V,useEffect as H,useMemo as y,useReducer as Ee,useRef as q,useState as Ae}from\"react\";import{FocusTrap as A}from'../../components/focus-trap/focus-trap.js';import{Portal as B,useNestedPortals as Re}from'../../components/portal/portal.js';import{useDocumentOverflowLockedEffect as Ce}from'../../hooks/document-overflow/use-document-overflow.js';import{useEvent as R}from'../../hooks/use-event.js';import{useEventListener as ve}from'../../hooks/use-event-listener.js';import{useId as C}from'../../hooks/use-id.js';import{useInert as z}from'../../hooks/use-inert.js';import{useOutsideClick as _e}from'../../hooks/use-outside-click.js';import{useOwnerDocument as Oe}from'../../hooks/use-owner.js';import{useRootContainers as be}from'../../hooks/use-root-containers.js';import{useServerHandoffComplete as he}from'../../hooks/use-server-handoff-complete.js';import{useSyncRefs as v}from'../../hooks/use-sync-refs.js';import{State as k,useOpenClosed as Se}from'../../internal/open-closed.js';import{ForcePortalRoot as G}from'../../internal/portal-force-root.js';import{StackMessage as Q,StackProvider as xe}from'../../internal/stack-context.js';import{isDisabledReactIssue7711 as Le}from'../../utils/bugs.js';import{match as N}from'../../utils/match.js';import{Features as Z,forwardRefWithAs as _,render as O}from'../../utils/render.js';import{Description as Fe,useDescriptions as ke}from'../description/description.js';import{Keys as Ie}from'../keyboard.js';var Me=(r=>(r[r.Open=0]=\"Open\",r[r.Closed=1]=\"Closed\",r))(Me||{}),we=(e=>(e[e.SetTitleId=0]=\"SetTitleId\",e))(we||{});let He={[0](o,e){return o.titleId===e.id?o:{...o,titleId:e.id}}},I=Pe(null);I.displayName=\"DialogContext\";function b(o){let e=V(I);if(e===null){let r=new Error(`<${o} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,b),r}return e}function Be(o,e,r=()=>[document.body]){Ce(o,e,i=>{var n;return{containers:[...(n=i.containers)!=null?n:[],r]}})}function Ge(o,e){return N(e.type,He,o,e)}let Ne=\"div\",Ue=Z.RenderStrategy|Z.Static;function We(o,e){let r=C(),{id:i=`headlessui-dialog-${r}`,open:n,onClose:l,initialFocus:s,role:a=\"dialog\",__demoMode:T=!1,...m}=o,[M,f]=Ae(0),U=q(!1);a=function(){return a===\"dialog\"||a===\"alertdialog\"?a:(U.current||(U.current=!0,console.warn(`Invalid role [${a}] passed to . Only \\`dialog\\` and and \\`alertdialog\\` are supported. Using \\`dialog\\` instead.`)),\"dialog\")}();let E=Se();n===void 0&&E!==null&&(n=(E&k.Open)===k.Open);let D=q(null),ee=v(D,e),g=Oe(D),W=o.hasOwnProperty(\"open\")||E!==null,$=o.hasOwnProperty(\"onClose\");if(!W&&!$)throw new Error(\"You have to provide an `open` and an `onClose` prop to the `Dialog` component.\");if(!W)throw new Error(\"You provided an `onClose` prop to the `Dialog`, but forgot an `open` prop.\");if(!$)throw new Error(\"You provided an `open` prop to the `Dialog`, but forgot an `onClose` prop.\");if(typeof n!=\"boolean\")throw new Error(`You provided an \\`open\\` prop to the \\`Dialog\\`, but the value is not a boolean. Received: ${n}`);if(typeof l!=\"function\")throw new Error(`You provided an \\`onClose\\` prop to the \\`Dialog\\`, but the value is not a function. Received: ${l}`);let p=n?0:1,[h,te]=Ee(Ge,{titleId:null,descriptionId:null,panelRef:ye()}),P=R(()=>l(!1)),Y=R(t=>te({type:0,id:t})),S=he()?T?!1:p===0:!1,x=M>1,j=V(I)!==null,[oe,re]=Re(),ne={get current(){var t;return(t=h.panelRef.current)!=null?t:D.current}},{resolveContainers:w,mainTreeNodeRef:L,MainTreeNode:le}=be({portals:oe,defaultContainers:[ne]}),ae=x?\"parent\":\"leaf\",J=E!==null?(E&k.Closing)===k.Closing:!1,ie=(()=>j||J?!1:S)(),se=K(()=>{var t,c;return(c=Array.from((t=g==null?void 0:g.querySelectorAll(\"body > *\"))!=null?t:[]).find(d=>d.id===\"headlessui-portal-root\"?!1:d.contains(L.current)&&d instanceof HTMLElement))!=null?c:null},[L]);z(se,ie);let pe=(()=>x?!0:S)(),de=K(()=>{var t,c;return(c=Array.from((t=g==null?void 0:g.querySelectorAll(\"[data-headlessui-portal]\"))!=null?t:[]).find(d=>d.contains(L.current)&&d instanceof HTMLElement))!=null?c:null},[L]);z(de,pe);let ue=(()=>!(!S||x))();_e(w,t=>{t.preventDefault(),P()},ue);let fe=(()=>!(x||p!==0))();ve(g==null?void 0:g.defaultView,\"keydown\",t=>{fe&&(t.defaultPrevented||t.key===Ie.Escape&&(t.preventDefault(),t.stopPropagation(),P()))});let ge=(()=>!(J||p!==0||j))();Be(g,ge,w),H(()=>{if(p!==0||!D.current)return;let t=new ResizeObserver(c=>{for(let d of c){let F=d.target.getBoundingClientRect();F.x===0&&F.y===0&&F.width===0&&F.height===0&&P()}});return t.observe(D.current),()=>t.disconnect()},[p,D,P]);let[Te,ce]=ke(),De=y(()=>[{dialogState:p,close:P,setTitleId:Y},h],[p,h,P,Y]),X=y(()=>({open:p===0}),[p]),me={ref:ee,id:i,role:a,\"aria-modal\":p===0?!0:void 0,\"aria-labelledby\":h.titleId,\"aria-describedby\":Te};return u.createElement(xe,{type:\"Dialog\",enabled:p===0,element:D,onUpdate:R((t,c)=>{c===\"Dialog\"&&N(t,{[Q.Add]:()=>f(d=>d+1),[Q.Remove]:()=>f(d=>d-1)})})},u.createElement(G,{force:!0},u.createElement(B,null,u.createElement(I.Provider,{value:De},u.createElement(B.Group,{target:D},u.createElement(G,{force:!1},u.createElement(ce,{slot:X,name:\"Dialog.Description\"},u.createElement(A,{initialFocus:s,containers:w,features:S?N(ae,{parent:A.features.RestoreFocus,leaf:A.features.All&~A.features.FocusLock}):A.features.None},u.createElement(re,null,O({ourProps:me,theirProps:m,slot:X,defaultTag:Ne,features:Ue,visible:p===0,name:\"Dialog\"}))))))))),u.createElement(le,null))}let $e=\"div\";function Ye(o,e){let r=C(),{id:i=`headlessui-dialog-overlay-${r}`,...n}=o,[{dialogState:l,close:s}]=b(\"Dialog.Overlay\"),a=v(e),T=R(f=>{if(f.target===f.currentTarget){if(Le(f.currentTarget))return f.preventDefault();f.preventDefault(),f.stopPropagation(),s()}}),m=y(()=>({open:l===0}),[l]);return O({ourProps:{ref:a,id:i,\"aria-hidden\":!0,onClick:T},theirProps:n,slot:m,defaultTag:$e,name:\"Dialog.Overlay\"})}let je=\"div\";function Je(o,e){let r=C(),{id:i=`headlessui-dialog-backdrop-${r}`,...n}=o,[{dialogState:l},s]=b(\"Dialog.Backdrop\"),a=v(e);H(()=>{if(s.panelRef.current===null)throw new Error(\"A component is being used, but a component is missing.\")},[s.panelRef]);let T=y(()=>({open:l===0}),[l]);return u.createElement(G,{force:!0},u.createElement(B,null,O({ourProps:{ref:a,id:i,\"aria-hidden\":!0},theirProps:n,slot:T,defaultTag:je,name:\"Dialog.Backdrop\"})))}let Xe=\"div\";function Ke(o,e){let r=C(),{id:i=`headlessui-dialog-panel-${r}`,...n}=o,[{dialogState:l},s]=b(\"Dialog.Panel\"),a=v(e,s.panelRef),T=y(()=>({open:l===0}),[l]),m=R(f=>{f.stopPropagation()});return O({ourProps:{ref:a,id:i,onClick:m},theirProps:n,slot:T,defaultTag:Xe,name:\"Dialog.Panel\"})}let Ve=\"h2\";function qe(o,e){let r=C(),{id:i=`headlessui-dialog-title-${r}`,...n}=o,[{dialogState:l,setTitleId:s}]=b(\"Dialog.Title\"),a=v(e);H(()=>(s(i),()=>s(null)),[i,s]);let T=y(()=>({open:l===0}),[l]);return O({ourProps:{ref:a,id:i},theirProps:n,slot:T,defaultTag:Ve,name:\"Dialog.Title\"})}let ze=_(We),Qe=_(Je),Ze=_(Ke),et=_(Ye),tt=_(qe),_t=Object.assign(ze,{Backdrop:Qe,Panel:Ze,Overlay:et,Title:tt,Description:Fe});export{_t as Dialog};\n","var _style, _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgRelutionLogo = function SvgRelutionLogo(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 481.9 74.2\"\n }, props), _style || (_style = /*#__PURE__*/React.createElement(\"style\", null, \".relution-logo_svg__st0{fill:#3d3c37}\")), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"relution-logo_svg__st0\",\n d: \"M256.7 0h-13v11.9h13V0zm-12.9 20.1h12.7v52.7h-12.7V20.1zm132.4 52.7V39.4c0-12-2-20.6-17.2-20.6-6 0-11.9 2.2-17.7 5.5v-4.2h-12v52.7h12.5v-40c5.7-2.2 10.5-3.6 14.2-3.6 6.2 0 7.6 2.6 7.6 10.2v33.4h12.6zm-71.4-29.6c0-10.1-3.5-13.9-11.8-13.9s-11.8 3.7-11.8 13.9v6.5c0 10.1 3.5 14 11.8 14s11.8-3.8 11.8-14v-6.5zm-11.7 31c-15.7 0-24.3-7.9-24.3-24.5v-6.5c0-16.6 8.6-24.4 24.3-24.4s24.3 7.9 24.3 24.4v6.5c0 16.7-8.6 24.5-24.3 24.5m-59.5-1.5v-8.4c-1.5.2-5.4.4-8.1.4-4.6 0-5-.9-5-5.8V30.1h13.1v-9.9h-13.1V6.7h-12.6V59c0 11 4.2 15.2 14.8 15.2 3.7 0 7.3-.5 10.9-1.5m-50.7.1v-4.2c-6.4 3.4-12.4 5.6-18.6 5.6-14.1 0-16.2-9.7-16.2-20.6V20.1h12.5v33.5c0 7.5 1.4 10.2 7.8 10.2 3.6 0 8.3-1.4 14.1-3.6V20.1H195v52.7h-12.1zM96.6 42.3H73.3v-.8c0-6 1.5-12.7 11.7-12.7 10.4 0 11.7 6.6 11.7 12.7v.8zm12.6 8v-4.1c0-16-6.3-27.4-24.3-27.4-16.1 0-24.3 8.6-24.3 26.3v3.3c0 18.5 6.9 25.8 26.3 25.8 6.7 0 13.4-.7 20-2.2v-9.3c-7.1.7-13.8 1.2-19.4 1.2-13.2 0-14.3-5-14.3-12.6v-.9l36-.1zM38.1 24.7c0-10.7-7.6-10.9-25.1-10.9v22.8c2.5.1 4.9.1 7.4.1 12.2 0 17.7-2.5 17.7-11.5v-.5zm.8 19.8 16.7 28.4H41.5L25.8 47.1c-1.9.1-4 .1-6.2.1H13v25.7H0V3.3c6.3-.3 12.7-.5 19.9-.5 17.1 0 31.3 3.4 31.3 21.7v.7c0 10.6-4.7 16.1-12.3 19.3m95-44.4h-12.6v72.7h12.6V.1z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M449 48.3v24.5h32.8V40.2h-23.4c-5.7 0-9.4 2.2-9.4 8.1\",\n style: {\n fill: \"#706f68\"\n }\n }), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"relution-logo_svg__st0\",\n d: \"M449 48.3v24.5h32.8l-23.1-32.7h-.3c-5.7 0-9.4 2.3-9.4 8.2\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M445.8 21.6h36.1V0h-51.4c1.9 2.6 15.3 21.6 15.3 21.6\",\n style: {\n fill: \"#a0b100\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M430.5 29.3c0-4.3 3.5-7.7 7.8-7.7h7.5L430.5 0v29.3z\",\n style: {\n fill: \"#717f04\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M409.3 18.9v54h21.2V0h-2.2c-11.1 0-19 7.7-19 18.9\",\n style: {\n fill: \"#bccf00\"\n }\n }));\n};\nexport { SvgRelutionLogo as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MS45IDc0LjIiPgogIDxzdHlsZT4KICAgIC5zdDB7ZmlsbDojM2QzYzM3fQogIDwvc3R5bGU+CiAgPHBhdGggY2xhc3M9InN0MCIgZD0iTTI1Ni43IDBoLTEzdjExLjloMTNWMHptLTEyLjkgMjAuMWgxMi43djUyLjdoLTEyLjdWMjAuMXptMTMyLjQgNTIuN1YzOS40YzAtMTItMi0yMC42LTE3LjItMjAuNi02IDAtMTEuOSAyLjItMTcuNyA1LjV2LTQuMmgtMTJ2NTIuN2gxMi41di00MGM1LjctMi4yIDEwLjUtMy42IDE0LjItMy42IDYuMiAwIDcuNiAyLjYgNy42IDEwLjJ2MzMuNGgxMi42em0tNzEuNC0yOS42YzAtMTAuMS0zLjUtMTMuOS0xMS44LTEzLjlzLTExLjggMy43LTExLjggMTMuOXY2LjVjMCAxMC4xIDMuNSAxNCAxMS44IDE0czExLjgtMy44IDExLjgtMTR2LTYuNXptLTExLjcgMzFjLTE1LjcgMC0yNC4zLTcuOS0yNC4zLTI0LjV2LTYuNWMwLTE2LjYgOC42LTI0LjQgMjQuMy0yNC40czI0LjMgNy45IDI0LjMgMjQuNHY2LjVjMCAxNi43LTguNiAyNC41LTI0LjMgMjQuNW0tNTkuNS0xLjV2LTguNGMtMS41LjItNS40LjQtOC4xLjQtNC42IDAtNS0uOS01LTUuOFYzMC4xaDEzLjF2LTkuOWgtMTMuMVY2LjdoLTEyLjZWNTljMCAxMSA0LjIgMTUuMiAxNC44IDE1LjIgMy43IDAgNy4zLS41IDEwLjktMS41bS01MC43LjF2LTQuMmMtNi40IDMuNC0xMi40IDUuNi0xOC42IDUuNi0xNC4xIDAtMTYuMi05LjctMTYuMi0yMC42VjIwLjFoMTIuNXYzMy41YzAgNy41IDEuNCAxMC4yIDcuOCAxMC4yIDMuNiAwIDguMy0xLjQgMTQuMS0zLjZWMjAuMUgxOTV2NTIuN2gtMTIuMXpNOTYuNiA0Mi4zSDczLjN2LS44YzAtNiAxLjUtMTIuNyAxMS43LTEyLjcgMTAuNCAwIDExLjcgNi42IDExLjcgMTIuN3YuOHptMTIuNiA4di00LjFjMC0xNi02LjMtMjcuNC0yNC4zLTI3LjQtMTYuMSAwLTI0LjMgOC42LTI0LjMgMjYuM3YzLjNjMCAxOC41IDYuOSAyNS44IDI2LjMgMjUuOCA2LjcgMCAxMy40LS43IDIwLTIuMnYtOS4zYy03LjEuNy0xMy44IDEuMi0xOS40IDEuMi0xMy4yIDAtMTQuMy01LTE0LjMtMTIuNnYtLjlsMzYtLjF6TTM4LjEgMjQuN2MwLTEwLjctNy42LTEwLjktMjUuMS0xMC45djIyLjhjMi41LjEgNC45LjEgNy40LjEgMTIuMiAwIDE3LjctMi41IDE3LjctMTEuNXYtLjV6bS44IDE5LjggMTYuNyAyOC40SDQxLjVMMjUuOCA0Ny4xYy0xLjkuMS00IC4xLTYuMi4xSDEzdjI1LjdIMFYzLjNjNi4zLS4zIDEyLjctLjUgMTkuOS0uNSAxNy4xIDAgMzEuMyAzLjQgMzEuMyAyMS43di43YzAgMTAuNi00LjcgMTYuMS0xMi4zIDE5LjNtOTUtNDQuNGgtMTIuNnY3Mi43aDEyLjZWLjF6Ii8+CiAgPHBhdGggZD0iTTQ0OSA0OC4zdjI0LjVoMzIuOFY0MC4yaC0yMy40Yy01LjcgMC05LjQgMi4yLTkuNCA4LjEiIHN0eWxlPSJmaWxsOiM3MDZmNjgiLz4KICA8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNDQ5IDQ4LjN2MjQuNWgzMi44bC0yMy4xLTMyLjdoLS4zYy01LjcgMC05LjQgMi4zLTkuNCA4LjIiLz4KICA8cGF0aCBkPSJNNDQ1LjggMjEuNmgzNi4xVjBoLTUxLjRjMS45IDIuNiAxNS4zIDIxLjYgMTUuMyAyMS42IiBzdHlsZT0iZmlsbDojYTBiMTAwIi8+CiAgPHBhdGggZD0iTTQzMC41IDI5LjNjMC00LjMgMy41LTcuNyA3LjgtNy43aDcuNUw0MzAuNSAwdjI5LjN6IiBzdHlsZT0iZmlsbDojNzE3ZjA0Ii8+CiAgPHBhdGggZD0iTTQwOS4zIDE4Ljl2NTRoMjEuMlYwaC0yLjJjLTExLjEgMC0xOSA3LjctMTkgMTguOSIgc3R5bGU9ImZpbGw6I2JjY2YwMCIvPgo8L3N2Zz4=\";","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-7 3c1.93 0 3.5 1.57 3.5 3.5S13.93 13 12 13s-3.5-1.57-3.5-3.5S10.07 6 12 6m7 13H5v-.23c0-.62.28-1.2.76-1.58C7.47 15.82 9.64 15 12 15s4.53.82 6.24 2.19c.48.38.76.97.76 1.58z\"\n}), 'AccountBox');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M3 18h18v-2H3zm0-5h18v-2H3zm0-7v2h18V6z\"\n}), 'Menu');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"m12 8-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z\"\n}), 'ExpandLess');","import G,{createContext as X,createRef as N,Fragment as H,useContext as $,useEffect as q,useMemo as v,useReducer as z,useRef as K}from\"react\";import{useDisposables as j}from'../../hooks/use-disposables.js';import{useEvent as d}from'../../hooks/use-event.js';import{useId as O}from'../../hooks/use-id.js';import{useIsoMorphicEffect as L}from'../../hooks/use-iso-morphic-effect.js';import{useOutsideClick as Y}from'../../hooks/use-outside-click.js';import{useOwnerDocument as Z}from'../../hooks/use-owner.js';import{useResolveButtonType as ee}from'../../hooks/use-resolve-button-type.js';import{useSyncRefs as h}from'../../hooks/use-sync-refs.js';import{useTextValue as te}from'../../hooks/use-text-value.js';import{useTrackedPointer as ne}from'../../hooks/use-tracked-pointer.js';import{useTreeWalker as re}from'../../hooks/use-tree-walker.js';import{OpenClosedProvider as oe,State as D,useOpenClosed as ae}from'../../internal/open-closed.js';import{isDisabledReactIssue7711 as ie}from'../../utils/bugs.js';import{calculateActiveIndex as se,Focus as y}from'../../utils/calculate-active-index.js';import{disposables as k}from'../../utils/disposables.js';import{Focus as Q,FocusableMode as ue,focusFrom as le,isFocusableElement as pe,restoreFocusIfNecessary as W,sortByDomNode as ce}from'../../utils/focus-management.js';import{match as V}from'../../utils/match.js';import{Features as J,forwardRefWithAs as F,render as _}from'../../utils/render.js';import{Keys as c}from'../keyboard.js';var me=(r=>(r[r.Open=0]=\"Open\",r[r.Closed=1]=\"Closed\",r))(me||{}),de=(r=>(r[r.Pointer=0]=\"Pointer\",r[r.Other=1]=\"Other\",r))(de||{}),fe=(a=>(a[a.OpenMenu=0]=\"OpenMenu\",a[a.CloseMenu=1]=\"CloseMenu\",a[a.GoToItem=2]=\"GoToItem\",a[a.Search=3]=\"Search\",a[a.ClearSearch=4]=\"ClearSearch\",a[a.RegisterItem=5]=\"RegisterItem\",a[a.UnregisterItem=6]=\"UnregisterItem\",a))(fe||{});function w(e,u=r=>r){let r=e.activeItemIndex!==null?e.items[e.activeItemIndex]:null,s=ce(u(e.items.slice()),t=>t.dataRef.current.domRef.current),i=r?s.indexOf(r):null;return i===-1&&(i=null),{items:s,activeItemIndex:i}}let Te={[1](e){return e.menuState===1?e:{...e,activeItemIndex:null,menuState:1}},[0](e){return e.menuState===0?e:{...e,__demoMode:!1,menuState:0}},[2]:(e,u)=>{var i;let r=w(e),s=se(u,{resolveItems:()=>r.items,resolveActiveIndex:()=>r.activeItemIndex,resolveId:t=>t.id,resolveDisabled:t=>t.dataRef.current.disabled});return{...e,...r,searchQuery:\"\",activeItemIndex:s,activationTrigger:(i=u.trigger)!=null?i:1}},[3]:(e,u)=>{let s=e.searchQuery!==\"\"?0:1,i=e.searchQuery+u.value.toLowerCase(),o=(e.activeItemIndex!==null?e.items.slice(e.activeItemIndex+s).concat(e.items.slice(0,e.activeItemIndex+s)):e.items).find(l=>{var m;return((m=l.dataRef.current.textValue)==null?void 0:m.startsWith(i))&&!l.dataRef.current.disabled}),a=o?e.items.indexOf(o):-1;return a===-1||a===e.activeItemIndex?{...e,searchQuery:i}:{...e,searchQuery:i,activeItemIndex:a,activationTrigger:1}},[4](e){return e.searchQuery===\"\"?e:{...e,searchQuery:\"\",searchActiveItemIndex:null}},[5]:(e,u)=>{let r=w(e,s=>[...s,{id:u.id,dataRef:u.dataRef}]);return{...e,...r}},[6]:(e,u)=>{let r=w(e,s=>{let i=s.findIndex(t=>t.id===u.id);return i!==-1&&s.splice(i,1),s});return{...e,...r,activationTrigger:1}}},U=X(null);U.displayName=\"MenuContext\";function C(e){let u=$(U);if(u===null){let r=new Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,C),r}return u}function ye(e,u){return V(u.type,Te,e,u)}let Ie=H;function Me(e,u){let{__demoMode:r=!1,...s}=e,i=z(ye,{__demoMode:r,menuState:r?0:1,buttonRef:N(),itemsRef:N(),items:[],searchQuery:\"\",activeItemIndex:null,activationTrigger:1}),[{menuState:t,itemsRef:o,buttonRef:a},l]=i,m=h(u);Y([a,o],(g,R)=>{var p;l({type:1}),pe(R,ue.Loose)||(g.preventDefault(),(p=a.current)==null||p.focus())},t===0);let I=d(()=>{l({type:1})}),A=v(()=>({open:t===0,close:I}),[t,I]),f={ref:m};return G.createElement(U.Provider,{value:i},G.createElement(oe,{value:V(t,{[0]:D.Open,[1]:D.Closed})},_({ourProps:f,theirProps:s,slot:A,defaultTag:Ie,name:\"Menu\"})))}let ge=\"button\";function Re(e,u){var R;let r=O(),{id:s=`headlessui-menu-button-${r}`,...i}=e,[t,o]=C(\"Menu.Button\"),a=h(t.buttonRef,u),l=j(),m=d(p=>{switch(p.key){case c.Space:case c.Enter:case c.ArrowDown:p.preventDefault(),p.stopPropagation(),o({type:0}),l.nextFrame(()=>o({type:2,focus:y.First}));break;case c.ArrowUp:p.preventDefault(),p.stopPropagation(),o({type:0}),l.nextFrame(()=>o({type:2,focus:y.Last}));break}}),I=d(p=>{switch(p.key){case c.Space:p.preventDefault();break}}),A=d(p=>{if(ie(p.currentTarget))return p.preventDefault();e.disabled||(t.menuState===0?(o({type:1}),l.nextFrame(()=>{var M;return(M=t.buttonRef.current)==null?void 0:M.focus({preventScroll:!0})})):(p.preventDefault(),o({type:0})))}),f=v(()=>({open:t.menuState===0}),[t]),g={ref:a,id:s,type:ee(e,t.buttonRef),\"aria-haspopup\":\"menu\",\"aria-controls\":(R=t.itemsRef.current)==null?void 0:R.id,\"aria-expanded\":t.menuState===0,onKeyDown:m,onKeyUp:I,onClick:A};return _({ourProps:g,theirProps:i,slot:f,defaultTag:ge,name:\"Menu.Button\"})}let Ae=\"div\",be=J.RenderStrategy|J.Static;function Ee(e,u){var M,b;let r=O(),{id:s=`headlessui-menu-items-${r}`,...i}=e,[t,o]=C(\"Menu.Items\"),a=h(t.itemsRef,u),l=Z(t.itemsRef),m=j(),I=ae(),A=(()=>I!==null?(I&D.Open)===D.Open:t.menuState===0)();q(()=>{let n=t.itemsRef.current;n&&t.menuState===0&&n!==(l==null?void 0:l.activeElement)&&n.focus({preventScroll:!0})},[t.menuState,t.itemsRef,l]),re({container:t.itemsRef.current,enabled:t.menuState===0,accept(n){return n.getAttribute(\"role\")===\"menuitem\"?NodeFilter.FILTER_REJECT:n.hasAttribute(\"role\")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(n){n.setAttribute(\"role\",\"none\")}});let f=d(n=>{var E,x;switch(m.dispose(),n.key){case c.Space:if(t.searchQuery!==\"\")return n.preventDefault(),n.stopPropagation(),o({type:3,value:n.key});case c.Enter:if(n.preventDefault(),n.stopPropagation(),o({type:1}),t.activeItemIndex!==null){let{dataRef:S}=t.items[t.activeItemIndex];(x=(E=S.current)==null?void 0:E.domRef.current)==null||x.click()}W(t.buttonRef.current);break;case c.ArrowDown:return n.preventDefault(),n.stopPropagation(),o({type:2,focus:y.Next});case c.ArrowUp:return n.preventDefault(),n.stopPropagation(),o({type:2,focus:y.Previous});case c.Home:case c.PageUp:return n.preventDefault(),n.stopPropagation(),o({type:2,focus:y.First});case c.End:case c.PageDown:return n.preventDefault(),n.stopPropagation(),o({type:2,focus:y.Last});case c.Escape:n.preventDefault(),n.stopPropagation(),o({type:1}),k().nextFrame(()=>{var S;return(S=t.buttonRef.current)==null?void 0:S.focus({preventScroll:!0})});break;case c.Tab:n.preventDefault(),n.stopPropagation(),o({type:1}),k().nextFrame(()=>{le(t.buttonRef.current,n.shiftKey?Q.Previous:Q.Next)});break;default:n.key.length===1&&(o({type:3,value:n.key}),m.setTimeout(()=>o({type:4}),350));break}}),g=d(n=>{switch(n.key){case c.Space:n.preventDefault();break}}),R=v(()=>({open:t.menuState===0}),[t]),p={\"aria-activedescendant\":t.activeItemIndex===null||(M=t.items[t.activeItemIndex])==null?void 0:M.id,\"aria-labelledby\":(b=t.buttonRef.current)==null?void 0:b.id,id:s,onKeyDown:f,onKeyUp:g,role:\"menu\",tabIndex:0,ref:a};return _({ourProps:p,theirProps:i,slot:R,defaultTag:Ae,features:be,visible:A,name:\"Menu.Items\"})}let Se=H;function xe(e,u){let r=O(),{id:s=`headlessui-menu-item-${r}`,disabled:i=!1,...t}=e,[o,a]=C(\"Menu.Item\"),l=o.activeItemIndex!==null?o.items[o.activeItemIndex].id===s:!1,m=K(null),I=h(u,m);L(()=>{if(o.__demoMode||o.menuState!==0||!l||o.activationTrigger===0)return;let T=k();return T.requestAnimationFrame(()=>{var P,B;(B=(P=m.current)==null?void 0:P.scrollIntoView)==null||B.call(P,{block:\"nearest\"})}),T.dispose},[o.__demoMode,m,l,o.menuState,o.activationTrigger,o.activeItemIndex]);let A=te(m),f=K({disabled:i,domRef:m,get textValue(){return A()}});L(()=>{f.current.disabled=i},[f,i]),L(()=>(a({type:5,id:s,dataRef:f}),()=>a({type:6,id:s})),[f,s]);let g=d(()=>{a({type:1})}),R=d(T=>{if(i)return T.preventDefault();a({type:1}),W(o.buttonRef.current)}),p=d(()=>{if(i)return a({type:2,focus:y.Nothing});a({type:2,focus:y.Specific,id:s})}),M=ne(),b=d(T=>M.update(T)),n=d(T=>{M.wasMoved(T)&&(i||l||a({type:2,focus:y.Specific,id:s,trigger:0}))}),E=d(T=>{M.wasMoved(T)&&(i||l&&a({type:2,focus:y.Nothing}))}),x=v(()=>({active:l,disabled:i,close:g}),[l,i,g]);return _({ourProps:{id:s,ref:I,role:\"menuitem\",tabIndex:i===!0?void 0:-1,\"aria-disabled\":i===!0?!0:void 0,disabled:void 0,onClick:R,onFocus:p,onPointerEnter:b,onMouseEnter:b,onPointerMove:n,onMouseMove:n,onPointerLeave:E,onMouseLeave:E},theirProps:t,slot:x,defaultTag:Se,name:\"Menu.Item\"})}let Pe=F(Me),ve=F(Re),he=F(Ee),De=F(xe),qe=Object.assign(Pe,{Button:ve,Items:he,Item:De});export{qe as Menu};\n","import{useEffect as m,useRef as E}from\"react\";import{getOwnerDocument as T}from'../utils/owner.js';import{useIsoMorphicEffect as N}from'./use-iso-morphic-effect.js';function F({container:e,accept:t,walk:r,enabled:c=!0}){let o=E(t),l=E(r);m(()=>{o.current=t,l.current=r},[t,r]),N(()=>{if(!e||!c)return;let n=T(e);if(!n)return;let f=o.current,p=l.current,d=Object.assign(i=>f(i),{acceptNode:f}),u=n.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,d,!1);for(;u.nextNode();)p(u.currentNode)},[e,c,o,l])}export{F as useTreeWalker};\n","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2m6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56M12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96M4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56m2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8M12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96M14.34 14H9.66c-.09-.66-.16-1.32-.16-2s.07-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2m.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2z\"\n}), 'Language');","import React, { Fragment } from 'react'\nimport PropTypes from 'prop-types'\nimport { useStaticQuery, graphql, navigate } from 'gatsby'\nimport { Menu, Transition } from '@headlessui/react'\nimport { useI18next } from 'gatsby-plugin-react-i18next'\n\nimport LanguageIcon from '@mui/icons-material/Language'\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore'\nimport { cn } from '../../helper'\n\nconst LanguageSelect = ({ localizations = [], activeLocales = [] }) => {\n const { language } = useI18next()\n const data = useStaticQuery(graphql`\n query {\n site {\n siteMetadata {\n languageFallback\n languages {\n code\n hrefLang\n name\n localName\n langDir\n dateFormat\n }\n }\n }\n }\n `)\n\n const languages = data.site.siteMetadata.languages || []\n const activeLanguages = languages.filter((language) =>\n activeLocales.includes(language.code),\n )\n const languageFallback = data.site.siteMetadata.languageFallback || []\n\n const gotoLanguage = (code) => {\n if (currentLanguage.code === code) {\n return\n }\n let localization = localizations.find(\n (localization) => localization.locale === code,\n )\n if (!localization) {\n const fallbackLocalizationCode = languageFallback.find((code) => {\n const localization = localizations.find(({ locale }) => {\n return code === locale\n })\n return localization\n })\n if (fallbackLocalizationCode) {\n localization = localizations.find(\n ({ locale }) => locale === fallbackLocalizationCode,\n )\n }\n }\n\n if (localization) {\n // NOTE: In order to use the correct SSR lang attribute, a real reload is\n // required after a language change. Otherwise (e.g. for Turkish) the correct\n // characters are not displayed, because React Helmet changes the lang too late.\n // @see gatsby-ssr.js and seo.jsx\n window.location.assign(localization.route)\n }\n }\n\n const currentLanguage =\n activeLanguages.find((lang) => lang.code === language) || {}\n\n return (\n \n
\n \n \n \n \n \n {currentLanguage.localName}\n \n {currentLanguage.code}\n \n \n \n \n \n \n
\n\n \n \n
\n {activeLanguages.map(({ code, localName }) => (\n \n {() => (\n {\n e.preventDefault()\n gotoLanguage(code)\n }}\n className={cn(\n language === code\n ? 'bg-gray-100 text-gray-900'\n : 'text-gray-700',\n 'group flex items-center w-full px-4 py-2 text-14 font-bold uppercase',\n )}\n >\n {localName}\n \n )}\n \n ))}\n
\n
\n \n
\n )\n}\n\nLanguageSelect.propTypes = {\n activeLocales: PropTypes.array,\n localizations: PropTypes.array,\n}\n\nexport default LanguageSelect\n","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"\n}), 'ChevronRight');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 13H5v-2h14z\"\n}), 'Remove');","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { uid } from 'react-uid'\nimport { Disclosure } from '@headlessui/react'\nimport AddIcon from '@mui/icons-material/Add'\nimport RemoveIcon from '@mui/icons-material/Remove'\nimport ChevronRightIcon from '@mui/icons-material/ChevronRight'\nimport { cn } from '../../helper'\n\nconst GlobalNavCollapseSub = ({ item = {}, defaultOpen = false }) => {\n // Third level nav\n const { title, items } = item\n\n const ParentPageLink = item.Link ? item.Link : 'div'\n\n return (\n \n {({ open }) => (\n <>\n
\n \n \n {title}\n \n \n \n \n
\n {open ? : }\n
\n \n
\n {items.length && (\n \n
    \n {items.map((subItem) => (\n
  • \n {subItem.Link ? (\n \n {subItem.title}\n \n ) : (\n
    \n {subItem.title}\n
    \n )}\n
  • \n ))}\n
\n
\n )}\n \n )}\n
\n )\n}\n\nGlobalNavCollapseSub.propTypes = {\n title: PropTypes.string,\n items: PropTypes.array,\n}\n\nexport default GlobalNavCollapseSub\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { uid } from 'react-uid'\nimport { Disclosure } from '@headlessui/react'\nimport AddIcon from '@mui/icons-material/Add'\nimport RemoveIcon from '@mui/icons-material/Remove'\nimport ChevronRightIcon from '@mui/icons-material/ChevronRight'\n\nimport { cn } from '../../helper'\nimport GlobalNavCollapseSub from './GlobalNavCollapseSub'\n\nconst GlobalNavCollapse = ({\n title,\n items = [],\n defaultOpen = false,\n location,\n}) => {\n const activeSubItem =\n defaultOpen && items.find((item) => item.page?.route === location.pathname)\n\n // Second level nav\n return (\n \n {({ open }) => (\n <>\n \n \n {title}\n \n \n {open ? : }\n \n \n {items.length && (\n \n
    \n {items.map((subItem) => (\n
  • \n {subItem.items && subItem.items.length ? (\n \n ) : subItem.Link ? (\n \n {subItem.title}\n \n \n ) : (\n
    \n {subItem.title}\n
    \n )}\n
  • \n ))}\n
\n
\n )}\n \n )}\n
\n )\n}\n\nGlobalNavCollapse.propTypes = {\n title: PropTypes.string,\n items: PropTypes.array,\n location: PropTypes.object,\n defaultOpen: PropTypes.bool,\n}\n\nexport default GlobalNavCollapse\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { uid } from 'react-uid'\nimport AccountBoxIcon from '@mui/icons-material/AccountBox'\nimport ChevronRightIcon from '@mui/icons-material/ChevronRight'\n\nimport Button from './Button'\nimport LanguageSelect from './LanguageSelect'\nimport GlobalNavCollapse from './GlobalNavCollapse'\n\nconst GlobalNavPopover = ({\n localizations = [],\n linkTextContact,\n LinkContact,\n linkTextDemo,\n LinkDemo,\n linkTextLogin,\n LinkLogin,\n navigation,\n activeLocales = [],\n location,\n}) => {\n // Find the current second level item for the current page\n let activeFirstLevelItem\n if (location) {\n navigation?.items?.forEach((item) => {\n item.items?.forEach((subItem, index) => {\n const active = subItem.page?.route === location.pathname\n if (active) {\n activeFirstLevelItem = item\n }\n })\n })\n }\n return (\n
\n
\n {navigation && navigation.items && navigation.items.length && (\n
\n
    \n {navigation.items.map((mainItem) => (\n
  • \n
    \n {mainItem.items && mainItem.items.length ? (\n // First level with subnav\n \n ) : (\n mainItem.Link && (\n // First level without subnav\n \n \n {mainItem.title}\n \n \n \n )\n )}\n
    \n
  • \n ))}\n
\n
\n )}\n
\n
\n
    \n {LinkDemo && linkTextDemo && (\n
  • \n \n {linkTextDemo}\n \n
  • \n )}\n {LinkContact && linkTextContact && (\n
  • \n \n {linkTextContact}\n \n
  • \n )}\n {LinkLogin && linkTextLogin && (\n
  • \n \n {linkTextLogin}\n \n
  • \n )}\n
  • \n \n
  • \n
\n
\n
\n
\n
\n )\n}\n\nGlobalNavPopover.propTypes = {\n linkTextContact: PropTypes.string,\n LinkContact: PropTypes.func,\n linkTextDemo: PropTypes.string,\n LinkDemo: PropTypes.func,\n linkTextLogin: PropTypes.string,\n LinkLogin: PropTypes.func,\n navigation: PropTypes.object,\n localizations: PropTypes.array,\n activeLocales: PropTypes.array,\n location: PropTypes.object,\n}\n\nexport default GlobalNavPopover\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { uid } from 'react-uid'\n\nconst GlobalNavSubPopover = ({ image, title, items = [], Link }) => (\n <>\n
\n {Link && image && (\n \n \n \n )}\n {Link && title && (\n {title}\n )}\n {items.length > 0 && (\n
    \n {items.map((subItem) => (\n
  • \n {subItem.Link ? (\n \n {subItem.title}\n \n ) : (\n
    {subItem.title}
    \n )}\n
  • \n ))}\n
\n )}\n
\n \n)\n\nGlobalNavSubPopover.propTypes = {\n image: PropTypes.any,\n Link: PropTypes.any,\n title: PropTypes.string,\n items: PropTypes.array,\n}\n\nexport default GlobalNavSubPopover\n","import React, { Fragment, useCallback, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { uid } from 'react-uid'\nimport { Dialog, Popover, Transition } from '@headlessui/react'\nimport AccountBoxIcon from '@mui/icons-material/AccountBox'\nimport MenuIcon from '@mui/icons-material/Menu'\nimport CloseIcon from '@mui/icons-material/Close'\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore'\nimport ExpandLessIcon from '@mui/icons-material/ExpandLess'\n\nimport { cn } from '../../helper'\nimport { ReactComponent as RelutionLogo } from '../../images/relution-logo.svg'\nimport LanguageSelect from '../base/LanguageSelect'\nimport Button from '../base/Button'\nimport GlobalNavPopover from '../base/GlobalNavPopover'\nimport GlobalNavSubPopover from '../base/GlobalNavSubPopover'\n\nconst PageHeader = ({\n localizations = [],\n linkTextRelution,\n LinkRelution,\n linkTextContact,\n LinkContact,\n linkTextDemo,\n LinkDemo,\n linkTextLogin,\n LinkLogin,\n navigation,\n activeLocales = [],\n location,\n}) => {\n const [burgerMenuOpen, setBurgerMenuOpen] = useState(false)\n\n const closeBurgerMenu = useCallback(() => {\n setBurgerMenuOpen(false)\n }, [setBurgerMenuOpen])\n\n const toggleBurgerMenu = useCallback(() => {\n setBurgerMenuOpen(!burgerMenuOpen)\n }, [setBurgerMenuOpen, burgerMenuOpen])\n\n return (\n <>\n
\n
\n
\n
\n {LinkRelution && (\n \n \n {linkTextRelution && (\n {linkTextRelution}\n )}\n \n )}\n
\n
    \n {LinkContact && linkTextContact && (\n
  • \n \n
  • \n )}\n {LinkDemo && linkTextDemo && (\n
  • \n \n
  • \n )}\n {LinkLogin && linkTextLogin && (\n
  • \n \n {linkTextLogin}\n \n
  • \n )}\n
\n
\n
\n \n {burgerMenuOpen ? (\n <>\n Close menu\n \n \n \n \n ) : (\n <>\n Open menu\n \n \n \n \n )}\n \n
\n {navigation && (\n
\n \n {navigation.items &&\n navigation.items.map((mainItem) =>\n mainItem.items && mainItem.items.length ? (\n \n {({ open }) => (\n <>\n \n {mainItem.title}\n \n {open ? (\n \n ) : (\n \n )}\n \n \n \n \n {mainItem.items &&\n mainItem.items.length && (\n
    \n {mainItem.items.map((subItem) => (\n \n \n \n ))}\n
\n )}\n
\n \n \n )}\n
\n ) : (\n mainItem.Link && (\n \n {mainItem.title}\n \n )\n ),\n )}\n
\n
\n )}\n
\n \n
\n
\n
\n
\n
\n \n \n
\n \n \n \n
\n
\n \n \n )\n}\n\nPageHeader.propTypes = {\n linkTextRelution: PropTypes.string,\n LinkRelution: PropTypes.func,\n linkTextContact: PropTypes.string,\n LinkContact: PropTypes.func,\n linkTextDemo: PropTypes.string,\n LinkDemo: PropTypes.func,\n linkTextLogin: PropTypes.string,\n LinkLogin: PropTypes.func,\n navigation: PropTypes.object,\n localizations: PropTypes.array,\n activeLocales: PropTypes.array,\n}\n\nexport default PageHeader\n","var _defs, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgRelutionSignet = function SvgRelutionSignet(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 23.097 22.905\"\n }, props), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"relution-signet_svg__a\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n d: \"M0 6.648h23.1v-22.905H0Z\",\n transform: \"translate(0 16.257)\"\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#relution-signet_svg__a)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#706f68\",\n d: \"M12.649 15.193v7.712h10.438V12.624h-7.452c-1.819 0-2.986.695-2.986 2.569\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#413e1e\",\n d: \"M12.649 15.193v7.712h10.438l-7.338-10.288a.5.5 0 0 1-.111.007c-1.822 0-2.989.695-2.989 2.569\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#a0b100\",\n d: \"M11.601 6.78h11.5V0H6.754c.595.82 4.847 6.78 4.847 6.78\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#717f04\",\n d: \"M6.753 9.213a2.456 2.456 0 0 1 2.478-2.43h-.007 2.377L6.753 0Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#bccf00\",\n d: \"m0 5.945.011 16.961h6.742V.001h-.706A5.736 5.736 0 0 0 0 5.945\"\n }))));\n};\nexport { SvgRelutionSignet as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMy4wOTcgMjIuOTA1Ij4KICA8ZGVmcz4KICAgIDxjbGlwUGF0aCBpZD0iYSI+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0wIDYuNjQ4aDIzLjF2LTIyLjkwNUgwWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAxNi4yNTcpIi8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBjbGlwLXBhdGg9InVybCgjYSkiPgogICAgPHBhdGggZmlsbD0iIzcwNmY2OCIgZD0iTTEyLjY0OSAxNS4xOTN2Ny43MTJoMTAuNDM4VjEyLjYyNGgtNy40NTJjLTEuODE5IDAtMi45ODYuNjk1LTIuOTg2IDIuNTY5IiAvPgogICAgPHBhdGggZmlsbD0iIzQxM2UxZSIgZD0iTTEyLjY0OSAxNS4xOTN2Ny43MTJoMTAuNDM4bC03LjMzOC0xMC4yODhhLjUuNSAwIDAgMS0uMTExLjAwN2MtMS44MjIgMC0yLjk4OS42OTUtMi45ODkgMi41NjkiIC8+CiAgICA8cGF0aCBmaWxsPSIjYTBiMTAwIiBkPSJNMTEuNjAxIDYuNzhoMTEuNVYwSDYuNzU0Yy41OTUuODIgNC44NDcgNi43OCA0Ljg0NyA2Ljc4IiAvPgogICAgPHBhdGggZmlsbD0iIzcxN2YwNCIgZD0iTTYuNzUzIDkuMjEzYTIuNDU2IDIuNDU2IDAgMCAxIDIuNDc4LTIuNDNoLS4wMDcgMi4zNzdMNi43NTMgMFoiIC8+CiAgICA8cGF0aCBmaWxsPSIjYmNjZjAwIiBkPSJtMCA1Ljk0NS4wMTEgMTYuOTYxaDYuNzQyVi4wMDFoLS43MDZBNS43MzYgNS43MzYgMCAwIDAgMCA1Ljk0NSIgLz4KICA8L2c+Cjwvc3ZnPg==\";","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8z\"\n}), 'ArrowUpward');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2m13 2h-2.5A3.5 3.5 0 0 0 12 8.5V11h-2v3h2v7h3v-7h3v-3h-3V9a1 1 0 0 1 1-1h2V5z\"\n}), 'Facebook');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M7.8 2h8.4C19.4 2 22 4.6 22 7.8v8.4a5.8 5.8 0 0 1-5.8 5.8H7.8C4.6 22 2 19.4 2 16.2V7.8A5.8 5.8 0 0 1 7.8 2m-.2 2A3.6 3.6 0 0 0 4 7.6v8.8C4 18.39 5.61 20 7.6 20h8.8a3.6 3.6 0 0 0 3.6-3.6V7.6C20 5.61 18.39 4 16.4 4H7.6m9.65 1.5a1.25 1.25 0 0 1 1.25 1.25A1.25 1.25 0 0 1 17.25 8 1.25 1.25 0 0 1 16 6.75a1.25 1.25 0 0 1 1.25-1.25M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3z\"\n}), 'Instagram');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.32 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.79M6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37h2.77z\"\n}), 'LinkedIn');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M22.46 6c-.77.35-1.6.58-2.46.69.88-.53 1.56-1.37 1.88-2.38-.83.5-1.75.85-2.72 1.05C18.37 4.5 17.26 4 16 4c-2.35 0-4.27 1.92-4.27 4.29 0 .34.04.67.11.98C8.28 9.09 5.11 7.38 3 4.79c-.37.63-.58 1.37-.58 2.15 0 1.49.75 2.81 1.91 3.56-.71 0-1.37-.2-1.95-.5v.03c0 2.08 1.48 3.82 3.44 4.21a4.22 4.22 0 0 1-1.93.07 4.28 4.28 0 0 0 4 2.98 8.521 8.521 0 0 1-5.33 1.84c-.34 0-.68-.02-1.02-.06C3.44 20.29 5.7 21 8.12 21 16 21 20.33 14.46 20.33 8.79c0-.19 0-.37-.01-.56.84-.6 1.56-1.36 2.14-2.23z\"\n}), 'Twitter');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M10 15l5.19-3L10 9v6m11.56-7.83c.13.47.22 1.1.28 1.9.07.8.1 1.49.1 2.09L22 12c0 2.19-.16 3.8-.44 4.83-.25.9-.83 1.48-1.73 1.73-.47.13-1.33.22-2.65.28-1.3.07-2.49.1-3.59.1L12 19c-4.19 0-6.8-.16-7.83-.44-.9-.25-1.48-.83-1.73-1.73-.13-.47-.22-1.1-.28-1.9-.07-.8-.1-1.49-.1-2.09L2 12c0-2.19.16-3.8.44-4.83.25-.9.83-1.48 1.73-1.73.47-.13 1.33-.22 2.65-.28 1.3-.07 2.49-.1 3.59-.1L12 5c4.19 0 6.8.16 7.83.44.9.25 1.48.83 1.73 1.73z\"\n}), 'YouTube');","import ArrowUpwardIcon from '@mui/icons-material/ArrowUpward'\nimport FacebookIcon from '@mui/icons-material/Facebook'\nimport InstagramIcon from '@mui/icons-material/Instagram'\nimport LinkedInIcon from '@mui/icons-material/LinkedIn'\nimport TwitterIcon from '@mui/icons-material/Twitter'\nimport YoutubeIcon from '@mui/icons-material/YouTube'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { uid } from 'react-uid'\nimport { Link } from 'gatsby'\n\nimport { classNames, scrollToTop } from '../../helper'\nimport { ReactComponent as RelutionLogo } from '../../images/relution-logo.svg'\nimport { ReactComponent as RelutionSignet } from '../../images/relution-signet.svg'\n\nconst socialIcons = {\n twitter: TwitterIcon,\n linkedin: LinkedInIcon,\n instagram: InstagramIcon,\n facebook: FacebookIcon,\n youtube: YoutubeIcon,\n}\n\nconst openCookieSettings = () => {\n if ('URLSearchParams' in window) {\n var searchParams = new URLSearchParams(window.location.search)\n searchParams.set('cmpscreen', undefined)\n var newRelativePathQuery =\n window.location.pathname + '?' + searchParams.toString()\n window.history.pushState(null, '', newRelativePathQuery)\n }\n}\n\nconst PageFooter = ({\n directories = [],\n socialLinks,\n legalLinks,\n copyright,\n linkTextRelution,\n LinkRelution,\n linkTextMway,\n LinkMway,\n linkTextApps,\n LinkApps,\n toTopText,\n privacySettingsText,\n socialLinksTitle,\n}) => {\n const finalSocialLinks = socialLinks\n ? socialLinks.map((item) => ({\n ...item,\n Icon: socialIcons[item.iconName || 'twitter'] || socialIcons['twitter'],\n }))\n : []\n\n return (\n
\n
\n
\n
\n {LinkRelution && (\n \n \n {linkTextRelution && (\n {linkTextRelution}\n )}\n \n )}\n
\n {directories && (\n
\n {directories.map((directory) => (\n \n ))}\n
\n )}\n
\n {LinkApps && (\n \n \n {linkTextApps && {linkTextApps}}\n \n )}\n {finalSocialLinks && (\n
\n {socialLinksTitle && (\n

{socialLinksTitle}

\n )}\n \n
\n )}\n
\n
\n
\n
\n
\n
\n {legalLinks && (\n \n )}\n {(copyright || LinkMway) && (\n \n {copyright && {copyright}}\n

\n )}\n scrollToTop()}\n >\n \n {toTopText && {toTopText}}\n \n
\n
\n
\n
\n )\n}\n\nPageFooter.propTypes = {\n directories: PropTypes.array,\n socialLinks: PropTypes.array,\n legalLinks: PropTypes.array,\n copyright: PropTypes.string,\n linkTextRelution: PropTypes.string,\n LinkRelution: PropTypes.func,\n linkTextMway: PropTypes.string,\n LinkMway: PropTypes.func,\n linkTextApps: PropTypes.string,\n LinkApps: PropTypes.func,\n toTopText: PropTypes.string,\n privacySettingsText: PropTypes.string,\n socialLinksTitle: PropTypes.string,\n}\n\nexport default PageFooter\n","import React from 'react'\nimport { useStaticQuery, graphql } from 'gatsby'\nimport _ from 'lodash'\nimport { buildLink } from '@/utils/react-framework-bridge'\n\nimport { PageBackgroundColors } from '@/constants/enums'\nimport { getLinkProps } from '@/utils/links'\nimport { enhanceStrapiData } from '@/utils/enhanceStrapiData'\nimport PageHeader from './layout/PageHeader'\nimport PageFooter from './layout/PageFooter'\nimport Sections from '@/components/sections'\nimport { cn } from '../helper'\n\n// Export Strapi Fragments that don't belong to a component\nexport { SharedImage } from '../fragments/SharedImage'\nexport { SharedLink } from '../fragments/SharedLink'\n\nconst PageBackgroundClasses = {\n [PageBackgroundColors.white]: 'bg-white',\n [PageBackgroundColors.gray]: 'bg-off-white',\n}\n\nconst parseAnchorJSON = (data, pageUrl = '') => {\n if (!data) return []\n const content = _.get(data, 'internal.content')\n const anchorsJSON = JSON.parse(content)\n // Support object and array syntax:\n // { \"Digitale Bildung\": \"digitale-bildung\" }\n //\n // OR\n //\n // [{\n // \"title\": \"Digitale Bildung\",\n // \"anchor\": \"digitale-bildung\",\n // (Or an external URL)\n // \"url\": \"https://...\",\n // \"target\": \"_blank\"\n // }]\n const anchorsList = Array.isArray(anchorsJSON)\n ? anchorsJSON\n : Object.entries(anchorsJSON).map(([title, anchor]) => ({ title, anchor }))\n const anchors = anchorsList.map((linkProps) => {\n return {\n title: linkProps.title,\n Link: buildLink(getLinkProps({ url: pageUrl, ...linkProps })),\n }\n })\n return anchors\n}\n\nconst enhanceNavigationObject = (item) =>\n enhanceStrapiData({\n ...item,\n title: item.text,\n Link: buildLink(getLinkProps({ ...item })),\n items: item.items\n ? item.items.map((subitem) => {\n const linkProps = getLinkProps({ ...subitem })\n return {\n ...subitem,\n title: subitem.text,\n Link: buildLink(linkProps),\n items: parseAnchorJSON(subitem.anchors, linkProps.href),\n }\n })\n : [],\n })\n\nconst Layout = ({\n children,\n global,\n pageContext,\n backgroundColor,\n location,\n}) => {\n const staticQuery = useStaticQuery(graphql`\n query LayoutQuery {\n allStrapiInternationalization {\n nodes {\n ...SharedInternationalization\n }\n }\n }\n `)\n\n const locales =\n staticQuery.allStrapiInternationalization?.nodes?.[0]?.locales || []\n const activeLocales = [\n ...new Set([\n 'de',\n ...locales\n .filter(\n (locale) => locale.live || process.env.GATSBY_IS_PREVIEW === 'true',\n )\n .map((locale) => locale.code),\n ]),\n ]\n\n const { header = {}, footer = {} } = global || {}\n\n const { linkRelution, linkContact, linkDemo, linkLogin } = header\n\n const linkTextRelution = linkRelution && linkRelution.text\n const LinkRelution = buildLink(getLinkProps({ ...linkRelution }))\n const linkTextContact = linkContact && linkContact.text\n const LinkContact = buildLink(getLinkProps({ ...linkContact }))\n const linkTextDemo = linkDemo && linkDemo.text\n const LinkDemo = buildLink(getLinkProps({ ...linkDemo }))\n const linkTextLogin = linkLogin && linkLogin.text\n const LinkLogin = buildLink(getLinkProps({ ...linkLogin }))\n\n const pageBgClass =\n PageBackgroundClasses[backgroundColor || PageBackgroundColors.white] ||\n PageBackgroundClasses[PageBackgroundColors.white]\n\n const navigation =\n header && header.navigation\n ? {\n items: header.navigation.map((item) => {\n return enhanceStrapiData({\n ...item,\n title: item.text,\n Link: buildLink(getLinkProps({ ...item })),\n items: item.items.map((subitem) => {\n const linkProps = getLinkProps({ ...subitem })\n return {\n ...subitem,\n title: subitem.text,\n Link: buildLink(linkProps),\n items: parseAnchorJSON(subitem.anchors, linkProps.href),\n }\n }),\n })\n }),\n }\n : {}\n\n const footerProps = {\n directories: footer?.directories\n ? footer.directories.map((directory) => ({\n ...enhanceNavigationObject(directory),\n }))\n : [],\n socialLinks: footer?.socialLinks\n ? footer.socialLinks.map((item) => enhanceNavigationObject(item))\n : [],\n legalLinks: footer?.legalLinks\n ? footer.legalLinks.map((item) => enhanceNavigationObject(item))\n : [],\n copyright: footer.copyright,\n linkTextRelution: footer.linkTextRelution,\n LinkRelution: buildLink(getLinkProps({ ...footer.linkRelution })),\n linkTextMway: footer.linkTextMway,\n LinkMway: buildLink(getLinkProps({ ...footer.linkMway })),\n linkTextApps: _.get(footer, 'linkApps.text'),\n LinkApps: buildLink(getLinkProps({ ...footer.linkApps })),\n privacySettingsText: footer.privacySettingsText,\n socialLinksTitle: footer.socialLinksTitle,\n toTopText: footer.toTopText,\n }\n\n return (\n \n {/* Aligned to the top */}\n
\n \n
{children}
\n
\n {/* Aligned to the bottom */}\n
\n {footer.sections && Boolean(footer.sections.length) && (\n \n )}\n \n
\n
\n )\n}\n\nexport default Layout\n\nexport const query = graphql`\n fragment Site on STRAPI_SITE {\n metaTitleSuffix\n seo {\n ...SharedSeo\n }\n }\n fragment Header on STRAPI_HEADER {\n linkRelution {\n ...SharedLink\n }\n linkContact {\n ...SharedLink\n }\n linkDemo {\n ...SharedLink\n }\n linkLogin {\n ...SharedLink\n }\n navigation {\n text\n page {\n id\n strapi_id\n pageId: strapi_id\n route\n }\n items {\n text\n url\n target\n page {\n id\n strapi_id\n pageId: strapi_id\n route\n }\n anchors {\n internal {\n content\n }\n }\n image {\n alt: alternativeText\n width\n height\n localFile {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n }\n }\n }\n fragment Footer on STRAPI_FOOTER {\n copyright\n privacySettingsText\n socialLinksTitle\n toTopText\n linkRelution {\n ...SharedLink\n }\n linkMway {\n ...SharedLink\n }\n linkApps {\n ...SharedLink\n }\n directories {\n text\n page {\n id\n strapi_id\n pageId: strapi_id\n route\n }\n items {\n text\n target\n url\n page {\n id\n strapi_id\n pageId: strapi_id\n route\n }\n anchors {\n internal {\n content\n }\n }\n image {\n alt: alternativeText\n width\n height\n localFile {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n }\n }\n socialLinks {\n url\n title\n iconName\n }\n legalLinks {\n ...SharedLink\n }\n sections {\n ... on STRAPI__COMPONENT_SECTIONS_CONTACT_OPTIONS {\n ...SectionsContactOptions\n }\n }\n }\n`\n","export const sortByRankingAndTitle = (list) => {\n return list && list.length\n ? list.sort((a, b) => {\n // Sort by ranking DESC and title ASC\n // Title is only important if ranking is equal or null/undefined\n const rankingA = a.ranking || 0\n const rankingB = b.ranking || 0\n\n if (rankingA === rankingB) {\n const title = a.title || ''\n return title.localeCompare(b.title)\n }\n return b.ranking - a.ranking\n })\n : []\n}\n","// NOTE: Watch out to safelist all classes in tailwind.config.js\n// Otherwise they might not be available in prodcution.\n\nexport const Space = {\n none: { py: 'py-0', pt: 'pt-0', pb: 'pb-0' },\n small: { py: 'py-5', pt: 'pt-5', pb: 'pb-5' },\n medium: { py: 'py-10', pt: 'pt-10', pb: 'pb-10' },\n large: { py: 'py-15', pt: 'pt-15', pb: 'pb-15' },\n xlarge: { py: 'py-20', pt: 'pt-20', pb: 'pb-20' },\n xxlarge: { py: 'py-24', pt: 'pt-24', pb: 'pb-24' },\n}\n\nexport const defaultSpaceName = 'medium'\n\nconst getSpace = ({ space, type }) => {\n const spaceConfig =\n Space[space || defaultSpaceName] || Space[defaultSpaceName]\n const spaceClass = spaceConfig[type || 'py']\n return spaceClass\n}\n\nexport const py = (space) => {\n return getSpace({ space, type: 'py' })\n}\n\nexport const pt = (space) => {\n return getSpace({ space, type: 'pt' })\n}\n\nexport const pb = (space) => {\n return getSpace({ space, type: 'pb' })\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\n\nimport { cn } from '../../helper'\nimport HeadlineTag from '../base/HeadlineTag'\n\nconst HeadingColumn = ({\n className,\n headlineOrder = 2,\n badgeText,\n overline,\n headline,\n subline,\n}) => (\n
\n {(overline || badgeText || headline) && (\n \n {overline && (\n

\n \n {overline}\n \n

\n )}\n {badgeText && (\n \n \n {badgeText}\n \n \n )}\n {headline && (\n \n \n \n {headline}\n \n \n \n )}\n
\n )}\n {subline && (\n

\n \n {subline}\n \n

\n )}\n
\n)\n\nHeadingColumn.propTypes = {\n headlineOrder: PropTypes.number,\n className: PropTypes.string,\n overline: PropTypes.string,\n badgeText: PropTypes.string,\n headline: PropTypes.string,\n subline: PropTypes.string,\n}\n\nexport default HeadingColumn\n\nexport const query = graphql`\n fragment BlocksHeadingBlock on STRAPI__COMPONENT_BLOCKS_HEADING_BLOCK {\n strapi_component\n id\n badgeText\n headline\n subline\n headlineOrder\n }\n`\n","/**\n * @typedef Options\n * Configuration.\n * @property {boolean | null | undefined} [jsx=false]\n * Support JSX identifiers (default: `false`).\n */\n\nconst startRe = /[$_\\p{ID_Start}]/u\nconst contRe = /[$_\\u{200C}\\u{200D}\\p{ID_Continue}]/u\nconst contReJsx = /[-$_\\u{200C}\\u{200D}\\p{ID_Continue}]/u\nconst nameRe = /^[$_\\p{ID_Start}][$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u\nconst nameReJsx = /^[$_\\p{ID_Start}][-$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Checks if the given code point can start an identifier.\n *\n * @param {number | undefined} code\n * Code point to check.\n * @returns {boolean}\n * Whether `code` can start an identifier.\n */\n// Note: `undefined` is supported so you can pass the result from `''.codePointAt`.\nexport function start(code) {\n return code ? startRe.test(String.fromCodePoint(code)) : false\n}\n\n/**\n * Checks if the given code point can continue an identifier.\n *\n * @param {number | undefined} code\n * Code point to check.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {boolean}\n * Whether `code` can continue an identifier.\n */\n// Note: `undefined` is supported so you can pass the result from `''.codePointAt`.\nexport function cont(code, options) {\n const settings = options || emptyOptions\n const re = settings.jsx ? contReJsx : contRe\n return code ? re.test(String.fromCodePoint(code)) : false\n}\n\n/**\n * Checks if the given value is a valid identifier name.\n *\n * @param {string} name\n * Identifier to check.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {boolean}\n * Whether `name` can be an identifier.\n */\nexport function name(name, options) {\n const settings = options || emptyOptions\n const re = settings.jsx ? nameReJsx : nameRe\n return re.test(name)\n}\n","/**\n * @typedef {import('hast').Nodes} Nodes\n */\n\n// HTML whitespace expression.\n// See .\nconst re = /[ \\t\\n\\f\\r]/g\n\n/**\n * Check if the given value is *inter-element whitespace*.\n *\n * @param {Nodes | string} thing\n * Thing to check (`Node` or `string`).\n * @returns {boolean}\n * Whether the `value` is inter-element whitespace (`boolean`): consisting of\n * zero or more of space, tab (`\\t`), line feed (`\\n`), carriage return\n * (`\\r`), or form feed (`\\f`); if a node is passed it must be a `Text` node,\n * whose `value` field is checked.\n */\nexport function whitespace(thing) {\n return typeof thing === 'object'\n ? thing.type === 'text'\n ? empty(thing.value)\n : false\n : empty(thing)\n}\n\n/**\n * @param {string} value\n * @returns {boolean}\n */\nfunction empty(value) {\n return value.replace(re, '') === ''\n}\n","/**\n * @typedef {import('./info.js').Info} Info\n * @typedef {Record} Properties\n * @typedef {Record} Normal\n */\n\nexport class Schema {\n /**\n * @constructor\n * @param {Properties} property\n * @param {Normal} normal\n * @param {string} [space]\n */\n constructor(property, normal, space) {\n this.property = property\n this.normal = normal\n if (space) {\n this.space = space\n }\n }\n}\n\n/** @type {Properties} */\nSchema.prototype.property = {}\n/** @type {Normal} */\nSchema.prototype.normal = {}\n/** @type {string|null} */\nSchema.prototype.space = null\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {Schema[]} definitions\n * @param {string} [space]\n * @returns {Schema}\n */\nexport function merge(definitions, space) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n let index = -1\n\n while (++index < definitions.length) {\n Object.assign(property, definitions[index].property)\n Object.assign(normal, definitions[index].normal)\n }\n\n return new Schema(property, normal, space)\n}\n","/**\n * @param {string} value\n * @returns {string}\n */\nexport function normalize(value) {\n return value.toLowerCase()\n}\n","export class Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n */\n constructor(property, attribute) {\n /** @type {string} */\n this.property = property\n /** @type {string} */\n this.attribute = attribute\n }\n}\n\n/** @type {string|null} */\nInfo.prototype.space = null\nInfo.prototype.boolean = false\nInfo.prototype.booleanish = false\nInfo.prototype.overloadedBoolean = false\nInfo.prototype.number = false\nInfo.prototype.commaSeparated = false\nInfo.prototype.spaceSeparated = false\nInfo.prototype.commaOrSpaceSeparated = false\nInfo.prototype.mustUseProperty = false\nInfo.prototype.defined = false\n","let powers = 0\n\nexport const boolean = increment()\nexport const booleanish = increment()\nexport const overloadedBoolean = increment()\nexport const number = increment()\nexport const spaceSeparated = increment()\nexport const commaSeparated = increment()\nexport const commaOrSpaceSeparated = increment()\n\nfunction increment() {\n return 2 ** ++powers\n}\n","import {Info} from './info.js'\nimport * as types from './types.js'\n\n/** @type {Array} */\n// @ts-expect-error: hush.\nconst checks = Object.keys(types)\n\nexport class DefinedInfo extends Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n * @param {number|null} [mask]\n * @param {string} [space]\n */\n constructor(property, attribute, mask, space) {\n let index = -1\n\n super(property, attribute)\n\n mark(this, 'space', space)\n\n if (typeof mask === 'number') {\n while (++index < checks.length) {\n const check = checks[index]\n mark(this, checks[index], (mask & types[check]) === types[check])\n }\n }\n }\n}\n\nDefinedInfo.prototype.defined = true\n\n/**\n * @param {DefinedInfo} values\n * @param {string} key\n * @param {unknown} value\n */\nfunction mark(values, key, value) {\n if (value) {\n // @ts-expect-error: assume `value` matches the expected value of `key`.\n values[key] = value\n }\n}\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n *\n * @typedef {Record} Attributes\n *\n * @typedef {Object} Definition\n * @property {Record} properties\n * @property {(attributes: Attributes, property: string) => string} transform\n * @property {string} [space]\n * @property {Attributes} [attributes]\n * @property {Array} [mustUseProperty]\n */\n\nimport {normalize} from '../normalize.js'\nimport {Schema} from './schema.js'\nimport {DefinedInfo} from './defined-info.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param {Definition} definition\n * @returns {Schema}\n */\nexport function create(definition) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n /** @type {string} */\n let prop\n\n for (prop in definition.properties) {\n if (own.call(definition.properties, prop)) {\n const value = definition.properties[prop]\n const info = new DefinedInfo(\n prop,\n definition.transform(definition.attributes || {}, prop),\n value,\n definition.space\n )\n\n if (\n definition.mustUseProperty &&\n definition.mustUseProperty.includes(prop)\n ) {\n info.mustUseProperty = true\n }\n\n property[prop] = info\n\n normal[normalize(prop)] = prop\n normal[normalize(info.attribute)] = prop\n }\n }\n\n return new Schema(property, normal, definition.space)\n}\n","import {create} from './util/create.js'\n\nexport const xlink = create({\n space: 'xlink',\n transform(_, prop) {\n return 'xlink:' + prop.slice(5).toLowerCase()\n },\n properties: {\n xLinkActuate: null,\n xLinkArcRole: null,\n xLinkHref: null,\n xLinkRole: null,\n xLinkShow: null,\n xLinkTitle: null,\n xLinkType: null\n }\n})\n","import {create} from './util/create.js'\n\nexport const xml = create({\n space: 'xml',\n transform(_, prop) {\n return 'xml:' + prop.slice(3).toLowerCase()\n },\n properties: {xmlLang: null, xmlBase: null, xmlSpace: null}\n})\n","/**\n * @param {Record} attributes\n * @param {string} attribute\n * @returns {string}\n */\nexport function caseSensitiveTransform(attributes, attribute) {\n return attribute in attributes ? attributes[attribute] : attribute\n}\n","import {caseSensitiveTransform} from './case-sensitive-transform.js'\n\n/**\n * @param {Record} attributes\n * @param {string} property\n * @returns {string}\n */\nexport function caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","import {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const xmlns = create({\n space: 'xmlns',\n attributes: {xmlnsxlink: 'xmlns:xlink'},\n transform: caseInsensitiveTransform,\n properties: {xmlns: null, xmlnsXLink: null}\n})\n","import {booleanish, number, spaceSeparated} from './util/types.js'\nimport {create} from './util/create.js'\n\nexport const aria = create({\n transform(_, prop) {\n return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()\n },\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n }\n})\n","import {\n boolean,\n overloadedBoolean,\n booleanish,\n number,\n spaceSeparated,\n commaSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const html = create({\n space: 'html',\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n transform: caseInsensitiveTransform,\n mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n properties: {\n // Standard Properties.\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n capture: boolean,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n cols: number,\n colSpan: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: boolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: null,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforeMatch: null,\n onBeforePrint: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextLost: null,\n onContextMenu: null,\n onContextRestored: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onScrollEnd: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: null,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n\n // Legacy.\n // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n align: null, // Several. Use CSS `text-align` instead,\n aLink: null, // ``. Use CSS `a:active {color}` instead\n archive: spaceSeparated, // ``. List of URIs to archives\n axis: null, // `` and ``. Use `scope` on ``\n background: null, // ``. Use CSS `background-image` instead\n bgColor: null, // `` and table elements. Use CSS `background-color` instead\n border: number, // ``. Use CSS `border-width` instead,\n borderColor: null, // `
`. Use CSS `border-color` instead,\n bottomMargin: number, // ``\n cellPadding: null, // `
`\n cellSpacing: null, // `
`\n char: null, // Several table elements. When `align=char`, sets the character to align on\n charOff: null, // Several table elements. When `char`, offsets the alignment\n classId: null, // ``\n clear: null, // `
`. Use CSS `clear` instead\n code: null, // ``\n codeBase: null, // ``\n codeType: null, // ``\n color: null, // `` and `
`. Use CSS instead\n compact: boolean, // Lists. Use CSS to reduce space between items instead\n declare: boolean, // ``\n event: null, // `\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code);\n buffer = '';\n return continuationRawEndTag;\n }\n return continuation(code);\n }\n\n /**\n * In raw continuation, after ` | \n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function continuationRawEndTag(code) {\n if (code === 62) {\n const name = buffer.toLowerCase();\n if (htmlRawNames.includes(name)) {\n effects.consume(code);\n return continuationClose;\n }\n return continuation(code);\n }\n if (asciiAlpha(code) && buffer.length < 8) {\n // Always the case.\n effects.consume(code);\n buffer += String.fromCharCode(code);\n return continuationRawEndTag;\n }\n return continuation(code);\n }\n\n /**\n * In cdata continuation, after `]`, expecting `]>`.\n *\n * ```markdown\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationCdataInside(code) {\n if (code === 93) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n return continuation(code);\n }\n\n /**\n * In declaration or instruction continuation, at `>`.\n *\n * ```markdown\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code);\n return continuationClose;\n }\n\n // More dashes.\n if (code === 45 && marker === 2) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n return continuation(code);\n }\n\n /**\n * In closed continuation: everything we get until the eol/eof is part of it.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationClose(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"htmlFlowData\");\n return continuationAfter(code);\n }\n effects.consume(code);\n return continuationClose;\n }\n\n /**\n * Done.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationAfter(code) {\n effects.exit(\"htmlFlow\");\n // // Feel free to interrupt.\n // tokenizer.interrupt = false\n // // No longer concrete.\n // tokenizer.concrete = false\n return ok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuationStart(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * At eol, before continuation.\n *\n * ```markdown\n * > | * ```js\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return after;\n }\n return nok(code);\n }\n\n /**\n * A continuation.\n *\n * ```markdown\n * | * ```js\n * > | b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeBlankLineBefore(effects, ok, nok) {\n return start;\n\n /**\n * Before eol, expecting blank line.\n *\n * ```markdown\n * > |
\n * ^\n * |\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return effects.attempt(blankLine, ok, nok);\n }\n}","/**\n * @import {\n * Code,\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nconst nonLazyContinuation = {\n partial: true,\n tokenize: tokenizeNonLazyContinuation\n};\n\n/** @type {Construct} */\nexport const codeFenced = {\n concrete: true,\n name: 'codeFenced',\n tokenize: tokenizeCodeFenced\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCodeFenced(effects, ok, nok) {\n const self = this;\n /** @type {Construct} */\n const closeStart = {\n partial: true,\n tokenize: tokenizeCloseStart\n };\n let initialPrefix = 0;\n let sizeOpen = 0;\n /** @type {NonNullable} */\n let marker;\n return start;\n\n /**\n * Start of code.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // To do: parse whitespace like `markdown-rs`.\n return beforeSequenceOpen(code);\n }\n\n /**\n * In opening fence, after prefix, at sequence.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function beforeSequenceOpen(code) {\n const tail = self.events[self.events.length - 1];\n initialPrefix = tail && tail[1].type === \"linePrefix\" ? tail[2].sliceSerialize(tail[1], true).length : 0;\n marker = code;\n effects.enter(\"codeFenced\");\n effects.enter(\"codeFencedFence\");\n effects.enter(\"codeFencedFenceSequence\");\n return sequenceOpen(code);\n }\n\n /**\n * In opening fence sequence.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function sequenceOpen(code) {\n if (code === marker) {\n sizeOpen++;\n effects.consume(code);\n return sequenceOpen;\n }\n if (sizeOpen < 3) {\n return nok(code);\n }\n effects.exit(\"codeFencedFenceSequence\");\n return markdownSpace(code) ? factorySpace(effects, infoBefore, \"whitespace\")(code) : infoBefore(code);\n }\n\n /**\n * In opening fence, after the sequence (and optional whitespace), before info.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function infoBefore(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"codeFencedFence\");\n return self.interrupt ? ok(code) : effects.check(nonLazyContinuation, atNonLazyBreak, after)(code);\n }\n effects.enter(\"codeFencedFenceInfo\");\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return info(code);\n }\n\n /**\n * In info.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function info(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"chunkString\");\n effects.exit(\"codeFencedFenceInfo\");\n return infoBefore(code);\n }\n if (markdownSpace(code)) {\n effects.exit(\"chunkString\");\n effects.exit(\"codeFencedFenceInfo\");\n return factorySpace(effects, metaBefore, \"whitespace\")(code);\n }\n if (code === 96 && code === marker) {\n return nok(code);\n }\n effects.consume(code);\n return info;\n }\n\n /**\n * In opening fence, after info and whitespace, before meta.\n *\n * ```markdown\n * > | ~~~js eval\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function metaBefore(code) {\n if (code === null || markdownLineEnding(code)) {\n return infoBefore(code);\n }\n effects.enter(\"codeFencedFenceMeta\");\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return meta(code);\n }\n\n /**\n * In meta.\n *\n * ```markdown\n * > | ~~~js eval\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function meta(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"chunkString\");\n effects.exit(\"codeFencedFenceMeta\");\n return infoBefore(code);\n }\n if (code === 96 && code === marker) {\n return nok(code);\n }\n effects.consume(code);\n return meta;\n }\n\n /**\n * At eol/eof in code, before a non-lazy closing fence or content.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function atNonLazyBreak(code) {\n return effects.attempt(closeStart, after, contentBefore)(code);\n }\n\n /**\n * Before code content, not a closing fence, at eol.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentBefore(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return contentStart;\n }\n\n /**\n * Before code content, not a closing fence.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentStart(code) {\n return initialPrefix > 0 && markdownSpace(code) ? factorySpace(effects, beforeContentChunk, \"linePrefix\", initialPrefix + 1)(code) : beforeContentChunk(code);\n }\n\n /**\n * Before code content, after optional prefix.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function beforeContentChunk(code) {\n if (code === null || markdownLineEnding(code)) {\n return effects.check(nonLazyContinuation, atNonLazyBreak, after)(code);\n }\n effects.enter(\"codeFlowValue\");\n return contentChunk(code);\n }\n\n /**\n * In code content.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^^^^^^^^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentChunk(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"codeFlowValue\");\n return beforeContentChunk(code);\n }\n effects.consume(code);\n return contentChunk;\n }\n\n /**\n * After code.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n effects.exit(\"codeFenced\");\n return ok(code);\n }\n\n /**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\n function tokenizeCloseStart(effects, ok, nok) {\n let size = 0;\n return startBefore;\n\n /**\n *\n *\n * @type {State}\n */\n function startBefore(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return start;\n }\n\n /**\n * Before closing fence, at optional whitespace.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // Always populated by defaults.\n\n // To do: `enter` here or in next state?\n effects.enter(\"codeFencedFence\");\n return markdownSpace(code) ? factorySpace(effects, beforeSequenceClose, \"linePrefix\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code) : beforeSequenceClose(code);\n }\n\n /**\n * In closing fence, after optional whitespace, at sequence.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function beforeSequenceClose(code) {\n if (code === marker) {\n effects.enter(\"codeFencedFenceSequence\");\n return sequenceClose(code);\n }\n return nok(code);\n }\n\n /**\n * In closing fence sequence.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceClose(code) {\n if (code === marker) {\n size++;\n effects.consume(code);\n return sequenceClose;\n }\n if (size >= sizeOpen) {\n effects.exit(\"codeFencedFenceSequence\");\n return markdownSpace(code) ? factorySpace(effects, sequenceCloseAfter, \"whitespace\")(code) : sequenceCloseAfter(code);\n }\n return nok(code);\n }\n\n /**\n * After closing fence sequence, after optional whitespace.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceCloseAfter(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"codeFencedFence\");\n return ok(code);\n }\n return nok(code);\n }\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuation(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n *\n *\n * @type {State}\n */\n function start(code) {\n if (code === null) {\n return nok(code);\n }\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return lineStart;\n }\n\n /**\n *\n *\n * @type {State}\n */\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code);\n }\n}","/// \n\n/* eslint-env browser */\n\nconst element = document.createElement('i')\n\n/**\n * @param {string} value\n * @returns {string|false}\n */\nexport function decodeNamedCharacterReference(value) {\n const characterReference = '&' + value + ';'\n element.innerHTML = characterReference\n const char = element.textContent\n\n // Some named character references do not require the closing semicolon\n // (`¬`, for instance), which leads to situations where parsing the assumed\n // named reference of `¬it;` will result in the string `¬it;`.\n // When we encounter a trailing semicolon after parsing, and the character\n // reference to decode was not a semicolon (`;`), we can assume that the\n // matching was not complete.\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n if (char.charCodeAt(char.length - 1) === 59 /* `;` */ && value !== 'semi') {\n return false\n }\n\n // If the decoded string is equal to the input, the character reference was\n // not valid.\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n return char === characterReference ? false : char\n}\n","/**\n * @import {\n * Code,\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { decodeNamedCharacterReference } from 'decode-named-character-reference';\nimport { asciiAlphanumeric, asciiDigit, asciiHexDigit } from 'micromark-util-character';\n/** @type {Construct} */\nexport const characterReference = {\n name: 'characterReference',\n tokenize: tokenizeCharacterReference\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCharacterReference(effects, ok, nok) {\n const self = this;\n let size = 0;\n /** @type {number} */\n let max;\n /** @type {(code: Code) => boolean} */\n let test;\n return start;\n\n /**\n * Start of character reference.\n *\n * ```markdown\n * > | a&b\n * ^\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"characterReference\");\n effects.enter(\"characterReferenceMarker\");\n effects.consume(code);\n effects.exit(\"characterReferenceMarker\");\n return open;\n }\n\n /**\n * After `&`, at `#` for numeric references or alphanumeric for named\n * references.\n *\n * ```markdown\n * > | a&b\n * ^\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 35) {\n effects.enter(\"characterReferenceMarkerNumeric\");\n effects.consume(code);\n effects.exit(\"characterReferenceMarkerNumeric\");\n return numeric;\n }\n effects.enter(\"characterReferenceValue\");\n max = 31;\n test = asciiAlphanumeric;\n return value(code);\n }\n\n /**\n * After `#`, at `x` for hexadecimals or digit for decimals.\n *\n * ```markdown\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function numeric(code) {\n if (code === 88 || code === 120) {\n effects.enter(\"characterReferenceMarkerHexadecimal\");\n effects.consume(code);\n effects.exit(\"characterReferenceMarkerHexadecimal\");\n effects.enter(\"characterReferenceValue\");\n max = 6;\n test = asciiHexDigit;\n return value;\n }\n effects.enter(\"characterReferenceValue\");\n max = 7;\n test = asciiDigit;\n return value(code);\n }\n\n /**\n * After markers (`&#x`, `&#`, or `&`), in value, before `;`.\n *\n * The character reference kind defines what and how many characters are\n * allowed.\n *\n * ```markdown\n * > | a&b\n * ^^^\n * > | a{b\n * ^^^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function value(code) {\n if (code === 59 && size) {\n const token = effects.exit(\"characterReferenceValue\");\n if (test === asciiAlphanumeric && !decodeNamedCharacterReference(self.sliceSerialize(token))) {\n return nok(code);\n }\n\n // To do: `markdown-rs` uses a different name:\n // `CharacterReferenceMarkerSemi`.\n effects.enter(\"characterReferenceMarker\");\n effects.consume(code);\n effects.exit(\"characterReferenceMarker\");\n effects.exit(\"characterReference\");\n return ok;\n }\n if (test(code) && size++ < max) {\n effects.consume(code);\n return value;\n }\n return nok(code);\n }\n}","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { asciiPunctuation } from 'micromark-util-character';\n/** @type {Construct} */\nexport const characterEscape = {\n name: 'characterEscape',\n tokenize: tokenizeCharacterEscape\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCharacterEscape(effects, ok, nok) {\n return start;\n\n /**\n * Start of character escape.\n *\n * ```markdown\n * > | a\\*b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"characterEscape\");\n effects.enter(\"escapeMarker\");\n effects.consume(code);\n effects.exit(\"escapeMarker\");\n return inside;\n }\n\n /**\n * After `\\`, at punctuation.\n *\n * ```markdown\n * > | a\\*b\n * ^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n // ASCII punctuation.\n if (asciiPunctuation(code)) {\n effects.enter(\"characterEscapeValue\");\n effects.consume(code);\n effects.exit(\"characterEscapeValue\");\n effects.exit(\"characterEscape\");\n return ok;\n }\n return nok(code);\n }\n}","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {Construct} */\nexport const lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLineEnding(effects, ok) {\n return start;\n\n /** @type {State} */\n function start(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return factorySpace(effects, ok, \"linePrefix\");\n }\n}","/**\n * @import {Event, Resolver, TokenizeContext} from 'micromark-util-types'\n */\n\n/**\n * Call all `resolveAll`s.\n *\n * @param {ReadonlyArray<{resolveAll?: Resolver | undefined}>} constructs\n * List of constructs, optionally with `resolveAll`s.\n * @param {Array} events\n * List of events.\n * @param {TokenizeContext} context\n * Context used by `tokenize`.\n * @returns {Array}\n * Changed events.\n */\nexport function resolveAll(constructs, events, context) {\n /** @type {Array} */\n const called = []\n let index = -1\n\n while (++index < constructs.length) {\n const resolve = constructs[index].resolveAll\n\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context)\n called.push(resolve)\n }\n }\n\n return events\n}\n","/**\n * @import {\n * Construct,\n * Event,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport { factoryDestination } from 'micromark-factory-destination';\nimport { factoryLabel } from 'micromark-factory-label';\nimport { factoryTitle } from 'micromark-factory-title';\nimport { factoryWhitespace } from 'micromark-factory-whitespace';\nimport { markdownLineEndingOrSpace } from 'micromark-util-character';\nimport { push, splice } from 'micromark-util-chunked';\nimport { normalizeIdentifier } from 'micromark-util-normalize-identifier';\nimport { resolveAll } from 'micromark-util-resolve-all';\n/** @type {Construct} */\nexport const labelEnd = {\n name: 'labelEnd',\n resolveAll: resolveAllLabelEnd,\n resolveTo: resolveToLabelEnd,\n tokenize: tokenizeLabelEnd\n};\n\n/** @type {Construct} */\nconst resourceConstruct = {\n tokenize: tokenizeResource\n};\n/** @type {Construct} */\nconst referenceFullConstruct = {\n tokenize: tokenizeReferenceFull\n};\n/** @type {Construct} */\nconst referenceCollapsedConstruct = {\n tokenize: tokenizeReferenceCollapsed\n};\n\n/** @type {Resolver} */\nfunction resolveAllLabelEnd(events) {\n let index = -1;\n /** @type {Array} */\n const newEvents = [];\n while (++index < events.length) {\n const token = events[index][1];\n newEvents.push(events[index]);\n if (token.type === \"labelImage\" || token.type === \"labelLink\" || token.type === \"labelEnd\") {\n // Remove the marker.\n const offset = token.type === \"labelImage\" ? 4 : 2;\n token.type = \"data\";\n index += offset;\n }\n }\n\n // If the events are equal, we don't have to copy newEvents to events\n if (events.length !== newEvents.length) {\n splice(events, 0, events.length, newEvents);\n }\n return events;\n}\n\n/** @type {Resolver} */\nfunction resolveToLabelEnd(events, context) {\n let index = events.length;\n let offset = 0;\n /** @type {Token} */\n let token;\n /** @type {number | undefined} */\n let open;\n /** @type {number | undefined} */\n let close;\n /** @type {Array} */\n let media;\n\n // Find an opening.\n while (index--) {\n token = events[index][1];\n if (open) {\n // If we see another link, or inactive link label, we’ve been here before.\n if (token.type === \"link\" || token.type === \"labelLink\" && token._inactive) {\n break;\n }\n\n // Mark other link openings as inactive, as we can’t have links in\n // links.\n if (events[index][0] === 'enter' && token.type === \"labelLink\") {\n token._inactive = true;\n }\n } else if (close) {\n if (events[index][0] === 'enter' && (token.type === \"labelImage\" || token.type === \"labelLink\") && !token._balanced) {\n open = index;\n if (token.type !== \"labelLink\") {\n offset = 2;\n break;\n }\n }\n } else if (token.type === \"labelEnd\") {\n close = index;\n }\n }\n const group = {\n type: events[open][1].type === \"labelLink\" ? \"link\" : \"image\",\n start: {\n ...events[open][1].start\n },\n end: {\n ...events[events.length - 1][1].end\n }\n };\n const label = {\n type: \"label\",\n start: {\n ...events[open][1].start\n },\n end: {\n ...events[close][1].end\n }\n };\n const text = {\n type: \"labelText\",\n start: {\n ...events[open + offset + 2][1].end\n },\n end: {\n ...events[close - 2][1].start\n }\n };\n media = [['enter', group, context], ['enter', label, context]];\n\n // Opening marker.\n media = push(media, events.slice(open + 1, open + offset + 3));\n\n // Text open.\n media = push(media, [['enter', text, context]]);\n\n // Always populated by defaults.\n\n // Between.\n media = push(media, resolveAll(context.parser.constructs.insideSpan.null, events.slice(open + offset + 4, close - 3), context));\n\n // Text close, marker close, label close.\n media = push(media, [['exit', text, context], events[close - 2], events[close - 1], ['exit', label, context]]);\n\n // Reference, resource, or so.\n media = push(media, events.slice(close + 1));\n\n // Media close.\n media = push(media, [['exit', group, context]]);\n splice(events, open, events.length, media);\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLabelEnd(effects, ok, nok) {\n const self = this;\n let index = self.events.length;\n /** @type {Token} */\n let labelStart;\n /** @type {boolean} */\n let defined;\n\n // Find an opening.\n while (index--) {\n if ((self.events[index][1].type === \"labelImage\" || self.events[index][1].type === \"labelLink\") && !self.events[index][1]._balanced) {\n labelStart = self.events[index][1];\n break;\n }\n }\n return start;\n\n /**\n * Start of label end.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // If there is not an okay opening.\n if (!labelStart) {\n return nok(code);\n }\n\n // If the corresponding label (link) start is marked as inactive,\n // it means we’d be wrapping a link, like this:\n //\n // ```markdown\n // > | a [b [c](d) e](f) g.\n // ^\n // ```\n //\n // We can’t have that, so it’s just balanced brackets.\n if (labelStart._inactive) {\n return labelEndNok(code);\n }\n defined = self.parser.defined.includes(normalizeIdentifier(self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })));\n effects.enter(\"labelEnd\");\n effects.enter(\"labelMarker\");\n effects.consume(code);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelEnd\");\n return after;\n }\n\n /**\n * After `]`.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // Note: `markdown-rs` also parses GFM footnotes here, which for us is in\n // an extension.\n\n // Resource (`[asd](fgh)`)?\n if (code === 40) {\n return effects.attempt(resourceConstruct, labelEndOk, defined ? labelEndOk : labelEndNok)(code);\n }\n\n // Full (`[asd][fgh]`) or collapsed (`[asd][]`) reference?\n if (code === 91) {\n return effects.attempt(referenceFullConstruct, labelEndOk, defined ? referenceNotFull : labelEndNok)(code);\n }\n\n // Shortcut (`[asd]`) reference?\n return defined ? labelEndOk(code) : labelEndNok(code);\n }\n\n /**\n * After `]`, at `[`, but not at a full reference.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceNotFull(code) {\n return effects.attempt(referenceCollapsedConstruct, labelEndOk, labelEndNok)(code);\n }\n\n /**\n * Done, we found something.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndOk(code) {\n // Note: `markdown-rs` does a bunch of stuff here.\n return ok(code);\n }\n\n /**\n * Done, it’s nothing.\n *\n * There was an okay opening, but we didn’t match anything.\n *\n * ```markdown\n * > | [a](b c\n * ^\n * > | [a][b c\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndNok(code) {\n labelStart._balanced = true;\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeResource(effects, ok, nok) {\n return resourceStart;\n\n /**\n * At a resource.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceStart(code) {\n effects.enter(\"resource\");\n effects.enter(\"resourceMarker\");\n effects.consume(code);\n effects.exit(\"resourceMarker\");\n return resourceBefore;\n }\n\n /**\n * In resource, after `(`, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBefore(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceOpen)(code) : resourceOpen(code);\n }\n\n /**\n * In resource, after optional whitespace, at `)` or a destination.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceOpen(code) {\n if (code === 41) {\n return resourceEnd(code);\n }\n return factoryDestination(effects, resourceDestinationAfter, resourceDestinationMissing, \"resourceDestination\", \"resourceDestinationLiteral\", \"resourceDestinationLiteralMarker\", \"resourceDestinationRaw\", \"resourceDestinationString\", 32)(code);\n }\n\n /**\n * In resource, after destination, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationAfter(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceBetween)(code) : resourceEnd(code);\n }\n\n /**\n * At invalid destination.\n *\n * ```markdown\n * > | [a](<<) b\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationMissing(code) {\n return nok(code);\n }\n\n /**\n * In resource, after destination and whitespace, at `(` or title.\n *\n * ```markdown\n * > | [a](b ) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBetween(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(effects, resourceTitleAfter, nok, \"resourceTitle\", \"resourceTitleMarker\", \"resourceTitleString\")(code);\n }\n return resourceEnd(code);\n }\n\n /**\n * In resource, after title, at optional whitespace.\n *\n * ```markdown\n * > | [a](b \"c\") d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceTitleAfter(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceEnd)(code) : resourceEnd(code);\n }\n\n /**\n * In resource, at `)`.\n *\n * ```markdown\n * > | [a](b) d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceEnd(code) {\n if (code === 41) {\n effects.enter(\"resourceMarker\");\n effects.consume(code);\n effects.exit(\"resourceMarker\");\n effects.exit(\"resource\");\n return ok;\n }\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceFull(effects, ok, nok) {\n const self = this;\n return referenceFull;\n\n /**\n * In a reference (full), at the `[`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFull(code) {\n return factoryLabel.call(self, effects, referenceFullAfter, referenceFullMissing, \"reference\", \"referenceMarker\", \"referenceString\")(code);\n }\n\n /**\n * In a reference (full), after `]`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullAfter(code) {\n return self.parser.defined.includes(normalizeIdentifier(self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1))) ? ok(code) : nok(code);\n }\n\n /**\n * In reference (full) that was missing.\n *\n * ```markdown\n * > | [a][b d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullMissing(code) {\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceCollapsed(effects, ok, nok) {\n return referenceCollapsedStart;\n\n /**\n * In reference (collapsed), at `[`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedStart(code) {\n // We only attempt a collapsed label if there’s a `[`.\n\n effects.enter(\"reference\");\n effects.enter(\"referenceMarker\");\n effects.consume(code);\n effects.exit(\"referenceMarker\");\n return referenceCollapsedOpen;\n }\n\n /**\n * In reference (collapsed), at `]`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedOpen(code) {\n if (code === 93) {\n effects.enter(\"referenceMarker\");\n effects.consume(code);\n effects.exit(\"referenceMarker\");\n effects.exit(\"reference\");\n return ok;\n }\n return nok(code);\n }\n}","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { labelEnd } from './label-end.js';\n\n/** @type {Construct} */\nexport const labelStartImage = {\n name: 'labelStartImage',\n resolveAll: labelEnd.resolveAll,\n tokenize: tokenizeLabelStartImage\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * Start of label (image) start.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"labelImage\");\n effects.enter(\"labelImageMarker\");\n effects.consume(code);\n effects.exit(\"labelImageMarker\");\n return open;\n }\n\n /**\n * After `!`, at `[`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 91) {\n effects.enter(\"labelMarker\");\n effects.consume(code);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelImage\");\n return after;\n }\n return nok(code);\n }\n\n /**\n * After `![`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * This is needed in because, when GFM footnotes are enabled, images never\n * form when started with a `^`.\n * Instead, links form:\n *\n * ```markdown\n * ![^a](b)\n *\n * ![^a][b]\n *\n * [b]: c\n * ```\n *\n * ```html\n *

!^a

\n *

!^a

\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // To do: use a new field to do this, this is still needed for\n // `micromark-extension-gfm-footnote`, but the `label-start-link`\n // behavior isn’t.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs ? nok(code) : ok(code);\n }\n}","/**\n * @import {Code} from 'micromark-util-types'\n */\n\nimport { markdownLineEndingOrSpace, unicodePunctuation, unicodeWhitespace } from 'micromark-util-character';\n/**\n * Classify whether a code represents whitespace, punctuation, or something\n * else.\n *\n * Used for attention (emphasis, strong), whose sequences can open or close\n * based on the class of surrounding characters.\n *\n * > 👉 **Note**: eof (`null`) is seen as whitespace.\n *\n * @param {Code} code\n * Code.\n * @returns {typeof constants.characterGroupWhitespace | typeof constants.characterGroupPunctuation | undefined}\n * Group.\n */\nexport function classifyCharacter(code) {\n if (code === null || markdownLineEndingOrSpace(code) || unicodeWhitespace(code)) {\n return 1;\n }\n if (unicodePunctuation(code)) {\n return 2;\n }\n}","/**\n * @import {\n * Code,\n * Construct,\n * Event,\n * Point,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport { push, splice } from 'micromark-util-chunked';\nimport { classifyCharacter } from 'micromark-util-classify-character';\nimport { resolveAll } from 'micromark-util-resolve-all';\n/** @type {Construct} */\nexport const attention = {\n name: 'attention',\n resolveAll: resolveAllAttention,\n tokenize: tokenizeAttention\n};\n\n/**\n * Take all events and resolve attention to emphasis or strong.\n *\n * @type {Resolver}\n */\n// eslint-disable-next-line complexity\nfunction resolveAllAttention(events, context) {\n let index = -1;\n /** @type {number} */\n let open;\n /** @type {Token} */\n let group;\n /** @type {Token} */\n let text;\n /** @type {Token} */\n let openingSequence;\n /** @type {Token} */\n let closingSequence;\n /** @type {number} */\n let use;\n /** @type {Array} */\n let nextEvents;\n /** @type {number} */\n let offset;\n\n // Walk through all events.\n //\n // Note: performance of this is fine on an mb of normal markdown, but it’s\n // a bottleneck for malicious stuff.\n while (++index < events.length) {\n // Find a token that can close.\n if (events[index][0] === 'enter' && events[index][1].type === 'attentionSequence' && events[index][1]._close) {\n open = index;\n\n // Now walk back to find an opener.\n while (open--) {\n // Find a token that can open the closer.\n if (events[open][0] === 'exit' && events[open][1].type === 'attentionSequence' && events[open][1]._open &&\n // If the markers are the same:\n context.sliceSerialize(events[open][1]).charCodeAt(0) === context.sliceSerialize(events[index][1]).charCodeAt(0)) {\n // If the opening can close or the closing can open,\n // and the close size *is not* a multiple of three,\n // but the sum of the opening and closing size *is* multiple of three,\n // then don’t match.\n if ((events[open][1]._close || events[index][1]._open) && (events[index][1].end.offset - events[index][1].start.offset) % 3 && !((events[open][1].end.offset - events[open][1].start.offset + events[index][1].end.offset - events[index][1].start.offset) % 3)) {\n continue;\n }\n\n // Number of markers to use from the sequence.\n use = events[open][1].end.offset - events[open][1].start.offset > 1 && events[index][1].end.offset - events[index][1].start.offset > 1 ? 2 : 1;\n const start = {\n ...events[open][1].end\n };\n const end = {\n ...events[index][1].start\n };\n movePoint(start, -use);\n movePoint(end, use);\n openingSequence = {\n type: use > 1 ? \"strongSequence\" : \"emphasisSequence\",\n start,\n end: {\n ...events[open][1].end\n }\n };\n closingSequence = {\n type: use > 1 ? \"strongSequence\" : \"emphasisSequence\",\n start: {\n ...events[index][1].start\n },\n end\n };\n text = {\n type: use > 1 ? \"strongText\" : \"emphasisText\",\n start: {\n ...events[open][1].end\n },\n end: {\n ...events[index][1].start\n }\n };\n group = {\n type: use > 1 ? \"strong\" : \"emphasis\",\n start: {\n ...openingSequence.start\n },\n end: {\n ...closingSequence.end\n }\n };\n events[open][1].end = {\n ...openingSequence.start\n };\n events[index][1].start = {\n ...closingSequence.end\n };\n nextEvents = [];\n\n // If there are more markers in the opening, add them before.\n if (events[open][1].end.offset - events[open][1].start.offset) {\n nextEvents = push(nextEvents, [['enter', events[open][1], context], ['exit', events[open][1], context]]);\n }\n\n // Opening.\n nextEvents = push(nextEvents, [['enter', group, context], ['enter', openingSequence, context], ['exit', openingSequence, context], ['enter', text, context]]);\n\n // Always populated by defaults.\n\n // Between.\n nextEvents = push(nextEvents, resolveAll(context.parser.constructs.insideSpan.null, events.slice(open + 1, index), context));\n\n // Closing.\n nextEvents = push(nextEvents, [['exit', text, context], ['enter', closingSequence, context], ['exit', closingSequence, context], ['exit', group, context]]);\n\n // If there are more markers in the closing, add them after.\n if (events[index][1].end.offset - events[index][1].start.offset) {\n offset = 2;\n nextEvents = push(nextEvents, [['enter', events[index][1], context], ['exit', events[index][1], context]]);\n } else {\n offset = 0;\n }\n splice(events, open - 1, index - open + 3, nextEvents);\n index = open + nextEvents.length - offset - 2;\n break;\n }\n }\n }\n }\n\n // Remove remaining sequences.\n index = -1;\n while (++index < events.length) {\n if (events[index][1].type === 'attentionSequence') {\n events[index][1].type = 'data';\n }\n }\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeAttention(effects, ok) {\n const attentionMarkers = this.parser.constructs.attentionMarkers.null;\n const previous = this.previous;\n const before = classifyCharacter(previous);\n\n /** @type {NonNullable} */\n let marker;\n return start;\n\n /**\n * Before a sequence.\n *\n * ```markdown\n * > | **\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n marker = code;\n effects.enter('attentionSequence');\n return inside(code);\n }\n\n /**\n * In a sequence.\n *\n * ```markdown\n * > | **\n * ^^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker) {\n effects.consume(code);\n return inside;\n }\n const token = effects.exit('attentionSequence');\n\n // To do: next major: move this to resolver, just like `markdown-rs`.\n const after = classifyCharacter(code);\n\n // Always populated by defaults.\n\n const open = !after || after === 2 && before || attentionMarkers.includes(code);\n const close = !before || before === 2 && after || attentionMarkers.includes(previous);\n token._open = Boolean(marker === 42 ? open : open && (before || !close));\n token._close = Boolean(marker === 42 ? close : close && (after || !open));\n return ok(code);\n }\n}\n\n/**\n * Move a point a bit.\n *\n * Note: `move` only works inside lines! It’s not possible to move past other\n * chunks (replacement characters, tabs, or line endings).\n *\n * @param {Point} point\n * Point.\n * @param {number} offset\n * Amount to move.\n * @returns {undefined}\n * Nothing.\n */\nfunction movePoint(point, offset) {\n point.column += offset;\n point.offset += offset;\n point._bufferIndex += offset;\n}","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { asciiAlphanumeric, asciiAlpha, asciiAtext, asciiControl } from 'micromark-util-character';\n/** @type {Construct} */\nexport const autolink = {\n name: 'autolink',\n tokenize: tokenizeAutolink\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeAutolink(effects, ok, nok) {\n let size = 0;\n return start;\n\n /**\n * Start of an autolink.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"autolink\");\n effects.enter(\"autolinkMarker\");\n effects.consume(code);\n effects.exit(\"autolinkMarker\");\n effects.enter(\"autolinkProtocol\");\n return open;\n }\n\n /**\n * After `<`, at protocol or atext.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (asciiAlpha(code)) {\n effects.consume(code);\n return schemeOrEmailAtext;\n }\n if (code === 64) {\n return nok(code);\n }\n return emailAtext(code);\n }\n\n /**\n * At second byte of protocol or atext.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function schemeOrEmailAtext(code) {\n // ASCII alphanumeric and `+`, `-`, and `.`.\n if (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) {\n // Count the previous alphabetical from `open` too.\n size = 1;\n return schemeInsideOrEmailAtext(code);\n }\n return emailAtext(code);\n }\n\n /**\n * In ambiguous protocol or atext.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function schemeInsideOrEmailAtext(code) {\n if (code === 58) {\n effects.consume(code);\n size = 0;\n return urlInside;\n }\n\n // ASCII alphanumeric and `+`, `-`, and `.`.\n if ((code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) && size++ < 32) {\n effects.consume(code);\n return schemeInsideOrEmailAtext;\n }\n size = 0;\n return emailAtext(code);\n }\n\n /**\n * After protocol, in URL.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function urlInside(code) {\n if (code === 62) {\n effects.exit(\"autolinkProtocol\");\n effects.enter(\"autolinkMarker\");\n effects.consume(code);\n effects.exit(\"autolinkMarker\");\n effects.exit(\"autolink\");\n return ok;\n }\n\n // ASCII control, space, or `<`.\n if (code === null || code === 32 || code === 60 || asciiControl(code)) {\n return nok(code);\n }\n effects.consume(code);\n return urlInside;\n }\n\n /**\n * In email atext.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function emailAtext(code) {\n if (code === 64) {\n effects.consume(code);\n return emailAtSignOrDot;\n }\n if (asciiAtext(code)) {\n effects.consume(code);\n return emailAtext;\n }\n return nok(code);\n }\n\n /**\n * In label, after at-sign or dot.\n *\n * ```markdown\n * > | ab\n * ^ ^\n * ```\n *\n * @type {State}\n */\n function emailAtSignOrDot(code) {\n return asciiAlphanumeric(code) ? emailLabel(code) : nok(code);\n }\n\n /**\n * In label, where `.` and `>` are allowed.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function emailLabel(code) {\n if (code === 46) {\n effects.consume(code);\n size = 0;\n return emailAtSignOrDot;\n }\n if (code === 62) {\n // Exit, then change the token type.\n effects.exit(\"autolinkProtocol\").type = \"autolinkEmail\";\n effects.enter(\"autolinkMarker\");\n effects.consume(code);\n effects.exit(\"autolinkMarker\");\n effects.exit(\"autolink\");\n return ok;\n }\n return emailValue(code);\n }\n\n /**\n * In label, where `.` and `>` are *not* allowed.\n *\n * Though, this is also used in `emailLabel` to parse other values.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function emailValue(code) {\n // ASCII alphanumeric or `-`.\n if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) {\n const next = code === 45 ? emailValue : emailLabel;\n effects.consume(code);\n return next;\n }\n return nok(code);\n }\n}","/**\n * @import {\n * Code,\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { asciiAlphanumeric, asciiAlpha, markdownLineEndingOrSpace, markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const htmlText = {\n name: 'htmlText',\n tokenize: tokenizeHtmlText\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeHtmlText(effects, ok, nok) {\n const self = this;\n /** @type {NonNullable | undefined} */\n let marker;\n /** @type {number} */\n let index;\n /** @type {State} */\n let returnState;\n return start;\n\n /**\n * Start of HTML (text).\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"htmlText\");\n effects.enter(\"htmlTextData\");\n effects.consume(code);\n return open;\n }\n\n /**\n * After `<`, at tag name or other stuff.\n *\n * ```markdown\n * > | a c\n * ^\n * > | a c\n * ^\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 33) {\n effects.consume(code);\n return declarationOpen;\n }\n if (code === 47) {\n effects.consume(code);\n return tagCloseStart;\n }\n if (code === 63) {\n effects.consume(code);\n return instruction;\n }\n\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code);\n return tagOpen;\n }\n return nok(code);\n }\n\n /**\n * After ` | a c\n * ^\n * > | a c\n * ^\n * > | a &<]]> c\n * ^\n * ```\n *\n * @type {State}\n */\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code);\n return commentOpenInside;\n }\n if (code === 91) {\n effects.consume(code);\n index = 0;\n return cdataOpenInside;\n }\n if (asciiAlpha(code)) {\n effects.consume(code);\n return declaration;\n }\n return nok(code);\n }\n\n /**\n * In a comment, after ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code);\n return commentEnd;\n }\n return nok(code);\n }\n\n /**\n * In comment.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function comment(code) {\n if (code === null) {\n return nok(code);\n }\n if (code === 45) {\n effects.consume(code);\n return commentClose;\n }\n if (markdownLineEnding(code)) {\n returnState = comment;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return comment;\n }\n\n /**\n * In comment, after `-`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code);\n return commentEnd;\n }\n return comment(code);\n }\n\n /**\n * In comment, after `--`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentEnd(code) {\n return code === 62 ? end(code) : code === 45 ? commentClose(code) : comment(code);\n }\n\n /**\n * After ` | a &<]]> b\n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function cdataOpenInside(code) {\n const value = \"CDATA[\";\n if (code === value.charCodeAt(index++)) {\n effects.consume(code);\n return index === value.length ? cdata : cdataOpenInside;\n }\n return nok(code);\n }\n\n /**\n * In CDATA.\n *\n * ```markdown\n * > | a &<]]> b\n * ^^^\n * ```\n *\n * @type {State}\n */\n function cdata(code) {\n if (code === null) {\n return nok(code);\n }\n if (code === 93) {\n effects.consume(code);\n return cdataClose;\n }\n if (markdownLineEnding(code)) {\n returnState = cdata;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return cdata;\n }\n\n /**\n * In CDATA, after `]`, at another `]`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code);\n return cdataEnd;\n }\n return cdata(code);\n }\n\n /**\n * In CDATA, after `]]`, at `>`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataEnd(code) {\n if (code === 62) {\n return end(code);\n }\n if (code === 93) {\n effects.consume(code);\n return cdataEnd;\n }\n return cdata(code);\n }\n\n /**\n * In declaration.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code);\n }\n if (markdownLineEnding(code)) {\n returnState = declaration;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return declaration;\n }\n\n /**\n * In instruction.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instruction(code) {\n if (code === null) {\n return nok(code);\n }\n if (code === 63) {\n effects.consume(code);\n return instructionClose;\n }\n if (markdownLineEnding(code)) {\n returnState = instruction;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return instruction;\n }\n\n /**\n * In instruction, after `?`, at `>`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code);\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseStart(code) {\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code);\n return tagClose;\n }\n return nok(code);\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagClose(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagClose;\n }\n return tagCloseBetween(code);\n }\n\n /**\n * In closing tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseBetween(code) {\n if (markdownLineEnding(code)) {\n returnState = tagCloseBetween;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagCloseBetween;\n }\n return end(code);\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpen(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagOpen;\n }\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n return nok(code);\n }\n\n /**\n * In opening tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code);\n return end;\n }\n\n // ASCII alphabetical and `:` and `_`.\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code);\n return tagOpenAttributeName;\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenBetween;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenBetween;\n }\n return end(code);\n }\n\n /**\n * In attribute name.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeName(code) {\n // ASCII alphabetical and `-`, `.`, `:`, and `_`.\n if (code === 45 || code === 46 || code === 58 || code === 95 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagOpenAttributeName;\n }\n return tagOpenAttributeNameAfter(code);\n }\n\n /**\n * After attribute name, before initializer, the end of the tag, or\n * whitespace.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code);\n return tagOpenAttributeValueBefore;\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeNameAfter;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenAttributeNameAfter;\n }\n return tagOpenBetween(code);\n }\n\n /**\n * Before unquoted, double quoted, or single quoted attribute value, allowing\n * whitespace.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueBefore(code) {\n if (code === null || code === 60 || code === 61 || code === 62 || code === 96) {\n return nok(code);\n }\n if (code === 34 || code === 39) {\n effects.consume(code);\n marker = code;\n return tagOpenAttributeValueQuoted;\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueBefore;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenAttributeValueBefore;\n }\n effects.consume(code);\n return tagOpenAttributeValueUnquoted;\n }\n\n /**\n * In double or single quoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code);\n marker = undefined;\n return tagOpenAttributeValueQuotedAfter;\n }\n if (code === null) {\n return nok(code);\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueQuoted;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return tagOpenAttributeValueQuoted;\n }\n\n /**\n * In unquoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueUnquoted(code) {\n if (code === null || code === 34 || code === 39 || code === 60 || code === 61 || code === 96) {\n return nok(code);\n }\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n effects.consume(code);\n return tagOpenAttributeValueUnquoted;\n }\n\n /**\n * After double or single quoted attribute value, before whitespace or the end\n * of the tag.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n return nok(code);\n }\n\n /**\n * In certain circumstances of a tag where only an `>` is allowed.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function end(code) {\n if (code === 62) {\n effects.consume(code);\n effects.exit(\"htmlTextData\");\n effects.exit(\"htmlText\");\n return ok;\n }\n return nok(code);\n }\n\n /**\n * At eol.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * > | a \n * ```\n *\n * @type {State}\n */\n function lineEndingBefore(code) {\n effects.exit(\"htmlTextData\");\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return lineEndingAfter;\n }\n\n /**\n * After eol, at optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfter(code) {\n // Always populated by defaults.\n\n return markdownSpace(code) ? factorySpace(effects, lineEndingAfterPrefix, \"linePrefix\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code) : lineEndingAfterPrefix(code);\n }\n\n /**\n * After eol, after optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfterPrefix(code) {\n effects.enter(\"htmlTextData\");\n return returnState(code);\n }\n}","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { labelEnd } from './label-end.js';\n\n/** @type {Construct} */\nexport const labelStartLink = {\n name: 'labelStartLink',\n resolveAll: labelEnd.resolveAll,\n tokenize: tokenizeLabelStartLink\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * Start of label (link) start.\n *\n * ```markdown\n * > | a [b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"labelLink\");\n effects.enter(\"labelMarker\");\n effects.consume(code);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelLink\");\n return after;\n }\n\n /** @type {State} */\n function after(code) {\n // To do: this isn’t needed in `micromark-extension-gfm-footnote`,\n // remove.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs ? nok(code) : ok(code);\n }\n}","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {Construct} */\nexport const hardBreakEscape = {\n name: 'hardBreakEscape',\n tokenize: tokenizeHardBreakEscape\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeHardBreakEscape(effects, ok, nok) {\n return start;\n\n /**\n * Start of a hard break (escape).\n *\n * ```markdown\n * > | a\\\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"hardBreakEscape\");\n effects.consume(code);\n return after;\n }\n\n /**\n * After `\\`, at eol.\n *\n * ```markdown\n * > | a\\\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function after(code) {\n if (markdownLineEnding(code)) {\n effects.exit(\"hardBreakEscape\");\n return ok(code);\n }\n return nok(code);\n }\n}","/**\n * @import {\n * Construct,\n * Previous,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {Construct} */\nexport const codeText = {\n name: 'codeText',\n previous,\n resolve: resolveCodeText,\n tokenize: tokenizeCodeText\n};\n\n// To do: next major: don’t resolve, like `markdown-rs`.\n/** @type {Resolver} */\nfunction resolveCodeText(events) {\n let tailExitIndex = events.length - 4;\n let headEnterIndex = 3;\n /** @type {number} */\n let index;\n /** @type {number | undefined} */\n let enter;\n\n // If we start and end with an EOL or a space.\n if ((events[headEnterIndex][1].type === \"lineEnding\" || events[headEnterIndex][1].type === 'space') && (events[tailExitIndex][1].type === \"lineEnding\" || events[tailExitIndex][1].type === 'space')) {\n index = headEnterIndex;\n\n // And we have data.\n while (++index < tailExitIndex) {\n if (events[index][1].type === \"codeTextData\") {\n // Then we have padding.\n events[headEnterIndex][1].type = \"codeTextPadding\";\n events[tailExitIndex][1].type = \"codeTextPadding\";\n headEnterIndex += 2;\n tailExitIndex -= 2;\n break;\n }\n }\n }\n\n // Merge adjacent spaces and data.\n index = headEnterIndex - 1;\n tailExitIndex++;\n while (++index <= tailExitIndex) {\n if (enter === undefined) {\n if (index !== tailExitIndex && events[index][1].type !== \"lineEnding\") {\n enter = index;\n }\n } else if (index === tailExitIndex || events[index][1].type === \"lineEnding\") {\n events[enter][1].type = \"codeTextData\";\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end;\n events.splice(enter + 2, index - enter - 2);\n tailExitIndex -= index - enter - 2;\n index = enter + 2;\n }\n enter = undefined;\n }\n }\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Previous}\n */\nfunction previous(code) {\n // If there is a previous code, there will always be a tail.\n return code !== 96 || this.events[this.events.length - 1][1].type === \"characterEscape\";\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCodeText(effects, ok, nok) {\n const self = this;\n let sizeOpen = 0;\n /** @type {number} */\n let size;\n /** @type {Token} */\n let token;\n return start;\n\n /**\n * Start of code (text).\n *\n * ```markdown\n * > | `a`\n * ^\n * > | \\`a`\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"codeText\");\n effects.enter(\"codeTextSequence\");\n return sequenceOpen(code);\n }\n\n /**\n * In opening sequence.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceOpen(code) {\n if (code === 96) {\n effects.consume(code);\n sizeOpen++;\n return sequenceOpen;\n }\n effects.exit(\"codeTextSequence\");\n return between(code);\n }\n\n /**\n * Between something and something else.\n *\n * ```markdown\n * > | `a`\n * ^^\n * ```\n *\n * @type {State}\n */\n function between(code) {\n // EOF.\n if (code === null) {\n return nok(code);\n }\n\n // To do: next major: don’t do spaces in resolve, but when compiling,\n // like `markdown-rs`.\n // Tabs don’t work, and virtual spaces don’t make sense.\n if (code === 32) {\n effects.enter('space');\n effects.consume(code);\n effects.exit('space');\n return between;\n }\n\n // Closing fence? Could also be data.\n if (code === 96) {\n token = effects.enter(\"codeTextSequence\");\n size = 0;\n return sequenceClose(code);\n }\n if (markdownLineEnding(code)) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return between;\n }\n\n // Data.\n effects.enter(\"codeTextData\");\n return data(code);\n }\n\n /**\n * In data.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function data(code) {\n if (code === null || code === 32 || code === 96 || markdownLineEnding(code)) {\n effects.exit(\"codeTextData\");\n return between(code);\n }\n effects.consume(code);\n return data;\n }\n\n /**\n * In closing sequence.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceClose(code) {\n // More.\n if (code === 96) {\n effects.consume(code);\n size++;\n return sequenceClose;\n }\n\n // Done!\n if (size === sizeOpen) {\n effects.exit(\"codeTextSequence\");\n effects.exit(\"codeText\");\n return ok(code);\n }\n\n // More or less accents: mark as data.\n token.type = \"codeTextData\";\n return data(code);\n }\n}","/**\n * @import {Extension} from 'micromark-util-types'\n */\n\nimport { attention, autolink, blockQuote, characterEscape, characterReference, codeFenced, codeIndented, codeText, definition, hardBreakEscape, headingAtx, htmlFlow, htmlText, labelEnd, labelStartImage, labelStartLink, lineEnding, list, setextUnderline, thematicBreak } from 'micromark-core-commonmark';\nimport { resolver as resolveText } from './initialize/text.js';\n\n/** @satisfies {Extension['document']} */\nexport const document = {\n [42]: list,\n [43]: list,\n [45]: list,\n [48]: list,\n [49]: list,\n [50]: list,\n [51]: list,\n [52]: list,\n [53]: list,\n [54]: list,\n [55]: list,\n [56]: list,\n [57]: list,\n [62]: blockQuote\n};\n\n/** @satisfies {Extension['contentInitial']} */\nexport const contentInitial = {\n [91]: definition\n};\n\n/** @satisfies {Extension['flowInitial']} */\nexport const flowInitial = {\n [-2]: codeIndented,\n [-1]: codeIndented,\n [32]: codeIndented\n};\n\n/** @satisfies {Extension['flow']} */\nexport const flow = {\n [35]: headingAtx,\n [42]: thematicBreak,\n [45]: [setextUnderline, thematicBreak],\n [60]: htmlFlow,\n [61]: setextUnderline,\n [95]: thematicBreak,\n [96]: codeFenced,\n [126]: codeFenced\n};\n\n/** @satisfies {Extension['string']} */\nexport const string = {\n [38]: characterReference,\n [92]: characterEscape\n};\n\n/** @satisfies {Extension['text']} */\nexport const text = {\n [-5]: lineEnding,\n [-4]: lineEnding,\n [-3]: lineEnding,\n [33]: labelStartImage,\n [38]: characterReference,\n [42]: attention,\n [60]: [autolink, htmlText],\n [91]: labelStartLink,\n [92]: [hardBreakEscape, characterEscape],\n [93]: labelEnd,\n [95]: attention,\n [96]: codeText\n};\n\n/** @satisfies {Extension['insideSpan']} */\nexport const insideSpan = {\n null: [attention, resolveText]\n};\n\n/** @satisfies {Extension['attentionMarkers']} */\nexport const attentionMarkers = {\n null: [42, 95]\n};\n\n/** @satisfies {Extension['disable']} */\nexport const disable = {\n null: []\n};","/**\n * @import {\n * Chunk,\n * Code,\n * ConstructRecord,\n * Construct,\n * Effects,\n * InitialConstruct,\n * ParseContext,\n * Point,\n * State,\n * TokenizeContext,\n * Token\n * } from 'micromark-util-types'\n */\n\n/**\n * @callback Restore\n * Restore the state.\n * @returns {undefined}\n * Nothing.\n *\n * @typedef Info\n * Info.\n * @property {Restore} restore\n * Restore.\n * @property {number} from\n * From.\n *\n * @callback ReturnHandle\n * Handle a successful run.\n * @param {Construct} construct\n * Construct.\n * @param {Info} info\n * Info.\n * @returns {undefined}\n * Nothing.\n */\n\nimport { markdownLineEnding } from 'micromark-util-character';\nimport { push, splice } from 'micromark-util-chunked';\nimport { resolveAll } from 'micromark-util-resolve-all';\n/**\n * Create a tokenizer.\n * Tokenizers deal with one type of data (e.g., containers, flow, text).\n * The parser is the object dealing with it all.\n * `initialize` works like other constructs, except that only its `tokenize`\n * function is used, in which case it doesn’t receive an `ok` or `nok`.\n * `from` can be given to set the point before the first character, although\n * when further lines are indented, they must be set with `defineSkip`.\n *\n * @param {ParseContext} parser\n * Parser.\n * @param {InitialConstruct} initialize\n * Construct.\n * @param {Omit | undefined} [from]\n * Point (optional).\n * @returns {TokenizeContext}\n * Context.\n */\nexport function createTokenizer(parser, initialize, from) {\n /** @type {Point} */\n let point = {\n _bufferIndex: -1,\n _index: 0,\n line: from && from.line || 1,\n column: from && from.column || 1,\n offset: from && from.offset || 0\n };\n /** @type {Record} */\n const columnStart = {};\n /** @type {Array} */\n const resolveAllConstructs = [];\n /** @type {Array} */\n let chunks = [];\n /** @type {Array} */\n let stack = [];\n /** @type {boolean | undefined} */\n let consumed = true;\n\n /**\n * Tools used for tokenizing.\n *\n * @type {Effects}\n */\n const effects = {\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n consume,\n enter,\n exit,\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n })\n };\n\n /**\n * State and tools for resolving and serializing.\n *\n * @type {TokenizeContext}\n */\n const context = {\n code: null,\n containerState: {},\n defineSkip,\n events: [],\n now,\n parser,\n previous: null,\n sliceSerialize,\n sliceStream,\n write\n };\n\n /**\n * The state function.\n *\n * @type {State | undefined}\n */\n let state = initialize.tokenize.call(context, effects);\n\n /**\n * Track which character we expect to be consumed, to catch bugs.\n *\n * @type {Code}\n */\n let expectedCode;\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize);\n }\n return context;\n\n /** @type {TokenizeContext['write']} */\n function write(slice) {\n chunks = push(chunks, slice);\n main();\n\n // Exit if we’re not done, resolve might change stuff.\n if (chunks[chunks.length - 1] !== null) {\n return [];\n }\n addResult(initialize, 0);\n\n // Otherwise, resolve, and exit.\n context.events = resolveAll(resolveAllConstructs, context.events, context);\n return context.events;\n }\n\n //\n // Tools.\n //\n\n /** @type {TokenizeContext['sliceSerialize']} */\n function sliceSerialize(token, expandTabs) {\n return serializeChunks(sliceStream(token), expandTabs);\n }\n\n /** @type {TokenizeContext['sliceStream']} */\n function sliceStream(token) {\n return sliceChunks(chunks, token);\n }\n\n /** @type {TokenizeContext['now']} */\n function now() {\n // This is a hot path, so we clone manually instead of `Object.assign({}, point)`\n const {\n _bufferIndex,\n _index,\n line,\n column,\n offset\n } = point;\n return {\n _bufferIndex,\n _index,\n line,\n column,\n offset\n };\n }\n\n /** @type {TokenizeContext['defineSkip']} */\n function defineSkip(value) {\n columnStart[value.line] = value.column;\n accountForPotentialSkip();\n }\n\n //\n // State management.\n //\n\n /**\n * Main loop (note that `_index` and `_bufferIndex` in `point` are modified by\n * `consume`).\n * Here is where we walk through the chunks, which either include strings of\n * several characters, or numerical character codes.\n * The reason to do this in a loop instead of a call is so the stack can\n * drain.\n *\n * @returns {undefined}\n * Nothing.\n */\n function main() {\n /** @type {number} */\n let chunkIndex;\n while (point._index < chunks.length) {\n const chunk = chunks[point._index];\n\n // If we’re in a buffer chunk, loop through it.\n if (typeof chunk === 'string') {\n chunkIndex = point._index;\n if (point._bufferIndex < 0) {\n point._bufferIndex = 0;\n }\n while (point._index === chunkIndex && point._bufferIndex < chunk.length) {\n go(chunk.charCodeAt(point._bufferIndex));\n }\n } else {\n go(chunk);\n }\n }\n }\n\n /**\n * Deal with one code.\n *\n * @param {Code} code\n * Code.\n * @returns {undefined}\n * Nothing.\n */\n function go(code) {\n consumed = undefined;\n expectedCode = code;\n state = state(code);\n }\n\n /** @type {Effects['consume']} */\n function consume(code) {\n if (markdownLineEnding(code)) {\n point.line++;\n point.column = 1;\n point.offset += code === -3 ? 2 : 1;\n accountForPotentialSkip();\n } else if (code !== -1) {\n point.column++;\n point.offset++;\n }\n\n // Not in a string chunk.\n if (point._bufferIndex < 0) {\n point._index++;\n } else {\n point._bufferIndex++;\n\n // At end of string chunk.\n if (point._bufferIndex ===\n // Points w/ non-negative `_bufferIndex` reference\n // strings.\n /** @type {string} */\n chunks[point._index].length) {\n point._bufferIndex = -1;\n point._index++;\n }\n }\n\n // Expose the previous character.\n context.previous = code;\n\n // Mark as consumed.\n consumed = true;\n }\n\n /** @type {Effects['enter']} */\n function enter(type, fields) {\n /** @type {Token} */\n // @ts-expect-error Patch instead of assign required fields to help GC.\n const token = fields || {};\n token.type = type;\n token.start = now();\n context.events.push(['enter', token, context]);\n stack.push(token);\n return token;\n }\n\n /** @type {Effects['exit']} */\n function exit(type) {\n const token = stack.pop();\n token.end = now();\n context.events.push(['exit', token, context]);\n return token;\n }\n\n /**\n * Use results.\n *\n * @type {ReturnHandle}\n */\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from);\n }\n\n /**\n * Discard results.\n *\n * @type {ReturnHandle}\n */\n function onsuccessfulcheck(_, info) {\n info.restore();\n }\n\n /**\n * Factory to attempt/check/interrupt.\n *\n * @param {ReturnHandle} onreturn\n * Callback.\n * @param {{interrupt?: boolean | undefined} | undefined} [fields]\n * Fields.\n */\n function constructFactory(onreturn, fields) {\n return hook;\n\n /**\n * Handle either an object mapping codes to constructs, a list of\n * constructs, or a single construct.\n *\n * @param {Array | ConstructRecord | Construct} constructs\n * Constructs.\n * @param {State} returnState\n * State.\n * @param {State | undefined} [bogusState]\n * State.\n * @returns {State}\n * State.\n */\n function hook(constructs, returnState, bogusState) {\n /** @type {ReadonlyArray} */\n let listOfConstructs;\n /** @type {number} */\n let constructIndex;\n /** @type {Construct} */\n let currentConstruct;\n /** @type {Info} */\n let info;\n return Array.isArray(constructs) ? /* c8 ignore next 1 */\n handleListOfConstructs(constructs) : 'tokenize' in constructs ?\n // Looks like a construct.\n handleListOfConstructs([(/** @type {Construct} */constructs)]) : handleMapOfConstructs(constructs);\n\n /**\n * Handle a list of construct.\n *\n * @param {ConstructRecord} map\n * Constructs.\n * @returns {State}\n * State.\n */\n function handleMapOfConstructs(map) {\n return start;\n\n /** @type {State} */\n function start(code) {\n const left = code !== null && map[code];\n const all = code !== null && map.null;\n const list = [\n // To do: add more extension tests.\n /* c8 ignore next 2 */\n ...(Array.isArray(left) ? left : left ? [left] : []), ...(Array.isArray(all) ? all : all ? [all] : [])];\n return handleListOfConstructs(list)(code);\n }\n }\n\n /**\n * Handle a list of construct.\n *\n * @param {ReadonlyArray} list\n * Constructs.\n * @returns {State}\n * State.\n */\n function handleListOfConstructs(list) {\n listOfConstructs = list;\n constructIndex = 0;\n if (list.length === 0) {\n return bogusState;\n }\n return handleConstruct(list[constructIndex]);\n }\n\n /**\n * Handle a single construct.\n *\n * @param {Construct} construct\n * Construct.\n * @returns {State}\n * State.\n */\n function handleConstruct(construct) {\n return start;\n\n /** @type {State} */\n function start(code) {\n // To do: not needed to store if there is no bogus state, probably?\n // Currently doesn’t work because `inspect` in document does a check\n // w/o a bogus, which doesn’t make sense. But it does seem to help perf\n // by not storing.\n info = store();\n currentConstruct = construct;\n if (!construct.partial) {\n context.currentConstruct = construct;\n }\n\n // Always populated by defaults.\n\n if (construct.name && context.parser.constructs.disable.null.includes(construct.name)) {\n return nok(code);\n }\n return construct.tokenize.call(\n // If we do have fields, create an object w/ `context` as its\n // prototype.\n // This allows a “live binding”, which is needed for `interrupt`.\n fields ? Object.assign(Object.create(context), fields) : context, effects, ok, nok)(code);\n }\n }\n\n /** @type {State} */\n function ok(code) {\n consumed = true;\n onreturn(currentConstruct, info);\n return returnState;\n }\n\n /** @type {State} */\n function nok(code) {\n consumed = true;\n info.restore();\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex]);\n }\n return bogusState;\n }\n }\n }\n\n /**\n * @param {Construct} construct\n * Construct.\n * @param {number} from\n * From.\n * @returns {undefined}\n * Nothing.\n */\n function addResult(construct, from) {\n if (construct.resolveAll && !resolveAllConstructs.includes(construct)) {\n resolveAllConstructs.push(construct);\n }\n if (construct.resolve) {\n splice(context.events, from, context.events.length - from, construct.resolve(context.events.slice(from), context));\n }\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context);\n }\n }\n\n /**\n * Store state.\n *\n * @returns {Info}\n * Info.\n */\n function store() {\n const startPoint = now();\n const startPrevious = context.previous;\n const startCurrentConstruct = context.currentConstruct;\n const startEventsIndex = context.events.length;\n const startStack = Array.from(stack);\n return {\n from: startEventsIndex,\n restore\n };\n\n /**\n * Restore state.\n *\n * @returns {undefined}\n * Nothing.\n */\n function restore() {\n point = startPoint;\n context.previous = startPrevious;\n context.currentConstruct = startCurrentConstruct;\n context.events.length = startEventsIndex;\n stack = startStack;\n accountForPotentialSkip();\n }\n }\n\n /**\n * Move the current point a bit forward in the line when it’s on a column\n * skip.\n *\n * @returns {undefined}\n * Nothing.\n */\n function accountForPotentialSkip() {\n if (point.line in columnStart && point.column < 2) {\n point.column = columnStart[point.line];\n point.offset += columnStart[point.line] - 1;\n }\n }\n}\n\n/**\n * Get the chunks from a slice of chunks in the range of a token.\n *\n * @param {ReadonlyArray} chunks\n * Chunks.\n * @param {Pick} token\n * Token.\n * @returns {Array}\n * Chunks.\n */\nfunction sliceChunks(chunks, token) {\n const startIndex = token.start._index;\n const startBufferIndex = token.start._bufferIndex;\n const endIndex = token.end._index;\n const endBufferIndex = token.end._bufferIndex;\n /** @type {Array} */\n let view;\n if (startIndex === endIndex) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)];\n } else {\n view = chunks.slice(startIndex, endIndex);\n if (startBufferIndex > -1) {\n const head = view[0];\n if (typeof head === 'string') {\n view[0] = head.slice(startBufferIndex);\n } else {\n view.shift();\n }\n }\n if (endBufferIndex > 0) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view.push(chunks[endIndex].slice(0, endBufferIndex));\n }\n }\n return view;\n}\n\n/**\n * Get the string value of a slice of chunks.\n *\n * @param {ReadonlyArray} chunks\n * Chunks.\n * @param {boolean | undefined} [expandTabs=false]\n * Whether to expand tabs (default: `false`).\n * @returns {string}\n * Result.\n */\nfunction serializeChunks(chunks, expandTabs) {\n let index = -1;\n /** @type {Array} */\n const result = [];\n /** @type {boolean | undefined} */\n let atTab;\n while (++index < chunks.length) {\n const chunk = chunks[index];\n /** @type {string} */\n let value;\n if (typeof chunk === 'string') {\n value = chunk;\n } else switch (chunk) {\n case -5:\n {\n value = \"\\r\";\n break;\n }\n case -4:\n {\n value = \"\\n\";\n break;\n }\n case -3:\n {\n value = \"\\r\" + \"\\n\";\n break;\n }\n case -2:\n {\n value = expandTabs ? \" \" : \"\\t\";\n break;\n }\n case -1:\n {\n if (!expandTabs && atTab) continue;\n value = \" \";\n break;\n }\n default:\n {\n // Currently only replacement character.\n value = String.fromCharCode(chunk);\n }\n }\n atTab = chunk === -2;\n result.push(value);\n }\n return result.join('');\n}","/**\n * @import {\n * Create,\n * FullNormalizedExtension,\n * InitialConstruct,\n * ParseContext,\n * ParseOptions\n * } from 'micromark-util-types'\n */\n\nimport { combineExtensions } from 'micromark-util-combine-extensions';\nimport { content } from './initialize/content.js';\nimport { document } from './initialize/document.js';\nimport { flow } from './initialize/flow.js';\nimport { string, text } from './initialize/text.js';\nimport * as defaultConstructs from './constructs.js';\nimport { createTokenizer } from './create-tokenizer.js';\n\n/**\n * @param {ParseOptions | null | undefined} [options]\n * Configuration (optional).\n * @returns {ParseContext}\n * Parser.\n */\nexport function parse(options) {\n const settings = options || {};\n const constructs = /** @type {FullNormalizedExtension} */\n combineExtensions([defaultConstructs, ...(settings.extensions || [])]);\n\n /** @type {ParseContext} */\n const parser = {\n constructs,\n content: create(content),\n defined: [],\n document: create(document),\n flow: create(flow),\n lazy: {},\n string: create(string),\n text: create(text)\n };\n return parser;\n\n /**\n * @param {InitialConstruct} initial\n * Construct to start with.\n * @returns {Create}\n * Create a tokenizer.\n */\n function create(initial) {\n return creator;\n /** @type {Create} */\n function creator(from) {\n return createTokenizer(parser, initial, from);\n }\n }\n}","/**\n * @import {Chunk, Code, Encoding, Value} from 'micromark-util-types'\n */\n\n/**\n * @callback Preprocessor\n * Preprocess a value.\n * @param {Value} value\n * Value.\n * @param {Encoding | null | undefined} [encoding]\n * Encoding when `value` is a typed array (optional).\n * @param {boolean | null | undefined} [end=false]\n * Whether this is the last chunk (default: `false`).\n * @returns {Array}\n * Chunks.\n */\n\nconst search = /[\\0\\t\\n\\r]/g;\n\n/**\n * @returns {Preprocessor}\n * Preprocess a value.\n */\nexport function preprocess() {\n let column = 1;\n let buffer = '';\n /** @type {boolean | undefined} */\n let start = true;\n /** @type {boolean | undefined} */\n let atCarriageReturn;\n return preprocessor;\n\n /** @type {Preprocessor} */\n // eslint-disable-next-line complexity\n function preprocessor(value, encoding, end) {\n /** @type {Array} */\n const chunks = [];\n /** @type {RegExpMatchArray | null} */\n let match;\n /** @type {number} */\n let next;\n /** @type {number} */\n let startPosition;\n /** @type {number} */\n let endPosition;\n /** @type {Code} */\n let code;\n value = buffer + (typeof value === 'string' ? value.toString() : new TextDecoder(encoding || undefined).decode(value));\n startPosition = 0;\n buffer = '';\n if (start) {\n // To do: `markdown-rs` actually parses BOMs (byte order mark).\n if (value.charCodeAt(0) === 65279) {\n startPosition++;\n }\n start = undefined;\n }\n while (startPosition < value.length) {\n search.lastIndex = startPosition;\n match = search.exec(value);\n endPosition = match && match.index !== undefined ? match.index : value.length;\n code = value.charCodeAt(endPosition);\n if (!match) {\n buffer = value.slice(startPosition);\n break;\n }\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3);\n atCarriageReturn = undefined;\n } else {\n if (atCarriageReturn) {\n chunks.push(-5);\n atCarriageReturn = undefined;\n }\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition));\n column += endPosition - startPosition;\n }\n switch (code) {\n case 0:\n {\n chunks.push(65533);\n column++;\n break;\n }\n case 9:\n {\n next = Math.ceil(column / 4) * 4;\n chunks.push(-2);\n while (column++ < next) chunks.push(-1);\n break;\n }\n case 10:\n {\n chunks.push(-4);\n column = 1;\n break;\n }\n default:\n {\n atCarriageReturn = true;\n column = 1;\n }\n }\n }\n startPosition = endPosition + 1;\n }\n if (end) {\n if (atCarriageReturn) chunks.push(-5);\n if (buffer) chunks.push(buffer);\n chunks.push(null);\n }\n return chunks;\n }\n}","/**\n * Turn the number (in string form as either hexa- or plain decimal) coming from\n * a numeric character reference into a character.\n *\n * Sort of like `String.fromCodePoint(Number.parseInt(value, base))`, but makes\n * non-characters and control characters safe.\n *\n * @param {string} value\n * Value to decode.\n * @param {number} base\n * Numeric base.\n * @returns {string}\n * Character.\n */\nexport function decodeNumericCharacterReference(value, base) {\n const code = Number.parseInt(value, base);\n if (\n // C0 except for HT, LF, FF, CR, space.\n code < 9 || code === 11 || code > 13 && code < 32 ||\n // Control character (DEL) of C0, and C1 controls.\n code > 126 && code < 160 ||\n // Lone high surrogates and low surrogates.\n code > 55_295 && code < 57_344 ||\n // Noncharacters.\n code > 64_975 && code < 65_008 || /* eslint-disable no-bitwise */\n (code & 65_535) === 65_535 || (code & 65_535) === 65_534 || /* eslint-enable no-bitwise */\n // Out of range\n code > 1_114_111) {\n return \"\\uFFFD\";\n }\n return String.fromCodePoint(code);\n}","import { decodeNamedCharacterReference } from 'decode-named-character-reference';\nimport { decodeNumericCharacterReference } from 'micromark-util-decode-numeric-character-reference';\nconst characterEscapeOrReference = /\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi;\n\n/**\n * Decode markdown strings (which occur in places such as fenced code info\n * strings, destinations, labels, and titles).\n *\n * The “string” content type allows character escapes and -references.\n * This decodes those.\n *\n * @param {string} value\n * Value to decode.\n * @returns {string}\n * Decoded value.\n */\nexport function decodeString(value) {\n return value.replace(characterEscapeOrReference, decode);\n}\n\n/**\n * @param {string} $0\n * Match.\n * @param {string} $1\n * Character escape.\n * @param {string} $2\n * Character reference.\n * @returns {string}\n * Decoded value\n */\nfunction decode($0, $1, $2) {\n if ($1) {\n // Escape.\n return $1;\n }\n\n // Reference.\n const head = $2.charCodeAt(0);\n if (head === 35) {\n const head = $2.charCodeAt(1);\n const hex = head === 120 || head === 88;\n return decodeNumericCharacterReference($2.slice(hex ? 2 : 1), hex ? 16 : 10);\n }\n return decodeNamedCharacterReference($2) || $0;\n}","/**\n * @import {\n * Break,\n * Blockquote,\n * Code,\n * Definition,\n * Emphasis,\n * Heading,\n * Html,\n * Image,\n * InlineCode,\n * Link,\n * ListItem,\n * List,\n * Nodes,\n * Paragraph,\n * PhrasingContent,\n * ReferenceType,\n * Root,\n * Strong,\n * Text,\n * ThematicBreak\n * } from 'mdast'\n * @import {\n * Encoding,\n * Event,\n * Token,\n * Value\n * } from 'micromark-util-types'\n * @import {Point} from 'unist'\n * @import {\n * CompileContext,\n * CompileData,\n * Config,\n * Extension,\n * Handle,\n * OnEnterError,\n * Options\n * } from './types.js'\n */\n\nimport { toString } from 'mdast-util-to-string';\nimport { parse, postprocess, preprocess } from 'micromark';\nimport { decodeNumericCharacterReference } from 'micromark-util-decode-numeric-character-reference';\nimport { decodeString } from 'micromark-util-decode-string';\nimport { normalizeIdentifier } from 'micromark-util-normalize-identifier';\nimport { decodeNamedCharacterReference } from 'decode-named-character-reference';\nimport { stringifyPosition } from 'unist-util-stringify-position';\nconst own = {}.hasOwnProperty;\n\n/**\n * Turn markdown into a syntax tree.\n *\n * @overload\n * @param {Value} value\n * @param {Encoding | null | undefined} [encoding]\n * @param {Options | null | undefined} [options]\n * @returns {Root}\n *\n * @overload\n * @param {Value} value\n * @param {Options | null | undefined} [options]\n * @returns {Root}\n *\n * @param {Value} value\n * Markdown to parse.\n * @param {Encoding | Options | null | undefined} [encoding]\n * Character encoding for when `value` is `Buffer`.\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {Root}\n * mdast tree.\n */\nexport function fromMarkdown(value, encoding, options) {\n if (typeof encoding !== 'string') {\n options = encoding;\n encoding = undefined;\n }\n return compiler(options)(postprocess(parse(options).document().write(preprocess()(value, encoding, true))));\n}\n\n/**\n * Note this compiler only understand complete buffering, not streaming.\n *\n * @param {Options | null | undefined} [options]\n */\nfunction compiler(options) {\n /** @type {Config} */\n const config = {\n transforms: [],\n canContainEols: ['emphasis', 'fragment', 'heading', 'paragraph', 'strong'],\n enter: {\n autolink: opener(link),\n autolinkProtocol: onenterdata,\n autolinkEmail: onenterdata,\n atxHeading: opener(heading),\n blockQuote: opener(blockQuote),\n characterEscape: onenterdata,\n characterReference: onenterdata,\n codeFenced: opener(codeFlow),\n codeFencedFenceInfo: buffer,\n codeFencedFenceMeta: buffer,\n codeIndented: opener(codeFlow, buffer),\n codeText: opener(codeText, buffer),\n codeTextData: onenterdata,\n data: onenterdata,\n codeFlowValue: onenterdata,\n definition: opener(definition),\n definitionDestinationString: buffer,\n definitionLabelString: buffer,\n definitionTitleString: buffer,\n emphasis: opener(emphasis),\n hardBreakEscape: opener(hardBreak),\n hardBreakTrailing: opener(hardBreak),\n htmlFlow: opener(html, buffer),\n htmlFlowData: onenterdata,\n htmlText: opener(html, buffer),\n htmlTextData: onenterdata,\n image: opener(image),\n label: buffer,\n link: opener(link),\n listItem: opener(listItem),\n listItemValue: onenterlistitemvalue,\n listOrdered: opener(list, onenterlistordered),\n listUnordered: opener(list),\n paragraph: opener(paragraph),\n reference: onenterreference,\n referenceString: buffer,\n resourceDestinationString: buffer,\n resourceTitleString: buffer,\n setextHeading: opener(heading),\n strong: opener(strong),\n thematicBreak: opener(thematicBreak)\n },\n exit: {\n atxHeading: closer(),\n atxHeadingSequence: onexitatxheadingsequence,\n autolink: closer(),\n autolinkEmail: onexitautolinkemail,\n autolinkProtocol: onexitautolinkprotocol,\n blockQuote: closer(),\n characterEscapeValue: onexitdata,\n characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,\n characterReferenceMarkerNumeric: onexitcharacterreferencemarker,\n characterReferenceValue: onexitcharacterreferencevalue,\n characterReference: onexitcharacterreference,\n codeFenced: closer(onexitcodefenced),\n codeFencedFence: onexitcodefencedfence,\n codeFencedFenceInfo: onexitcodefencedfenceinfo,\n codeFencedFenceMeta: onexitcodefencedfencemeta,\n codeFlowValue: onexitdata,\n codeIndented: closer(onexitcodeindented),\n codeText: closer(onexitcodetext),\n codeTextData: onexitdata,\n data: onexitdata,\n definition: closer(),\n definitionDestinationString: onexitdefinitiondestinationstring,\n definitionLabelString: onexitdefinitionlabelstring,\n definitionTitleString: onexitdefinitiontitlestring,\n emphasis: closer(),\n hardBreakEscape: closer(onexithardbreak),\n hardBreakTrailing: closer(onexithardbreak),\n htmlFlow: closer(onexithtmlflow),\n htmlFlowData: onexitdata,\n htmlText: closer(onexithtmltext),\n htmlTextData: onexitdata,\n image: closer(onexitimage),\n label: onexitlabel,\n labelText: onexitlabeltext,\n lineEnding: onexitlineending,\n link: closer(onexitlink),\n listItem: closer(),\n listOrdered: closer(),\n listUnordered: closer(),\n paragraph: closer(),\n referenceString: onexitreferencestring,\n resourceDestinationString: onexitresourcedestinationstring,\n resourceTitleString: onexitresourcetitlestring,\n resource: onexitresource,\n setextHeading: closer(onexitsetextheading),\n setextHeadingLineSequence: onexitsetextheadinglinesequence,\n setextHeadingText: onexitsetextheadingtext,\n strong: closer(),\n thematicBreak: closer()\n }\n };\n configure(config, (options || {}).mdastExtensions || []);\n\n /** @type {CompileData} */\n const data = {};\n return compile;\n\n /**\n * Turn micromark events into an mdast tree.\n *\n * @param {Array} events\n * Events.\n * @returns {Root}\n * mdast tree.\n */\n function compile(events) {\n /** @type {Root} */\n let tree = {\n type: 'root',\n children: []\n };\n /** @type {Omit} */\n const context = {\n stack: [tree],\n tokenStack: [],\n config,\n enter,\n exit,\n buffer,\n resume,\n data\n };\n /** @type {Array} */\n const listStack = [];\n let index = -1;\n while (++index < events.length) {\n // We preprocess lists to add `listItem` tokens, and to infer whether\n // items the list itself are spread out.\n if (events[index][1].type === \"listOrdered\" || events[index][1].type === \"listUnordered\") {\n if (events[index][0] === 'enter') {\n listStack.push(index);\n } else {\n const tail = listStack.pop();\n index = prepareList(events, tail, index);\n }\n }\n }\n index = -1;\n while (++index < events.length) {\n const handler = config[events[index][0]];\n if (own.call(handler, events[index][1].type)) {\n handler[events[index][1].type].call(Object.assign({\n sliceSerialize: events[index][2].sliceSerialize\n }, context), events[index][1]);\n }\n }\n\n // Handle tokens still being open.\n if (context.tokenStack.length > 0) {\n const tail = context.tokenStack[context.tokenStack.length - 1];\n const handler = tail[1] || defaultOnError;\n handler.call(context, undefined, tail[0]);\n }\n\n // Figure out `root` position.\n tree.position = {\n start: point(events.length > 0 ? events[0][1].start : {\n line: 1,\n column: 1,\n offset: 0\n }),\n end: point(events.length > 0 ? events[events.length - 2][1].end : {\n line: 1,\n column: 1,\n offset: 0\n })\n };\n\n // Call transforms.\n index = -1;\n while (++index < config.transforms.length) {\n tree = config.transforms[index](tree) || tree;\n }\n return tree;\n }\n\n /**\n * @param {Array} events\n * @param {number} start\n * @param {number} length\n * @returns {number}\n */\n function prepareList(events, start, length) {\n let index = start - 1;\n let containerBalance = -1;\n let listSpread = false;\n /** @type {Token | undefined} */\n let listItem;\n /** @type {number | undefined} */\n let lineIndex;\n /** @type {number | undefined} */\n let firstBlankLineIndex;\n /** @type {boolean | undefined} */\n let atMarker;\n while (++index <= length) {\n const event = events[index];\n switch (event[1].type) {\n case \"listUnordered\":\n case \"listOrdered\":\n case \"blockQuote\":\n {\n if (event[0] === 'enter') {\n containerBalance++;\n } else {\n containerBalance--;\n }\n atMarker = undefined;\n break;\n }\n case \"lineEndingBlank\":\n {\n if (event[0] === 'enter') {\n if (listItem && !atMarker && !containerBalance && !firstBlankLineIndex) {\n firstBlankLineIndex = index;\n }\n atMarker = undefined;\n }\n break;\n }\n case \"linePrefix\":\n case \"listItemValue\":\n case \"listItemMarker\":\n case \"listItemPrefix\":\n case \"listItemPrefixWhitespace\":\n {\n // Empty.\n\n break;\n }\n default:\n {\n atMarker = undefined;\n }\n }\n if (!containerBalance && event[0] === 'enter' && event[1].type === \"listItemPrefix\" || containerBalance === -1 && event[0] === 'exit' && (event[1].type === \"listUnordered\" || event[1].type === \"listOrdered\")) {\n if (listItem) {\n let tailIndex = index;\n lineIndex = undefined;\n while (tailIndex--) {\n const tailEvent = events[tailIndex];\n if (tailEvent[1].type === \"lineEnding\" || tailEvent[1].type === \"lineEndingBlank\") {\n if (tailEvent[0] === 'exit') continue;\n if (lineIndex) {\n events[lineIndex][1].type = \"lineEndingBlank\";\n listSpread = true;\n }\n tailEvent[1].type = \"lineEnding\";\n lineIndex = tailIndex;\n } else if (tailEvent[1].type === \"linePrefix\" || tailEvent[1].type === \"blockQuotePrefix\" || tailEvent[1].type === \"blockQuotePrefixWhitespace\" || tailEvent[1].type === \"blockQuoteMarker\" || tailEvent[1].type === \"listItemIndent\") {\n // Empty\n } else {\n break;\n }\n }\n if (firstBlankLineIndex && (!lineIndex || firstBlankLineIndex < lineIndex)) {\n listItem._spread = true;\n }\n\n // Fix position.\n listItem.end = Object.assign({}, lineIndex ? events[lineIndex][1].start : event[1].end);\n events.splice(lineIndex || index, 0, ['exit', listItem, event[2]]);\n index++;\n length++;\n }\n\n // Create a new list item.\n if (event[1].type === \"listItemPrefix\") {\n /** @type {Token} */\n const item = {\n type: 'listItem',\n _spread: false,\n start: Object.assign({}, event[1].start),\n // @ts-expect-error: we’ll add `end` in a second.\n end: undefined\n };\n listItem = item;\n events.splice(index, 0, ['enter', item, event[2]]);\n index++;\n length++;\n firstBlankLineIndex = undefined;\n atMarker = true;\n }\n }\n }\n events[start][1]._spread = listSpread;\n return length;\n }\n\n /**\n * Create an opener handle.\n *\n * @param {(token: Token) => Nodes} create\n * Create a node.\n * @param {Handle | undefined} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function opener(create, and) {\n return open;\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {undefined}\n */\n function open(token) {\n enter.call(this, create(token), token);\n if (and) and.call(this, token);\n }\n }\n\n /**\n * @type {CompileContext['buffer']}\n */\n function buffer() {\n this.stack.push({\n type: 'fragment',\n children: []\n });\n }\n\n /**\n * @type {CompileContext['enter']}\n */\n function enter(node, token, errorHandler) {\n const parent = this.stack[this.stack.length - 1];\n /** @type {Array} */\n const siblings = parent.children;\n siblings.push(node);\n this.stack.push(node);\n this.tokenStack.push([token, errorHandler || undefined]);\n node.position = {\n start: point(token.start),\n // @ts-expect-error: `end` will be patched later.\n end: undefined\n };\n }\n\n /**\n * Create a closer handle.\n *\n * @param {Handle | undefined} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function closer(and) {\n return close;\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {undefined}\n */\n function close(token) {\n if (and) and.call(this, token);\n exit.call(this, token);\n }\n }\n\n /**\n * @type {CompileContext['exit']}\n */\n function exit(token, onExitError) {\n const node = this.stack.pop();\n const open = this.tokenStack.pop();\n if (!open) {\n throw new Error('Cannot close `' + token.type + '` (' + stringifyPosition({\n start: token.start,\n end: token.end\n }) + '): it’s not open');\n } else if (open[0].type !== token.type) {\n if (onExitError) {\n onExitError.call(this, token, open[0]);\n } else {\n const handler = open[1] || defaultOnError;\n handler.call(this, token, open[0]);\n }\n }\n node.position.end = point(token.end);\n }\n\n /**\n * @type {CompileContext['resume']}\n */\n function resume() {\n return toString(this.stack.pop());\n }\n\n //\n // Handlers.\n //\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistordered() {\n this.data.expectingFirstListItemValue = true;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistitemvalue(token) {\n if (this.data.expectingFirstListItemValue) {\n const ancestor = this.stack[this.stack.length - 2];\n ancestor.start = Number.parseInt(this.sliceSerialize(token), 10);\n this.data.expectingFirstListItemValue = undefined;\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfenceinfo() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.lang = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfencemeta() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.meta = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfence() {\n // Exit if this is the closing fence.\n if (this.data.flowCodeInside) return;\n this.buffer();\n this.data.flowCodeInside = true;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefenced() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g, '');\n this.data.flowCodeInside = undefined;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodeindented() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data.replace(/(\\r?\\n|\\r)$/g, '');\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitionlabelstring(token) {\n const label = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.label = label;\n node.identifier = normalizeIdentifier(this.sliceSerialize(token)).toLowerCase();\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiontitlestring() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.title = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiondestinationstring() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.url = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitatxheadingsequence(token) {\n const node = this.stack[this.stack.length - 1];\n if (!node.depth) {\n const depth = this.sliceSerialize(token).length;\n node.depth = depth;\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadingtext() {\n this.data.setextHeadingSlurpLineEnding = true;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadinglinesequence(token) {\n const node = this.stack[this.stack.length - 1];\n node.depth = this.sliceSerialize(token).codePointAt(0) === 61 ? 1 : 2;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheading() {\n this.data.setextHeadingSlurpLineEnding = undefined;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterdata(token) {\n const node = this.stack[this.stack.length - 1];\n /** @type {Array} */\n const siblings = node.children;\n let tail = siblings[siblings.length - 1];\n if (!tail || tail.type !== 'text') {\n // Add a new text node.\n tail = text();\n tail.position = {\n start: point(token.start),\n // @ts-expect-error: we’ll add `end` later.\n end: undefined\n };\n siblings.push(tail);\n }\n this.stack.push(tail);\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitdata(token) {\n const tail = this.stack.pop();\n tail.value += this.sliceSerialize(token);\n tail.position.end = point(token.end);\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlineending(token) {\n const context = this.stack[this.stack.length - 1];\n // If we’re at a hard break, include the line ending in there.\n if (this.data.atHardBreak) {\n const tail = context.children[context.children.length - 1];\n tail.position.end = point(token.end);\n this.data.atHardBreak = undefined;\n return;\n }\n if (!this.data.setextHeadingSlurpLineEnding && config.canContainEols.includes(context.type)) {\n onenterdata.call(this, token);\n onexitdata.call(this, token);\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithardbreak() {\n this.data.atHardBreak = true;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmlflow() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmltext() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcodetext() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlink() {\n const node = this.stack[this.stack.length - 1];\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n\n // To do: clean.\n if (this.data.inReference) {\n /** @type {ReferenceType} */\n const referenceType = this.data.referenceType || 'shortcut';\n node.type += 'Reference';\n // @ts-expect-error: mutate.\n node.referenceType = referenceType;\n // @ts-expect-error: mutate.\n delete node.url;\n delete node.title;\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier;\n // @ts-expect-error: mutate.\n delete node.label;\n }\n this.data.referenceType = undefined;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitimage() {\n const node = this.stack[this.stack.length - 1];\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n\n // To do: clean.\n if (this.data.inReference) {\n /** @type {ReferenceType} */\n const referenceType = this.data.referenceType || 'shortcut';\n node.type += 'Reference';\n // @ts-expect-error: mutate.\n node.referenceType = referenceType;\n // @ts-expect-error: mutate.\n delete node.url;\n delete node.title;\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier;\n // @ts-expect-error: mutate.\n delete node.label;\n }\n this.data.referenceType = undefined;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabeltext(token) {\n const string = this.sliceSerialize(token);\n const ancestor = this.stack[this.stack.length - 2];\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n ancestor.label = decodeString(string);\n // @ts-expect-error: same as above.\n ancestor.identifier = normalizeIdentifier(string).toLowerCase();\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabel() {\n const fragment = this.stack[this.stack.length - 1];\n const value = this.resume();\n const node = this.stack[this.stack.length - 1];\n // Assume a reference.\n this.data.inReference = true;\n if (node.type === 'link') {\n /** @type {Array} */\n const children = fragment.children;\n node.children = children;\n } else {\n node.alt = value;\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcedestinationstring() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.url = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcetitlestring() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.title = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresource() {\n this.data.inReference = undefined;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterreference() {\n this.data.referenceType = 'collapsed';\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitreferencestring(token) {\n const label = this.resume();\n const node = this.stack[this.stack.length - 1];\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n node.label = label;\n // @ts-expect-error: same as above.\n node.identifier = normalizeIdentifier(this.sliceSerialize(token)).toLowerCase();\n this.data.referenceType = 'full';\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcharacterreferencemarker(token) {\n this.data.characterReferenceType = token.type;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcharacterreferencevalue(token) {\n const data = this.sliceSerialize(token);\n const type = this.data.characterReferenceType;\n /** @type {string} */\n let value;\n if (type) {\n value = decodeNumericCharacterReference(data, type === \"characterReferenceMarkerNumeric\" ? 10 : 16);\n this.data.characterReferenceType = undefined;\n } else {\n const result = decodeNamedCharacterReference(data);\n value = result;\n }\n const tail = this.stack[this.stack.length - 1];\n tail.value += value;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcharacterreference(token) {\n const tail = this.stack.pop();\n tail.position.end = point(token.end);\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkprotocol(token) {\n onexitdata.call(this, token);\n const node = this.stack[this.stack.length - 1];\n node.url = this.sliceSerialize(token);\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkemail(token) {\n onexitdata.call(this, token);\n const node = this.stack[this.stack.length - 1];\n node.url = 'mailto:' + this.sliceSerialize(token);\n }\n\n //\n // Creaters.\n //\n\n /** @returns {Blockquote} */\n function blockQuote() {\n return {\n type: 'blockquote',\n children: []\n };\n }\n\n /** @returns {Code} */\n function codeFlow() {\n return {\n type: 'code',\n lang: null,\n meta: null,\n value: ''\n };\n }\n\n /** @returns {InlineCode} */\n function codeText() {\n return {\n type: 'inlineCode',\n value: ''\n };\n }\n\n /** @returns {Definition} */\n function definition() {\n return {\n type: 'definition',\n identifier: '',\n label: null,\n title: null,\n url: ''\n };\n }\n\n /** @returns {Emphasis} */\n function emphasis() {\n return {\n type: 'emphasis',\n children: []\n };\n }\n\n /** @returns {Heading} */\n function heading() {\n return {\n type: 'heading',\n // @ts-expect-error `depth` will be set later.\n depth: 0,\n children: []\n };\n }\n\n /** @returns {Break} */\n function hardBreak() {\n return {\n type: 'break'\n };\n }\n\n /** @returns {Html} */\n function html() {\n return {\n type: 'html',\n value: ''\n };\n }\n\n /** @returns {Image} */\n function image() {\n return {\n type: 'image',\n title: null,\n url: '',\n alt: null\n };\n }\n\n /** @returns {Link} */\n function link() {\n return {\n type: 'link',\n title: null,\n url: '',\n children: []\n };\n }\n\n /**\n * @param {Token} token\n * @returns {List}\n */\n function list(token) {\n return {\n type: 'list',\n ordered: token.type === 'listOrdered',\n start: null,\n spread: token._spread,\n children: []\n };\n }\n\n /**\n * @param {Token} token\n * @returns {ListItem}\n */\n function listItem(token) {\n return {\n type: 'listItem',\n spread: token._spread,\n checked: null,\n children: []\n };\n }\n\n /** @returns {Paragraph} */\n function paragraph() {\n return {\n type: 'paragraph',\n children: []\n };\n }\n\n /** @returns {Strong} */\n function strong() {\n return {\n type: 'strong',\n children: []\n };\n }\n\n /** @returns {Text} */\n function text() {\n return {\n type: 'text',\n value: ''\n };\n }\n\n /** @returns {ThematicBreak} */\n function thematicBreak() {\n return {\n type: 'thematicBreak'\n };\n }\n}\n\n/**\n * Copy a point-like value.\n *\n * @param {Point} d\n * Point-like value.\n * @returns {Point}\n * unist point.\n */\nfunction point(d) {\n return {\n line: d.line,\n column: d.column,\n offset: d.offset\n };\n}\n\n/**\n * @param {Config} combined\n * @param {Array | Extension>} extensions\n * @returns {undefined}\n */\nfunction configure(combined, extensions) {\n let index = -1;\n while (++index < extensions.length) {\n const value = extensions[index];\n if (Array.isArray(value)) {\n configure(combined, value);\n } else {\n extension(combined, value);\n }\n }\n}\n\n/**\n * @param {Config} combined\n * @param {Extension} extension\n * @returns {undefined}\n */\nfunction extension(combined, extension) {\n /** @type {keyof Extension} */\n let key;\n for (key in extension) {\n if (own.call(extension, key)) {\n switch (key) {\n case 'canContainEols':\n {\n const right = extension[key];\n if (right) {\n combined[key].push(...right);\n }\n break;\n }\n case 'transforms':\n {\n const right = extension[key];\n if (right) {\n combined[key].push(...right);\n }\n break;\n }\n case 'enter':\n case 'exit':\n {\n const right = extension[key];\n if (right) {\n Object.assign(combined[key], right);\n }\n break;\n }\n // No default\n }\n }\n }\n}\n\n/** @type {OnEnterError} */\nfunction defaultOnError(left, right) {\n if (left) {\n throw new Error('Cannot close `' + left.type + '` (' + stringifyPosition({\n start: left.start,\n end: left.end\n }) + '): a different token (`' + right.type + '`, ' + stringifyPosition({\n start: right.start,\n end: right.end\n }) + ') is open');\n } else {\n throw new Error('Cannot close document, a token (`' + right.type + '`, ' + stringifyPosition({\n start: right.start,\n end: right.end\n }) + ') is still open');\n }\n}","/**\n * @import {Event} from 'micromark-util-types'\n */\n\nimport { subtokenize } from 'micromark-util-subtokenize';\n\n/**\n * @param {Array} events\n * Events.\n * @returns {Array}\n * Events.\n */\nexport function postprocess(events) {\n while (!subtokenize(events)) {\n // Empty\n }\n return events;\n}","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast-util-from-markdown').Options} FromMarkdownOptions\n * @typedef {import('unified').Parser} Parser\n * @typedef {import('unified').Processor} Processor\n */\n\n/**\n * @typedef {Omit} Options\n */\n\nimport {fromMarkdown} from 'mdast-util-from-markdown'\n\n/**\n * Aadd support for parsing from markdown.\n *\n * @param {Readonly | null | undefined} [options]\n * Configuration (optional).\n * @returns {undefined}\n * Nothing.\n */\nexport default function remarkParse(options) {\n /** @type {Processor} */\n // @ts-expect-error: TS in JSDoc generates wrong types if `this` is typed regularly.\n const self = this\n\n self.parser = parser\n\n /**\n * @type {Parser}\n */\n function parser(doc) {\n return fromMarkdown(doc, {\n ...self.data('settings'),\n ...options,\n // Note: these options are not in the readme.\n // The goal is for them to be set by plugins on `data` instead of being\n // passed by users.\n extensions: self.data('micromarkExtensions') || [],\n mdastExtensions: self.data('fromMarkdownExtensions') || []\n })\n }\n}\n","export const VOID = -1;\nexport const PRIMITIVE = 0;\nexport const ARRAY = 1;\nexport const OBJECT = 2;\nexport const DATE = 3;\nexport const REGEXP = 4;\nexport const MAP = 5;\nexport const SET = 6;\nexport const ERROR = 7;\nexport const BIGINT = 8;\n// export const SYMBOL = 9;\n","import {\n VOID, PRIMITIVE,\n ARRAY, OBJECT,\n DATE, REGEXP, MAP, SET,\n ERROR, BIGINT\n} from './types.js';\n\nconst env = typeof self === 'object' ? self : globalThis;\n\nconst deserializer = ($, _) => {\n const as = (out, index) => {\n $.set(index, out);\n return out;\n };\n\n const unpair = index => {\n if ($.has(index))\n return $.get(index);\n\n const [type, value] = _[index];\n switch (type) {\n case PRIMITIVE:\n case VOID:\n return as(value, index);\n case ARRAY: {\n const arr = as([], index);\n for (const index of value)\n arr.push(unpair(index));\n return arr;\n }\n case OBJECT: {\n const object = as({}, index);\n for (const [key, index] of value)\n object[unpair(key)] = unpair(index);\n return object;\n }\n case DATE:\n return as(new Date(value), index);\n case REGEXP: {\n const {source, flags} = value;\n return as(new RegExp(source, flags), index);\n }\n case MAP: {\n const map = as(new Map, index);\n for (const [key, index] of value)\n map.set(unpair(key), unpair(index));\n return map;\n }\n case SET: {\n const set = as(new Set, index);\n for (const index of value)\n set.add(unpair(index));\n return set;\n }\n case ERROR: {\n const {name, message} = value;\n return as(new env[name](message), index);\n }\n case BIGINT:\n return as(BigInt(value), index);\n case 'BigInt':\n return as(Object(BigInt(value)), index);\n case 'ArrayBuffer':\n return as(new Uint8Array(value).buffer, value);\n case 'DataView': {\n const { buffer } = new Uint8Array(value);\n return as(new DataView(buffer), value);\n }\n }\n return as(new env[type](value), index);\n };\n\n return unpair;\n};\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns a deserialized value from a serialized array of Records.\n * @param {Record[]} serialized a previously serialized value.\n * @returns {any}\n */\nexport const deserialize = serialized => deserializer(new Map, serialized)(0);\n","import {\n VOID, PRIMITIVE,\n ARRAY, OBJECT,\n DATE, REGEXP, MAP, SET,\n ERROR, BIGINT\n} from './types.js';\n\nconst EMPTY = '';\n\nconst {toString} = {};\nconst {keys} = Object;\n\nconst typeOf = value => {\n const type = typeof value;\n if (type !== 'object' || !value)\n return [PRIMITIVE, type];\n\n const asString = toString.call(value).slice(8, -1);\n switch (asString) {\n case 'Array':\n return [ARRAY, EMPTY];\n case 'Object':\n return [OBJECT, EMPTY];\n case 'Date':\n return [DATE, EMPTY];\n case 'RegExp':\n return [REGEXP, EMPTY];\n case 'Map':\n return [MAP, EMPTY];\n case 'Set':\n return [SET, EMPTY];\n case 'DataView':\n return [ARRAY, asString];\n }\n\n if (asString.includes('Array'))\n return [ARRAY, asString];\n\n if (asString.includes('Error'))\n return [ERROR, asString];\n\n return [OBJECT, asString];\n};\n\nconst shouldSkip = ([TYPE, type]) => (\n TYPE === PRIMITIVE &&\n (type === 'function' || type === 'symbol')\n);\n\nconst serializer = (strict, json, $, _) => {\n\n const as = (out, value) => {\n const index = _.push(out) - 1;\n $.set(value, index);\n return index;\n };\n\n const pair = value => {\n if ($.has(value))\n return $.get(value);\n\n let [TYPE, type] = typeOf(value);\n switch (TYPE) {\n case PRIMITIVE: {\n let entry = value;\n switch (type) {\n case 'bigint':\n TYPE = BIGINT;\n entry = value.toString();\n break;\n case 'function':\n case 'symbol':\n if (strict)\n throw new TypeError('unable to serialize ' + type);\n entry = null;\n break;\n case 'undefined':\n return as([VOID], value);\n }\n return as([TYPE, entry], value);\n }\n case ARRAY: {\n if (type) {\n let spread = value;\n if (type === 'DataView') {\n spread = new Uint8Array(value.buffer);\n }\n else if (type === 'ArrayBuffer') {\n spread = new Uint8Array(value);\n }\n return as([type, [...spread]], value);\n }\n\n const arr = [];\n const index = as([TYPE, arr], value);\n for (const entry of value)\n arr.push(pair(entry));\n return index;\n }\n case OBJECT: {\n if (type) {\n switch (type) {\n case 'BigInt':\n return as([type, value.toString()], value);\n case 'Boolean':\n case 'Number':\n case 'String':\n return as([type, value.valueOf()], value);\n }\n }\n\n if (json && ('toJSON' in value))\n return pair(value.toJSON());\n\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const key of keys(value)) {\n if (strict || !shouldSkip(typeOf(value[key])))\n entries.push([pair(key), pair(value[key])]);\n }\n return index;\n }\n case DATE:\n return as([TYPE, value.toISOString()], value);\n case REGEXP: {\n const {source, flags} = value;\n return as([TYPE, {source, flags}], value);\n }\n case MAP: {\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const [key, entry] of value) {\n if (strict || !(shouldSkip(typeOf(key)) || shouldSkip(typeOf(entry))))\n entries.push([pair(key), pair(entry)]);\n }\n return index;\n }\n case SET: {\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const entry of value) {\n if (strict || !shouldSkip(typeOf(entry)))\n entries.push(pair(entry));\n }\n return index;\n }\n }\n\n const {message} = value;\n return as([TYPE, {name: type, message}], value);\n };\n\n return pair;\n};\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns an array of serialized Records.\n * @param {any} value a serializable value.\n * @param {{json?: boolean, lossy?: boolean}?} options an object with a `lossy` or `json` property that,\n * if `true`, will not throw errors on incompatible types, and behave more\n * like JSON stringify would behave. Symbol and Function will be discarded.\n * @returns {Record[]}\n */\n export const serialize = (value, {json, lossy} = {}) => {\n const _ = [];\n return serializer(!(json || lossy), !!json, new Map, _)(value), _;\n};\n","import {deserialize} from './deserialize.js';\nimport {serialize} from './serialize.js';\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns an array of serialized Records.\n * @param {any} any a serializable value.\n * @param {{transfer?: any[], json?: boolean, lossy?: boolean}?} options an object with\n * a transfer option (ignored when polyfilled) and/or non standard fields that\n * fallback to the polyfill if present.\n * @returns {Record[]}\n */\nexport default typeof structuredClone === \"function\" ?\n /* c8 ignore start */\n (any, options) => (\n options && ('json' in options || 'lossy' in options) ?\n deserialize(serialize(any, options)) : structuredClone(any)\n ) :\n (any, options) => deserialize(serialize(any, options));\n /* c8 ignore stop */\n\nexport {deserialize, serialize};\n","import { asciiAlphanumeric } from 'micromark-util-character';\nimport { encode } from 'micromark-util-encode';\n/**\n * Make a value safe for injection as a URL.\n *\n * This encodes unsafe characters with percent-encoding and skips already\n * encoded sequences (see `normalizeUri`).\n * Further unsafe characters are encoded as character references (see\n * `micromark-util-encode`).\n *\n * A regex of allowed protocols can be given, in which case the URL is\n * sanitized.\n * For example, `/^(https?|ircs?|mailto|xmpp)$/i` can be used for `a[href]`, or\n * `/^https?$/i` for `img[src]` (this is what `github.com` allows).\n * If the URL includes an unknown protocol (one not matched by `protocol`, such\n * as a dangerous example, `javascript:`), the value is ignored.\n *\n * @param {string | null | undefined} url\n * URI to sanitize.\n * @param {RegExp | null | undefined} [protocol]\n * Allowed protocols.\n * @returns {string}\n * Sanitized URI.\n */\nexport function sanitizeUri(url, protocol) {\n const value = encode(normalizeUri(url || ''));\n if (!protocol) {\n return value;\n }\n const colon = value.indexOf(':');\n const questionMark = value.indexOf('?');\n const numberSign = value.indexOf('#');\n const slash = value.indexOf('/');\n if (\n // If there is no protocol, it’s relative.\n colon < 0 ||\n // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol.\n slash > -1 && colon > slash || questionMark > -1 && colon > questionMark || numberSign > -1 && colon > numberSign ||\n // It is a protocol, it should be allowed.\n protocol.test(value.slice(0, colon))) {\n return value;\n }\n return '';\n}\n\n/**\n * Normalize a URL.\n *\n * Encode unsafe characters with percent-encoding, skipping already encoded\n * sequences.\n *\n * @param {string} value\n * URI to normalize.\n * @returns {string}\n * Normalized URI.\n */\nexport function normalizeUri(value) {\n /** @type {Array} */\n const result = [];\n let index = -1;\n let start = 0;\n let skip = 0;\n while (++index < value.length) {\n const code = value.charCodeAt(index);\n /** @type {string} */\n let replace = '';\n\n // A correct percent encoded value.\n if (code === 37 && asciiAlphanumeric(value.charCodeAt(index + 1)) && asciiAlphanumeric(value.charCodeAt(index + 2))) {\n skip = 2;\n }\n // ASCII.\n else if (code < 128) {\n if (!/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(code))) {\n replace = String.fromCharCode(code);\n }\n }\n // Astral.\n else if (code > 55_295 && code < 57_344) {\n const next = value.charCodeAt(index + 1);\n\n // A correct surrogate pair.\n if (code < 56_320 && next > 56_319 && next < 57_344) {\n replace = String.fromCharCode(code, next);\n skip = 1;\n }\n // Lone surrogate.\n else {\n replace = \"\\uFFFD\";\n }\n }\n // Unicode.\n else {\n replace = String.fromCharCode(code);\n }\n if (replace) {\n result.push(value.slice(start, index), encodeURIComponent(replace));\n start = index + skip + 1;\n replace = '';\n }\n if (skip) {\n index += skip;\n skip = 0;\n }\n }\n return result.join('') + value.slice(start);\n}","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n *\n * @typedef {import('./state.js').State} State\n */\n\n/**\n * @callback FootnoteBackContentTemplate\n * Generate content for the backreference dynamically.\n *\n * For the following markdown:\n *\n * ```markdown\n * Alpha[^micromark], bravo[^micromark], and charlie[^remark].\n *\n * [^remark]: things about remark\n * [^micromark]: things about micromark\n * ```\n *\n * This function will be called with:\n *\n * * `0` and `0` for the backreference from `things about micromark` to\n * `alpha`, as it is the first used definition, and the first call to it\n * * `0` and `1` for the backreference from `things about micromark` to\n * `bravo`, as it is the first used definition, and the second call to it\n * * `1` and `0` for the backreference from `things about remark` to\n * `charlie`, as it is the second used definition\n * @param {number} referenceIndex\n * Index of the definition in the order that they are first referenced,\n * 0-indexed.\n * @param {number} rereferenceIndex\n * Index of calls to the same definition, 0-indexed.\n * @returns {Array | ElementContent | string}\n * Content for the backreference when linking back from definitions to their\n * reference.\n *\n * @callback FootnoteBackLabelTemplate\n * Generate a back label dynamically.\n *\n * For the following markdown:\n *\n * ```markdown\n * Alpha[^micromark], bravo[^micromark], and charlie[^remark].\n *\n * [^remark]: things about remark\n * [^micromark]: things about micromark\n * ```\n *\n * This function will be called with:\n *\n * * `0` and `0` for the backreference from `things about micromark` to\n * `alpha`, as it is the first used definition, and the first call to it\n * * `0` and `1` for the backreference from `things about micromark` to\n * `bravo`, as it is the first used definition, and the second call to it\n * * `1` and `0` for the backreference from `things about remark` to\n * `charlie`, as it is the second used definition\n * @param {number} referenceIndex\n * Index of the definition in the order that they are first referenced,\n * 0-indexed.\n * @param {number} rereferenceIndex\n * Index of calls to the same definition, 0-indexed.\n * @returns {string}\n * Back label to use when linking back from definitions to their reference.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Generate the default content that GitHub uses on backreferences.\n *\n * @param {number} _\n * Index of the definition in the order that they are first referenced,\n * 0-indexed.\n * @param {number} rereferenceIndex\n * Index of calls to the same definition, 0-indexed.\n * @returns {Array}\n * Content.\n */\nexport function defaultFootnoteBackContent(_, rereferenceIndex) {\n /** @type {Array} */\n const result = [{type: 'text', value: '↩'}]\n\n if (rereferenceIndex > 1) {\n result.push({\n type: 'element',\n tagName: 'sup',\n properties: {},\n children: [{type: 'text', value: String(rereferenceIndex)}]\n })\n }\n\n return result\n}\n\n/**\n * Generate the default label that GitHub uses on backreferences.\n *\n * @param {number} referenceIndex\n * Index of the definition in the order that they are first referenced,\n * 0-indexed.\n * @param {number} rereferenceIndex\n * Index of calls to the same definition, 0-indexed.\n * @returns {string}\n * Label.\n */\nexport function defaultFootnoteBackLabel(referenceIndex, rereferenceIndex) {\n return (\n 'Back to reference ' +\n (referenceIndex + 1) +\n (rereferenceIndex > 1 ? '-' + rereferenceIndex : '')\n )\n}\n\n/**\n * Generate a hast footer for called footnote definitions.\n *\n * @param {State} state\n * Info passed around.\n * @returns {Element | undefined}\n * `section` element or `undefined`.\n */\n// eslint-disable-next-line complexity\nexport function footer(state) {\n const clobberPrefix =\n typeof state.options.clobberPrefix === 'string'\n ? state.options.clobberPrefix\n : 'user-content-'\n const footnoteBackContent =\n state.options.footnoteBackContent || defaultFootnoteBackContent\n const footnoteBackLabel =\n state.options.footnoteBackLabel || defaultFootnoteBackLabel\n const footnoteLabel = state.options.footnoteLabel || 'Footnotes'\n const footnoteLabelTagName = state.options.footnoteLabelTagName || 'h2'\n const footnoteLabelProperties = state.options.footnoteLabelProperties || {\n className: ['sr-only']\n }\n /** @type {Array} */\n const listItems = []\n let referenceIndex = -1\n\n while (++referenceIndex < state.footnoteOrder.length) {\n const definition = state.footnoteById.get(\n state.footnoteOrder[referenceIndex]\n )\n\n if (!definition) {\n continue\n }\n\n const content = state.all(definition)\n const id = String(definition.identifier).toUpperCase()\n const safeId = normalizeUri(id.toLowerCase())\n let rereferenceIndex = 0\n /** @type {Array} */\n const backReferences = []\n const counts = state.footnoteCounts.get(id)\n\n // eslint-disable-next-line no-unmodified-loop-condition\n while (counts !== undefined && ++rereferenceIndex <= counts) {\n if (backReferences.length > 0) {\n backReferences.push({type: 'text', value: ' '})\n }\n\n let children =\n typeof footnoteBackContent === 'string'\n ? footnoteBackContent\n : footnoteBackContent(referenceIndex, rereferenceIndex)\n\n if (typeof children === 'string') {\n children = {type: 'text', value: children}\n }\n\n backReferences.push({\n type: 'element',\n tagName: 'a',\n properties: {\n href:\n '#' +\n clobberPrefix +\n 'fnref-' +\n safeId +\n (rereferenceIndex > 1 ? '-' + rereferenceIndex : ''),\n dataFootnoteBackref: '',\n ariaLabel:\n typeof footnoteBackLabel === 'string'\n ? footnoteBackLabel\n : footnoteBackLabel(referenceIndex, rereferenceIndex),\n className: ['data-footnote-backref']\n },\n children: Array.isArray(children) ? children : [children]\n })\n }\n\n const tail = content[content.length - 1]\n\n if (tail && tail.type === 'element' && tail.tagName === 'p') {\n const tailTail = tail.children[tail.children.length - 1]\n if (tailTail && tailTail.type === 'text') {\n tailTail.value += ' '\n } else {\n tail.children.push({type: 'text', value: ' '})\n }\n\n tail.children.push(...backReferences)\n } else {\n content.push(...backReferences)\n }\n\n /** @type {Element} */\n const listItem = {\n type: 'element',\n tagName: 'li',\n properties: {id: clobberPrefix + 'fn-' + safeId},\n children: state.wrap(content, true)\n }\n\n state.patch(definition, listItem)\n\n listItems.push(listItem)\n }\n\n if (listItems.length === 0) {\n return\n }\n\n return {\n type: 'element',\n tagName: 'section',\n properties: {dataFootnotes: true, className: ['footnotes']},\n children: [\n {\n type: 'element',\n tagName: footnoteLabelTagName,\n properties: {\n ...structuredClone(footnoteLabelProperties),\n id: 'footnote-label'\n },\n children: [{type: 'text', value: footnoteLabel}]\n },\n {type: 'text', value: '\\n'},\n {\n type: 'element',\n tagName: 'ol',\n properties: {},\n children: state.wrap(listItems, true)\n },\n {type: 'text', value: '\\n'}\n ]\n }\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n */\n\n/**\n * @template Fn\n * @template Fallback\n * @typedef {Fn extends (value: any) => value is infer Thing ? Thing : Fallback} Predicate\n */\n\n/**\n * @callback Check\n * Check that an arbitrary value is a node.\n * @param {unknown} this\n * The given context.\n * @param {unknown} [node]\n * Anything (typically a node).\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {boolean}\n * Whether this is a node and passes a test.\n *\n * @typedef {Record | Node} Props\n * Object to check for equivalence.\n *\n * Note: `Node` is included as it is common but is not indexable.\n *\n * @typedef {Array | Props | TestFunction | string | null | undefined} Test\n * Check for an arbitrary node.\n *\n * @callback TestFunction\n * Check if a node passes a test.\n * @param {unknown} this\n * The given context.\n * @param {Node} node\n * A node.\n * @param {number | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | undefined} [parent]\n * The node’s parent.\n * @returns {boolean | undefined | void}\n * Whether this node passes the test.\n *\n * Note: `void` is included until TS sees no return as `undefined`.\n */\n\n/**\n * Check if `node` is a `Node` and whether it passes the given test.\n *\n * @param {unknown} node\n * Thing to check, typically `Node`.\n * @param {Test} test\n * A check for a specific node.\n * @param {number | null | undefined} index\n * The node’s position in its parent.\n * @param {Parent | null | undefined} parent\n * The node’s parent.\n * @param {unknown} context\n * Context object (`this`) to pass to `test` functions.\n * @returns {boolean}\n * Whether `node` is a node and passes a test.\n */\nexport const is =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * ((node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &\n * ((node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &\n * ((node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate) &\n * ((node?: null | undefined) => false) &\n * ((node: unknown, test?: null | undefined, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &\n * ((node: unknown, test?: Test, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => boolean)\n * )}\n */\n (\n /**\n * @param {unknown} [node]\n * @param {Test} [test]\n * @param {number | null | undefined} [index]\n * @param {Parent | null | undefined} [parent]\n * @param {unknown} [context]\n * @returns {boolean}\n */\n // eslint-disable-next-line max-params\n function (node, test, index, parent, context) {\n const check = convert(test)\n\n if (\n index !== undefined &&\n index !== null &&\n (typeof index !== 'number' ||\n index < 0 ||\n index === Number.POSITIVE_INFINITY)\n ) {\n throw new Error('Expected positive finite index')\n }\n\n if (\n parent !== undefined &&\n parent !== null &&\n (!is(parent) || !parent.children)\n ) {\n throw new Error('Expected parent node')\n }\n\n if (\n (parent === undefined || parent === null) !==\n (index === undefined || index === null)\n ) {\n throw new Error('Expected both parent and index')\n }\n\n return looksLikeANode(node)\n ? check.call(context, node, index, parent)\n : false\n }\n )\n\n/**\n * Generate an assertion from a test.\n *\n * Useful if you’re going to test many nodes, for example when creating a\n * utility where something else passes a compatible test.\n *\n * The created function is a bit faster because it expects valid input only:\n * a `node`, `index`, and `parent`.\n *\n * @param {Test} test\n * * when nullish, checks if `node` is a `Node`.\n * * when `string`, works like passing `(node) => node.type === test`.\n * * when `function` checks if function passed the node is true.\n * * when `object`, checks that all keys in test are in node, and that they have (strictly) equal values.\n * * when `array`, checks if any one of the subtests pass.\n * @returns {Check}\n * An assertion.\n */\nexport const convert =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate) &\n * ((test?: null | undefined) => (node?: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &\n * ((test?: Test) => Check)\n * )}\n */\n (\n /**\n * @param {Test} [test]\n * @returns {Check}\n */\n function (test) {\n if (test === null || test === undefined) {\n return ok\n }\n\n if (typeof test === 'function') {\n return castFactory(test)\n }\n\n if (typeof test === 'object') {\n return Array.isArray(test) ? anyFactory(test) : propsFactory(test)\n }\n\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n throw new Error('Expected function, string, or object as test')\n }\n )\n\n/**\n * @param {Array} tests\n * @returns {Check}\n */\nfunction anyFactory(tests) {\n /** @type {Array} */\n const checks = []\n let index = -1\n\n while (++index < tests.length) {\n checks[index] = convert(tests[index])\n }\n\n return castFactory(any)\n\n /**\n * @this {unknown}\n * @type {TestFunction}\n */\n function any(...parameters) {\n let index = -1\n\n while (++index < checks.length) {\n if (checks[index].apply(this, parameters)) return true\n }\n\n return false\n }\n}\n\n/**\n * Turn an object into a test for a node with a certain fields.\n *\n * @param {Props} check\n * @returns {Check}\n */\nfunction propsFactory(check) {\n const checkAsRecord = /** @type {Record} */ (check)\n\n return castFactory(all)\n\n /**\n * @param {Node} node\n * @returns {boolean}\n */\n function all(node) {\n const nodeAsRecord = /** @type {Record} */ (\n /** @type {unknown} */ (node)\n )\n\n /** @type {string} */\n let key\n\n for (key in check) {\n if (nodeAsRecord[key] !== checkAsRecord[key]) return false\n }\n\n return true\n }\n}\n\n/**\n * Turn a string into a test for a node with a certain type.\n *\n * @param {string} check\n * @returns {Check}\n */\nfunction typeFactory(check) {\n return castFactory(type)\n\n /**\n * @param {Node} node\n */\n function type(node) {\n return node && node.type === check\n }\n}\n\n/**\n * Turn a custom test into a test for a node that passes that test.\n *\n * @param {TestFunction} testFunction\n * @returns {Check}\n */\nfunction castFactory(testFunction) {\n return check\n\n /**\n * @this {unknown}\n * @type {Check}\n */\n function check(value, index, parent) {\n return Boolean(\n looksLikeANode(value) &&\n testFunction.call(\n this,\n value,\n typeof index === 'number' ? index : undefined,\n parent || undefined\n )\n )\n }\n}\n\nfunction ok() {\n return true\n}\n\n/**\n * @param {unknown} value\n * @returns {value is Node}\n */\nfunction looksLikeANode(value) {\n return value !== null && typeof value === 'object' && 'type' in value\n}\n","/**\n * @typedef {import('unist').Node} UnistNode\n * @typedef {import('unist').Parent} UnistParent\n */\n\n/**\n * @typedef {Exclude | undefined} Test\n * Test from `unist-util-is`.\n *\n * Note: we have remove and add `undefined`, because otherwise when generating\n * automatic `.d.ts` files, TS tries to flatten paths from a local perspective,\n * which doesn’t work when publishing on npm.\n */\n\n/**\n * @typedef {(\n * Fn extends (value: any) => value is infer Thing\n * ? Thing\n * : Fallback\n * )} Predicate\n * Get the value of a type guard `Fn`.\n * @template Fn\n * Value; typically function that is a type guard (such as `(x): x is Y`).\n * @template Fallback\n * Value to yield if `Fn` is not a type guard.\n */\n\n/**\n * @typedef {(\n * Check extends null | undefined // No test.\n * ? Value\n * : Value extends {type: Check} // String (type) test.\n * ? Value\n * : Value extends Check // Partial test.\n * ? Value\n * : Check extends Function // Function test.\n * ? Predicate extends Value\n * ? Predicate\n * : never\n * : never // Some other test?\n * )} MatchesOne\n * Check whether a node matches a primitive check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test, but not arrays.\n */\n\n/**\n * @typedef {(\n * Check extends Array\n * ? MatchesOne\n * : MatchesOne\n * )} Matches\n * Check whether a node matches a check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test.\n */\n\n/**\n * @typedef {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10} Uint\n * Number; capped reasonably.\n */\n\n/**\n * @typedef {I extends 0 ? 1 : I extends 1 ? 2 : I extends 2 ? 3 : I extends 3 ? 4 : I extends 4 ? 5 : I extends 5 ? 6 : I extends 6 ? 7 : I extends 7 ? 8 : I extends 8 ? 9 : 10} Increment\n * Increment a number in the type system.\n * @template {Uint} [I=0]\n * Index.\n */\n\n/**\n * @typedef {(\n * Node extends UnistParent\n * ? Node extends {children: Array}\n * ? Child extends Children ? Node : never\n * : never\n * : never\n * )} InternalParent\n * Collect nodes that can be parents of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {InternalParent, Child>} Parent\n * Collect nodes in `Tree` that can be parents of `Child`.\n * @template {UnistNode} Tree\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {(\n * Depth extends Max\n * ? never\n * :\n * | InternalParent\n * | InternalAncestor, Max, Increment>\n * )} InternalAncestor\n * Collect nodes in `Tree` that can be ancestors of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @typedef {InternalAncestor, Child>} Ancestor\n * Collect nodes in `Tree` that can be ancestors of `Child`.\n * @template {UnistNode} Tree\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {(\n * Tree extends UnistParent\n * ? Depth extends Max\n * ? Tree\n * : Tree | InclusiveDescendant>\n * : Tree\n * )} InclusiveDescendant\n * Collect all (inclusive) descendants of `Tree`.\n *\n * > 👉 **Note**: for performance reasons, this seems to be the fastest way to\n * > recurse without actually running into an infinite loop, which the\n * > previous version did.\n * >\n * > Practically, a max of `2` is typically enough assuming a `Root` is\n * > passed, but it doesn’t improve performance.\n * > It gets higher with `List > ListItem > Table > TableRow > TableCell`.\n * > Using up to `10` doesn’t hurt or help either.\n * @template {UnistNode} Tree\n * Tree type.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @typedef {'skip' | boolean} Action\n * Union of the action types.\n *\n * @typedef {number} Index\n * Move to the sibling at `index` next (after node itself is completely\n * traversed).\n *\n * Useful if mutating the tree, such as removing the node the visitor is\n * currently on, or any of its previous siblings.\n * Results less than 0 or greater than or equal to `children.length` stop\n * traversing the parent.\n *\n * @typedef {[(Action | null | undefined | void)?, (Index | null | undefined)?]} ActionTuple\n * List with one or two values, the first an action, the second an index.\n *\n * @typedef {Action | ActionTuple | Index | null | undefined | void} VisitorResult\n * Any value that can be returned from a visitor.\n */\n\n/**\n * @callback Visitor\n * Handle a node (matching `test`, if given).\n *\n * Visitors are free to transform `node`.\n * They can also transform the parent of node (the last of `ancestors`).\n *\n * Replacing `node` itself, if `SKIP` is not returned, still causes its\n * descendants to be walked (which is a bug).\n *\n * When adding or removing previous siblings of `node` (or next siblings, in\n * case of reverse), the `Visitor` should return a new `Index` to specify the\n * sibling to traverse after `node` is traversed.\n * Adding or removing next siblings of `node` (or previous siblings, in case\n * of reverse) is handled as expected without needing to return a new `Index`.\n *\n * Removing the children property of an ancestor still results in them being\n * traversed.\n * @param {Visited} node\n * Found node.\n * @param {Array} ancestors\n * Ancestors of `node`.\n * @returns {VisitorResult}\n * What to do next.\n *\n * An `Index` is treated as a tuple of `[CONTINUE, Index]`.\n * An `Action` is treated as a tuple of `[Action]`.\n *\n * Passing a tuple back only makes sense if the `Action` is `SKIP`.\n * When the `Action` is `EXIT`, that action can be returned.\n * When the `Action` is `CONTINUE`, `Index` can be returned.\n * @template {UnistNode} [Visited=UnistNode]\n * Visited node type.\n * @template {UnistParent} [VisitedParents=UnistParent]\n * Ancestor type.\n */\n\n/**\n * @typedef {Visitor, Check>, Ancestor, Check>>>} BuildVisitor\n * Build a typed `Visitor` function from a tree and a test.\n *\n * It will infer which values are passed as `node` and which as `parents`.\n * @template {UnistNode} [Tree=UnistNode]\n * Tree type.\n * @template {Test} [Check=Test]\n * Test type.\n */\n\nimport {convert} from 'unist-util-is'\nimport {color} from 'unist-util-visit-parents/do-not-use-color'\n\n/** @type {Readonly} */\nconst empty = []\n\n/**\n * Continue traversing as normal.\n */\nexport const CONTINUE = true\n\n/**\n * Stop traversing immediately.\n */\nexport const EXIT = false\n\n/**\n * Do not traverse this node’s children.\n */\nexport const SKIP = 'skip'\n\n/**\n * Visit nodes, with ancestral information.\n *\n * This algorithm performs *depth-first* *tree traversal* in *preorder*\n * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).\n *\n * You can choose for which nodes `visitor` is called by passing a `test`.\n * For complex tests, you should test yourself in `visitor`, as it will be\n * faster and will have improved type information.\n *\n * Walking the tree is an intensive task.\n * Make use of the return values of the visitor when possible.\n * Instead of walking a tree multiple times, walk it once, use `unist-util-is`\n * to check if a node matches, and then perform different operations.\n *\n * You can change the tree.\n * See `Visitor` for more info.\n *\n * @overload\n * @param {Tree} tree\n * @param {Check} check\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @overload\n * @param {Tree} tree\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @param {UnistNode} tree\n * Tree to traverse.\n * @param {Visitor | Test} test\n * `unist-util-is`-compatible test\n * @param {Visitor | boolean | null | undefined} [visitor]\n * Handle each node.\n * @param {boolean | null | undefined} [reverse]\n * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).\n * @returns {undefined}\n * Nothing.\n *\n * @template {UnistNode} Tree\n * Node type.\n * @template {Test} Check\n * `unist-util-is`-compatible test.\n */\nexport function visitParents(tree, test, visitor, reverse) {\n /** @type {Test} */\n let check\n\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n // @ts-expect-error no visitor given, so `visitor` is test.\n visitor = test\n } else {\n // @ts-expect-error visitor given, so `test` isn’t a visitor.\n check = test\n }\n\n const is = convert(check)\n const step = reverse ? -1 : 1\n\n factory(tree, undefined, [])()\n\n /**\n * @param {UnistNode} node\n * @param {number | undefined} index\n * @param {Array} parents\n */\n function factory(node, index, parents) {\n const value = /** @type {Record} */ (\n node && typeof node === 'object' ? node : {}\n )\n\n if (typeof value.type === 'string') {\n const name =\n // `hast`\n typeof value.tagName === 'string'\n ? value.tagName\n : // `xast`\n typeof value.name === 'string'\n ? value.name\n : undefined\n\n Object.defineProperty(visit, 'name', {\n value:\n 'node (' + color(node.type + (name ? '<' + name + '>' : '')) + ')'\n })\n }\n\n return visit\n\n function visit() {\n /** @type {Readonly} */\n let result = empty\n /** @type {Readonly} */\n let subresult\n /** @type {number} */\n let offset\n /** @type {Array} */\n let grandparents\n\n if (!test || is(node, index, parents[parents.length - 1] || undefined)) {\n // @ts-expect-error: `visitor` is now a visitor.\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n if ('children' in node && node.children) {\n const nodeAsParent = /** @type {UnistParent} */ (node)\n\n if (nodeAsParent.children && result[0] !== SKIP) {\n offset = (reverse ? nodeAsParent.children.length : -1) + step\n grandparents = parents.concat(nodeAsParent)\n\n while (offset > -1 && offset < nodeAsParent.children.length) {\n const child = nodeAsParent.children[offset]\n\n subresult = factory(child, offset, grandparents)()\n\n if (subresult[0] === EXIT) {\n return subresult\n }\n\n offset =\n typeof subresult[1] === 'number' ? subresult[1] : offset + step\n }\n }\n }\n\n return result\n }\n }\n}\n\n/**\n * Turn a return value into a clean result.\n *\n * @param {VisitorResult} value\n * Valid return values from visitors.\n * @returns {Readonly}\n * Clean result.\n */\nfunction toResult(value) {\n if (Array.isArray(value)) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return value === null || value === undefined ? empty : [value]\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Point} Point\n * @typedef {import('unist').Position} Position\n */\n\n/**\n * @typedef NodeLike\n * @property {string} type\n * @property {PositionLike | null | undefined} [position]\n *\n * @typedef PositionLike\n * @property {PointLike | null | undefined} [start]\n * @property {PointLike | null | undefined} [end]\n *\n * @typedef PointLike\n * @property {number | null | undefined} [line]\n * @property {number | null | undefined} [column]\n * @property {number | null | undefined} [offset]\n */\n\n/**\n * Get the ending point of `node`.\n *\n * @param node\n * Node.\n * @returns\n * Point.\n */\nexport const pointEnd = point('end')\n\n/**\n * Get the starting point of `node`.\n *\n * @param node\n * Node.\n * @returns\n * Point.\n */\nexport const pointStart = point('start')\n\n/**\n * Get the positional info of `node`.\n *\n * @param {'end' | 'start'} type\n * Side.\n * @returns\n * Getter.\n */\nfunction point(type) {\n return point\n\n /**\n * Get the point info of `node` at a bound side.\n *\n * @param {Node | NodeLike | null | undefined} [node]\n * @returns {Point | undefined}\n */\n function point(node) {\n const point = (node && node.position && node.position[type]) || {}\n\n if (\n typeof point.line === 'number' &&\n point.line > 0 &&\n typeof point.column === 'number' &&\n point.column > 0\n ) {\n return {\n line: point.line,\n column: point.column,\n offset:\n typeof point.offset === 'number' && point.offset > -1\n ? point.offset\n : undefined\n }\n }\n }\n}\n\n/**\n * Get the positional info of `node`.\n *\n * @param {Node | NodeLike | null | undefined} [node]\n * Node.\n * @returns {Position | undefined}\n * Position.\n */\nexport function position(node) {\n const start = pointStart(node)\n const end = pointEnd(node)\n\n if (start && end) {\n return {start, end}\n }\n}\n","/**\n * @typedef {import('hast').ElementContent} ElementContent\n *\n * @typedef {import('mdast').Nodes} Nodes\n * @typedef {import('mdast').Reference} Reference\n *\n * @typedef {import('./state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Return the content of a reference without definition as plain text.\n *\n * @param {State} state\n * Info passed around.\n * @param {Extract} node\n * Reference node (image, link).\n * @returns {Array}\n * hast content.\n */\nexport function revert(state, node) {\n const subtype = node.referenceType\n let suffix = ']'\n\n if (subtype === 'collapsed') {\n suffix += '[]'\n } else if (subtype === 'full') {\n suffix += '[' + (node.label || node.identifier) + ']'\n }\n\n if (node.type === 'imageReference') {\n return [{type: 'text', value: '![' + node.alt + suffix}]\n }\n\n const contents = state.all(node)\n const head = contents[0]\n\n if (head && head.type === 'text') {\n head.value = '[' + head.value\n } else {\n contents.unshift({type: 'text', value: '['})\n }\n\n const tail = contents[contents.length - 1]\n\n if (tail && tail.type === 'text') {\n tail.value += suffix\n } else {\n contents.push({type: 'text', value: suffix})\n }\n\n return contents\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `listItem` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {ListItem} node\n * mdast node.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @returns {Element}\n * hast node.\n */\nexport function listItem(state, node, parent) {\n const results = state.all(node)\n const loose = parent ? listLoose(parent) : listItemLoose(node)\n /** @type {Properties} */\n const properties = {}\n /** @type {Array} */\n const children = []\n\n if (typeof node.checked === 'boolean') {\n const head = results[0]\n /** @type {Element} */\n let paragraph\n\n if (head && head.type === 'element' && head.tagName === 'p') {\n paragraph = head\n } else {\n paragraph = {type: 'element', tagName: 'p', properties: {}, children: []}\n results.unshift(paragraph)\n }\n\n if (paragraph.children.length > 0) {\n paragraph.children.unshift({type: 'text', value: ' '})\n }\n\n paragraph.children.unshift({\n type: 'element',\n tagName: 'input',\n properties: {type: 'checkbox', checked: node.checked, disabled: true},\n children: []\n })\n\n // According to github-markdown-css, this class hides bullet.\n // See: .\n properties.className = ['task-list-item']\n }\n\n let index = -1\n\n while (++index < results.length) {\n const child = results[index]\n\n // Add eols before nodes, except if this is a loose, first paragraph.\n if (\n loose ||\n index !== 0 ||\n child.type !== 'element' ||\n child.tagName !== 'p'\n ) {\n children.push({type: 'text', value: '\\n'})\n }\n\n if (child.type === 'element' && child.tagName === 'p' && !loose) {\n children.push(...child.children)\n } else {\n children.push(child)\n }\n }\n\n const tail = results[results.length - 1]\n\n // Add a final eol.\n if (tail && (loose || tail.type !== 'element' || tail.tagName !== 'p')) {\n children.push({type: 'text', value: '\\n'})\n }\n\n /** @type {Element} */\n const result = {type: 'element', tagName: 'li', properties, children}\n state.patch(node, result)\n return state.applyData(node, result)\n}\n\n/**\n * @param {Parents} node\n * @return {Boolean}\n */\nfunction listLoose(node) {\n let loose = false\n if (node.type === 'list') {\n loose = node.spread || false\n const children = node.children\n let index = -1\n\n while (!loose && ++index < children.length) {\n loose = listItemLoose(children[index])\n }\n }\n\n return loose\n}\n\n/**\n * @param {ListItem} node\n * @return {Boolean}\n */\nfunction listItemLoose(node) {\n const spread = node.spread\n\n return spread === null || spread === undefined\n ? node.children.length > 1\n : spread\n}\n","const tab = 9 /* `\\t` */\nconst space = 32 /* ` ` */\n\n/**\n * Remove initial and final spaces and tabs at the line breaks in `value`.\n * Does not trim initial and final spaces and tabs of the value itself.\n *\n * @param {string} value\n * Value to trim.\n * @returns {string}\n * Trimmed value.\n */\nexport function trimLines(value) {\n const source = String(value)\n const search = /\\r?\\n|\\r/g\n let match = search.exec(source)\n let last = 0\n /** @type {Array} */\n const lines = []\n\n while (match) {\n lines.push(\n trimLine(source.slice(last, match.index), last > 0, true),\n match[0]\n )\n\n last = match.index + match[0].length\n match = search.exec(source)\n }\n\n lines.push(trimLine(source.slice(last), last > 0, false))\n\n return lines.join('')\n}\n\n/**\n * @param {string} value\n * Line to trim.\n * @param {boolean} start\n * Whether to trim the start of the line.\n * @param {boolean} end\n * Whether to trim the end of the line.\n * @returns {string}\n * Trimmed line.\n */\nfunction trimLine(value, start, end) {\n let startIndex = 0\n let endIndex = value.length\n\n if (start) {\n let code = value.codePointAt(startIndex)\n\n while (code === tab || code === space) {\n startIndex++\n code = value.codePointAt(startIndex)\n }\n }\n\n if (end) {\n let code = value.codePointAt(endIndex - 1)\n\n while (code === tab || code === space) {\n endIndex--\n code = value.codePointAt(endIndex - 1)\n }\n }\n\n return endIndex > startIndex ? value.slice(startIndex, endIndex) : ''\n}\n","import {blockquote} from './blockquote.js'\nimport {hardBreak} from './break.js'\nimport {code} from './code.js'\nimport {strikethrough} from './delete.js'\nimport {emphasis} from './emphasis.js'\nimport {footnoteReference} from './footnote-reference.js'\nimport {heading} from './heading.js'\nimport {html} from './html.js'\nimport {imageReference} from './image-reference.js'\nimport {image} from './image.js'\nimport {inlineCode} from './inline-code.js'\nimport {linkReference} from './link-reference.js'\nimport {link} from './link.js'\nimport {listItem} from './list-item.js'\nimport {list} from './list.js'\nimport {paragraph} from './paragraph.js'\nimport {root} from './root.js'\nimport {strong} from './strong.js'\nimport {table} from './table.js'\nimport {tableRow} from './table-row.js'\nimport {tableCell} from './table-cell.js'\nimport {text} from './text.js'\nimport {thematicBreak} from './thematic-break.js'\n\n/**\n * Default handlers for nodes.\n *\n * @satisfies {import('../state.js').Handlers}\n */\nexport const handlers = {\n blockquote,\n break: hardBreak,\n code,\n delete: strikethrough,\n emphasis,\n footnoteReference,\n heading,\n html,\n imageReference,\n image,\n inlineCode,\n linkReference,\n link,\n listItem,\n list,\n paragraph,\n // @ts-expect-error: root is different, but hard to type.\n root,\n strong,\n table,\n tableCell,\n tableRow,\n text,\n thematicBreak,\n toml: ignore,\n yaml: ignore,\n definition: ignore,\n footnoteDefinition: ignore\n}\n\n// Return nothing for nodes that are ignored.\nfunction ignore() {\n return undefined\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `blockquote` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Blockquote} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function blockquote(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'blockquote',\n properties: {},\n children: state.wrap(state.all(node), true)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').Break} Break\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `break` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Break} node\n * mdast node.\n * @returns {Array}\n * hast element content.\n */\nexport function hardBreak(state, node) {\n /** @type {Element} */\n const result = {type: 'element', tagName: 'br', properties: {}, children: []}\n state.patch(node, result)\n return [state.applyData(node, result), {type: 'text', value: '\\n'}]\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Code} Code\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `code` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Code} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function code(state, node) {\n const value = node.value ? node.value + '\\n' : ''\n /** @type {Properties} */\n const properties = {}\n\n if (node.lang) {\n properties.className = ['language-' + node.lang]\n }\n\n // Create ``.\n /** @type {Element} */\n let result = {\n type: 'element',\n tagName: 'code',\n properties,\n children: [{type: 'text', value}]\n }\n\n if (node.meta) {\n result.data = {meta: node.meta}\n }\n\n state.patch(node, result)\n result = state.applyData(node, result)\n\n // Create `
`.\n  result = {type: 'element', tagName: 'pre', properties: {}, children: [result]}\n  state.patch(node, result)\n  return result\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Delete} Delete\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `delete` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Delete} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function strikethrough(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'del',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `emphasis` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Emphasis} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function emphasis(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'em',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').FootnoteReference} FootnoteReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `footnoteReference` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {FootnoteReference} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function footnoteReference(state, node) {\n  const clobberPrefix =\n    typeof state.options.clobberPrefix === 'string'\n      ? state.options.clobberPrefix\n      : 'user-content-'\n  const id = String(node.identifier).toUpperCase()\n  const safeId = normalizeUri(id.toLowerCase())\n  const index = state.footnoteOrder.indexOf(id)\n  /** @type {number} */\n  let counter\n\n  let reuseCounter = state.footnoteCounts.get(id)\n\n  if (reuseCounter === undefined) {\n    reuseCounter = 0\n    state.footnoteOrder.push(id)\n    counter = state.footnoteOrder.length\n  } else {\n    counter = index + 1\n  }\n\n  reuseCounter += 1\n  state.footnoteCounts.set(id, reuseCounter)\n\n  /** @type {Element} */\n  const link = {\n    type: 'element',\n    tagName: 'a',\n    properties: {\n      href: '#' + clobberPrefix + 'fn-' + safeId,\n      id:\n        clobberPrefix +\n        'fnref-' +\n        safeId +\n        (reuseCounter > 1 ? '-' + reuseCounter : ''),\n      dataFootnoteRef: true,\n      ariaDescribedBy: ['footnote-label']\n    },\n    children: [{type: 'text', value: String(counter)}]\n  }\n  state.patch(node, link)\n\n  /** @type {Element} */\n  const sup = {\n    type: 'element',\n    tagName: 'sup',\n    properties: {},\n    children: [link]\n  }\n  state.patch(node, sup)\n  return state.applyData(node, sup)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `heading` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Heading} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function heading(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'h' + node.depth,\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Html} Html\n * @typedef {import('../state.js').State} State\n * @typedef {import('../../index.js').Raw} Raw\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `html` node into hast (`raw` node in dangerous mode, otherwise\n * nothing).\n *\n * @param {State} state\n *   Info passed around.\n * @param {Html} node\n *   mdast node.\n * @returns {Element | Raw | undefined}\n *   hast node.\n */\nexport function html(state, node) {\n  if (state.options.allowDangerousHtml) {\n    /** @type {Raw} */\n    const result = {type: 'raw', value: node.value}\n    state.patch(node, result)\n    return state.applyData(node, result)\n  }\n\n  return undefined\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\nimport {revert} from '../revert.js'\n\n/**\n * Turn an mdast `imageReference` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {ImageReference} node\n *   mdast node.\n * @returns {Array | ElementContent}\n *   hast node.\n */\nexport function imageReference(state, node) {\n  const id = String(node.identifier).toUpperCase()\n  const definition = state.definitionById.get(id)\n\n  if (!definition) {\n    return revert(state, node)\n  }\n\n  /** @type {Properties} */\n  const properties = {src: normalizeUri(definition.url || ''), alt: node.alt}\n\n  if (definition.title !== null && definition.title !== undefined) {\n    properties.title = definition.title\n  }\n\n  /** @type {Element} */\n  const result = {type: 'element', tagName: 'img', properties, children: []}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Image} Image\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `image` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Image} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function image(state, node) {\n  /** @type {Properties} */\n  const properties = {src: normalizeUri(node.url)}\n\n  if (node.alt !== null && node.alt !== undefined) {\n    properties.alt = node.alt\n  }\n\n  if (node.title !== null && node.title !== undefined) {\n    properties.title = node.title\n  }\n\n  /** @type {Element} */\n  const result = {type: 'element', tagName: 'img', properties, children: []}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `inlineCode` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {InlineCode} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function inlineCode(state, node) {\n  /** @type {Text} */\n  const text = {type: 'text', value: node.value.replace(/\\r?\\n|\\r/g, ' ')}\n  state.patch(node, text)\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'code',\n    properties: {},\n    children: [text]\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\nimport {revert} from '../revert.js'\n\n/**\n * Turn an mdast `linkReference` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {LinkReference} node\n *   mdast node.\n * @returns {Array | ElementContent}\n *   hast node.\n */\nexport function linkReference(state, node) {\n  const id = String(node.identifier).toUpperCase()\n  const definition = state.definitionById.get(id)\n\n  if (!definition) {\n    return revert(state, node)\n  }\n\n  /** @type {Properties} */\n  const properties = {href: normalizeUri(definition.url || '')}\n\n  if (definition.title !== null && definition.title !== undefined) {\n    properties.title = definition.title\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'a',\n    properties,\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Link} Link\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `link` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Link} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function link(state, node) {\n  /** @type {Properties} */\n  const properties = {href: normalizeUri(node.url)}\n\n  if (node.title !== null && node.title !== undefined) {\n    properties.title = node.title\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'a',\n    properties,\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').List} List\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `list` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {List} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function list(state, node) {\n  /** @type {Properties} */\n  const properties = {}\n  const results = state.all(node)\n  let index = -1\n\n  if (typeof node.start === 'number' && node.start !== 1) {\n    properties.start = node.start\n  }\n\n  // Like GitHub, add a class for custom styling.\n  while (++index < results.length) {\n    const child = results[index]\n\n    if (\n      child.type === 'element' &&\n      child.tagName === 'li' &&\n      child.properties &&\n      Array.isArray(child.properties.className) &&\n      child.properties.className.includes('task-list-item')\n    ) {\n      properties.className = ['contains-task-list']\n      break\n    }\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: node.ordered ? 'ol' : 'ul',\n    properties,\n    children: state.wrap(results, true)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `paragraph` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Paragraph} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function paragraph(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'p',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Parents} HastParents\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('mdast').Root} MdastRoot\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `root` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {MdastRoot} node\n *   mdast node.\n * @returns {HastParents}\n *   hast node.\n */\nexport function root(state, node) {\n  /** @type {HastRoot} */\n  const result = {type: 'root', children: state.wrap(state.all(node))}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `strong` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Strong} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function strong(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'strong',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Table} Table\n * @typedef {import('../state.js').State} State\n */\n\nimport {pointEnd, pointStart} from 'unist-util-position'\n\n/**\n * Turn an mdast `table` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Table} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function table(state, node) {\n  const rows = state.all(node)\n  const firstRow = rows.shift()\n  /** @type {Array} */\n  const tableContent = []\n\n  if (firstRow) {\n    /** @type {Element} */\n    const head = {\n      type: 'element',\n      tagName: 'thead',\n      properties: {},\n      children: state.wrap([firstRow], true)\n    }\n    state.patch(node.children[0], head)\n    tableContent.push(head)\n  }\n\n  if (rows.length > 0) {\n    /** @type {Element} */\n    const body = {\n      type: 'element',\n      tagName: 'tbody',\n      properties: {},\n      children: state.wrap(rows, true)\n    }\n\n    const start = pointStart(node.children[1])\n    const end = pointEnd(node.children[node.children.length - 1])\n    if (start && end) body.position = {start, end}\n    tableContent.push(body)\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'table',\n    properties: {},\n    children: state.wrap(tableContent, true)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').TableCell} TableCell\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `tableCell` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {TableCell} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function tableCell(state, node) {\n  // Note: this function is normally not called: see `table-row` for how rows\n  // and their cells are compiled.\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'td', // Assume body cell.\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('mdast').TableRow} TableRow\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `tableRow` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {TableRow} node\n *   mdast node.\n * @param {Parents | undefined} parent\n *   Parent of `node`.\n * @returns {Element}\n *   hast node.\n */\nexport function tableRow(state, node, parent) {\n  const siblings = parent ? parent.children : undefined\n  // Generate a body row when without parent.\n  const rowIndex = siblings ? siblings.indexOf(node) : 1\n  const tagName = rowIndex === 0 ? 'th' : 'td'\n  // To do: option to use `style`?\n  const align = parent && parent.type === 'table' ? parent.align : undefined\n  const length = align ? align.length : node.children.length\n  let cellIndex = -1\n  /** @type {Array} */\n  const cells = []\n\n  while (++cellIndex < length) {\n    // Note: can also be undefined.\n    const cell = node.children[cellIndex]\n    /** @type {Properties} */\n    const properties = {}\n    const alignValue = align ? align[cellIndex] : undefined\n\n    if (alignValue) {\n      properties.align = alignValue\n    }\n\n    /** @type {Element} */\n    let result = {type: 'element', tagName, properties, children: []}\n\n    if (cell) {\n      result.children = state.all(cell)\n      state.patch(cell, result)\n      result = state.applyData(cell, result)\n    }\n\n    cells.push(result)\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'tr',\n    properties: {},\n    children: state.wrap(cells, true)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('hast').Text} HastText\n * @typedef {import('mdast').Text} MdastText\n * @typedef {import('../state.js').State} State\n */\n\nimport {trimLines} from 'trim-lines'\n\n/**\n * Turn an mdast `text` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {MdastText} node\n *   mdast node.\n * @returns {HastElement | HastText}\n *   hast node.\n */\nexport function text(state, node) {\n  /** @type {HastText} */\n  const result = {type: 'text', value: trimLines(String(node.value))}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `thematicBreak` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {ThematicBreak} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function thematicBreak(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'hr',\n    properties: {},\n    children: []\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('hast').ElementContent} HastElementContent\n * @typedef {import('hast').Nodes} HastNodes\n * @typedef {import('hast').Properties} HastProperties\n * @typedef {import('hast').RootContent} HastRootContent\n * @typedef {import('hast').Text} HastText\n *\n * @typedef {import('mdast').Definition} MdastDefinition\n * @typedef {import('mdast').FootnoteDefinition} MdastFootnoteDefinition\n * @typedef {import('mdast').Nodes} MdastNodes\n * @typedef {import('mdast').Parents} MdastParents\n *\n * @typedef {import('vfile').VFile} VFile\n *\n * @typedef {import('./footer.js').FootnoteBackContentTemplate} FootnoteBackContentTemplate\n * @typedef {import('./footer.js').FootnoteBackLabelTemplate} FootnoteBackLabelTemplate\n */\n\n/**\n * @callback Handler\n *   Handle a node.\n * @param {State} state\n *   Info passed around.\n * @param {any} node\n *   mdast node to handle.\n * @param {MdastParents | undefined} parent\n *   Parent of `node`.\n * @returns {Array | HastElementContent | undefined}\n *   hast node.\n *\n * @typedef {Partial>} Handlers\n *   Handle nodes.\n *\n * @typedef Options\n *   Configuration (optional).\n * @property {boolean | null | undefined} [allowDangerousHtml=false]\n *   Whether to persist raw HTML in markdown in the hast tree (default:\n *   `false`).\n * @property {string | null | undefined} [clobberPrefix='user-content-']\n *   Prefix to use before the `id` property on footnotes to prevent them from\n *   *clobbering* (default: `'user-content-'`).\n *\n *   Pass `''` for trusted markdown and when you are careful with\n *   polyfilling.\n *   You could pass a different prefix.\n *\n *   DOM clobbering is this:\n *\n *   ```html\n *   

\n * \n * ```\n *\n * The above example shows that elements are made available by browsers, by\n * their ID, on the `window` object.\n * This is a security risk because you might be expecting some other variable\n * at that place.\n * It can also break polyfills.\n * Using a prefix solves these problems.\n * @property {VFile | null | undefined} [file]\n * Corresponding virtual file representing the input document (optional).\n * @property {FootnoteBackContentTemplate | string | null | undefined} [footnoteBackContent]\n * Content of the backreference back to references (default: `defaultFootnoteBackContent`).\n *\n * The default value is:\n *\n * ```js\n * function defaultFootnoteBackContent(_, rereferenceIndex) {\n * const result = [{type: 'text', value: '↩'}]\n *\n * if (rereferenceIndex > 1) {\n * result.push({\n * type: 'element',\n * tagName: 'sup',\n * properties: {},\n * children: [{type: 'text', value: String(rereferenceIndex)}]\n * })\n * }\n *\n * return result\n * }\n * ```\n *\n * This content is used in the `a` element of each backreference (the `↩`\n * links).\n * @property {FootnoteBackLabelTemplate | string | null | undefined} [footnoteBackLabel]\n * Label to describe the backreference back to references (default:\n * `defaultFootnoteBackLabel`).\n *\n * The default value is:\n *\n * ```js\n * function defaultFootnoteBackLabel(referenceIndex, rereferenceIndex) {\n * return (\n * 'Back to reference ' +\n * (referenceIndex + 1) +\n * (rereferenceIndex > 1 ? '-' + rereferenceIndex : '')\n * )\n * }\n * ```\n *\n * Change it when the markdown is not in English.\n *\n * This label is used in the `ariaLabel` property on each backreference\n * (the `↩` links).\n * It affects users of assistive technology.\n * @property {string | null | undefined} [footnoteLabel='Footnotes']\n * Textual label to use for the footnotes section (default: `'Footnotes'`).\n *\n * Change it when the markdown is not in English.\n *\n * This label is typically hidden visually (assuming a `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass different properties with the `footnoteLabelProperties` option.\n * @property {HastProperties | null | undefined} [footnoteLabelProperties={className: ['sr-only']}]\n * Properties to use on the footnote label (default: `{className:\n * ['sr-only']}`).\n *\n * Change it to show the label and add other properties.\n *\n * This label is typically hidden visually (assuming an `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass an empty string.\n * You can also add different properties.\n *\n * > **Note**: `id: 'footnote-label'` is always added, because footnote\n * > calls use it with `aria-describedby` to provide an accessible label.\n * @property {string | null | undefined} [footnoteLabelTagName='h2']\n * HTML tag name to use for the footnote label element (default: `'h2'`).\n *\n * Change it to match your document structure.\n *\n * This label is typically hidden visually (assuming a `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass different properties with the `footnoteLabelProperties` option.\n * @property {Handlers | null | undefined} [handlers]\n * Extra handlers for nodes (optional).\n * @property {Array | null | undefined} [passThrough]\n * List of custom mdast node types to pass through (keep) in hast (note that\n * the node itself is passed, but eventual children are transformed)\n * (optional).\n * @property {Handler | null | undefined} [unknownHandler]\n * Handler for all unknown nodes (optional).\n *\n * @typedef State\n * Info passed around.\n * @property {(node: MdastNodes) => Array} all\n * Transform the children of an mdast parent to hast.\n * @property {(from: MdastNodes, to: Type) => HastElement | Type} applyData\n * Honor the `data` of `from`, and generate an element instead of `node`.\n * @property {Map} definitionById\n * Definitions by their identifier.\n * @property {Map} footnoteById\n * Footnote definitions by their identifier.\n * @property {Map} footnoteCounts\n * Counts for how often the same footnote was called.\n * @property {Array} footnoteOrder\n * Identifiers of order when footnote calls first appear in tree order.\n * @property {Handlers} handlers\n * Applied handlers.\n * @property {(node: MdastNodes, parent: MdastParents | undefined) => Array | HastElementContent | undefined} one\n * Transform an mdast node to hast.\n * @property {Options} options\n * Configuration.\n * @property {(from: MdastNodes, node: HastNodes) => undefined} patch\n * Copy a node’s positional info.\n * @property {(nodes: Array, loose?: boolean | undefined) => Array} wrap\n * Wrap `nodes` with line endings between each node, adds initial/final line endings when `loose`.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {visit} from 'unist-util-visit'\nimport {position} from 'unist-util-position'\nimport {handlers as defaultHandlers} from './handlers/index.js'\n\nconst own = {}.hasOwnProperty\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Create `state` from an mdast tree.\n *\n * @param {MdastNodes} tree\n * mdast node to transform.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {State}\n * `state` function.\n */\nexport function createState(tree, options) {\n const settings = options || emptyOptions\n /** @type {Map} */\n const definitionById = new Map()\n /** @type {Map} */\n const footnoteById = new Map()\n /** @type {Map} */\n const footnoteCounts = new Map()\n /** @type {Handlers} */\n // @ts-expect-error: the root handler returns a root.\n // Hard to type.\n const handlers = {...defaultHandlers, ...settings.handlers}\n\n /** @type {State} */\n const state = {\n all,\n applyData,\n definitionById,\n footnoteById,\n footnoteCounts,\n footnoteOrder: [],\n handlers,\n one,\n options: settings,\n patch,\n wrap\n }\n\n visit(tree, function (node) {\n if (node.type === 'definition' || node.type === 'footnoteDefinition') {\n const map = node.type === 'definition' ? definitionById : footnoteById\n const id = String(node.identifier).toUpperCase()\n\n // Mimick CM behavior of link definitions.\n // See: .\n if (!map.has(id)) {\n // @ts-expect-error: node type matches map.\n map.set(id, node)\n }\n }\n })\n\n return state\n\n /**\n * Transform an mdast node into a hast node.\n *\n * @param {MdastNodes} node\n * mdast node.\n * @param {MdastParents | undefined} [parent]\n * Parent of `node`.\n * @returns {Array | HastElementContent | undefined}\n * Resulting hast node.\n */\n function one(node, parent) {\n const type = node.type\n const handle = state.handlers[type]\n\n if (own.call(state.handlers, type) && handle) {\n return handle(state, node, parent)\n }\n\n if (state.options.passThrough && state.options.passThrough.includes(type)) {\n if ('children' in node) {\n const {children, ...shallow} = node\n const result = structuredClone(shallow)\n // @ts-expect-error: TS doesn’t understand…\n result.children = state.all(node)\n // @ts-expect-error: TS doesn’t understand…\n return result\n }\n\n // @ts-expect-error: it’s custom.\n return structuredClone(node)\n }\n\n const unknown = state.options.unknownHandler || defaultUnknownHandler\n\n return unknown(state, node, parent)\n }\n\n /**\n * Transform the children of an mdast node into hast nodes.\n *\n * @param {MdastNodes} parent\n * mdast node to compile\n * @returns {Array}\n * Resulting hast nodes.\n */\n function all(parent) {\n /** @type {Array} */\n const values = []\n\n if ('children' in parent) {\n const nodes = parent.children\n let index = -1\n while (++index < nodes.length) {\n const result = state.one(nodes[index], parent)\n\n // To do: see if we van clean this? Can we merge texts?\n if (result) {\n if (index && nodes[index - 1].type === 'break') {\n if (!Array.isArray(result) && result.type === 'text') {\n result.value = trimMarkdownSpaceStart(result.value)\n }\n\n if (!Array.isArray(result) && result.type === 'element') {\n const head = result.children[0]\n\n if (head && head.type === 'text') {\n head.value = trimMarkdownSpaceStart(head.value)\n }\n }\n }\n\n if (Array.isArray(result)) {\n values.push(...result)\n } else {\n values.push(result)\n }\n }\n }\n }\n\n return values\n }\n}\n\n/**\n * Copy a node’s positional info.\n *\n * @param {MdastNodes} from\n * mdast node to copy from.\n * @param {HastNodes} to\n * hast node to copy into.\n * @returns {undefined}\n * Nothing.\n */\nfunction patch(from, to) {\n if (from.position) to.position = position(from)\n}\n\n/**\n * Honor the `data` of `from` and maybe generate an element instead of `to`.\n *\n * @template {HastNodes} Type\n * Node type.\n * @param {MdastNodes} from\n * mdast node to use data from.\n * @param {Type} to\n * hast node to change.\n * @returns {HastElement | Type}\n * Nothing.\n */\nfunction applyData(from, to) {\n /** @type {HastElement | Type} */\n let result = to\n\n // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n if (from && from.data) {\n const hName = from.data.hName\n const hChildren = from.data.hChildren\n const hProperties = from.data.hProperties\n\n if (typeof hName === 'string') {\n // Transforming the node resulted in an element with a different name\n // than wanted:\n if (result.type === 'element') {\n result.tagName = hName\n }\n // Transforming the node resulted in a non-element, which happens for\n // raw, text, and root nodes (unless custom handlers are passed).\n // The intent of `hName` is to create an element, but likely also to keep\n // the content around (otherwise: pass `hChildren`).\n else {\n /** @type {Array} */\n // @ts-expect-error: assume no doctypes in `root`.\n const children = 'children' in result ? result.children : [result]\n result = {type: 'element', tagName: hName, properties: {}, children}\n }\n }\n\n if (result.type === 'element' && hProperties) {\n Object.assign(result.properties, structuredClone(hProperties))\n }\n\n if (\n 'children' in result &&\n result.children &&\n hChildren !== null &&\n hChildren !== undefined\n ) {\n result.children = hChildren\n }\n }\n\n return result\n}\n\n/**\n * Transform an unknown node.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastNodes} node\n * Unknown mdast node.\n * @returns {HastElement | HastText}\n * Resulting hast node.\n */\nfunction defaultUnknownHandler(state, node) {\n const data = node.data || {}\n /** @type {HastElement | HastText} */\n const result =\n 'value' in node &&\n !(own.call(data, 'hProperties') || own.call(data, 'hChildren'))\n ? {type: 'text', value: node.value}\n : {\n type: 'element',\n tagName: 'div',\n properties: {},\n children: state.all(node)\n }\n\n state.patch(node, result)\n return state.applyData(node, result)\n}\n\n/**\n * Wrap `nodes` with line endings between each node.\n *\n * @template {HastRootContent} Type\n * Node type.\n * @param {Array} nodes\n * List of nodes to wrap.\n * @param {boolean | undefined} [loose=false]\n * Whether to add line endings at start and end (default: `false`).\n * @returns {Array}\n * Wrapped nodes.\n */\nexport function wrap(nodes, loose) {\n /** @type {Array} */\n const result = []\n let index = -1\n\n if (loose) {\n result.push({type: 'text', value: '\\n'})\n }\n\n while (++index < nodes.length) {\n if (index) result.push({type: 'text', value: '\\n'})\n result.push(nodes[index])\n }\n\n if (loose && nodes.length > 0) {\n result.push({type: 'text', value: '\\n'})\n }\n\n return result\n}\n\n/**\n * Trim spaces and tabs at the start of `value`.\n *\n * @param {string} value\n * Value to trim.\n * @returns {string}\n * Result.\n */\nfunction trimMarkdownSpaceStart(value) {\n let index = 0\n let code = value.charCodeAt(index)\n\n while (code === 9 || code === 32) {\n index++\n code = value.charCodeAt(index)\n }\n\n return value.slice(index)\n}\n","/**\n * @typedef {import('unist').Node} UnistNode\n * @typedef {import('unist').Parent} UnistParent\n * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult\n */\n\n/**\n * @typedef {Exclude | undefined} Test\n * Test from `unist-util-is`.\n *\n * Note: we have remove and add `undefined`, because otherwise when generating\n * automatic `.d.ts` files, TS tries to flatten paths from a local perspective,\n * which doesn’t work when publishing on npm.\n */\n\n// To do: use types from `unist-util-visit-parents` when it’s released.\n\n/**\n * @typedef {(\n * Fn extends (value: any) => value is infer Thing\n * ? Thing\n * : Fallback\n * )} Predicate\n * Get the value of a type guard `Fn`.\n * @template Fn\n * Value; typically function that is a type guard (such as `(x): x is Y`).\n * @template Fallback\n * Value to yield if `Fn` is not a type guard.\n */\n\n/**\n * @typedef {(\n * Check extends null | undefined // No test.\n * ? Value\n * : Value extends {type: Check} // String (type) test.\n * ? Value\n * : Value extends Check // Partial test.\n * ? Value\n * : Check extends Function // Function test.\n * ? Predicate extends Value\n * ? Predicate\n * : never\n * : never // Some other test?\n * )} MatchesOne\n * Check whether a node matches a primitive check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test, but not arrays.\n */\n\n/**\n * @typedef {(\n * Check extends Array\n * ? MatchesOne\n * : MatchesOne\n * )} Matches\n * Check whether a node matches a check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test.\n */\n\n/**\n * @typedef {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10} Uint\n * Number; capped reasonably.\n */\n\n/**\n * @typedef {I extends 0 ? 1 : I extends 1 ? 2 : I extends 2 ? 3 : I extends 3 ? 4 : I extends 4 ? 5 : I extends 5 ? 6 : I extends 6 ? 7 : I extends 7 ? 8 : I extends 8 ? 9 : 10} Increment\n * Increment a number in the type system.\n * @template {Uint} [I=0]\n * Index.\n */\n\n/**\n * @typedef {(\n * Node extends UnistParent\n * ? Node extends {children: Array}\n * ? Child extends Children ? Node : never\n * : never\n * : never\n * )} InternalParent\n * Collect nodes that can be parents of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {InternalParent, Child>} Parent\n * Collect nodes in `Tree` that can be parents of `Child`.\n * @template {UnistNode} Tree\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {(\n * Depth extends Max\n * ? never\n * :\n * | InternalParent\n * | InternalAncestor, Max, Increment>\n * )} InternalAncestor\n * Collect nodes in `Tree` that can be ancestors of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @typedef {(\n * Tree extends UnistParent\n * ? Depth extends Max\n * ? Tree\n * : Tree | InclusiveDescendant>\n * : Tree\n * )} InclusiveDescendant\n * Collect all (inclusive) descendants of `Tree`.\n *\n * > 👉 **Note**: for performance reasons, this seems to be the fastest way to\n * > recurse without actually running into an infinite loop, which the\n * > previous version did.\n * >\n * > Practically, a max of `2` is typically enough assuming a `Root` is\n * > passed, but it doesn’t improve performance.\n * > It gets higher with `List > ListItem > Table > TableRow > TableCell`.\n * > Using up to `10` doesn’t hurt or help either.\n * @template {UnistNode} Tree\n * Tree type.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @callback Visitor\n * Handle a node (matching `test`, if given).\n *\n * Visitors are free to transform `node`.\n * They can also transform `parent`.\n *\n * Replacing `node` itself, if `SKIP` is not returned, still causes its\n * descendants to be walked (which is a bug).\n *\n * When adding or removing previous siblings of `node` (or next siblings, in\n * case of reverse), the `Visitor` should return a new `Index` to specify the\n * sibling to traverse after `node` is traversed.\n * Adding or removing next siblings of `node` (or previous siblings, in case\n * of reverse) is handled as expected without needing to return a new `Index`.\n *\n * Removing the children property of `parent` still results in them being\n * traversed.\n * @param {Visited} node\n * Found node.\n * @param {Visited extends UnistNode ? number | undefined : never} index\n * Index of `node` in `parent`.\n * @param {Ancestor extends UnistParent ? Ancestor | undefined : never} parent\n * Parent of `node`.\n * @returns {VisitorResult}\n * What to do next.\n *\n * An `Index` is treated as a tuple of `[CONTINUE, Index]`.\n * An `Action` is treated as a tuple of `[Action]`.\n *\n * Passing a tuple back only makes sense if the `Action` is `SKIP`.\n * When the `Action` is `EXIT`, that action can be returned.\n * When the `Action` is `CONTINUE`, `Index` can be returned.\n * @template {UnistNode} [Visited=UnistNode]\n * Visited node type.\n * @template {UnistParent} [Ancestor=UnistParent]\n * Ancestor type.\n */\n\n/**\n * @typedef {Visitor>} BuildVisitorFromMatch\n * Build a typed `Visitor` function from a node and all possible parents.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n * @template {UnistNode} Visited\n * Node type.\n * @template {UnistParent} Ancestor\n * Parent type.\n */\n\n/**\n * @typedef {(\n * BuildVisitorFromMatch<\n * Matches,\n * Extract\n * >\n * )} BuildVisitorFromDescendants\n * Build a typed `Visitor` function from a list of descendants and a test.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n * @template {UnistNode} Descendant\n * Node type.\n * @template {Test} Check\n * Test type.\n */\n\n/**\n * @typedef {(\n * BuildVisitorFromDescendants<\n * InclusiveDescendant,\n * Check\n * >\n * )} BuildVisitor\n * Build a typed `Visitor` function from a tree and a test.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n * @template {UnistNode} [Tree=UnistNode]\n * Node type.\n * @template {Test} [Check=Test]\n * Test type.\n */\n\nimport {visitParents} from 'unist-util-visit-parents'\n\nexport {CONTINUE, EXIT, SKIP} from 'unist-util-visit-parents'\n\n/**\n * Visit nodes.\n *\n * This algorithm performs *depth-first* *tree traversal* in *preorder*\n * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).\n *\n * You can choose for which nodes `visitor` is called by passing a `test`.\n * For complex tests, you should test yourself in `visitor`, as it will be\n * faster and will have improved type information.\n *\n * Walking the tree is an intensive task.\n * Make use of the return values of the visitor when possible.\n * Instead of walking a tree multiple times, walk it once, use `unist-util-is`\n * to check if a node matches, and then perform different operations.\n *\n * You can change the tree.\n * See `Visitor` for more info.\n *\n * @overload\n * @param {Tree} tree\n * @param {Check} check\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @overload\n * @param {Tree} tree\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @param {UnistNode} tree\n * Tree to traverse.\n * @param {Visitor | Test} testOrVisitor\n * `unist-util-is`-compatible test (optional, omit to pass a visitor).\n * @param {Visitor | boolean | null | undefined} [visitorOrReverse]\n * Handle each node (when test is omitted, pass `reverse`).\n * @param {boolean | null | undefined} [maybeReverse=false]\n * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).\n * @returns {undefined}\n * Nothing.\n *\n * @template {UnistNode} Tree\n * Node type.\n * @template {Test} Check\n * `unist-util-is`-compatible test.\n */\nexport function visit(tree, testOrVisitor, visitorOrReverse, maybeReverse) {\n /** @type {boolean | null | undefined} */\n let reverse\n /** @type {Test} */\n let test\n /** @type {Visitor} */\n let visitor\n\n if (\n typeof testOrVisitor === 'function' &&\n typeof visitorOrReverse !== 'function'\n ) {\n test = undefined\n visitor = testOrVisitor\n reverse = visitorOrReverse\n } else {\n // @ts-expect-error: assume the overload with test was given.\n test = testOrVisitor\n // @ts-expect-error: assume the overload with test was given.\n visitor = visitorOrReverse\n reverse = maybeReverse\n }\n\n visitParents(tree, test, overload, reverse)\n\n /**\n * @param {UnistNode} node\n * @param {Array} parents\n */\n function overload(node, parents) {\n const parent = parents[parents.length - 1]\n const index = parent ? parent.children.indexOf(node) : undefined\n return visitor(node, index, parent)\n }\n}\n","/**\n * @typedef {import('hast').Nodes} HastNodes\n * @typedef {import('mdast').Nodes} MdastNodes\n * @typedef {import('./state.js').Options} Options\n */\n\nimport {ok as assert} from 'devlop'\nimport {footer} from './footer.js'\nimport {createState} from './state.js'\n\n/**\n * Transform mdast to hast.\n *\n * ##### Notes\n *\n * ###### HTML\n *\n * Raw HTML is available in mdast as `html` nodes and can be embedded in hast\n * as semistandard `raw` nodes.\n * Most utilities ignore `raw` nodes but two notable ones don’t:\n *\n * * `hast-util-to-html` also has an option `allowDangerousHtml` which will\n * output the raw HTML.\n * This is typically discouraged as noted by the option name but is useful\n * if you completely trust authors\n * * `hast-util-raw` can handle the raw embedded HTML strings by parsing them\n * into standard hast nodes (`element`, `text`, etc).\n * This is a heavy task as it needs a full HTML parser, but it is the only\n * way to support untrusted content\n *\n * ###### Footnotes\n *\n * Many options supported here relate to footnotes.\n * Footnotes are not specified by CommonMark, which we follow by default.\n * They are supported by GitHub, so footnotes can be enabled in markdown with\n * `mdast-util-gfm`.\n *\n * The options `footnoteBackLabel` and `footnoteLabel` define natural language\n * that explains footnotes, which is hidden for sighted users but shown to\n * assistive technology.\n * When your page is not in English, you must define translated values.\n *\n * Back references use ARIA attributes, but the section label itself uses a\n * heading that is hidden with an `sr-only` class.\n * To show it to sighted users, define different attributes in\n * `footnoteLabelProperties`.\n *\n * ###### Clobbering\n *\n * Footnotes introduces a problem, as it links footnote calls to footnote\n * definitions on the page through `id` attributes generated from user content,\n * which results in DOM clobbering.\n *\n * DOM clobbering is this:\n *\n * ```html\n *

\n * \n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * Example: headings (DOM clobbering) in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value` (and doesn’t have `data.hName`,\n * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`\n * node\n * * otherwise, create a `
` element (which could be changed with\n * `data.hName`), with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @param {MdastNodes} tree\n * mdast tree.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {HastNodes}\n * hast tree.\n */\nexport function toHast(tree, options) {\n const state = createState(tree, options)\n const node = state.one(tree, undefined)\n const foot = footer(state)\n /** @type {HastNodes} */\n const result = Array.isArray(node)\n ? {type: 'root', children: node}\n : node || {type: 'root', children: []}\n\n if (foot) {\n // If there’s a footer, there were definitions, meaning block\n // content.\n // So `result` is a parent node.\n assert('children' in result)\n result.children.push({type: 'text', value: '\\n'}, foot)\n }\n\n return result\n}\n","// Include `data` fields in mdast and `raw` nodes in hast.\n/// \n\n/**\n * @import {Root as HastRoot} from 'hast'\n * @import {Root as MdastRoot} from 'mdast'\n * @import {Options as ToHastOptions} from 'mdast-util-to-hast'\n * @import {Processor} from 'unified'\n * @import {VFile} from 'vfile'\n */\n\n/**\n * @typedef {Omit} Options\n *\n * @callback TransformBridge\n * Bridge-mode.\n *\n * Runs the destination with the new hast tree.\n * Discards result.\n * @param {MdastRoot} tree\n * Tree.\n * @param {VFile} file\n * File.\n * @returns {Promise}\n * Nothing.\n *\n * @callback TransformMutate\n * Mutate-mode.\n *\n * Further transformers run on the hast tree.\n * @param {MdastRoot} tree\n * Tree.\n * @param {VFile} file\n * File.\n * @returns {HastRoot}\n * Tree (hast).\n */\n\nimport {toHast} from 'mdast-util-to-hast'\n\n/**\n * Turn markdown into HTML.\n *\n * ##### Notes\n *\n * ###### Signature\n *\n * * if a processor is given, runs the (rehype) plugins used on it with a\n * hast tree, then discards the result (*bridge mode*)\n * * otherwise, returns a hast tree, the plugins used after `remarkRehype`\n * are rehype plugins (*mutate mode*)\n *\n * > 👉 **Note**: It’s highly unlikely that you want to pass a `processor`.\n *\n * ###### HTML\n *\n * Raw HTML is available in mdast as `html` nodes and can be embedded in hast\n * as semistandard `raw` nodes.\n * Most plugins ignore `raw` nodes but two notable ones don’t:\n *\n * * `rehype-stringify` also has an option `allowDangerousHtml` which will\n * output the raw HTML.\n * This is typically discouraged as noted by the option name but is useful if\n * you completely trust authors\n * * `rehype-raw` can handle the raw embedded HTML strings by parsing them\n * into standard hast nodes (`element`, `text`, etc).\n * This is a heavy task as it needs a full HTML parser, but it is the only way\n * to support untrusted content\n *\n * ###### Footnotes\n *\n * Many options supported here relate to footnotes.\n * Footnotes are not specified by CommonMark, which we follow by default.\n * They are supported by GitHub, so footnotes can be enabled in markdown with\n * `remark-gfm`.\n *\n * The options `footnoteBackLabel` and `footnoteLabel` define natural language\n * that explains footnotes, which is hidden for sighted users but shown to\n * assistive technology.\n * When your page is not in English, you must define translated values.\n *\n * Back references use ARIA attributes, but the section label itself uses a\n * heading that is hidden with an `sr-only` class.\n * To show it to sighted users, define different attributes in\n * `footnoteLabelProperties`.\n *\n * ###### Clobbering\n *\n * Footnotes introduces a problem, as it links footnote calls to footnote\n * definitions on the page through `id` attributes generated from user content,\n * which results in DOM clobbering.\n *\n * DOM clobbering is this:\n *\n * ```html\n *

\n * \n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * *Example: headings (DOM clobbering)* in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value` (and doesn’t have `data.hName`,\n * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`\n * node\n * * otherwise, create a `
` element (which could be changed with\n * `data.hName`), with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @overload\n * @param {Processor} processor\n * @param {Readonly | null | undefined} [options]\n * @returns {TransformBridge}\n *\n * @overload\n * @param {Readonly | null | undefined} [options]\n * @returns {TransformMutate}\n *\n * @param {Readonly | Processor | null | undefined} [destination]\n * Processor or configuration (optional).\n * @param {Readonly | null | undefined} [options]\n * When a processor was given, configuration (optional).\n * @returns {TransformBridge | TransformMutate}\n * Transform.\n */\nexport default function remarkRehype(destination, options) {\n if (destination && 'run' in destination) {\n /**\n * @type {TransformBridge}\n */\n return async function (tree, file) {\n // Cast because root in -> root out.\n const hastTree = /** @type {HastRoot} */ (\n toHast(tree, {file, ...options})\n )\n await destination.run(hastTree, file)\n }\n }\n\n /**\n * @type {TransformMutate}\n */\n return function (tree, file) {\n // Cast because root in -> root out.\n // To do: in the future, disallow ` || options` fallback.\n // With `unified-engine`, `destination` can be `undefined` but\n // `options` will be the file set.\n // We should not pass that as `options`.\n return /** @type {HastRoot} */ (\n toHast(tree, {file, ...(destination || options)})\n )\n }\n}\n","/**\n * Throw a given error.\n *\n * @param {Error|null|undefined} [error]\n * Maybe error.\n * @returns {asserts error is null|undefined}\n */\nexport function bail(error) {\n if (error) {\n throw error\n }\n}\n","export default function isPlainObject(value) {\n\tif (typeof value !== 'object' || value === null) {\n\t\treturn false;\n\t}\n\n\tconst prototype = Object.getPrototypeOf(value);\n\treturn (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);\n}\n","/**\n * @typedef {(error?: Error|null|undefined, ...output: Array) => void} Callback\n * @typedef {(...input: Array) => any} Middleware\n *\n * @typedef {(...input: Array) => void} Run\n * Call all middleware.\n * @typedef {(fn: Middleware) => Pipeline} Use\n * Add `fn` (middleware) to the list.\n * @typedef {{run: Run, use: Use}} Pipeline\n * Middleware.\n */\n\n/**\n * Create new middleware.\n *\n * @returns {Pipeline}\n */\nexport function trough() {\n /** @type {Array} */\n const fns = []\n /** @type {Pipeline} */\n const pipeline = {run, use}\n\n return pipeline\n\n /** @type {Run} */\n function run(...values) {\n let middlewareIndex = -1\n /** @type {Callback} */\n const callback = values.pop()\n\n if (typeof callback !== 'function') {\n throw new TypeError('Expected function as last argument, not ' + callback)\n }\n\n next(null, ...values)\n\n /**\n * Run the next `fn`, or we’re done.\n *\n * @param {Error|null|undefined} error\n * @param {Array} output\n */\n function next(error, ...output) {\n const fn = fns[++middlewareIndex]\n let index = -1\n\n if (error) {\n callback(error)\n return\n }\n\n // Copy non-nullish input into values.\n while (++index < values.length) {\n if (output[index] === null || output[index] === undefined) {\n output[index] = values[index]\n }\n }\n\n // Save the newly created `output` for the next call.\n values = output\n\n // Next or done.\n if (fn) {\n wrap(fn, next)(...output)\n } else {\n callback(null, ...output)\n }\n }\n }\n\n /** @type {Use} */\n function use(middelware) {\n if (typeof middelware !== 'function') {\n throw new TypeError(\n 'Expected `middelware` to be a function, not ' + middelware\n )\n }\n\n fns.push(middelware)\n return pipeline\n }\n}\n\n/**\n * Wrap `middleware`.\n * Can be sync or async; return a promise, receive a callback, or return new\n * values and errors.\n *\n * @param {Middleware} middleware\n * @param {Callback} callback\n */\nexport function wrap(middleware, callback) {\n /** @type {boolean} */\n let called\n\n return wrapped\n\n /**\n * Call `middleware`.\n * @this {any}\n * @param {Array} parameters\n * @returns {void}\n */\n function wrapped(...parameters) {\n const fnExpectsCallback = middleware.length > parameters.length\n /** @type {any} */\n let result\n\n if (fnExpectsCallback) {\n parameters.push(done)\n }\n\n try {\n result = middleware.apply(this, parameters)\n } catch (error) {\n const exception = /** @type {Error} */ (error)\n\n // Well, this is quite the pickle.\n // `middleware` received a callback and called it synchronously, but that\n // threw an error.\n // The only thing left to do is to throw the thing instead.\n if (fnExpectsCallback && called) {\n throw exception\n }\n\n return done(exception)\n }\n\n if (!fnExpectsCallback) {\n if (result instanceof Promise) {\n result.then(then, done)\n } else if (result instanceof Error) {\n done(result)\n } else {\n then(result)\n }\n }\n }\n\n /**\n * Call `callback`, only once.\n * @type {Callback}\n */\n function done(error, ...output) {\n if (!called) {\n called = true\n callback(error, ...output)\n }\n }\n\n /**\n * Call `done` with one value.\n *\n * @param {any} [value]\n */\n function then(value) {\n done(null, value)\n }\n}\n","// A derivative work based on:\n// .\n// Which is licensed:\n//\n// MIT License\n//\n// Copyright (c) 2013 James Halliday\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy of\n// this software and associated documentation files (the \"Software\"), to deal in\n// the Software without restriction, including without limitation the rights to\n// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n// the Software, and to permit persons to whom the Software is furnished to do so,\n// subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A derivative work based on:\n//\n// Parts of that are extracted from Node’s internal `path` module:\n// .\n// Which is licensed:\n//\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nexport const minpath = {basename, dirname, extname, join, sep: '/'}\n\n/* eslint-disable max-depth, complexity */\n\n/**\n * Get the basename from a path.\n *\n * @param {string} path\n * File path.\n * @param {string | null | undefined} [extname]\n * Extension to strip.\n * @returns {string}\n * Stem or basename.\n */\nfunction basename(path, extname) {\n if (extname !== undefined && typeof extname !== 'string') {\n throw new TypeError('\"ext\" argument must be a string')\n }\n\n assertPath(path)\n let start = 0\n let end = -1\n let index = path.length\n /** @type {boolean | undefined} */\n let seenNonSlash\n\n if (\n extname === undefined ||\n extname.length === 0 ||\n extname.length > path.length\n ) {\n while (index--) {\n if (path.codePointAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // path component.\n seenNonSlash = true\n end = index + 1\n }\n }\n\n return end < 0 ? '' : path.slice(start, end)\n }\n\n if (extname === path) {\n return ''\n }\n\n let firstNonSlashEnd = -1\n let extnameIndex = extname.length - 1\n\n while (index--) {\n if (path.codePointAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else {\n if (firstNonSlashEnd < 0) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching.\n seenNonSlash = true\n firstNonSlashEnd = index + 1\n }\n\n if (extnameIndex > -1) {\n // Try to match the explicit extension.\n if (path.codePointAt(index) === extname.codePointAt(extnameIndex--)) {\n if (extnameIndex < 0) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = index\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extnameIndex = -1\n end = firstNonSlashEnd\n }\n }\n }\n }\n\n if (start === end) {\n end = firstNonSlashEnd\n } else if (end < 0) {\n end = path.length\n }\n\n return path.slice(start, end)\n}\n\n/**\n * Get the dirname from a path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * File path.\n */\nfunction dirname(path) {\n assertPath(path)\n\n if (path.length === 0) {\n return '.'\n }\n\n let end = -1\n let index = path.length\n /** @type {boolean | undefined} */\n let unmatchedSlash\n\n // Prefix `--` is important to not run on `0`.\n while (--index) {\n if (path.codePointAt(index) === 47 /* `/` */) {\n if (unmatchedSlash) {\n end = index\n break\n }\n } else if (!unmatchedSlash) {\n // We saw the first non-path separator\n unmatchedSlash = true\n }\n }\n\n return end < 0\n ? path.codePointAt(0) === 47 /* `/` */\n ? '/'\n : '.'\n : end === 1 && path.codePointAt(0) === 47 /* `/` */\n ? '//'\n : path.slice(0, end)\n}\n\n/**\n * Get an extname from a path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * Extname.\n */\nfunction extname(path) {\n assertPath(path)\n\n let index = path.length\n\n let end = -1\n let startPart = 0\n let startDot = -1\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find.\n let preDotState = 0\n /** @type {boolean | undefined} */\n let unmatchedSlash\n\n while (index--) {\n const code = path.codePointAt(index)\n\n if (code === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (unmatchedSlash) {\n startPart = index + 1\n break\n }\n\n continue\n }\n\n if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // extension.\n unmatchedSlash = true\n end = index + 1\n }\n\n if (code === 46 /* `.` */) {\n // If this is our first dot, mark it as the start of our extension.\n if (startDot < 0) {\n startDot = index\n } else if (preDotState !== 1) {\n preDotState = 1\n }\n } else if (startDot > -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension.\n preDotState = -1\n }\n }\n\n if (\n startDot < 0 ||\n end < 0 ||\n // We saw a non-dot character immediately before the dot.\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly `..`.\n (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)\n ) {\n return ''\n }\n\n return path.slice(startDot, end)\n}\n\n/**\n * Join segments from a path.\n *\n * @param {Array} segments\n * Path segments.\n * @returns {string}\n * File path.\n */\nfunction join(...segments) {\n let index = -1\n /** @type {string | undefined} */\n let joined\n\n while (++index < segments.length) {\n assertPath(segments[index])\n\n if (segments[index]) {\n joined =\n joined === undefined ? segments[index] : joined + '/' + segments[index]\n }\n }\n\n return joined === undefined ? '.' : normalize(joined)\n}\n\n/**\n * Normalize a basic file path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * File path.\n */\n// Note: `normalize` is not exposed as `path.normalize`, so some code is\n// manually removed from it.\nfunction normalize(path) {\n assertPath(path)\n\n const absolute = path.codePointAt(0) === 47 /* `/` */\n\n // Normalize the path according to POSIX rules.\n let value = normalizeString(path, !absolute)\n\n if (value.length === 0 && !absolute) {\n value = '.'\n }\n\n if (value.length > 0 && path.codePointAt(path.length - 1) === 47 /* / */) {\n value += '/'\n }\n\n return absolute ? '/' + value : value\n}\n\n/**\n * Resolve `.` and `..` elements in a path with directory names.\n *\n * @param {string} path\n * File path.\n * @param {boolean} allowAboveRoot\n * Whether `..` can move above root.\n * @returns {string}\n * File path.\n */\nfunction normalizeString(path, allowAboveRoot) {\n let result = ''\n let lastSegmentLength = 0\n let lastSlash = -1\n let dots = 0\n let index = -1\n /** @type {number | undefined} */\n let code\n /** @type {number} */\n let lastSlashIndex\n\n while (++index <= path.length) {\n if (index < path.length) {\n code = path.codePointAt(index)\n } else if (code === 47 /* `/` */) {\n break\n } else {\n code = 47 /* `/` */\n }\n\n if (code === 47 /* `/` */) {\n if (lastSlash === index - 1 || dots === 1) {\n // Empty.\n } else if (lastSlash !== index - 1 && dots === 2) {\n if (\n result.length < 2 ||\n lastSegmentLength !== 2 ||\n result.codePointAt(result.length - 1) !== 46 /* `.` */ ||\n result.codePointAt(result.length - 2) !== 46 /* `.` */\n ) {\n if (result.length > 2) {\n lastSlashIndex = result.lastIndexOf('/')\n\n if (lastSlashIndex !== result.length - 1) {\n if (lastSlashIndex < 0) {\n result = ''\n lastSegmentLength = 0\n } else {\n result = result.slice(0, lastSlashIndex)\n lastSegmentLength = result.length - 1 - result.lastIndexOf('/')\n }\n\n lastSlash = index\n dots = 0\n continue\n }\n } else if (result.length > 0) {\n result = ''\n lastSegmentLength = 0\n lastSlash = index\n dots = 0\n continue\n }\n }\n\n if (allowAboveRoot) {\n result = result.length > 0 ? result + '/..' : '..'\n lastSegmentLength = 2\n }\n } else {\n if (result.length > 0) {\n result += '/' + path.slice(lastSlash + 1, index)\n } else {\n result = path.slice(lastSlash + 1, index)\n }\n\n lastSegmentLength = index - lastSlash - 1\n }\n\n lastSlash = index\n dots = 0\n } else if (code === 46 /* `.` */ && dots > -1) {\n dots++\n } else {\n dots = -1\n }\n }\n\n return result\n}\n\n/**\n * Make sure `path` is a string.\n *\n * @param {string} path\n * File path.\n * @returns {asserts path is string}\n * Nothing.\n */\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError(\n 'Path must be a string. Received ' + JSON.stringify(path)\n )\n }\n}\n\n/* eslint-enable max-depth, complexity */\n","// Somewhat based on:\n// .\n// But I don’t think one tiny line of code can be copyrighted. 😅\nexport const minproc = {cwd}\n\nfunction cwd() {\n return '/'\n}\n","/**\n * Checks if a value has the shape of a WHATWG URL object.\n *\n * Using a symbol or instanceof would not be able to recognize URL objects\n * coming from other implementations (e.g. in Electron), so instead we are\n * checking some well known properties for a lack of a better test.\n *\n * We use `href` and `protocol` as they are the only properties that are\n * easy to retrieve and calculate due to the lazy nature of the getters.\n *\n * We check for auth attribute to distinguish legacy url instance with\n * WHATWG URL instance.\n *\n * @param {unknown} fileUrlOrPath\n * File path or URL.\n * @returns {fileUrlOrPath is URL}\n * Whether it’s a URL.\n */\n// From: \nexport function isUrl(fileUrlOrPath) {\n return Boolean(\n fileUrlOrPath !== null &&\n typeof fileUrlOrPath === 'object' &&\n 'href' in fileUrlOrPath &&\n fileUrlOrPath.href &&\n 'protocol' in fileUrlOrPath &&\n fileUrlOrPath.protocol &&\n // @ts-expect-error: indexing is fine.\n fileUrlOrPath.auth === undefined\n )\n}\n","import {isUrl} from './minurl.shared.js'\n\nexport {isUrl} from './minurl.shared.js'\n\n// See: \n\n/**\n * @param {URL | string} path\n * File URL.\n * @returns {string}\n * File URL.\n */\nexport function urlToPath(path) {\n if (typeof path === 'string') {\n path = new URL(path)\n } else if (!isUrl(path)) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'The \"path\" argument must be of type string or an instance of URL. Received `' +\n path +\n '`'\n )\n error.code = 'ERR_INVALID_ARG_TYPE'\n throw error\n }\n\n if (path.protocol !== 'file:') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError('The URL must be of scheme file')\n error.code = 'ERR_INVALID_URL_SCHEME'\n throw error\n }\n\n return getPathFromURLPosix(path)\n}\n\n/**\n * Get a path from a POSIX URL.\n *\n * @param {URL} url\n * URL.\n * @returns {string}\n * File path.\n */\nfunction getPathFromURLPosix(url) {\n if (url.hostname !== '') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL host must be \"localhost\" or empty on darwin'\n )\n error.code = 'ERR_INVALID_FILE_URL_HOST'\n throw error\n }\n\n const pathname = url.pathname\n let index = -1\n\n while (++index < pathname.length) {\n if (\n pathname.codePointAt(index) === 37 /* `%` */ &&\n pathname.codePointAt(index + 1) === 50 /* `2` */\n ) {\n const third = pathname.codePointAt(index + 2)\n if (third === 70 /* `F` */ || third === 102 /* `f` */) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL path must not include encoded / characters'\n )\n error.code = 'ERR_INVALID_FILE_URL_PATH'\n throw error\n }\n }\n }\n\n return decodeURIComponent(pathname)\n}\n","/**\n * @import {Node, Point, Position} from 'unist'\n * @import {Options as MessageOptions} from 'vfile-message'\n * @import {Compatible, Data, Map, Options, Value} from 'vfile'\n */\n\n/**\n * @typedef {object & {type: string, position?: Position | undefined}} NodeLike\n */\n\nimport {VFileMessage} from 'vfile-message'\nimport {minpath} from '#minpath'\nimport {minproc} from '#minproc'\nimport {urlToPath, isUrl} from '#minurl'\n\n/**\n * Order of setting (least specific to most), we need this because otherwise\n * `{stem: 'a', path: '~/b.js'}` would throw, as a path is needed before a\n * stem can be set.\n */\nconst order = /** @type {const} */ ([\n 'history',\n 'path',\n 'basename',\n 'stem',\n 'extname',\n 'dirname'\n])\n\nexport class VFile {\n /**\n * Create a new virtual file.\n *\n * `options` is treated as:\n *\n * * `string` or `Uint8Array` — `{value: options}`\n * * `URL` — `{path: options}`\n * * `VFile` — shallow copies its data over to the new file\n * * `object` — all fields are shallow copied over to the new file\n *\n * Path related fields are set in the following order (least specific to\n * most specific): `history`, `path`, `basename`, `stem`, `extname`,\n * `dirname`.\n *\n * You cannot set `dirname` or `extname` without setting either `history`,\n * `path`, `basename`, or `stem` too.\n *\n * @param {Compatible | null | undefined} [value]\n * File value.\n * @returns\n * New instance.\n */\n constructor(value) {\n /** @type {Options | VFile} */\n let options\n\n if (!value) {\n options = {}\n } else if (isUrl(value)) {\n options = {path: value}\n } else if (typeof value === 'string' || isUint8Array(value)) {\n options = {value}\n } else {\n options = value\n }\n\n /* eslint-disable no-unused-expressions */\n\n /**\n * Base of `path` (default: `process.cwd()` or `'/'` in browsers).\n *\n * @type {string}\n */\n // Prevent calling `cwd` (which could be expensive) if it’s not needed;\n // the empty string will be overridden in the next block.\n this.cwd = 'cwd' in options ? '' : minproc.cwd()\n\n /**\n * Place to store custom info (default: `{}`).\n *\n * It’s OK to store custom data directly on the file but moving it to\n * `data` is recommended.\n *\n * @type {Data}\n */\n this.data = {}\n\n /**\n * List of file paths the file moved between.\n *\n * The first is the original path and the last is the current path.\n *\n * @type {Array}\n */\n this.history = []\n\n /**\n * List of messages associated with the file.\n *\n * @type {Array}\n */\n this.messages = []\n\n /**\n * Raw value.\n *\n * @type {Value}\n */\n this.value\n\n // The below are non-standard, they are “well-known”.\n // As in, used in several tools.\n /**\n * Source map.\n *\n * This type is equivalent to the `RawSourceMap` type from the `source-map`\n * module.\n *\n * @type {Map | null | undefined}\n */\n this.map\n\n /**\n * Custom, non-string, compiled, representation.\n *\n * This is used by unified to store non-string results.\n * One example is when turning markdown into React nodes.\n *\n * @type {unknown}\n */\n this.result\n\n /**\n * Whether a file was saved to disk.\n *\n * This is used by vfile reporters.\n *\n * @type {boolean}\n */\n this.stored\n /* eslint-enable no-unused-expressions */\n\n // Set path related properties in the correct order.\n let index = -1\n\n while (++index < order.length) {\n const field = order[index]\n\n // Note: we specifically use `in` instead of `hasOwnProperty` to accept\n // `vfile`s too.\n if (\n field in options &&\n options[field] !== undefined &&\n options[field] !== null\n ) {\n // @ts-expect-error: TS doesn’t understand basic reality.\n this[field] = field === 'history' ? [...options[field]] : options[field]\n }\n }\n\n /** @type {string} */\n let field\n\n // Set non-path related properties.\n for (field in options) {\n // @ts-expect-error: fine to set other things.\n if (!order.includes(field)) {\n // @ts-expect-error: fine to set other things.\n this[field] = options[field]\n }\n }\n }\n\n /**\n * Get the basename (including extname) (example: `'index.min.js'`).\n *\n * @returns {string | undefined}\n * Basename.\n */\n get basename() {\n return typeof this.path === 'string'\n ? minpath.basename(this.path)\n : undefined\n }\n\n /**\n * Set basename (including extname) (`'index.min.js'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n *\n * @param {string} basename\n * Basename.\n * @returns {undefined}\n * Nothing.\n */\n set basename(basename) {\n assertNonEmpty(basename, 'basename')\n assertPart(basename, 'basename')\n this.path = minpath.join(this.dirname || '', basename)\n }\n\n /**\n * Get the parent path (example: `'~'`).\n *\n * @returns {string | undefined}\n * Dirname.\n */\n get dirname() {\n return typeof this.path === 'string'\n ? minpath.dirname(this.path)\n : undefined\n }\n\n /**\n * Set the parent path (example: `'~'`).\n *\n * Cannot be set if there’s no `path` yet.\n *\n * @param {string | undefined} dirname\n * Dirname.\n * @returns {undefined}\n * Nothing.\n */\n set dirname(dirname) {\n assertPath(this.basename, 'dirname')\n this.path = minpath.join(dirname || '', this.basename)\n }\n\n /**\n * Get the extname (including dot) (example: `'.js'`).\n *\n * @returns {string | undefined}\n * Extname.\n */\n get extname() {\n return typeof this.path === 'string'\n ? minpath.extname(this.path)\n : undefined\n }\n\n /**\n * Set the extname (including dot) (example: `'.js'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be set if there’s no `path` yet.\n *\n * @param {string | undefined} extname\n * Extname.\n * @returns {undefined}\n * Nothing.\n */\n set extname(extname) {\n assertPart(extname, 'extname')\n assertPath(this.dirname, 'extname')\n\n if (extname) {\n if (extname.codePointAt(0) !== 46 /* `.` */) {\n throw new Error('`extname` must start with `.`')\n }\n\n if (extname.includes('.', 1)) {\n throw new Error('`extname` cannot contain multiple dots')\n }\n }\n\n this.path = minpath.join(this.dirname, this.stem + (extname || ''))\n }\n\n /**\n * Get the full path (example: `'~/index.min.js'`).\n *\n * @returns {string}\n * Path.\n */\n get path() {\n return this.history[this.history.length - 1]\n }\n\n /**\n * Set the full path (example: `'~/index.min.js'`).\n *\n * Cannot be nullified.\n * You can set a file URL (a `URL` object with a `file:` protocol) which will\n * be turned into a path with `url.fileURLToPath`.\n *\n * @param {URL | string} path\n * Path.\n * @returns {undefined}\n * Nothing.\n */\n set path(path) {\n if (isUrl(path)) {\n path = urlToPath(path)\n }\n\n assertNonEmpty(path, 'path')\n\n if (this.path !== path) {\n this.history.push(path)\n }\n }\n\n /**\n * Get the stem (basename w/o extname) (example: `'index.min'`).\n *\n * @returns {string | undefined}\n * Stem.\n */\n get stem() {\n return typeof this.path === 'string'\n ? minpath.basename(this.path, this.extname)\n : undefined\n }\n\n /**\n * Set the stem (basename w/o extname) (example: `'index.min'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n *\n * @param {string} stem\n * Stem.\n * @returns {undefined}\n * Nothing.\n */\n set stem(stem) {\n assertNonEmpty(stem, 'stem')\n assertPart(stem, 'stem')\n this.path = minpath.join(this.dirname || '', stem + (this.extname || ''))\n }\n\n // Normal prototypal methods.\n /**\n * Create a fatal message for `reason` associated with the file.\n *\n * The `fatal` field of the message is set to `true` (error; file not usable)\n * and the `file` field is set to the current file path.\n * The message is added to the `messages` field on `file`.\n *\n * > 🪦 **Note**: also has obsolete signatures.\n *\n * @overload\n * @param {string} reason\n * @param {MessageOptions | null | undefined} [options]\n * @returns {never}\n *\n * @overload\n * @param {string} reason\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {string} reason\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {string} reason\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @param {Error | VFileMessage | string} causeOrReason\n * Reason for message, should use markdown.\n * @param {Node | NodeLike | MessageOptions | Point | Position | string | null | undefined} [optionsOrParentOrPlace]\n * Configuration (optional).\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {never}\n * Never.\n * @throws {VFileMessage}\n * Message.\n */\n fail(causeOrReason, optionsOrParentOrPlace, origin) {\n // @ts-expect-error: the overloads are fine.\n const message = this.message(causeOrReason, optionsOrParentOrPlace, origin)\n\n message.fatal = true\n\n throw message\n }\n\n /**\n * Create an info message for `reason` associated with the file.\n *\n * The `fatal` field of the message is set to `undefined` (info; change\n * likely not needed) and the `file` field is set to the current file path.\n * The message is added to the `messages` field on `file`.\n *\n * > 🪦 **Note**: also has obsolete signatures.\n *\n * @overload\n * @param {string} reason\n * @param {MessageOptions | null | undefined} [options]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @param {Error | VFileMessage | string} causeOrReason\n * Reason for message, should use markdown.\n * @param {Node | NodeLike | MessageOptions | Point | Position | string | null | undefined} [optionsOrParentOrPlace]\n * Configuration (optional).\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {VFileMessage}\n * Message.\n */\n info(causeOrReason, optionsOrParentOrPlace, origin) {\n // @ts-expect-error: the overloads are fine.\n const message = this.message(causeOrReason, optionsOrParentOrPlace, origin)\n\n message.fatal = undefined\n\n return message\n }\n\n /**\n * Create a message for `reason` associated with the file.\n *\n * The `fatal` field of the message is set to `false` (warning; change may be\n * needed) and the `file` field is set to the current file path.\n * The message is added to the `messages` field on `file`.\n *\n * > 🪦 **Note**: also has obsolete signatures.\n *\n * @overload\n * @param {string} reason\n * @param {MessageOptions | null | undefined} [options]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @param {Error | VFileMessage | string} causeOrReason\n * Reason for message, should use markdown.\n * @param {Node | NodeLike | MessageOptions | Point | Position | string | null | undefined} [optionsOrParentOrPlace]\n * Configuration (optional).\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {VFileMessage}\n * Message.\n */\n message(causeOrReason, optionsOrParentOrPlace, origin) {\n const message = new VFileMessage(\n // @ts-expect-error: the overloads are fine.\n causeOrReason,\n optionsOrParentOrPlace,\n origin\n )\n\n if (this.path) {\n message.name = this.path + ':' + message.name\n message.file = this.path\n }\n\n message.fatal = false\n\n this.messages.push(message)\n\n return message\n }\n\n /**\n * Serialize the file.\n *\n * > **Note**: which encodings are supported depends on the engine.\n * > For info on Node.js, see:\n * > .\n *\n * @param {string | null | undefined} [encoding='utf8']\n * Character encoding to understand `value` as when it’s a `Uint8Array`\n * (default: `'utf-8'`).\n * @returns {string}\n * Serialized file.\n */\n toString(encoding) {\n if (this.value === undefined) {\n return ''\n }\n\n if (typeof this.value === 'string') {\n return this.value\n }\n\n const decoder = new TextDecoder(encoding || undefined)\n return decoder.decode(this.value)\n }\n}\n\n/**\n * Assert that `part` is not a path (as in, does not contain `path.sep`).\n *\n * @param {string | null | undefined} part\n * File path part.\n * @param {string} name\n * Part name.\n * @returns {undefined}\n * Nothing.\n */\nfunction assertPart(part, name) {\n if (part && part.includes(minpath.sep)) {\n throw new Error(\n '`' + name + '` cannot be a path: did not expect `' + minpath.sep + '`'\n )\n }\n}\n\n/**\n * Assert that `part` is not empty.\n *\n * @param {string | undefined} part\n * Thing.\n * @param {string} name\n * Part name.\n * @returns {asserts part is string}\n * Nothing.\n */\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty')\n }\n}\n\n/**\n * Assert `path` exists.\n *\n * @param {string | undefined} path\n * Path.\n * @param {string} name\n * Dependency name.\n * @returns {asserts path is string}\n * Nothing.\n */\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too')\n }\n}\n\n/**\n * Assert `value` is an `Uint8Array`.\n *\n * @param {unknown} value\n * thing.\n * @returns {value is Uint8Array}\n * Whether `value` is an `Uint8Array`.\n */\nfunction isUint8Array(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'byteLength' in value &&\n 'byteOffset' in value\n )\n}\n","export const CallableInstance =\n /**\n * @type {new , Result>(property: string | symbol) => (...parameters: Parameters) => Result}\n */\n (\n /** @type {unknown} */\n (\n /**\n * @this {Function}\n * @param {string | symbol} property\n * @returns {(...parameters: Array) => unknown}\n */\n function (property) {\n const self = this\n const constr = self.constructor\n const proto = /** @type {Record} */ (\n // Prototypes do exist.\n // type-coverage:ignore-next-line\n constr.prototype\n )\n const value = proto[property]\n /** @type {(...parameters: Array) => unknown} */\n const apply = function () {\n return value.apply(apply, arguments)\n }\n\n Object.setPrototypeOf(apply, proto)\n\n // Not needed for us in `unified`: we only call this on the `copy`\n // function,\n // and we don't need to add its fields (`length`, `name`)\n // over.\n // See also: GH-246.\n // const names = Object.getOwnPropertyNames(value)\n //\n // for (const p of names) {\n // const descriptor = Object.getOwnPropertyDescriptor(value, p)\n // if (descriptor) Object.defineProperty(apply, p, descriptor)\n // }\n\n return apply\n }\n )\n )\n","/**\n * @typedef {import('trough').Pipeline} Pipeline\n *\n * @typedef {import('unist').Node} Node\n *\n * @typedef {import('vfile').Compatible} Compatible\n * @typedef {import('vfile').Value} Value\n *\n * @typedef {import('../index.js').CompileResultMap} CompileResultMap\n * @typedef {import('../index.js').Data} Data\n * @typedef {import('../index.js').Settings} Settings\n */\n\n/**\n * @typedef {CompileResultMap[keyof CompileResultMap]} CompileResults\n * Acceptable results from compilers.\n *\n * To register custom results, add them to\n * {@linkcode CompileResultMap}.\n */\n\n/**\n * @template {Node} [Tree=Node]\n * The node that the compiler receives (default: `Node`).\n * @template {CompileResults} [Result=CompileResults]\n * The thing that the compiler yields (default: `CompileResults`).\n * @callback Compiler\n * A **compiler** handles the compiling of a syntax tree to something else\n * (in most cases, text) (TypeScript type).\n *\n * It is used in the stringify phase and called with a {@linkcode Node}\n * and {@linkcode VFile} representation of the document to compile.\n * It should return the textual representation of the given tree (typically\n * `string`).\n *\n * > **Note**: unified typically compiles by serializing: most compilers\n * > return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@linkcode CompileResultMap}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n * @param {Tree} tree\n * Tree to compile.\n * @param {VFile} file\n * File associated with `tree`.\n * @returns {Result}\n * New content: compiled text (`string` or `Uint8Array`, for `file.value`) or\n * something else (for `file.result`).\n */\n\n/**\n * @template {Node} [Tree=Node]\n * The node that the parser yields (default: `Node`)\n * @callback Parser\n * A **parser** handles the parsing of text to a syntax tree.\n *\n * It is used in the parse phase and is called with a `string` and\n * {@linkcode VFile} of the document to parse.\n * It must return the syntax tree representation of the given file\n * ({@linkcode Node}).\n * @param {string} document\n * Document to parse.\n * @param {VFile} file\n * File associated with `document`.\n * @returns {Tree}\n * Node representing the given file.\n */\n\n/**\n * @typedef {(\n * Plugin, any, any> |\n * PluginTuple, any, any> |\n * Preset\n * )} Pluggable\n * Union of the different ways to add plugins and settings.\n */\n\n/**\n * @typedef {Array} PluggableList\n * List of plugins and presets.\n */\n\n// Note: we can’t use `callback` yet as it messes up `this`:\n// .\n/**\n * @template {Array} [PluginParameters=[]]\n * Arguments passed to the plugin (default: `[]`, the empty tuple).\n * @template {Node | string | undefined} [Input=Node]\n * Value that is expected as input (default: `Node`).\n *\n * * If the plugin returns a {@linkcode Transformer}, this\n * should be the node it expects.\n * * If the plugin sets a {@linkcode Parser}, this should be\n * `string`.\n * * If the plugin sets a {@linkcode Compiler}, this should be the\n * node it expects.\n * @template [Output=Input]\n * Value that is yielded as output (default: `Input`).\n *\n * * If the plugin returns a {@linkcode Transformer}, this\n * should be the node that that yields.\n * * If the plugin sets a {@linkcode Parser}, this should be the\n * node that it yields.\n * * If the plugin sets a {@linkcode Compiler}, this should be\n * result it yields.\n * @typedef {(\n * (this: Processor, ...parameters: PluginParameters) =>\n * Input extends string ? // Parser.\n * Output extends Node | undefined ? undefined | void : never :\n * Output extends CompileResults ? // Compiler.\n * Input extends Node | undefined ? undefined | void : never :\n * Transformer<\n * Input extends Node ? Input : Node,\n * Output extends Node ? Output : Node\n * > | undefined | void\n * )} Plugin\n * Single plugin.\n *\n * Plugins configure the processors they are applied on in the following\n * ways:\n *\n * * they change the processor, such as the parser, the compiler, or by\n * configuring data\n * * they specify how to handle trees and files\n *\n * In practice, they are functions that can receive options and configure the\n * processor (`this`).\n *\n * > **Note**: plugins are called when the processor is *frozen*, not when\n * > they are applied.\n */\n\n/**\n * Tuple of a plugin and its configuration.\n *\n * The first item is a plugin, the rest are its parameters.\n *\n * @template {Array} [TupleParameters=[]]\n * Arguments passed to the plugin (default: `[]`, the empty tuple).\n * @template {Node | string | undefined} [Input=undefined]\n * Value that is expected as input (optional).\n *\n * * If the plugin returns a {@linkcode Transformer}, this\n * should be the node it expects.\n * * If the plugin sets a {@linkcode Parser}, this should be\n * `string`.\n * * If the plugin sets a {@linkcode Compiler}, this should be the\n * node it expects.\n * @template [Output=undefined] (optional).\n * Value that is yielded as output.\n *\n * * If the plugin returns a {@linkcode Transformer}, this\n * should be the node that that yields.\n * * If the plugin sets a {@linkcode Parser}, this should be the\n * node that it yields.\n * * If the plugin sets a {@linkcode Compiler}, this should be\n * result it yields.\n * @typedef {(\n * [\n * plugin: Plugin,\n * ...parameters: TupleParameters\n * ]\n * )} PluginTuple\n */\n\n/**\n * @typedef Preset\n * Sharable configuration.\n *\n * They can contain plugins and settings.\n * @property {PluggableList | undefined} [plugins]\n * List of plugins and presets (optional).\n * @property {Settings | undefined} [settings]\n * Shared settings for parsers and compilers (optional).\n */\n\n/**\n * @template {VFile} [File=VFile]\n * The file that the callback receives (default: `VFile`).\n * @callback ProcessCallback\n * Callback called when the process is done.\n *\n * Called with either an error or a result.\n * @param {Error | undefined} [error]\n * Fatal error (optional).\n * @param {File | undefined} [file]\n * Processed file (optional).\n * @returns {undefined}\n * Nothing.\n */\n\n/**\n * @template {Node} [Tree=Node]\n * The tree that the callback receives (default: `Node`).\n * @callback RunCallback\n * Callback called when transformers are done.\n *\n * Called with either an error or results.\n * @param {Error | undefined} [error]\n * Fatal error (optional).\n * @param {Tree | undefined} [tree]\n * Transformed tree (optional).\n * @param {VFile | undefined} [file]\n * File (optional).\n * @returns {undefined}\n * Nothing.\n */\n\n/**\n * @template {Node} [Output=Node]\n * Node type that the transformer yields (default: `Node`).\n * @callback TransformCallback\n * Callback passed to transforms.\n *\n * If the signature of a `transformer` accepts a third argument, the\n * transformer may perform asynchronous operations, and must call it.\n * @param {Error | undefined} [error]\n * Fatal error to stop the process (optional).\n * @param {Output | undefined} [tree]\n * New, changed, tree (optional).\n * @param {VFile | undefined} [file]\n * New, changed, file (optional).\n * @returns {undefined}\n * Nothing.\n */\n\n/**\n * @template {Node} [Input=Node]\n * Node type that the transformer expects (default: `Node`).\n * @template {Node} [Output=Input]\n * Node type that the transformer yields (default: `Input`).\n * @callback Transformer\n * Transformers handle syntax trees and files.\n *\n * They are functions that are called each time a syntax tree and file are\n * passed through the run phase.\n * When an error occurs in them (either because it’s thrown, returned,\n * rejected, or passed to `next`), the process stops.\n *\n * The run phase is handled by [`trough`][trough], see its documentation for\n * the exact semantics of these functions.\n *\n * > **Note**: you should likely ignore `next`: don’t accept it.\n * > it supports callback-style async work.\n * > But promises are likely easier to reason about.\n *\n * [trough]: https://github.com/wooorm/trough#function-fninput-next\n * @param {Input} tree\n * Tree to handle.\n * @param {VFile} file\n * File to handle.\n * @param {TransformCallback} next\n * Callback.\n * @returns {(\n * Promise |\n * Promise | // For some reason this is needed separately.\n * Output |\n * Error |\n * undefined |\n * void\n * )}\n * If you accept `next`, nothing.\n * Otherwise:\n *\n * * `Error` — fatal error to stop the process\n * * `Promise` or `undefined` — the next transformer keeps using\n * same tree\n * * `Promise` or `Node` — new, changed, tree\n */\n\n/**\n * @template {Node | undefined} ParseTree\n * Output of `parse`.\n * @template {Node | undefined} HeadTree\n * Input for `run`.\n * @template {Node | undefined} TailTree\n * Output for `run`.\n * @template {Node | undefined} CompileTree\n * Input of `stringify`.\n * @template {CompileResults | undefined} CompileResult\n * Output of `stringify`.\n * @template {Node | string | undefined} Input\n * Input of plugin.\n * @template Output\n * Output of plugin (optional).\n * @typedef {(\n * Input extends string\n * ? Output extends Node | undefined\n * ? // Parser.\n * Processor<\n * Output extends undefined ? ParseTree : Output,\n * HeadTree,\n * TailTree,\n * CompileTree,\n * CompileResult\n * >\n * : // Unknown.\n * Processor\n * : Output extends CompileResults\n * ? Input extends Node | undefined\n * ? // Compiler.\n * Processor<\n * ParseTree,\n * HeadTree,\n * TailTree,\n * Input extends undefined ? CompileTree : Input,\n * Output extends undefined ? CompileResult : Output\n * >\n * : // Unknown.\n * Processor\n * : Input extends Node | undefined\n * ? Output extends Node | undefined\n * ? // Transform.\n * Processor<\n * ParseTree,\n * HeadTree extends undefined ? Input : HeadTree,\n * Output extends undefined ? TailTree : Output,\n * CompileTree,\n * CompileResult\n * >\n * : // Unknown.\n * Processor\n * : // Unknown.\n * Processor\n * )} UsePlugin\n * Create a processor based on the input/output of a {@link Plugin plugin}.\n */\n\n/**\n * @template {CompileResults | undefined} Result\n * Node type that the transformer yields.\n * @typedef {(\n * Result extends Value | undefined ?\n * VFile :\n * VFile & {result: Result}\n * )} VFileWithOutput\n * Type to generate a {@linkcode VFile} corresponding to a compiler result.\n *\n * If a result that is not acceptable on a `VFile` is used, that will\n * be stored on the `result` field of {@linkcode VFile}.\n */\n\nimport {bail} from 'bail'\nimport extend from 'extend'\nimport {ok as assert} from 'devlop'\nimport isPlainObj from 'is-plain-obj'\nimport {trough} from 'trough'\nimport {VFile} from 'vfile'\nimport {CallableInstance} from './callable-instance.js'\n\n// To do: next major: drop `Compiler`, `Parser`: prefer lowercase.\n\n// To do: we could start yielding `never` in TS when a parser is missing and\n// `parse` is called.\n// Currently, we allow directly setting `processor.parser`, which is untyped.\n\nconst own = {}.hasOwnProperty\n\n/**\n * @template {Node | undefined} [ParseTree=undefined]\n * Output of `parse` (optional).\n * @template {Node | undefined} [HeadTree=undefined]\n * Input for `run` (optional).\n * @template {Node | undefined} [TailTree=undefined]\n * Output for `run` (optional).\n * @template {Node | undefined} [CompileTree=undefined]\n * Input of `stringify` (optional).\n * @template {CompileResults | undefined} [CompileResult=undefined]\n * Output of `stringify` (optional).\n * @extends {CallableInstance<[], Processor>}\n */\nexport class Processor extends CallableInstance {\n /**\n * Create a processor.\n */\n constructor() {\n // If `Processor()` is called (w/o new), `copy` is called instead.\n super('copy')\n\n /**\n * Compiler to use (deprecated).\n *\n * @deprecated\n * Use `compiler` instead.\n * @type {(\n * Compiler<\n * CompileTree extends undefined ? Node : CompileTree,\n * CompileResult extends undefined ? CompileResults : CompileResult\n * > |\n * undefined\n * )}\n */\n this.Compiler = undefined\n\n /**\n * Parser to use (deprecated).\n *\n * @deprecated\n * Use `parser` instead.\n * @type {(\n * Parser |\n * undefined\n * )}\n */\n this.Parser = undefined\n\n // Note: the following fields are considered private.\n // However, they are needed for tests, and TSC generates an untyped\n // `private freezeIndex` field for, which trips `type-coverage` up.\n // Instead, we use `@deprecated` to visualize that they shouldn’t be used.\n /**\n * Internal list of configured plugins.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {Array>>}\n */\n this.attachers = []\n\n /**\n * Compiler to use.\n *\n * @type {(\n * Compiler<\n * CompileTree extends undefined ? Node : CompileTree,\n * CompileResult extends undefined ? CompileResults : CompileResult\n * > |\n * undefined\n * )}\n */\n this.compiler = undefined\n\n /**\n * Internal state to track where we are while freezing.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {number}\n */\n this.freezeIndex = -1\n\n /**\n * Internal state to track whether we’re frozen.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {boolean | undefined}\n */\n this.frozen = undefined\n\n /**\n * Internal state.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {Data}\n */\n this.namespace = {}\n\n /**\n * Parser to use.\n *\n * @type {(\n * Parser |\n * undefined\n * )}\n */\n this.parser = undefined\n\n /**\n * Internal list of configured transformers.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {Pipeline}\n */\n this.transformers = trough()\n }\n\n /**\n * Copy a processor.\n *\n * @deprecated\n * This is a private internal method and should not be used.\n * @returns {Processor}\n * New *unfrozen* processor ({@linkcode Processor}) that is\n * configured to work the same as its ancestor.\n * When the descendant processor is configured in the future it does not\n * affect the ancestral processor.\n */\n copy() {\n // Cast as the type parameters will be the same after attaching.\n const destination =\n /** @type {Processor} */ (\n new Processor()\n )\n let index = -1\n\n while (++index < this.attachers.length) {\n const attacher = this.attachers[index]\n destination.use(...attacher)\n }\n\n destination.data(extend(true, {}, this.namespace))\n\n return destination\n }\n\n /**\n * Configure the processor with info available to all plugins.\n * Information is stored in an object.\n *\n * Typically, options can be given to a specific plugin, but sometimes it\n * makes sense to have information shared with several plugins.\n * For example, a list of HTML elements that are self-closing, which is\n * needed during all phases.\n *\n * > **Note**: setting information cannot occur on *frozen* processors.\n * > Call the processor first to create a new unfrozen processor.\n *\n * > **Note**: to register custom data in TypeScript, augment the\n * > {@linkcode Data} interface.\n *\n * @example\n * This example show how to get and set info:\n *\n * ```js\n * import {unified} from 'unified'\n *\n * const processor = unified().data('alpha', 'bravo')\n *\n * processor.data('alpha') // => 'bravo'\n *\n * processor.data() // => {alpha: 'bravo'}\n *\n * processor.data({charlie: 'delta'})\n *\n * processor.data() // => {charlie: 'delta'}\n * ```\n *\n * @template {keyof Data} Key\n *\n * @overload\n * @returns {Data}\n *\n * @overload\n * @param {Data} dataset\n * @returns {Processor}\n *\n * @overload\n * @param {Key} key\n * @returns {Data[Key]}\n *\n * @overload\n * @param {Key} key\n * @param {Data[Key]} value\n * @returns {Processor}\n *\n * @param {Data | Key} [key]\n * Key to get or set, or entire dataset to set, or nothing to get the\n * entire dataset (optional).\n * @param {Data[Key]} [value]\n * Value to set (optional).\n * @returns {unknown}\n * The current processor when setting, the value at `key` when getting, or\n * the entire dataset when getting without key.\n */\n data(key, value) {\n if (typeof key === 'string') {\n // Set `key`.\n if (arguments.length === 2) {\n assertUnfrozen('data', this.frozen)\n this.namespace[key] = value\n return this\n }\n\n // Get `key`.\n return (own.call(this.namespace, key) && this.namespace[key]) || undefined\n }\n\n // Set space.\n if (key) {\n assertUnfrozen('data', this.frozen)\n this.namespace = key\n return this\n }\n\n // Get space.\n return this.namespace\n }\n\n /**\n * Freeze a processor.\n *\n * Frozen processors are meant to be extended and not to be configured\n * directly.\n *\n * When a processor is frozen it cannot be unfrozen.\n * New processors working the same way can be created by calling the\n * processor.\n *\n * It’s possible to freeze processors explicitly by calling `.freeze()`.\n * Processors freeze automatically when `.parse()`, `.run()`, `.runSync()`,\n * `.stringify()`, `.process()`, or `.processSync()` are called.\n *\n * @returns {Processor}\n * The current processor.\n */\n freeze() {\n if (this.frozen) {\n return this\n }\n\n // Cast so that we can type plugins easier.\n // Plugins are supposed to be usable on different processors, not just on\n // this exact processor.\n const self = /** @type {Processor} */ (/** @type {unknown} */ (this))\n\n while (++this.freezeIndex < this.attachers.length) {\n const [attacher, ...options] = this.attachers[this.freezeIndex]\n\n if (options[0] === false) {\n continue\n }\n\n if (options[0] === true) {\n options[0] = undefined\n }\n\n const transformer = attacher.call(self, ...options)\n\n if (typeof transformer === 'function') {\n this.transformers.use(transformer)\n }\n }\n\n this.frozen = true\n this.freezeIndex = Number.POSITIVE_INFINITY\n\n return this\n }\n\n /**\n * Parse text to a syntax tree.\n *\n * > **Note**: `parse` freezes the processor if not already *frozen*.\n *\n * > **Note**: `parse` performs the parse phase, not the run phase or other\n * > phases.\n *\n * @param {Compatible | undefined} [file]\n * file to parse (optional); typically `string` or `VFile`; any value\n * accepted as `x` in `new VFile(x)`.\n * @returns {ParseTree extends undefined ? Node : ParseTree}\n * Syntax tree representing `file`.\n */\n parse(file) {\n this.freeze()\n const realFile = vfile(file)\n const parser = this.parser || this.Parser\n assertParser('parse', parser)\n return parser(String(realFile), realFile)\n }\n\n /**\n * Process the given file as configured on the processor.\n *\n * > **Note**: `process` freezes the processor if not already *frozen*.\n *\n * > **Note**: `process` performs the parse, run, and stringify phases.\n *\n * @overload\n * @param {Compatible | undefined} file\n * @param {ProcessCallback>} done\n * @returns {undefined}\n *\n * @overload\n * @param {Compatible | undefined} [file]\n * @returns {Promise>}\n *\n * @param {Compatible | undefined} [file]\n * File (optional); typically `string` or `VFile`]; any value accepted as\n * `x` in `new VFile(x)`.\n * @param {ProcessCallback> | undefined} [done]\n * Callback (optional).\n * @returns {Promise | undefined}\n * Nothing if `done` is given.\n * Otherwise a promise, rejected with a fatal error or resolved with the\n * processed file.\n *\n * The parsed, transformed, and compiled value is available at\n * `file.value` (see note).\n *\n * > **Note**: unified typically compiles by serializing: most\n * > compilers return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@linkcode CompileResultMap}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n */\n process(file, done) {\n const self = this\n\n this.freeze()\n assertParser('process', this.parser || this.Parser)\n assertCompiler('process', this.compiler || this.Compiler)\n\n return done ? executor(undefined, done) : new Promise(executor)\n\n // Note: `void`s needed for TS.\n /**\n * @param {((file: VFileWithOutput) => undefined | void) | undefined} resolve\n * @param {(error: Error | undefined) => undefined | void} reject\n * @returns {undefined}\n */\n function executor(resolve, reject) {\n const realFile = vfile(file)\n // Assume `ParseTree` (the result of the parser) matches `HeadTree` (the\n // input of the first transform).\n const parseTree =\n /** @type {HeadTree extends undefined ? Node : HeadTree} */ (\n /** @type {unknown} */ (self.parse(realFile))\n )\n\n self.run(parseTree, realFile, function (error, tree, file) {\n if (error || !tree || !file) {\n return realDone(error)\n }\n\n // Assume `TailTree` (the output of the last transform) matches\n // `CompileTree` (the input of the compiler).\n const compileTree =\n /** @type {CompileTree extends undefined ? Node : CompileTree} */ (\n /** @type {unknown} */ (tree)\n )\n\n const compileResult = self.stringify(compileTree, file)\n\n if (looksLikeAValue(compileResult)) {\n file.value = compileResult\n } else {\n file.result = compileResult\n }\n\n realDone(error, /** @type {VFileWithOutput} */ (file))\n })\n\n /**\n * @param {Error | undefined} error\n * @param {VFileWithOutput | undefined} [file]\n * @returns {undefined}\n */\n function realDone(error, file) {\n if (error || !file) {\n reject(error)\n } else if (resolve) {\n resolve(file)\n } else {\n assert(done, '`done` is defined if `resolve` is not')\n done(undefined, file)\n }\n }\n }\n }\n\n /**\n * Process the given file as configured on the processor.\n *\n * An error is thrown if asynchronous transforms are configured.\n *\n * > **Note**: `processSync` freezes the processor if not already *frozen*.\n *\n * > **Note**: `processSync` performs the parse, run, and stringify phases.\n *\n * @param {Compatible | undefined} [file]\n * File (optional); typically `string` or `VFile`; any value accepted as\n * `x` in `new VFile(x)`.\n * @returns {VFileWithOutput}\n * The processed file.\n *\n * The parsed, transformed, and compiled value is available at\n * `file.value` (see note).\n *\n * > **Note**: unified typically compiles by serializing: most\n * > compilers return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@linkcode CompileResultMap}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n */\n processSync(file) {\n /** @type {boolean} */\n let complete = false\n /** @type {VFileWithOutput | undefined} */\n let result\n\n this.freeze()\n assertParser('processSync', this.parser || this.Parser)\n assertCompiler('processSync', this.compiler || this.Compiler)\n\n this.process(file, realDone)\n assertDone('processSync', 'process', complete)\n assert(result, 'we either bailed on an error or have a tree')\n\n return result\n\n /**\n * @type {ProcessCallback>}\n */\n function realDone(error, file) {\n complete = true\n bail(error)\n result = file\n }\n }\n\n /**\n * Run *transformers* on a syntax tree.\n *\n * > **Note**: `run` freezes the processor if not already *frozen*.\n *\n * > **Note**: `run` performs the run phase, not other phases.\n *\n * @overload\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * @param {RunCallback} done\n * @returns {undefined}\n *\n * @overload\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * @param {Compatible | undefined} file\n * @param {RunCallback} done\n * @returns {undefined}\n *\n * @overload\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * @param {Compatible | undefined} [file]\n * @returns {Promise}\n *\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * Tree to transform and inspect.\n * @param {(\n * RunCallback |\n * Compatible\n * )} [file]\n * File associated with `node` (optional); any value accepted as `x` in\n * `new VFile(x)`.\n * @param {RunCallback} [done]\n * Callback (optional).\n * @returns {Promise | undefined}\n * Nothing if `done` is given.\n * Otherwise, a promise rejected with a fatal error or resolved with the\n * transformed tree.\n */\n run(tree, file, done) {\n assertNode(tree)\n this.freeze()\n\n const transformers = this.transformers\n\n if (!done && typeof file === 'function') {\n done = file\n file = undefined\n }\n\n return done ? executor(undefined, done) : new Promise(executor)\n\n // Note: `void`s needed for TS.\n /**\n * @param {(\n * ((tree: TailTree extends undefined ? Node : TailTree) => undefined | void) |\n * undefined\n * )} resolve\n * @param {(error: Error) => undefined | void} reject\n * @returns {undefined}\n */\n function executor(resolve, reject) {\n assert(\n typeof file !== 'function',\n '`file` can’t be a `done` anymore, we checked'\n )\n const realFile = vfile(file)\n transformers.run(tree, realFile, realDone)\n\n /**\n * @param {Error | undefined} error\n * @param {Node} outputTree\n * @param {VFile} file\n * @returns {undefined}\n */\n function realDone(error, outputTree, file) {\n const resultingTree =\n /** @type {TailTree extends undefined ? Node : TailTree} */ (\n outputTree || tree\n )\n\n if (error) {\n reject(error)\n } else if (resolve) {\n resolve(resultingTree)\n } else {\n assert(done, '`done` is defined if `resolve` is not')\n done(undefined, resultingTree, file)\n }\n }\n }\n }\n\n /**\n * Run *transformers* on a syntax tree.\n *\n * An error is thrown if asynchronous transforms are configured.\n *\n * > **Note**: `runSync` freezes the processor if not already *frozen*.\n *\n * > **Note**: `runSync` performs the run phase, not other phases.\n *\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * Tree to transform and inspect.\n * @param {Compatible | undefined} [file]\n * File associated with `node` (optional); any value accepted as `x` in\n * `new VFile(x)`.\n * @returns {TailTree extends undefined ? Node : TailTree}\n * Transformed tree.\n */\n runSync(tree, file) {\n /** @type {boolean} */\n let complete = false\n /** @type {(TailTree extends undefined ? Node : TailTree) | undefined} */\n let result\n\n this.run(tree, file, realDone)\n\n assertDone('runSync', 'run', complete)\n assert(result, 'we either bailed on an error or have a tree')\n return result\n\n /**\n * @type {RunCallback}\n */\n function realDone(error, tree) {\n bail(error)\n result = tree\n complete = true\n }\n }\n\n /**\n * Compile a syntax tree.\n *\n * > **Note**: `stringify` freezes the processor if not already *frozen*.\n *\n * > **Note**: `stringify` performs the stringify phase, not the run phase\n * > or other phases.\n *\n * @param {CompileTree extends undefined ? Node : CompileTree} tree\n * Tree to compile.\n * @param {Compatible | undefined} [file]\n * File associated with `node` (optional); any value accepted as `x` in\n * `new VFile(x)`.\n * @returns {CompileResult extends undefined ? Value : CompileResult}\n * Textual representation of the tree (see note).\n *\n * > **Note**: unified typically compiles by serializing: most compilers\n * > return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@linkcode CompileResultMap}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n */\n stringify(tree, file) {\n this.freeze()\n const realFile = vfile(file)\n const compiler = this.compiler || this.Compiler\n assertCompiler('stringify', compiler)\n assertNode(tree)\n\n return compiler(tree, realFile)\n }\n\n /**\n * Configure the processor to use a plugin, a list of usable values, or a\n * preset.\n *\n * If the processor is already using a plugin, the previous plugin\n * configuration is changed based on the options that are passed in.\n * In other words, the plugin is not added a second time.\n *\n * > **Note**: `use` cannot be called on *frozen* processors.\n * > Call the processor first to create a new unfrozen processor.\n *\n * @example\n * There are many ways to pass plugins to `.use()`.\n * This example gives an overview:\n *\n * ```js\n * import {unified} from 'unified'\n *\n * unified()\n * // Plugin with options:\n * .use(pluginA, {x: true, y: true})\n * // Passing the same plugin again merges configuration (to `{x: true, y: false, z: true}`):\n * .use(pluginA, {y: false, z: true})\n * // Plugins:\n * .use([pluginB, pluginC])\n * // Two plugins, the second with options:\n * .use([pluginD, [pluginE, {}]])\n * // Preset with plugins and settings:\n * .use({plugins: [pluginF, [pluginG, {}]], settings: {position: false}})\n * // Settings only:\n * .use({settings: {position: false}})\n * ```\n *\n * @template {Array} [Parameters=[]]\n * @template {Node | string | undefined} [Input=undefined]\n * @template [Output=Input]\n *\n * @overload\n * @param {Preset | null | undefined} [preset]\n * @returns {Processor}\n *\n * @overload\n * @param {PluggableList} list\n * @returns {Processor}\n *\n * @overload\n * @param {Plugin} plugin\n * @param {...(Parameters | [boolean])} parameters\n * @returns {UsePlugin}\n *\n * @param {PluggableList | Plugin | Preset | null | undefined} value\n * Usable value.\n * @param {...unknown} parameters\n * Parameters, when a plugin is given as a usable value.\n * @returns {Processor}\n * Current processor.\n */\n use(value, ...parameters) {\n const attachers = this.attachers\n const namespace = this.namespace\n\n assertUnfrozen('use', this.frozen)\n\n if (value === null || value === undefined) {\n // Empty.\n } else if (typeof value === 'function') {\n addPlugin(value, parameters)\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n addList(value)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n\n return this\n\n /**\n * @param {Pluggable} value\n * @returns {undefined}\n */\n function add(value) {\n if (typeof value === 'function') {\n addPlugin(value, [])\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n const [plugin, ...parameters] =\n /** @type {PluginTuple>} */ (value)\n addPlugin(plugin, parameters)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n }\n\n /**\n * @param {Preset} result\n * @returns {undefined}\n */\n function addPreset(result) {\n if (!('plugins' in result) && !('settings' in result)) {\n throw new Error(\n 'Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither'\n )\n }\n\n addList(result.plugins)\n\n if (result.settings) {\n namespace.settings = extend(true, namespace.settings, result.settings)\n }\n }\n\n /**\n * @param {PluggableList | null | undefined} plugins\n * @returns {undefined}\n */\n function addList(plugins) {\n let index = -1\n\n if (plugins === null || plugins === undefined) {\n // Empty.\n } else if (Array.isArray(plugins)) {\n while (++index < plugins.length) {\n const thing = plugins[index]\n add(thing)\n }\n } else {\n throw new TypeError('Expected a list of plugins, not `' + plugins + '`')\n }\n }\n\n /**\n * @param {Plugin} plugin\n * @param {Array} parameters\n * @returns {undefined}\n */\n function addPlugin(plugin, parameters) {\n let index = -1\n let entryIndex = -1\n\n while (++index < attachers.length) {\n if (attachers[index][0] === plugin) {\n entryIndex = index\n break\n }\n }\n\n if (entryIndex === -1) {\n attachers.push([plugin, ...parameters])\n }\n // Only set if there was at least a `primary` value, otherwise we’d change\n // `arguments.length`.\n else if (parameters.length > 0) {\n let [primary, ...rest] = parameters\n const currentPrimary = attachers[entryIndex][1]\n if (isPlainObj(currentPrimary) && isPlainObj(primary)) {\n primary = extend(true, currentPrimary, primary)\n }\n\n attachers[entryIndex] = [plugin, primary, ...rest]\n }\n }\n }\n}\n\n// Note: this returns a *callable* instance.\n// That’s why it’s documented as a function.\n/**\n * Create a new processor.\n *\n * @example\n * This example shows how a new processor can be created (from `remark`) and linked\n * to **stdin**(4) and **stdout**(4).\n *\n * ```js\n * import process from 'node:process'\n * import concatStream from 'concat-stream'\n * import {remark} from 'remark'\n *\n * process.stdin.pipe(\n * concatStream(function (buf) {\n * process.stdout.write(String(remark().processSync(buf)))\n * })\n * )\n * ```\n *\n * @returns\n * New *unfrozen* processor (`processor`).\n *\n * This processor is configured to work the same as its ancestor.\n * When the descendant processor is configured in the future it does not\n * affect the ancestral processor.\n */\nexport const unified = new Processor().freeze()\n\n/**\n * Assert a parser is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Parser}\n */\nfunction assertParser(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `parser`')\n }\n}\n\n/**\n * Assert a compiler is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Compiler}\n */\nfunction assertCompiler(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `compiler`')\n }\n}\n\n/**\n * Assert the processor is not frozen.\n *\n * @param {string} name\n * @param {unknown} frozen\n * @returns {asserts frozen is false}\n */\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(\n 'Cannot call `' +\n name +\n '` on a frozen processor.\\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.'\n )\n }\n}\n\n/**\n * Assert `node` is a unist node.\n *\n * @param {unknown} node\n * @returns {asserts node is Node}\n */\nfunction assertNode(node) {\n // `isPlainObj` unfortunately uses `any` instead of `unknown`.\n // type-coverage:ignore-next-line\n if (!isPlainObj(node) || typeof node.type !== 'string') {\n throw new TypeError('Expected node, got `' + node + '`')\n // Fine.\n }\n}\n\n/**\n * Assert that `complete` is `true`.\n *\n * @param {string} name\n * @param {string} asyncName\n * @param {unknown} complete\n * @returns {asserts complete is true}\n */\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error(\n '`' + name + '` finished async. Use `' + asyncName + '` instead'\n )\n }\n}\n\n/**\n * @param {Compatible | undefined} [value]\n * @returns {VFile}\n */\nfunction vfile(value) {\n return looksLikeAVFile(value) ? value : new VFile(value)\n}\n\n/**\n * @param {Compatible | undefined} [value]\n * @returns {value is VFile}\n */\nfunction looksLikeAVFile(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'message' in value &&\n 'messages' in value\n )\n}\n\n/**\n * @param {unknown} [value]\n * @returns {value is Value}\n */\nfunction looksLikeAValue(value) {\n return typeof value === 'string' || isUint8Array(value)\n}\n\n/**\n * Assert `value` is an `Uint8Array`.\n *\n * @param {unknown} value\n * thing.\n * @returns {value is Uint8Array}\n * Whether `value` is an `Uint8Array`.\n */\nfunction isUint8Array(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'byteLength' in value &&\n 'byteOffset' in value\n )\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n */\n\n/**\n * @template Fn\n * @template Fallback\n * @typedef {Fn extends (value: any) => value is infer Thing ? Thing : Fallback} Predicate\n */\n\n/**\n * @callback Check\n * Check that an arbitrary value is a node.\n * @param {unknown} this\n * The given context.\n * @param {unknown} [node]\n * Anything (typically a node).\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {boolean}\n * Whether this is a node and passes a test.\n *\n * @typedef {Record | Node} Props\n * Object to check for equivalence.\n *\n * Note: `Node` is included as it is common but is not indexable.\n *\n * @typedef {Array | Props | TestFunction | string | null | undefined} Test\n * Check for an arbitrary node.\n *\n * @callback TestFunction\n * Check if a node passes a test.\n * @param {unknown} this\n * The given context.\n * @param {Node} node\n * A node.\n * @param {number | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | undefined} [parent]\n * The node’s parent.\n * @returns {boolean | undefined | void}\n * Whether this node passes the test.\n *\n * Note: `void` is included until TS sees no return as `undefined`.\n */\n\n/**\n * Check if `node` is a `Node` and whether it passes the given test.\n *\n * @param {unknown} node\n * Thing to check, typically `Node`.\n * @param {Test} test\n * A check for a specific node.\n * @param {number | null | undefined} index\n * The node’s position in its parent.\n * @param {Parent | null | undefined} parent\n * The node’s parent.\n * @param {unknown} context\n * Context object (`this`) to pass to `test` functions.\n * @returns {boolean}\n * Whether `node` is a node and passes a test.\n */\nexport const is =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * ((node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &\n * ((node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &\n * ((node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate) &\n * ((node?: null | undefined) => false) &\n * ((node: unknown, test?: null | undefined, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &\n * ((node: unknown, test?: Test, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => boolean)\n * )}\n */\n (\n /**\n * @param {unknown} [node]\n * @param {Test} [test]\n * @param {number | null | undefined} [index]\n * @param {Parent | null | undefined} [parent]\n * @param {unknown} [context]\n * @returns {boolean}\n */\n // eslint-disable-next-line max-params\n function (node, test, index, parent, context) {\n const check = convert(test)\n\n if (\n index !== undefined &&\n index !== null &&\n (typeof index !== 'number' ||\n index < 0 ||\n index === Number.POSITIVE_INFINITY)\n ) {\n throw new Error('Expected positive finite index')\n }\n\n if (\n parent !== undefined &&\n parent !== null &&\n (!is(parent) || !parent.children)\n ) {\n throw new Error('Expected parent node')\n }\n\n if (\n (parent === undefined || parent === null) !==\n (index === undefined || index === null)\n ) {\n throw new Error('Expected both parent and index')\n }\n\n return looksLikeANode(node)\n ? check.call(context, node, index, parent)\n : false\n }\n )\n\n/**\n * Generate an assertion from a test.\n *\n * Useful if you’re going to test many nodes, for example when creating a\n * utility where something else passes a compatible test.\n *\n * The created function is a bit faster because it expects valid input only:\n * a `node`, `index`, and `parent`.\n *\n * @param {Test} test\n * * when nullish, checks if `node` is a `Node`.\n * * when `string`, works like passing `(node) => node.type === test`.\n * * when `function` checks if function passed the node is true.\n * * when `object`, checks that all keys in test are in node, and that they have (strictly) equal values.\n * * when `array`, checks if any one of the subtests pass.\n * @returns {Check}\n * An assertion.\n */\nexport const convert =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate) &\n * ((test?: null | undefined) => (node?: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &\n * ((test?: Test) => Check)\n * )}\n */\n (\n /**\n * @param {Test} [test]\n * @returns {Check}\n */\n function (test) {\n if (test === null || test === undefined) {\n return ok\n }\n\n if (typeof test === 'function') {\n return castFactory(test)\n }\n\n if (typeof test === 'object') {\n return Array.isArray(test) ? anyFactory(test) : propsFactory(test)\n }\n\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n throw new Error('Expected function, string, or object as test')\n }\n )\n\n/**\n * @param {Array} tests\n * @returns {Check}\n */\nfunction anyFactory(tests) {\n /** @type {Array} */\n const checks = []\n let index = -1\n\n while (++index < tests.length) {\n checks[index] = convert(tests[index])\n }\n\n return castFactory(any)\n\n /**\n * @this {unknown}\n * @type {TestFunction}\n */\n function any(...parameters) {\n let index = -1\n\n while (++index < checks.length) {\n if (checks[index].apply(this, parameters)) return true\n }\n\n return false\n }\n}\n\n/**\n * Turn an object into a test for a node with a certain fields.\n *\n * @param {Props} check\n * @returns {Check}\n */\nfunction propsFactory(check) {\n const checkAsRecord = /** @type {Record} */ (check)\n\n return castFactory(all)\n\n /**\n * @param {Node} node\n * @returns {boolean}\n */\n function all(node) {\n const nodeAsRecord = /** @type {Record} */ (\n /** @type {unknown} */ (node)\n )\n\n /** @type {string} */\n let key\n\n for (key in check) {\n if (nodeAsRecord[key] !== checkAsRecord[key]) return false\n }\n\n return true\n }\n}\n\n/**\n * Turn a string into a test for a node with a certain type.\n *\n * @param {string} check\n * @returns {Check}\n */\nfunction typeFactory(check) {\n return castFactory(type)\n\n /**\n * @param {Node} node\n */\n function type(node) {\n return node && node.type === check\n }\n}\n\n/**\n * Turn a custom test into a test for a node that passes that test.\n *\n * @param {TestFunction} testFunction\n * @returns {Check}\n */\nfunction castFactory(testFunction) {\n return check\n\n /**\n * @this {unknown}\n * @type {Check}\n */\n function check(value, index, parent) {\n return Boolean(\n looksLikeANode(value) &&\n testFunction.call(\n this,\n value,\n typeof index === 'number' ? index : undefined,\n parent || undefined\n )\n )\n }\n}\n\nfunction ok() {\n return true\n}\n\n/**\n * @param {unknown} value\n * @returns {value is Node}\n */\nfunction looksLikeANode(value) {\n return value !== null && typeof value === 'object' && 'type' in value\n}\n","/**\n * @typedef {import('unist').Node} UnistNode\n * @typedef {import('unist').Parent} UnistParent\n */\n\n/**\n * @typedef {Exclude | undefined} Test\n * Test from `unist-util-is`.\n *\n * Note: we have remove and add `undefined`, because otherwise when generating\n * automatic `.d.ts` files, TS tries to flatten paths from a local perspective,\n * which doesn’t work when publishing on npm.\n */\n\n/**\n * @typedef {(\n * Fn extends (value: any) => value is infer Thing\n * ? Thing\n * : Fallback\n * )} Predicate\n * Get the value of a type guard `Fn`.\n * @template Fn\n * Value; typically function that is a type guard (such as `(x): x is Y`).\n * @template Fallback\n * Value to yield if `Fn` is not a type guard.\n */\n\n/**\n * @typedef {(\n * Check extends null | undefined // No test.\n * ? Value\n * : Value extends {type: Check} // String (type) test.\n * ? Value\n * : Value extends Check // Partial test.\n * ? Value\n * : Check extends Function // Function test.\n * ? Predicate extends Value\n * ? Predicate\n * : never\n * : never // Some other test?\n * )} MatchesOne\n * Check whether a node matches a primitive check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test, but not arrays.\n */\n\n/**\n * @typedef {(\n * Check extends Array\n * ? MatchesOne\n * : MatchesOne\n * )} Matches\n * Check whether a node matches a check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test.\n */\n\n/**\n * @typedef {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10} Uint\n * Number; capped reasonably.\n */\n\n/**\n * @typedef {I extends 0 ? 1 : I extends 1 ? 2 : I extends 2 ? 3 : I extends 3 ? 4 : I extends 4 ? 5 : I extends 5 ? 6 : I extends 6 ? 7 : I extends 7 ? 8 : I extends 8 ? 9 : 10} Increment\n * Increment a number in the type system.\n * @template {Uint} [I=0]\n * Index.\n */\n\n/**\n * @typedef {(\n * Node extends UnistParent\n * ? Node extends {children: Array}\n * ? Child extends Children ? Node : never\n * : never\n * : never\n * )} InternalParent\n * Collect nodes that can be parents of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {InternalParent, Child>} Parent\n * Collect nodes in `Tree` that can be parents of `Child`.\n * @template {UnistNode} Tree\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {(\n * Depth extends Max\n * ? never\n * :\n * | InternalParent\n * | InternalAncestor, Max, Increment>\n * )} InternalAncestor\n * Collect nodes in `Tree` that can be ancestors of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @typedef {InternalAncestor, Child>} Ancestor\n * Collect nodes in `Tree` that can be ancestors of `Child`.\n * @template {UnistNode} Tree\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {(\n * Tree extends UnistParent\n * ? Depth extends Max\n * ? Tree\n * : Tree | InclusiveDescendant>\n * : Tree\n * )} InclusiveDescendant\n * Collect all (inclusive) descendants of `Tree`.\n *\n * > 👉 **Note**: for performance reasons, this seems to be the fastest way to\n * > recurse without actually running into an infinite loop, which the\n * > previous version did.\n * >\n * > Practically, a max of `2` is typically enough assuming a `Root` is\n * > passed, but it doesn’t improve performance.\n * > It gets higher with `List > ListItem > Table > TableRow > TableCell`.\n * > Using up to `10` doesn’t hurt or help either.\n * @template {UnistNode} Tree\n * Tree type.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @typedef {'skip' | boolean} Action\n * Union of the action types.\n *\n * @typedef {number} Index\n * Move to the sibling at `index` next (after node itself is completely\n * traversed).\n *\n * Useful if mutating the tree, such as removing the node the visitor is\n * currently on, or any of its previous siblings.\n * Results less than 0 or greater than or equal to `children.length` stop\n * traversing the parent.\n *\n * @typedef {[(Action | null | undefined | void)?, (Index | null | undefined)?]} ActionTuple\n * List with one or two values, the first an action, the second an index.\n *\n * @typedef {Action | ActionTuple | Index | null | undefined | void} VisitorResult\n * Any value that can be returned from a visitor.\n */\n\n/**\n * @callback Visitor\n * Handle a node (matching `test`, if given).\n *\n * Visitors are free to transform `node`.\n * They can also transform the parent of node (the last of `ancestors`).\n *\n * Replacing `node` itself, if `SKIP` is not returned, still causes its\n * descendants to be walked (which is a bug).\n *\n * When adding or removing previous siblings of `node` (or next siblings, in\n * case of reverse), the `Visitor` should return a new `Index` to specify the\n * sibling to traverse after `node` is traversed.\n * Adding or removing next siblings of `node` (or previous siblings, in case\n * of reverse) is handled as expected without needing to return a new `Index`.\n *\n * Removing the children property of an ancestor still results in them being\n * traversed.\n * @param {Visited} node\n * Found node.\n * @param {Array} ancestors\n * Ancestors of `node`.\n * @returns {VisitorResult}\n * What to do next.\n *\n * An `Index` is treated as a tuple of `[CONTINUE, Index]`.\n * An `Action` is treated as a tuple of `[Action]`.\n *\n * Passing a tuple back only makes sense if the `Action` is `SKIP`.\n * When the `Action` is `EXIT`, that action can be returned.\n * When the `Action` is `CONTINUE`, `Index` can be returned.\n * @template {UnistNode} [Visited=UnistNode]\n * Visited node type.\n * @template {UnistParent} [VisitedParents=UnistParent]\n * Ancestor type.\n */\n\n/**\n * @typedef {Visitor, Check>, Ancestor, Check>>>} BuildVisitor\n * Build a typed `Visitor` function from a tree and a test.\n *\n * It will infer which values are passed as `node` and which as `parents`.\n * @template {UnistNode} [Tree=UnistNode]\n * Tree type.\n * @template {Test} [Check=Test]\n * Test type.\n */\n\nimport {convert} from 'unist-util-is'\nimport {color} from 'unist-util-visit-parents/do-not-use-color'\n\n/** @type {Readonly} */\nconst empty = []\n\n/**\n * Continue traversing as normal.\n */\nexport const CONTINUE = true\n\n/**\n * Stop traversing immediately.\n */\nexport const EXIT = false\n\n/**\n * Do not traverse this node’s children.\n */\nexport const SKIP = 'skip'\n\n/**\n * Visit nodes, with ancestral information.\n *\n * This algorithm performs *depth-first* *tree traversal* in *preorder*\n * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).\n *\n * You can choose for which nodes `visitor` is called by passing a `test`.\n * For complex tests, you should test yourself in `visitor`, as it will be\n * faster and will have improved type information.\n *\n * Walking the tree is an intensive task.\n * Make use of the return values of the visitor when possible.\n * Instead of walking a tree multiple times, walk it once, use `unist-util-is`\n * to check if a node matches, and then perform different operations.\n *\n * You can change the tree.\n * See `Visitor` for more info.\n *\n * @overload\n * @param {Tree} tree\n * @param {Check} check\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @overload\n * @param {Tree} tree\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @param {UnistNode} tree\n * Tree to traverse.\n * @param {Visitor | Test} test\n * `unist-util-is`-compatible test\n * @param {Visitor | boolean | null | undefined} [visitor]\n * Handle each node.\n * @param {boolean | null | undefined} [reverse]\n * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).\n * @returns {undefined}\n * Nothing.\n *\n * @template {UnistNode} Tree\n * Node type.\n * @template {Test} Check\n * `unist-util-is`-compatible test.\n */\nexport function visitParents(tree, test, visitor, reverse) {\n /** @type {Test} */\n let check\n\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n // @ts-expect-error no visitor given, so `visitor` is test.\n visitor = test\n } else {\n // @ts-expect-error visitor given, so `test` isn’t a visitor.\n check = test\n }\n\n const is = convert(check)\n const step = reverse ? -1 : 1\n\n factory(tree, undefined, [])()\n\n /**\n * @param {UnistNode} node\n * @param {number | undefined} index\n * @param {Array} parents\n */\n function factory(node, index, parents) {\n const value = /** @type {Record} */ (\n node && typeof node === 'object' ? node : {}\n )\n\n if (typeof value.type === 'string') {\n const name =\n // `hast`\n typeof value.tagName === 'string'\n ? value.tagName\n : // `xast`\n typeof value.name === 'string'\n ? value.name\n : undefined\n\n Object.defineProperty(visit, 'name', {\n value:\n 'node (' + color(node.type + (name ? '<' + name + '>' : '')) + ')'\n })\n }\n\n return visit\n\n function visit() {\n /** @type {Readonly} */\n let result = empty\n /** @type {Readonly} */\n let subresult\n /** @type {number} */\n let offset\n /** @type {Array} */\n let grandparents\n\n if (!test || is(node, index, parents[parents.length - 1] || undefined)) {\n // @ts-expect-error: `visitor` is now a visitor.\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n if ('children' in node && node.children) {\n const nodeAsParent = /** @type {UnistParent} */ (node)\n\n if (nodeAsParent.children && result[0] !== SKIP) {\n offset = (reverse ? nodeAsParent.children.length : -1) + step\n grandparents = parents.concat(nodeAsParent)\n\n while (offset > -1 && offset < nodeAsParent.children.length) {\n const child = nodeAsParent.children[offset]\n\n subresult = factory(child, offset, grandparents)()\n\n if (subresult[0] === EXIT) {\n return subresult\n }\n\n offset =\n typeof subresult[1] === 'number' ? subresult[1] : offset + step\n }\n }\n }\n\n return result\n }\n }\n}\n\n/**\n * Turn a return value into a clean result.\n *\n * @param {VisitorResult} value\n * Valid return values from visitors.\n * @returns {Readonly}\n * Clean result.\n */\nfunction toResult(value) {\n if (Array.isArray(value)) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return value === null || value === undefined ? empty : [value]\n}\n","/**\n * @import {Element, ElementContent, Nodes, Parents, Root} from 'hast'\n * @import {ComponentProps, ElementType, ReactElement} from 'react'\n * @import {Options as RemarkRehypeOptions} from 'remark-rehype'\n * @import {BuildVisitor} from 'unist-util-visit'\n * @import {PluggableList} from 'unified'\n */\n\n/**\n * @callback AllowElement\n * Filter elements.\n * @param {Readonly} element\n * Element to check.\n * @param {number} index\n * Index of `element` in `parent`.\n * @param {Readonly | undefined} parent\n * Parent of `element`.\n * @returns {boolean | null | undefined}\n * Whether to allow `element` (default: `false`).\n */\n\n/**\n * @typedef ExtraProps\n * Extra fields we pass.\n * @property {Element | undefined} [node]\n * passed when `passNode` is on.\n */\n\n/**\n * @typedef {{\n * [Key in Extract]?: ElementType & ExtraProps>\n * }} Components\n * Map tag names to components.\n */\n\n/**\n * @typedef Deprecation\n * Deprecation.\n * @property {string} from\n * Old field.\n * @property {string} id\n * ID in readme.\n * @property {keyof Options} [to]\n * New field.\n */\n\n/**\n * @typedef Options\n * Configuration.\n * @property {AllowElement | null | undefined} [allowElement]\n * Filter elements (optional);\n * `allowedElements` / `disallowedElements` is used first.\n * @property {ReadonlyArray | null | undefined} [allowedElements]\n * Tag names to allow (default: all tag names);\n * cannot combine w/ `disallowedElements`.\n * @property {string | null | undefined} [children]\n * Markdown.\n * @property {string | null | undefined} [className]\n * Wrap in a `div` with this class name.\n * @property {Components | null | undefined} [components]\n * Map tag names to components.\n * @property {ReadonlyArray | null | undefined} [disallowedElements]\n * Tag names to disallow (default: `[]`);\n * cannot combine w/ `allowedElements`.\n * @property {PluggableList | null | undefined} [rehypePlugins]\n * List of rehype plugins to use.\n * @property {PluggableList | null | undefined} [remarkPlugins]\n * List of remark plugins to use.\n * @property {Readonly | null | undefined} [remarkRehypeOptions]\n * Options to pass through to `remark-rehype`.\n * @property {boolean | null | undefined} [skipHtml=false]\n * Ignore HTML in markdown completely (default: `false`).\n * @property {boolean | null | undefined} [unwrapDisallowed=false]\n * Extract (unwrap) what’s in disallowed elements (default: `false`);\n * normally when say `strong` is not allowed, it and it’s children are dropped,\n * with `unwrapDisallowed` the element itself is replaced by its children.\n * @property {UrlTransform | null | undefined} [urlTransform]\n * Change URLs (default: `defaultUrlTransform`)\n */\n\n/**\n * @callback UrlTransform\n * Transform all URLs.\n * @param {string} url\n * URL.\n * @param {string} key\n * Property name (example: `'href'`).\n * @param {Readonly} node\n * Node.\n * @returns {string | null | undefined}\n * Transformed URL (optional).\n */\n\nimport {unreachable} from 'devlop'\nimport {toJsxRuntime} from 'hast-util-to-jsx-runtime'\nimport {urlAttributes} from 'html-url-attributes'\nimport {Fragment, jsx, jsxs} from 'react/jsx-runtime'\nimport remarkParse from 'remark-parse'\nimport remarkRehype from 'remark-rehype'\nimport {unified} from 'unified'\nimport {visit} from 'unist-util-visit'\nimport {VFile} from 'vfile'\n\nconst changelog =\n 'https://github.com/remarkjs/react-markdown/blob/main/changelog.md'\n\n/** @type {PluggableList} */\nconst emptyPlugins = []\n/** @type {Readonly} */\nconst emptyRemarkRehypeOptions = {allowDangerousHtml: true}\nconst safeProtocol = /^(https?|ircs?|mailto|xmpp)$/i\n\n// Mutable because we `delete` any time it’s used and a message is sent.\n/** @type {ReadonlyArray>} */\nconst deprecations = [\n {from: 'astPlugins', id: 'remove-buggy-html-in-markdown-parser'},\n {from: 'allowDangerousHtml', id: 'remove-buggy-html-in-markdown-parser'},\n {\n from: 'allowNode',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes',\n to: 'allowElement'\n },\n {\n from: 'allowedTypes',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes',\n to: 'allowedElements'\n },\n {\n from: 'disallowedTypes',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes',\n to: 'disallowedElements'\n },\n {from: 'escapeHtml', id: 'remove-buggy-html-in-markdown-parser'},\n {from: 'includeElementIndex', id: '#remove-includeelementindex'},\n {\n from: 'includeNodeIndex',\n id: 'change-includenodeindex-to-includeelementindex'\n },\n {from: 'linkTarget', id: 'remove-linktarget'},\n {from: 'plugins', id: 'change-plugins-to-remarkplugins', to: 'remarkPlugins'},\n {from: 'rawSourcePos', id: '#remove-rawsourcepos'},\n {from: 'renderers', id: 'change-renderers-to-components', to: 'components'},\n {from: 'source', id: 'change-source-to-children', to: 'children'},\n {from: 'sourcePos', id: '#remove-sourcepos'},\n {from: 'transformImageUri', id: '#add-urltransform', to: 'urlTransform'},\n {from: 'transformLinkUri', id: '#add-urltransform', to: 'urlTransform'}\n]\n\n/**\n * Component to render markdown.\n *\n * @param {Readonly} options\n * Props.\n * @returns {ReactElement}\n * React element.\n */\nexport function Markdown(options) {\n const allowedElements = options.allowedElements\n const allowElement = options.allowElement\n const children = options.children || ''\n const className = options.className\n const components = options.components\n const disallowedElements = options.disallowedElements\n const rehypePlugins = options.rehypePlugins || emptyPlugins\n const remarkPlugins = options.remarkPlugins || emptyPlugins\n const remarkRehypeOptions = options.remarkRehypeOptions\n ? {...options.remarkRehypeOptions, ...emptyRemarkRehypeOptions}\n : emptyRemarkRehypeOptions\n const skipHtml = options.skipHtml\n const unwrapDisallowed = options.unwrapDisallowed\n const urlTransform = options.urlTransform || defaultUrlTransform\n\n const processor = unified()\n .use(remarkParse)\n .use(remarkPlugins)\n .use(remarkRehype, remarkRehypeOptions)\n .use(rehypePlugins)\n\n const file = new VFile()\n\n if (typeof children === 'string') {\n file.value = children\n } else {\n unreachable(\n 'Unexpected value `' +\n children +\n '` for `children` prop, expected `string`'\n )\n }\n\n if (allowedElements && disallowedElements) {\n unreachable(\n 'Unexpected combined `allowedElements` and `disallowedElements`, expected one or the other'\n )\n }\n\n for (const deprecation of deprecations) {\n if (Object.hasOwn(options, deprecation.from)) {\n unreachable(\n 'Unexpected `' +\n deprecation.from +\n '` prop, ' +\n (deprecation.to\n ? 'use `' + deprecation.to + '` instead'\n : 'remove it') +\n ' (see <' +\n changelog +\n '#' +\n deprecation.id +\n '> for more info)'\n )\n }\n }\n\n const mdastTree = processor.parse(file)\n /** @type {Nodes} */\n let hastTree = processor.runSync(mdastTree, file)\n\n // Wrap in `div` if there’s a class name.\n if (className) {\n hastTree = {\n type: 'element',\n tagName: 'div',\n properties: {className},\n // Assume no doctypes.\n children: /** @type {Array} */ (\n hastTree.type === 'root' ? hastTree.children : [hastTree]\n )\n }\n }\n\n visit(hastTree, transform)\n\n return toJsxRuntime(hastTree, {\n Fragment,\n // @ts-expect-error\n // React components are allowed to return numbers,\n // but not according to the types in hast-util-to-jsx-runtime\n components,\n ignoreInvalidStyle: true,\n jsx,\n jsxs,\n passKeys: true,\n passNode: true\n })\n\n /** @type {BuildVisitor} */\n function transform(node, index, parent) {\n if (node.type === 'raw' && parent && typeof index === 'number') {\n if (skipHtml) {\n parent.children.splice(index, 1)\n } else {\n parent.children[index] = {type: 'text', value: node.value}\n }\n\n return index\n }\n\n if (node.type === 'element') {\n /** @type {string} */\n let key\n\n for (key in urlAttributes) {\n if (\n Object.hasOwn(urlAttributes, key) &&\n Object.hasOwn(node.properties, key)\n ) {\n const value = node.properties[key]\n const test = urlAttributes[key]\n if (test === null || test.includes(node.tagName)) {\n node.properties[key] = urlTransform(String(value || ''), key, node)\n }\n }\n }\n }\n\n if (node.type === 'element') {\n let remove = allowedElements\n ? !allowedElements.includes(node.tagName)\n : disallowedElements\n ? disallowedElements.includes(node.tagName)\n : false\n\n if (!remove && allowElement && typeof index === 'number') {\n remove = !allowElement(node, index, parent)\n }\n\n if (remove && parent && typeof index === 'number') {\n if (unwrapDisallowed && node.children) {\n parent.children.splice(index, 1, ...node.children)\n } else {\n parent.children.splice(index, 1)\n }\n\n return index\n }\n }\n }\n}\n\n/**\n * Make a URL safe.\n *\n * @satisfies {UrlTransform}\n * @param {string} value\n * URL.\n * @returns {string}\n * Safe URL.\n */\nexport function defaultUrlTransform(value) {\n // Same as:\n // \n // But without the `encode` part.\n const colon = value.indexOf(':')\n const questionMark = value.indexOf('?')\n const numberSign = value.indexOf('#')\n const slash = value.indexOf('/')\n\n if (\n // If there is no protocol, it’s relative.\n colon === -1 ||\n // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol.\n (slash !== -1 && colon > slash) ||\n (questionMark !== -1 && colon > questionMark) ||\n (numberSign !== -1 && colon > numberSign) ||\n // It is a protocol, it should be allowed.\n safeProtocol.test(value.slice(0, colon))\n ) {\n return value\n }\n\n return ''\n}\n","/**\n * @typedef {import('unist').Node} UnistNode\n * @typedef {import('unist').Parent} UnistParent\n * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult\n */\n\n/**\n * @typedef {Exclude | undefined} Test\n * Test from `unist-util-is`.\n *\n * Note: we have remove and add `undefined`, because otherwise when generating\n * automatic `.d.ts` files, TS tries to flatten paths from a local perspective,\n * which doesn’t work when publishing on npm.\n */\n\n// To do: use types from `unist-util-visit-parents` when it’s released.\n\n/**\n * @typedef {(\n * Fn extends (value: any) => value is infer Thing\n * ? Thing\n * : Fallback\n * )} Predicate\n * Get the value of a type guard `Fn`.\n * @template Fn\n * Value; typically function that is a type guard (such as `(x): x is Y`).\n * @template Fallback\n * Value to yield if `Fn` is not a type guard.\n */\n\n/**\n * @typedef {(\n * Check extends null | undefined // No test.\n * ? Value\n * : Value extends {type: Check} // String (type) test.\n * ? Value\n * : Value extends Check // Partial test.\n * ? Value\n * : Check extends Function // Function test.\n * ? Predicate extends Value\n * ? Predicate\n * : never\n * : never // Some other test?\n * )} MatchesOne\n * Check whether a node matches a primitive check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test, but not arrays.\n */\n\n/**\n * @typedef {(\n * Check extends Array\n * ? MatchesOne\n * : MatchesOne\n * )} Matches\n * Check whether a node matches a check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test.\n */\n\n/**\n * @typedef {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10} Uint\n * Number; capped reasonably.\n */\n\n/**\n * @typedef {I extends 0 ? 1 : I extends 1 ? 2 : I extends 2 ? 3 : I extends 3 ? 4 : I extends 4 ? 5 : I extends 5 ? 6 : I extends 6 ? 7 : I extends 7 ? 8 : I extends 8 ? 9 : 10} Increment\n * Increment a number in the type system.\n * @template {Uint} [I=0]\n * Index.\n */\n\n/**\n * @typedef {(\n * Node extends UnistParent\n * ? Node extends {children: Array}\n * ? Child extends Children ? Node : never\n * : never\n * : never\n * )} InternalParent\n * Collect nodes that can be parents of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {InternalParent, Child>} Parent\n * Collect nodes in `Tree` that can be parents of `Child`.\n * @template {UnistNode} Tree\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {(\n * Depth extends Max\n * ? never\n * :\n * | InternalParent\n * | InternalAncestor, Max, Increment>\n * )} InternalAncestor\n * Collect nodes in `Tree` that can be ancestors of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @typedef {(\n * Tree extends UnistParent\n * ? Depth extends Max\n * ? Tree\n * : Tree | InclusiveDescendant>\n * : Tree\n * )} InclusiveDescendant\n * Collect all (inclusive) descendants of `Tree`.\n *\n * > 👉 **Note**: for performance reasons, this seems to be the fastest way to\n * > recurse without actually running into an infinite loop, which the\n * > previous version did.\n * >\n * > Practically, a max of `2` is typically enough assuming a `Root` is\n * > passed, but it doesn’t improve performance.\n * > It gets higher with `List > ListItem > Table > TableRow > TableCell`.\n * > Using up to `10` doesn’t hurt or help either.\n * @template {UnistNode} Tree\n * Tree type.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @callback Visitor\n * Handle a node (matching `test`, if given).\n *\n * Visitors are free to transform `node`.\n * They can also transform `parent`.\n *\n * Replacing `node` itself, if `SKIP` is not returned, still causes its\n * descendants to be walked (which is a bug).\n *\n * When adding or removing previous siblings of `node` (or next siblings, in\n * case of reverse), the `Visitor` should return a new `Index` to specify the\n * sibling to traverse after `node` is traversed.\n * Adding or removing next siblings of `node` (or previous siblings, in case\n * of reverse) is handled as expected without needing to return a new `Index`.\n *\n * Removing the children property of `parent` still results in them being\n * traversed.\n * @param {Visited} node\n * Found node.\n * @param {Visited extends UnistNode ? number | undefined : never} index\n * Index of `node` in `parent`.\n * @param {Ancestor extends UnistParent ? Ancestor | undefined : never} parent\n * Parent of `node`.\n * @returns {VisitorResult}\n * What to do next.\n *\n * An `Index` is treated as a tuple of `[CONTINUE, Index]`.\n * An `Action` is treated as a tuple of `[Action]`.\n *\n * Passing a tuple back only makes sense if the `Action` is `SKIP`.\n * When the `Action` is `EXIT`, that action can be returned.\n * When the `Action` is `CONTINUE`, `Index` can be returned.\n * @template {UnistNode} [Visited=UnistNode]\n * Visited node type.\n * @template {UnistParent} [Ancestor=UnistParent]\n * Ancestor type.\n */\n\n/**\n * @typedef {Visitor>} BuildVisitorFromMatch\n * Build a typed `Visitor` function from a node and all possible parents.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n * @template {UnistNode} Visited\n * Node type.\n * @template {UnistParent} Ancestor\n * Parent type.\n */\n\n/**\n * @typedef {(\n * BuildVisitorFromMatch<\n * Matches,\n * Extract\n * >\n * )} BuildVisitorFromDescendants\n * Build a typed `Visitor` function from a list of descendants and a test.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n * @template {UnistNode} Descendant\n * Node type.\n * @template {Test} Check\n * Test type.\n */\n\n/**\n * @typedef {(\n * BuildVisitorFromDescendants<\n * InclusiveDescendant,\n * Check\n * >\n * )} BuildVisitor\n * Build a typed `Visitor` function from a tree and a test.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n * @template {UnistNode} [Tree=UnistNode]\n * Node type.\n * @template {Test} [Check=Test]\n * Test type.\n */\n\nimport {visitParents} from 'unist-util-visit-parents'\n\nexport {CONTINUE, EXIT, SKIP} from 'unist-util-visit-parents'\n\n/**\n * Visit nodes.\n *\n * This algorithm performs *depth-first* *tree traversal* in *preorder*\n * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).\n *\n * You can choose for which nodes `visitor` is called by passing a `test`.\n * For complex tests, you should test yourself in `visitor`, as it will be\n * faster and will have improved type information.\n *\n * Walking the tree is an intensive task.\n * Make use of the return values of the visitor when possible.\n * Instead of walking a tree multiple times, walk it once, use `unist-util-is`\n * to check if a node matches, and then perform different operations.\n *\n * You can change the tree.\n * See `Visitor` for more info.\n *\n * @overload\n * @param {Tree} tree\n * @param {Check} check\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @overload\n * @param {Tree} tree\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @param {UnistNode} tree\n * Tree to traverse.\n * @param {Visitor | Test} testOrVisitor\n * `unist-util-is`-compatible test (optional, omit to pass a visitor).\n * @param {Visitor | boolean | null | undefined} [visitorOrReverse]\n * Handle each node (when test is omitted, pass `reverse`).\n * @param {boolean | null | undefined} [maybeReverse=false]\n * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).\n * @returns {undefined}\n * Nothing.\n *\n * @template {UnistNode} Tree\n * Node type.\n * @template {Test} Check\n * `unist-util-is`-compatible test.\n */\nexport function visit(tree, testOrVisitor, visitorOrReverse, maybeReverse) {\n /** @type {boolean | null | undefined} */\n let reverse\n /** @type {Test} */\n let test\n /** @type {Visitor} */\n let visitor\n\n if (\n typeof testOrVisitor === 'function' &&\n typeof visitorOrReverse !== 'function'\n ) {\n test = undefined\n visitor = testOrVisitor\n reverse = visitorOrReverse\n } else {\n // @ts-expect-error: assume the overload with test was given.\n test = testOrVisitor\n // @ts-expect-error: assume the overload with test was given.\n visitor = visitorOrReverse\n reverse = maybeReverse\n }\n\n visitParents(tree, test, overload, reverse)\n\n /**\n * @param {UnistNode} node\n * @param {Array} parents\n */\n function overload(node, parents) {\n const parent = parents[parents.length - 1]\n const index = parent ? parent.children.indexOf(node) : undefined\n return visitor(node, index, parent)\n }\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport Markdown from 'react-markdown'\nimport { classNames } from '../../helper'\n\nconst RichText = ({ className, enableHighlighting = false, children }) => {\n const components = {\n ...(enableHighlighting && {\n em: ({ node, ...props }) => (\n \n ),\n }),\n a: ({ node, ...props }) => {\n const isDownload =\n props.href?.match(/\\/uploads\\//gm) || props.href?.match(/\\/static\\//gm)\n const isExternal =\n isDownload ||\n props.href.startsWith('http') ||\n props.href.startsWith('mailto') ||\n props.href.startsWith('tel')\n const finalProps = {\n ...props,\n ...(isExternal && { target: '_blank' }),\n ...(isExternal && { rel: 'noreferrer' }),\n ...(isDownload && { download: true }),\n }\n return \n },\n }\n\n return (\n \n {children}\n \n )\n}\n\nRichText.propTypes = {\n className: PropTypes.string,\n children: PropTypes.any,\n enableHighlighting: PropTypes.bool,\n}\n\nexport default RichText\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\n\nvar ReCAPTCHA =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(ReCAPTCHA, _React$Component);\n\n function ReCAPTCHA() {\n var _this;\n\n _this = _React$Component.call(this) || this;\n _this.handleExpired = _this.handleExpired.bind(_assertThisInitialized(_this));\n _this.handleErrored = _this.handleErrored.bind(_assertThisInitialized(_this));\n _this.handleChange = _this.handleChange.bind(_assertThisInitialized(_this));\n _this.handleRecaptchaRef = _this.handleRecaptchaRef.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n var _proto = ReCAPTCHA.prototype;\n\n _proto.getValue = function getValue() {\n if (this.props.grecaptcha && this._widgetId !== undefined) {\n return this.props.grecaptcha.getResponse(this._widgetId);\n }\n\n return null;\n };\n\n _proto.getWidgetId = function getWidgetId() {\n if (this.props.grecaptcha && this._widgetId !== undefined) {\n return this._widgetId;\n }\n\n return null;\n };\n\n _proto.execute = function execute() {\n var grecaptcha = this.props.grecaptcha;\n\n if (grecaptcha && this._widgetId !== undefined) {\n return grecaptcha.execute(this._widgetId);\n } else {\n this._executeRequested = true;\n }\n };\n\n _proto.executeAsync = function executeAsync() {\n var _this2 = this;\n\n return new Promise(function (resolve, reject) {\n _this2.executionResolve = resolve;\n _this2.executionReject = reject;\n\n _this2.execute();\n });\n };\n\n _proto.reset = function reset() {\n if (this.props.grecaptcha && this._widgetId !== undefined) {\n this.props.grecaptcha.reset(this._widgetId);\n }\n };\n\n _proto.handleExpired = function handleExpired() {\n if (this.props.onExpired) {\n this.props.onExpired();\n } else {\n this.handleChange(null);\n }\n };\n\n _proto.handleErrored = function handleErrored() {\n if (this.props.onErrored) {\n this.props.onErrored();\n }\n\n if (this.executionReject) {\n this.executionReject();\n delete this.executionResolve;\n delete this.executionReject;\n }\n };\n\n _proto.handleChange = function handleChange(token) {\n if (this.props.onChange) {\n this.props.onChange(token);\n }\n\n if (this.executionResolve) {\n this.executionResolve(token);\n delete this.executionReject;\n delete this.executionResolve;\n }\n };\n\n _proto.explicitRender = function explicitRender() {\n if (this.props.grecaptcha && this.props.grecaptcha.render && this._widgetId === undefined) {\n var wrapper = document.createElement(\"div\");\n this._widgetId = this.props.grecaptcha.render(wrapper, {\n sitekey: this.props.sitekey,\n callback: this.handleChange,\n theme: this.props.theme,\n type: this.props.type,\n tabindex: this.props.tabindex,\n \"expired-callback\": this.handleExpired,\n \"error-callback\": this.handleErrored,\n size: this.props.size,\n stoken: this.props.stoken,\n hl: this.props.hl,\n badge: this.props.badge\n });\n this.captcha.appendChild(wrapper);\n }\n\n if (this._executeRequested && this.props.grecaptcha && this._widgetId !== undefined) {\n this._executeRequested = false;\n this.execute();\n }\n };\n\n _proto.componentDidMount = function componentDidMount() {\n this.explicitRender();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n this.explicitRender();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this._widgetId !== undefined) {\n this.delayOfCaptchaIframeRemoving();\n this.reset();\n }\n };\n\n _proto.delayOfCaptchaIframeRemoving = function delayOfCaptchaIframeRemoving() {\n var temporaryNode = document.createElement(\"div\");\n document.body.appendChild(temporaryNode);\n temporaryNode.style.display = \"none\"; // move of the recaptcha to a temporary node\n\n while (this.captcha.firstChild) {\n temporaryNode.appendChild(this.captcha.firstChild);\n } // delete the temporary node after reset will be done\n\n\n setTimeout(function () {\n document.body.removeChild(temporaryNode);\n }, 5000);\n };\n\n _proto.handleRecaptchaRef = function handleRecaptchaRef(elem) {\n this.captcha = elem;\n };\n\n _proto.render = function render() {\n // consume properties owned by the reCATPCHA, pass the rest to the div so the user can style it.\n\n /* eslint-disable no-unused-vars */\n var _this$props = this.props,\n sitekey = _this$props.sitekey,\n onChange = _this$props.onChange,\n theme = _this$props.theme,\n type = _this$props.type,\n tabindex = _this$props.tabindex,\n onExpired = _this$props.onExpired,\n onErrored = _this$props.onErrored,\n size = _this$props.size,\n stoken = _this$props.stoken,\n grecaptcha = _this$props.grecaptcha,\n badge = _this$props.badge,\n hl = _this$props.hl,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"sitekey\", \"onChange\", \"theme\", \"type\", \"tabindex\", \"onExpired\", \"onErrored\", \"size\", \"stoken\", \"grecaptcha\", \"badge\", \"hl\"]);\n /* eslint-enable no-unused-vars */\n\n\n return React.createElement(\"div\", _extends({}, childProps, {\n ref: this.handleRecaptchaRef\n }));\n };\n\n return ReCAPTCHA;\n}(React.Component);\n\nexport { ReCAPTCHA as default };\nReCAPTCHA.displayName = \"ReCAPTCHA\";\nReCAPTCHA.propTypes = {\n sitekey: PropTypes.string.isRequired,\n onChange: PropTypes.func,\n grecaptcha: PropTypes.object,\n theme: PropTypes.oneOf([\"dark\", \"light\"]),\n type: PropTypes.oneOf([\"image\", \"audio\"]),\n tabindex: PropTypes.number,\n onExpired: PropTypes.func,\n onErrored: PropTypes.func,\n size: PropTypes.oneOf([\"compact\", \"normal\", \"invisible\"]),\n stoken: PropTypes.string,\n hl: PropTypes.string,\n badge: PropTypes.oneOf([\"bottomright\", \"bottomleft\", \"inline\"])\n};\nReCAPTCHA.defaultProps = {\n onChange: function onChange() {},\n theme: \"light\",\n type: \"image\",\n tabindex: 0,\n size: \"normal\",\n badge: \"bottomright\"\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nimport { Component, createElement, forwardRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport hoistStatics from \"hoist-non-react-statics\";\nvar SCRIPT_MAP = {}; // A counter used to generate a unique id for each component that uses the function\n\nvar idCount = 0;\nexport default function makeAsyncScript(getScriptURL, options) {\n options = options || {};\n return function wrapWithAsyncScript(WrappedComponent) {\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || \"Component\";\n\n var AsyncScriptLoader =\n /*#__PURE__*/\n function (_Component) {\n _inheritsLoose(AsyncScriptLoader, _Component);\n\n function AsyncScriptLoader(props, context) {\n var _this;\n\n _this = _Component.call(this, props, context) || this;\n _this.state = {};\n _this.__scriptURL = \"\";\n return _this;\n }\n\n var _proto = AsyncScriptLoader.prototype;\n\n _proto.asyncScriptLoaderGetScriptLoaderID = function asyncScriptLoaderGetScriptLoaderID() {\n if (!this.__scriptLoaderID) {\n this.__scriptLoaderID = \"async-script-loader-\" + idCount++;\n }\n\n return this.__scriptLoaderID;\n };\n\n _proto.setupScriptURL = function setupScriptURL() {\n this.__scriptURL = typeof getScriptURL === \"function\" ? getScriptURL() : getScriptURL;\n return this.__scriptURL;\n };\n\n _proto.asyncScriptLoaderHandleLoad = function asyncScriptLoaderHandleLoad(state) {\n var _this2 = this;\n\n // use reacts setState callback to fire props.asyncScriptOnLoad with new state/entry\n this.setState(state, function () {\n return _this2.props.asyncScriptOnLoad && _this2.props.asyncScriptOnLoad(_this2.state);\n });\n };\n\n _proto.asyncScriptLoaderTriggerOnScriptLoaded = function asyncScriptLoaderTriggerOnScriptLoaded() {\n var mapEntry = SCRIPT_MAP[this.__scriptURL];\n\n if (!mapEntry || !mapEntry.loaded) {\n throw new Error(\"Script is not loaded.\");\n }\n\n for (var obsKey in mapEntry.observers) {\n mapEntry.observers[obsKey](mapEntry);\n }\n\n delete window[options.callbackName];\n };\n\n _proto.componentDidMount = function componentDidMount() {\n var _this3 = this;\n\n var scriptURL = this.setupScriptURL();\n var key = this.asyncScriptLoaderGetScriptLoaderID();\n var _options = options,\n globalName = _options.globalName,\n callbackName = _options.callbackName,\n scriptId = _options.scriptId; // check if global object already attached to window\n\n if (globalName && typeof window[globalName] !== \"undefined\") {\n SCRIPT_MAP[scriptURL] = {\n loaded: true,\n observers: {}\n };\n } // check if script loading already\n\n\n if (SCRIPT_MAP[scriptURL]) {\n var entry = SCRIPT_MAP[scriptURL]; // if loaded or errored then \"finish\"\n\n if (entry && (entry.loaded || entry.errored)) {\n this.asyncScriptLoaderHandleLoad(entry);\n return;\n } // if still loading then callback to observer queue\n\n\n entry.observers[key] = function (entry) {\n return _this3.asyncScriptLoaderHandleLoad(entry);\n };\n\n return;\n }\n /*\n * hasn't started loading\n * start the \"magic\"\n * setup script to load and observers\n */\n\n\n var observers = {};\n\n observers[key] = function (entry) {\n return _this3.asyncScriptLoaderHandleLoad(entry);\n };\n\n SCRIPT_MAP[scriptURL] = {\n loaded: false,\n observers: observers\n };\n var script = document.createElement(\"script\");\n script.src = scriptURL;\n script.async = true;\n\n for (var attribute in options.attributes) {\n script.setAttribute(attribute, options.attributes[attribute]);\n }\n\n if (scriptId) {\n script.id = scriptId;\n }\n\n var callObserverFuncAndRemoveObserver = function callObserverFuncAndRemoveObserver(func) {\n if (SCRIPT_MAP[scriptURL]) {\n var mapEntry = SCRIPT_MAP[scriptURL];\n var observersMap = mapEntry.observers;\n\n for (var obsKey in observersMap) {\n if (func(observersMap[obsKey])) {\n delete observersMap[obsKey];\n }\n }\n }\n };\n\n if (callbackName && typeof window !== \"undefined\") {\n window[callbackName] = function () {\n return _this3.asyncScriptLoaderTriggerOnScriptLoaded();\n };\n }\n\n script.onload = function () {\n var mapEntry = SCRIPT_MAP[scriptURL];\n\n if (mapEntry) {\n mapEntry.loaded = true;\n callObserverFuncAndRemoveObserver(function (observer) {\n if (callbackName) {\n return false;\n }\n\n observer(mapEntry);\n return true;\n });\n }\n };\n\n script.onerror = function () {\n var mapEntry = SCRIPT_MAP[scriptURL];\n\n if (mapEntry) {\n mapEntry.errored = true;\n callObserverFuncAndRemoveObserver(function (observer) {\n observer(mapEntry);\n return true;\n });\n }\n };\n\n document.body.appendChild(script);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n // Remove tag script\n var scriptURL = this.__scriptURL;\n\n if (options.removeOnUnmount === true) {\n var allScripts = document.getElementsByTagName(\"script\");\n\n for (var i = 0; i < allScripts.length; i += 1) {\n if (allScripts[i].src.indexOf(scriptURL) > -1) {\n if (allScripts[i].parentNode) {\n allScripts[i].parentNode.removeChild(allScripts[i]);\n }\n }\n }\n } // Clean the observer entry\n\n\n var mapEntry = SCRIPT_MAP[scriptURL];\n\n if (mapEntry) {\n delete mapEntry.observers[this.asyncScriptLoaderGetScriptLoaderID()];\n\n if (options.removeOnUnmount === true) {\n delete SCRIPT_MAP[scriptURL];\n }\n }\n };\n\n _proto.render = function render() {\n var globalName = options.globalName; // remove asyncScriptOnLoad from childProps\n\n var _this$props = this.props,\n asyncScriptOnLoad = _this$props.asyncScriptOnLoad,\n forwardedRef = _this$props.forwardedRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"asyncScriptOnLoad\", \"forwardedRef\"]); // eslint-disable-line no-unused-vars\n\n\n if (globalName && typeof window !== \"undefined\") {\n childProps[globalName] = typeof window[globalName] !== \"undefined\" ? window[globalName] : undefined;\n }\n\n childProps.ref = forwardedRef;\n return createElement(WrappedComponent, childProps);\n };\n\n return AsyncScriptLoader;\n }(Component); // Note the second param \"ref\" provided by React.forwardRef.\n // We can pass it along to AsyncScriptLoader as a regular prop, e.g. \"forwardedRef\"\n // And it can then be attached to the Component.\n\n\n var ForwardedComponent = forwardRef(function (props, ref) {\n return createElement(AsyncScriptLoader, _extends({}, props, {\n forwardedRef: ref\n }));\n });\n ForwardedComponent.displayName = \"AsyncScriptLoader(\" + wrappedComponentName + \")\";\n ForwardedComponent.propTypes = {\n asyncScriptOnLoad: PropTypes.func\n };\n return hoistStatics(ForwardedComponent, WrappedComponent);\n };\n}","import ReCAPTCHA from \"./recaptcha\";\nimport makeAsyncScriptLoader from \"react-async-script\";\nvar callbackName = \"onloadcallback\";\nvar globalName = \"grecaptcha\";\n\nfunction getOptions() {\n return typeof window !== \"undefined\" && window.recaptchaOptions || {};\n}\n\nfunction getURL() {\n var dynamicOptions = getOptions();\n var hostname = dynamicOptions.useRecaptchaNet ? \"recaptcha.net\" : \"www.google.com\";\n return \"https://\" + hostname + \"/recaptcha/api.js?onload=\" + callbackName + \"&render=explicit\";\n}\n\nexport default makeAsyncScriptLoader(getURL, {\n callbackName: callbackName,\n globalName: globalName\n})(ReCAPTCHA);","import RecaptchaWrapper from \"./recaptcha-wrapper\";\nimport ReCAPTCHA from \"./recaptcha\";\nexport default RecaptchaWrapper;\nexport { ReCAPTCHA };","export const isBrowser = typeof window !== 'undefined'\n","import React, { useState } from 'react'\nimport _ from 'lodash'\n\nimport { cn } from '../../helper'\n\nconst TextField = ({\n className,\n htmlId,\n name,\n value,\n onChange,\n label,\n required,\n autoComplete,\n readOnly,\n type = 'text',\n}) => {\n const placeholder = label ? label + (required ? '*' : '') : undefined\n const [validityChecked, setValidityChecked] = useState(false)\n\n return (\n
\n {label && (\n \n {label}\n {required && '*'}\n \n )}\n
\n setValidityChecked(true)}\n {...(onChange &&\n !readOnly && {\n onChange: (event) => onChange(event.target.value),\n })}\n />\n
\n
\n )\n}\n\nexport default TextField\n","import React, { useState } from 'react'\nimport _ from 'lodash'\n\nimport { cn } from '../../helper'\n\nconst TextArea = ({\n className,\n htmlId,\n name,\n value,\n onChange,\n label,\n required,\n autoComplete,\n rows = 3,\n}) => {\n return (\n
\n \n {label}\n {required && '*'}\n \n
\n onChange(event.target.value)}\n />\n
\n
\n )\n}\n\nexport default TextArea\n","import{useState as s}from\"react\";import{useIsoMorphicEffect as f}from'./use-iso-morphic-effect.js';import{useLatestValue as m}from'./use-latest-value.js';function i(e,o){let[u,t]=s(e),r=m(e);return f(()=>t(r.current),[r,t,...o]),u}export{i as useComputed};\n","function e(i={},s=null,t=[]){for(let[r,n]of Object.entries(i))o(t,f(s,r),n);return t}function f(i,s){return i?i+\"[\"+s+\"]\":s}function o(i,s,t){if(Array.isArray(t))for(let[r,n]of t.entries())o(i,f(s,r.toString()),n);else t instanceof Date?i.push([s,t.toISOString()]):typeof t==\"boolean\"?i.push([s,t?\"1\":\"0\"]):typeof t==\"string\"?i.push([s,t]):typeof t==\"number\"?i.push([s,`${t}`]):t==null?i.push([s,\"\"]):e(t,s,i)}function p(i){var t,r;let s=(t=i==null?void 0:i.form)!=null?t:i.closest(\"form\");if(s){for(let n of s.elements)if(n!==i&&(n.tagName===\"INPUT\"&&n.type===\"submit\"||n.tagName===\"BUTTON\"&&n.type===\"submit\"||n.nodeName===\"INPUT\"&&n.type===\"image\")){n.click();return}(r=s.requestSubmit)==null||r.call(s)}}export{p as attemptSubmit,e as objectToFormEntries};\n","import N,{createContext as Z,createRef as xe,Fragment as ye,useCallback as ge,useContext as ee,useEffect as te,useMemo as E,useReducer as Le,useRef as h}from\"react\";import{useComputed as oe}from'../../hooks/use-computed.js';import{useControllable as Oe}from'../../hooks/use-controllable.js';import{useDisposables as j}from'../../hooks/use-disposables.js';import{useEvent as f}from'../../hooks/use-event.js';import{useId as V}from'../../hooks/use-id.js';import{useIsoMorphicEffect as K}from'../../hooks/use-iso-morphic-effect.js';import{useLatestValue as me}from'../../hooks/use-latest-value.js';import{useOutsideClick as Re}from'../../hooks/use-outside-click.js';import{useResolveButtonType as ve}from'../../hooks/use-resolve-button-type.js';import{useSyncRefs as _}from'../../hooks/use-sync-refs.js';import{useTextValue as Ae}from'../../hooks/use-text-value.js';import{useTrackedPointer as Se}from'../../hooks/use-tracked-pointer.js';import{Features as Pe,Hidden as Ee}from'../../internal/hidden.js';import{OpenClosedProvider as he,State as Q,useOpenClosed as De}from'../../internal/open-closed.js';import{isDisabledReactIssue7711 as Ie}from'../../utils/bugs.js';import{calculateActiveIndex as Ce,Focus as v}from'../../utils/calculate-active-index.js';import{disposables as $}from'../../utils/disposables.js';import{FocusableMode as _e,isFocusableElement as Fe,sortByDomNode as Me}from'../../utils/focus-management.js';import{objectToFormEntries as ke}from'../../utils/form.js';import{match as D}from'../../utils/match.js';import{getOwnerDocument as we}from'../../utils/owner.js';import{compact as Ue,Features as ne,forwardRefWithAs as F,render as M}from'../../utils/render.js';import{Keys as y}from'../keyboard.js';var Be=(n=>(n[n.Open=0]=\"Open\",n[n.Closed=1]=\"Closed\",n))(Be||{}),He=(n=>(n[n.Single=0]=\"Single\",n[n.Multi=1]=\"Multi\",n))(He||{}),Ge=(n=>(n[n.Pointer=0]=\"Pointer\",n[n.Other=1]=\"Other\",n))(Ge||{}),Ne=(i=>(i[i.OpenListbox=0]=\"OpenListbox\",i[i.CloseListbox=1]=\"CloseListbox\",i[i.GoToOption=2]=\"GoToOption\",i[i.Search=3]=\"Search\",i[i.ClearSearch=4]=\"ClearSearch\",i[i.RegisterOption=5]=\"RegisterOption\",i[i.UnregisterOption=6]=\"UnregisterOption\",i[i.RegisterLabel=7]=\"RegisterLabel\",i))(Ne||{});function z(e,a=n=>n){let n=e.activeOptionIndex!==null?e.options[e.activeOptionIndex]:null,r=Me(a(e.options.slice()),t=>t.dataRef.current.domRef.current),l=n?r.indexOf(n):null;return l===-1&&(l=null),{options:r,activeOptionIndex:l}}let je={[1](e){return e.dataRef.current.disabled||e.listboxState===1?e:{...e,activeOptionIndex:null,listboxState:1}},[0](e){if(e.dataRef.current.disabled||e.listboxState===0)return e;let a=e.activeOptionIndex,{isSelected:n}=e.dataRef.current,r=e.options.findIndex(l=>n(l.dataRef.current.value));return r!==-1&&(a=r),{...e,listboxState:0,activeOptionIndex:a}},[2](e,a){var l;if(e.dataRef.current.disabled||e.listboxState===1)return e;let n=z(e),r=Ce(a,{resolveItems:()=>n.options,resolveActiveIndex:()=>n.activeOptionIndex,resolveId:t=>t.id,resolveDisabled:t=>t.dataRef.current.disabled});return{...e,...n,searchQuery:\"\",activeOptionIndex:r,activationTrigger:(l=a.trigger)!=null?l:1}},[3]:(e,a)=>{if(e.dataRef.current.disabled||e.listboxState===1)return e;let r=e.searchQuery!==\"\"?0:1,l=e.searchQuery+a.value.toLowerCase(),p=(e.activeOptionIndex!==null?e.options.slice(e.activeOptionIndex+r).concat(e.options.slice(0,e.activeOptionIndex+r)):e.options).find(i=>{var b;return!i.dataRef.current.disabled&&((b=i.dataRef.current.textValue)==null?void 0:b.startsWith(l))}),u=p?e.options.indexOf(p):-1;return u===-1||u===e.activeOptionIndex?{...e,searchQuery:l}:{...e,searchQuery:l,activeOptionIndex:u,activationTrigger:1}},[4](e){return e.dataRef.current.disabled||e.listboxState===1||e.searchQuery===\"\"?e:{...e,searchQuery:\"\"}},[5]:(e,a)=>{let n={id:a.id,dataRef:a.dataRef},r=z(e,l=>[...l,n]);return e.activeOptionIndex===null&&e.dataRef.current.isSelected(a.dataRef.current.value)&&(r.activeOptionIndex=r.options.indexOf(n)),{...e,...r}},[6]:(e,a)=>{let n=z(e,r=>{let l=r.findIndex(t=>t.id===a.id);return l!==-1&&r.splice(l,1),r});return{...e,...n,activationTrigger:1}},[7]:(e,a)=>({...e,labelId:a.id})},J=Z(null);J.displayName=\"ListboxActionsContext\";function k(e){let a=ee(J);if(a===null){let n=new Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,k),n}return a}let q=Z(null);q.displayName=\"ListboxDataContext\";function w(e){let a=ee(q);if(a===null){let n=new Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,w),n}return a}function Ve(e,a){return D(a.type,je,e,a)}let Ke=ye;function Qe(e,a){let{value:n,defaultValue:r,form:l,name:t,onChange:p,by:u=(s,c)=>s===c,disabled:i=!1,horizontal:b=!1,multiple:R=!1,...m}=e;const P=b?\"horizontal\":\"vertical\";let S=_(a),[g=R?[]:void 0,x]=Oe(n,p,r),[T,o]=Le(Ve,{dataRef:xe(),listboxState:1,options:[],searchQuery:\"\",labelId:null,activeOptionIndex:null,activationTrigger:1}),L=h({static:!1,hold:!1}),U=h(null),B=h(null),W=h(null),I=f(typeof u==\"string\"?(s,c)=>{let O=u;return(s==null?void 0:s[O])===(c==null?void 0:c[O])}:u),A=ge(s=>D(d.mode,{[1]:()=>g.some(c=>I(c,s)),[0]:()=>I(g,s)}),[g]),d=E(()=>({...T,value:g,disabled:i,mode:R?1:0,orientation:P,compare:I,isSelected:A,optionsPropsRef:L,labelRef:U,buttonRef:B,optionsRef:W}),[g,i,R,T]);K(()=>{T.dataRef.current=d},[d]),Re([d.buttonRef,d.optionsRef],(s,c)=>{var O;o({type:1}),Fe(c,_e.Loose)||(s.preventDefault(),(O=d.buttonRef.current)==null||O.focus())},d.listboxState===0);let H=E(()=>({open:d.listboxState===0,disabled:i,value:g}),[d,i,g]),ie=f(s=>{let c=d.options.find(O=>O.id===s);c&&X(c.dataRef.current.value)}),re=f(()=>{if(d.activeOptionIndex!==null){let{dataRef:s,id:c}=d.options[d.activeOptionIndex];X(s.current.value),o({type:2,focus:v.Specific,id:c})}}),ae=f(()=>o({type:0})),le=f(()=>o({type:1})),se=f((s,c,O)=>s===v.Specific?o({type:2,focus:v.Specific,id:c,trigger:O}):o({type:2,focus:s,trigger:O})),pe=f((s,c)=>(o({type:5,id:s,dataRef:c}),()=>o({type:6,id:s}))),ue=f(s=>(o({type:7,id:s}),()=>o({type:7,id:null}))),X=f(s=>D(d.mode,{[0](){return x==null?void 0:x(s)},[1](){let c=d.value.slice(),O=c.findIndex(C=>I(C,s));return O===-1?c.push(s):c.splice(O,1),x==null?void 0:x(c)}})),de=f(s=>o({type:3,value:s})),ce=f(()=>o({type:4})),fe=E(()=>({onChange:X,registerOption:pe,registerLabel:ue,goToOption:se,closeListbox:le,openListbox:ae,selectActiveOption:re,selectOption:ie,search:de,clearSearch:ce}),[]),Te={ref:S},G=h(null),be=j();return te(()=>{G.current&&r!==void 0&&be.addEventListener(G.current,\"reset\",()=>{x==null||x(r)})},[G,x]),N.createElement(J.Provider,{value:fe},N.createElement(q.Provider,{value:d},N.createElement(he,{value:D(d.listboxState,{[0]:Q.Open,[1]:Q.Closed})},t!=null&&g!=null&&ke({[t]:g}).map(([s,c],O)=>N.createElement(Ee,{features:Pe.Hidden,ref:O===0?C=>{var Y;G.current=(Y=C==null?void 0:C.closest(\"form\"))!=null?Y:null}:void 0,...Ue({key:s,as:\"input\",type:\"hidden\",hidden:!0,readOnly:!0,form:l,disabled:i,name:s,value:c})})),M({ourProps:Te,theirProps:m,slot:H,defaultTag:Ke,name:\"Listbox\"}))))}let We=\"button\";function Xe(e,a){var x;let n=V(),{id:r=`headlessui-listbox-button-${n}`,...l}=e,t=w(\"Listbox.Button\"),p=k(\"Listbox.Button\"),u=_(t.buttonRef,a),i=j(),b=f(T=>{switch(T.key){case y.Space:case y.Enter:case y.ArrowDown:T.preventDefault(),p.openListbox(),i.nextFrame(()=>{t.value||p.goToOption(v.First)});break;case y.ArrowUp:T.preventDefault(),p.openListbox(),i.nextFrame(()=>{t.value||p.goToOption(v.Last)});break}}),R=f(T=>{switch(T.key){case y.Space:T.preventDefault();break}}),m=f(T=>{if(Ie(T.currentTarget))return T.preventDefault();t.listboxState===0?(p.closeListbox(),i.nextFrame(()=>{var o;return(o=t.buttonRef.current)==null?void 0:o.focus({preventScroll:!0})})):(T.preventDefault(),p.openListbox())}),P=oe(()=>{if(t.labelId)return[t.labelId,r].join(\" \")},[t.labelId,r]),S=E(()=>({open:t.listboxState===0,disabled:t.disabled,value:t.value}),[t]),g={ref:u,id:r,type:ve(e,t.buttonRef),\"aria-haspopup\":\"listbox\",\"aria-controls\":(x=t.optionsRef.current)==null?void 0:x.id,\"aria-expanded\":t.listboxState===0,\"aria-labelledby\":P,disabled:t.disabled,onKeyDown:b,onKeyUp:R,onClick:m};return M({ourProps:g,theirProps:l,slot:S,defaultTag:We,name:\"Listbox.Button\"})}let $e=\"label\";function ze(e,a){let n=V(),{id:r=`headlessui-listbox-label-${n}`,...l}=e,t=w(\"Listbox.Label\"),p=k(\"Listbox.Label\"),u=_(t.labelRef,a);K(()=>p.registerLabel(r),[r]);let i=f(()=>{var m;return(m=t.buttonRef.current)==null?void 0:m.focus({preventScroll:!0})}),b=E(()=>({open:t.listboxState===0,disabled:t.disabled}),[t]);return M({ourProps:{ref:u,id:r,onClick:i},theirProps:l,slot:b,defaultTag:$e,name:\"Listbox.Label\"})}let Je=\"ul\",qe=ne.RenderStrategy|ne.Static;function Ye(e,a){var T;let n=V(),{id:r=`headlessui-listbox-options-${n}`,...l}=e,t=w(\"Listbox.Options\"),p=k(\"Listbox.Options\"),u=_(t.optionsRef,a),i=j(),b=j(),R=De(),m=(()=>R!==null?(R&Q.Open)===Q.Open:t.listboxState===0)();te(()=>{var L;let o=t.optionsRef.current;o&&t.listboxState===0&&o!==((L=we(o))==null?void 0:L.activeElement)&&o.focus({preventScroll:!0})},[t.listboxState,t.optionsRef]);let P=f(o=>{switch(b.dispose(),o.key){case y.Space:if(t.searchQuery!==\"\")return o.preventDefault(),o.stopPropagation(),p.search(o.key);case y.Enter:if(o.preventDefault(),o.stopPropagation(),t.activeOptionIndex!==null){let{dataRef:L}=t.options[t.activeOptionIndex];p.onChange(L.current.value)}t.mode===0&&(p.closeListbox(),$().nextFrame(()=>{var L;return(L=t.buttonRef.current)==null?void 0:L.focus({preventScroll:!0})}));break;case D(t.orientation,{vertical:y.ArrowDown,horizontal:y.ArrowRight}):return o.preventDefault(),o.stopPropagation(),p.goToOption(v.Next);case D(t.orientation,{vertical:y.ArrowUp,horizontal:y.ArrowLeft}):return o.preventDefault(),o.stopPropagation(),p.goToOption(v.Previous);case y.Home:case y.PageUp:return o.preventDefault(),o.stopPropagation(),p.goToOption(v.First);case y.End:case y.PageDown:return o.preventDefault(),o.stopPropagation(),p.goToOption(v.Last);case y.Escape:return o.preventDefault(),o.stopPropagation(),p.closeListbox(),i.nextFrame(()=>{var L;return(L=t.buttonRef.current)==null?void 0:L.focus({preventScroll:!0})});case y.Tab:o.preventDefault(),o.stopPropagation();break;default:o.key.length===1&&(p.search(o.key),b.setTimeout(()=>p.clearSearch(),350));break}}),S=oe(()=>{var o;return(o=t.buttonRef.current)==null?void 0:o.id},[t.buttonRef.current]),g=E(()=>({open:t.listboxState===0}),[t]),x={\"aria-activedescendant\":t.activeOptionIndex===null||(T=t.options[t.activeOptionIndex])==null?void 0:T.id,\"aria-multiselectable\":t.mode===1?!0:void 0,\"aria-labelledby\":S,\"aria-orientation\":t.orientation,id:r,onKeyDown:P,role:\"listbox\",tabIndex:0,ref:u};return M({ourProps:x,theirProps:l,slot:g,defaultTag:Je,features:qe,visible:m,name:\"Listbox.Options\"})}let Ze=\"li\";function et(e,a){let n=V(),{id:r=`headlessui-listbox-option-${n}`,disabled:l=!1,value:t,...p}=e,u=w(\"Listbox.Option\"),i=k(\"Listbox.Option\"),b=u.activeOptionIndex!==null?u.options[u.activeOptionIndex].id===r:!1,R=u.isSelected(t),m=h(null),P=Ae(m),S=me({disabled:l,value:t,domRef:m,get textValue(){return P()}}),g=_(a,m);K(()=>{if(u.listboxState!==0||!b||u.activationTrigger===0)return;let A=$();return A.requestAnimationFrame(()=>{var d,H;(H=(d=m.current)==null?void 0:d.scrollIntoView)==null||H.call(d,{block:\"nearest\"})}),A.dispose},[m,b,u.listboxState,u.activationTrigger,u.activeOptionIndex]),K(()=>i.registerOption(r,S),[S,r]);let x=f(A=>{if(l)return A.preventDefault();i.onChange(t),u.mode===0&&(i.closeListbox(),$().nextFrame(()=>{var d;return(d=u.buttonRef.current)==null?void 0:d.focus({preventScroll:!0})}))}),T=f(()=>{if(l)return i.goToOption(v.Nothing);i.goToOption(v.Specific,r)}),o=Se(),L=f(A=>o.update(A)),U=f(A=>{o.wasMoved(A)&&(l||b||i.goToOption(v.Specific,r,0))}),B=f(A=>{o.wasMoved(A)&&(l||b&&i.goToOption(v.Nothing))}),W=E(()=>({active:b,selected:R,disabled:l}),[b,R,l]);return M({ourProps:{id:r,ref:g,role:\"option\",tabIndex:l===!0?void 0:-1,\"aria-disabled\":l===!0?!0:void 0,\"aria-selected\":R,disabled:void 0,onClick:x,onFocus:T,onPointerEnter:L,onMouseEnter:L,onPointerMove:U,onMouseMove:U,onPointerLeave:B,onMouseLeave:B},theirProps:p,slot:W,defaultTag:Ze,name:\"Listbox.Option\"})}let tt=F(Qe),ot=F(Xe),nt=F(ze),it=F(Ye),rt=F(et),It=Object.assign(tt,{Button:ot,Label:nt,Options:it,Option:rt});export{It as Listbox};\n","import{useRef as o,useState as f}from\"react\";import{useEvent as a}from'./use-event.js';function T(l,r,c){let[i,s]=f(c),e=l!==void 0,t=o(e),u=o(!1),d=o(!1);return e&&!t.current&&!u.current?(u.current=!0,t.current=e,console.error(\"A component is changing from uncontrolled to controlled. This may be caused by the value changing from undefined to a defined value, which should not happen.\")):!e&&t.current&&!d.current&&(d.current=!0,t.current=e,console.error(\"A component is changing from controlled to uncontrolled. This may be caused by the value changing from a defined value to undefined, which should not happen.\")),[e?l:i,a(n=>(e||s(n),r==null?void 0:r(n)))]}export{T as useControllable};\n","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\n}), 'Check');","import React, { Fragment, useRef, useState, useEffect } from 'react'\nimport { Listbox, Transition } from '@headlessui/react'\nimport CheckIcon from '@mui/icons-material/Check'\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore'\nimport _ from 'lodash'\n\nimport { cn } from '../../helper'\n\nconst Select = ({\n className,\n name,\n options,\n label,\n value,\n onChange,\n required,\n labelHidden,\n}) => {\n const listboxButton = useRef(null)\n const [validityChecked, setValidityChecked] = useState(false)\n const [invalid, setInvalid] = useState(false)\n\n const optionsByValue = options.reduce(\n (obj, option) => ({ ...obj, [option.value]: option.text }),\n {},\n )\n\n const finalLabel = `${label}${required ? '*' : ''}`\n\n const nativeSelect = useRef(null)\n\n useEffect(() => {\n if (nativeSelect?.current) {\n nativeSelect.current.value = value\n }\n })\n\n return (\n <>\n {\n setInvalid(false)\n onChange(event)\n }}\n className={className}\n >\n {({ open }) => (\n
\n {\n event.preventDefault()\n listboxButton?.current?.click()\n }}\n onInvalid={(event) => {\n setInvalid(!Boolean(event.target.value))\n setValidityChecked(true)\n }}\n required={required}\n >\n \n {options.map((option) => (\n
\n )}\n
\n \n )\n}\n\nexport default Select\n","import React, { useState } from 'react'\nimport _ from 'lodash'\n\nimport RichText from './RichText'\nimport { cn } from '../../helper'\n\nconst Checkbox = ({\n className,\n htmlId,\n name,\n value,\n onChange,\n label,\n required,\n}) => {\n const finalLabel = `${label}${required ? '*' : ''}`\n const [validityChecked, setValidityChecked] = useState(false)\n\n return (\n
\n
\n
\n setValidityChecked(true)}\n {...(onChange && {\n onChange: (event) => onChange(event.target.checked),\n })}\n className={cn(\n 'h-5 w-5 text-body border-body focus:ring-0 focus:outline-0',\n validityChecked && 'invalid:border-red',\n )}\n />\n
\n
\n \n
\n
\n
\n )\n}\n\nexport default Checkbox\n","import { useState } from 'react'\n\nexport function getInputOnChange(setValue) {\n return (val) => {\n if (!val) {\n setValue(val)\n } else if (typeof val === 'function') {\n setValue(val)\n } else if (typeof val === 'object' && 'nativeEvent' in val) {\n const { currentTarget } = val\n\n if (currentTarget.type === 'checkbox') {\n setValue(currentTarget.checked)\n } else {\n setValue(currentTarget.value)\n }\n } else {\n setValue(val)\n }\n }\n}\n\nexport function useInputState(initialState) {\n const [value, setValue] = useState(initialState)\n return [value, getInputOnChange(setValue)]\n}\n","export const mapRequestData = ({ mapping, data = {} }) => {\n if (typeof mapping !== 'function') return {}\n return {\n ...data,\n 'g-recaptcha-response': data.recaptcha,\n ...mapping(data),\n }\n}\n\nexport const cloudRegistrationMapping = (data = {}) => ({\n company: data.organization,\n email: data.email,\n fromWhereDidYouKnowUs: data.howhear,\n // fromWhereDidYouKnowUsText: data.howhear,\n givenName: data.givenName,\n language: data.language,\n newsletter: false,\n phone: data.phone,\n privacypolicy: true,\n surname: data.familyName,\n // New\n recaptcha: data.recaptcha,\n message: data.message,\n organizationType: data.organizationType,\n})\n\nexport const onPremiseRegistrationMapping = (data = {}) => ({\n company: data.organization,\n email: data.email,\n firstname: data.givenName,\n fromWhereDidYouKnowUs: data.howhear,\n // fromWhereDidYouKnowUsText: data.howhear,\n language: data.language,\n lastname: data.familyName,\n newsletter: false,\n phone: data.phone,\n privacypolicy: true,\n // New\n recaptcha: data.recaptcha,\n message: data.message,\n organizationType: data.organizationType,\n})\n\nexport const contactMapping = (data = {}) => ({\n // *** new mapping ***\n // user: {\n // firstname: data.givenName,\n // lastname: data.familyName,\n // organization: data.organization,\n // },\n // contact: {\n // email: data.email,\n // phone: data.phone,\n // },\n // payload: {\n // message_title: data.subject,\n // message_content: data.message,\n // contact_context: 'contact',\n // },\n // newsletter: {\n // newsletter_subscription: false,\n // newsletter_identifier: 'og87tz587tz5847t',\n // },\n // *** CURRENT MAPPING ***\n company: data.organization,\n email: data.email,\n language: data.language,\n message: data.message,\n name: `${data.givenName} ${data.familyName}`,\n newsletter: false,\n phone: data.phone,\n privacypolicy: true,\n subject: data.subject,\n // New\n recaptcha: data.recaptcha,\n organizationType: data.organizationType,\n fromWhereDidYouKnowUs: data.howhear,\n // fromWhereDidYouKnowUsText: data.howhear,\n product: data.product,\n eventInformation: data.eventInformation,\n})\n\nexport const trainingMapping = (data = {}) => data\n","import React, { useState, useRef } from 'react'\nimport PropTypes from 'prop-types'\nimport { navigate } from 'gatsby'\nimport { useTranslation } from 'react-i18next'\nimport Axios from 'axios'\nimport _ from 'lodash'\nimport Recaptcha from 'react-google-recaptcha'\nimport { isBrowser } from '../../utils/isBrowser'\n\nimport TextField from './TextField'\nimport TextArea from './TextArea'\nimport Select from './Select'\nimport RichText from './RichText'\nimport Checkbox from './Checkbox'\nimport Button from './Button'\nimport { Products } from '../../constants/enums'\nimport { useInputState } from '../../hooks/useInputState'\nimport { cn } from '../../helper'\nimport {\n mapRequestData,\n cloudRegistrationMapping,\n onPremiseRegistrationMapping,\n contactMapping,\n} from '../../utils/form'\n\nconst AxiosOptions = {\n [Products.free]: {\n [Products.cloud]: {\n apiUrl: '/api/relution-cloud-registration',\n dataMapping: cloudRegistrationMapping,\n },\n [Products.onpremise]: {\n apiUrl: '/api/relution-on-premise-registration',\n dataMapping: onPremiseRegistrationMapping,\n },\n },\n [Products.cloud]: {\n apiUrl: '/api/relution-contact-form',\n dataMapping: contactMapping,\n },\n [Products.onpremise]: {\n apiUrl: '/api/relution-contact-form',\n dataMapping: contactMapping,\n },\n}\n\nconst FormRegistration = ({\n name = 'registration',\n variant,\n className,\n terms,\n redirects = {},\n}) => {\n const recaptchaSiteKey = process.env.GATSBY_GOOGLE_RECAPTCHA_KEY\n //const recaptchaSiteKey = \"6LfW2jAbAAAAALVxxhlv6WpM2F6IEPcDBFiWKRFZ\";\n const recaptchaEnabled =\n isBrowser && _.isString(recaptchaSiteKey) && recaptchaSiteKey !== ''\n const { t, i18n } = useTranslation()\n const formName = name + '-'\n const showProductOptions = variant === 'free'\n const productOptions = [\n { text: t('Products.cloud'), value: Products.cloud },\n { text: t('Products.onpremise'), value: Products.onpremise },\n ]\n const howhearOptions = [\n { text: t('Form.howhearOption.googleSearch'), value: 'googleSearch' },\n { text: t('Form.howhearOption.recommendation'), value: 'recommendation' },\n { text: t('Form.howhearOption.socialMedia'), value: 'socialMedia' },\n { text: t('Form.howhearOption.otherWebsite'), value: 'otherWebsite' },\n { text: t('Form.howhearOption.tradeFair'), value: 'tradeFair' },\n { text: t('Form.howhearOption.trusted'), value: 'trusted' },\n ]\n\n const organizationTypeOptions = [\n { text: t('Form.organizationTypeOption.education'), value: 'education' },\n {\n text: t('Form.organizationTypeOption.organization'),\n value: 'organization',\n },\n { text: t('Form.organizationTypeOption.public'), value: 'public' },\n { text: t('Form.organizationTypeOption.healthcare'), value: 'healthcare' },\n { text: t('Form.organizationTypeOption.ngo'), value: 'ngo' },\n { text: t('Form.organizationTypeOption.other'), value: 'other' },\n ]\n\n const [isPending, setPending] = useState(false)\n const [errorMessage, setErrorMessage] = useState(null)\n const [pendingMessage, setPendingMessage] = useState(null)\n const [recaptchaReady, setRecaptchaReady] = useState(false)\n\n const { language } = i18n\n const [givenName, setGivenName] = useInputState('')\n const [familyName, setFamilyName] = useInputState('')\n const [organization, setOrganization] = useInputState('')\n const [organizationType, setOrganizationType] = useState('')\n const [email, setEmail] = useInputState('')\n const [phone, setPhone] = useInputState('')\n const [howhear, setHowhear] = useState('')\n const [product, setProduct] = useState('')\n const [message, setMessage] = useInputState('')\n const recaptchaRef = useRef(null)\n\n if (isBrowser) {\n const waitForCaptchaInitialization = () => {\n return new Promise((resolve, reject) => {\n const intervalId = setInterval(() => {\n if (!!window.grecaptcha && !!window.grecaptcha.render) {\n clearInterval(intervalId)\n resolve(window.grecaptcha)\n }\n }, 100)\n })\n }\n\n waitForCaptchaInitialization().then((grecaptcha) => {\n setRecaptchaReady(!!grecaptcha)\n })\n }\n\n const handleSubmit = (event) => {\n event.preventDefault()\n if (isPending) return\n setErrorMessage(null)\n setPendingMessage(null)\n\n const recaptcha = recaptchaRef.current?.getValue()\n\n if (recaptchaEnabled && !recaptcha) {\n setErrorMessage(t('Form.error.recaptchaPending'))\n return\n }\n\n let axiosOptions = AxiosOptions[variant]\n\n if (variant === Products.free) {\n axiosOptions = axiosOptions[product]\n }\n\n if (axiosOptions) {\n const options = axiosOptions\n const data = {\n language,\n givenName,\n familyName,\n organization,\n organizationType,\n email,\n phone,\n howhear,\n product,\n message,\n recaptcha,\n subject: 'Inquiry offering Cloud/On Premises (' + variant + ')',\n }\n sendData(options, data)\n }\n }\n\n function recaptchaOnExpired(value) {\n setErrorMessage(t('Form.error.recaptchaExpired'))\n }\n\n function recaptchaOnErrored(value) {\n setErrorMessage(t('Form.error.recaptchaNotLoaded'))\n }\n\n function recaptchaAsyncScriptOnLoad(value) {\n if (!value.loaded && value.loaded != undefined) {\n setErrorMessage(t('Form.error.recaptchaNotLoaded'))\n } else if (!value.errored && value.errored != undefined) {\n setErrorMessage(\n t('Form.error.recaptchaNotLoaded') + '(Errored:' + value.errored + ')',\n )\n } else {\n //Script has been loaded. Hide the error message\n setErrorMessage(null)\n }\n }\n\n const sendData = async (options, data = {}) => {\n setPending(true)\n const pendingMessageId =\n variant === Products.free ? `${variant}_${product}` : variant\n setPendingMessage(t(`Form.pendingMessage.${pendingMessageId}`))\n\n const redirectUri =\n variant === Products.free ? redirects[product] : redirects.other\n\n try {\n const requestData = mapRequestData({ mapping: options.dataMapping, data })\n const result = await Axios.post(options.apiUrl, requestData)\n\n if (variant === Products.free && product === Products.cloud) {\n const response = result.data\n\n // Legacy code taken over from old site:\n if (response.JSESSIONID) {\n let myDate = new Date()\n\n myDate.setMinutes(myDate.getMinutes() + 10)\n document.cookie =\n 'JSESSIONID=' +\n response.JSESSIONID +\n ';expires=' +\n myDate.toUTCString() +\n ';path=/;domain=.relution.io'\n window.open('https://live.relution.io', '_blank')\n setTimeout(() => {\n window.location.href = redirectUri\n })\n } else if (\n response.errorMessage &&\n response.errorMessage.includes(\n '\"errorCode\":\"REGISTRATION_EMAIL_ALREADY_IN_USE\"',\n )\n ) {\n setErrorMessage(t('Form.error.registrationEmailInUse'))\n } else {\n setErrorMessage(t('Form.error.registrationUnkown'))\n }\n } else {\n navigate(redirectUri)\n }\n } catch (error) {\n setErrorMessage(t('Form.error.registrationUnkown'))\n console.warn(error)\n } finally {\n setPending(false)\n }\n }\n\n return (\n
\n
\n \n \n \n \n \n \n {showProductOptions && (\n
\n \n
\n )}\n
\n \n
\n \n
\n \n
\n {recaptchaEnabled && (\n
\n {recaptchaReady ? (\n \n ) : (\n

{t('Form.error.loadingRecaptcha')}

\n )}\n
\n )}\n {errorMessage && (\n \n {errorMessage}\n \n )}\n
\n \n {t(`SectionsAccountRegistration.${variant}.submit`)}\n \n
\n {pendingMessage && isPending && (\n {pendingMessage}\n )}\n
\n \n )\n}\n\nFormRegistration.propTypes = {\n name: PropTypes.string,\n variant: PropTypes.string,\n redirects: PropTypes.object,\n}\n\nexport default FormRegistration\n","import React, { useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport { useTranslation } from 'react-i18next'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py } from '../../constants/space'\nimport { Products } from '../../constants/enums'\nimport HeadingColumn from '../blocks/HeadingColumn'\nimport RichText from '../base/RichText'\nimport FormRegistration from '../base/FormRegistration'\nimport HeadlineTag from '../base/HeadlineTag'\n\nconst AccountRegistration = ({\n as: Tag = 'div',\n className,\n headingBlock,\n copy,\n copyPreProducts,\n copyPostProducts,\n copyPreForm,\n copyPostForm,\n productCards = [],\n pageFree: redirectUriOther,\n pageCloud: redirectUriCloud,\n pageOP: redirectUriOnPremise,\n terms,\n space,\n ...props\n}) => {\n const { t } = useTranslation()\n const headlineOrder = headingBlock?.headlineOrder || 2\n\n const products = productCards.map((card) => ({\n title: card.title,\n headline: card.headline,\n copy: card.copy?.data?.copy,\n value: Products[card.product],\n }))\n\n const [currentProduct, setProduct] = useState(products[0].value)\n\n const redirects = {\n other: redirectUriOther?.route,\n [Products.cloud]: redirectUriCloud?.route,\n [Products.onpremise]: redirectUriOnPremise?.route,\n }\n\n return (\n \n
\n {headingBlock && (\n \n )}\n {copy && (\n {copy}\n )}\n
\n {copyPreProducts?.data?.copyPreProducts && (\n \n {copyPreProducts?.data?.copyPreProducts}\n \n )}\n
    \n {products.map((plan, index) => (\n setProduct(plan.value)}\n className={cn(\n 'p-5 flex flex-col cursor-pointer bg-cover overflow-hidden md:p-10',\n index === 0 && 'sm:col-span-2 lg:col-span-1',\n currentProduct === plan.value\n ? 'text-white bg-green-pattern'\n : 'bg-gray-pattern',\n )}\n >\n
    \n \n {plan.title}\n \n \n {plan.headline}\n \n \n {plan.copy}\n \n
    \n
    \n
    \n {currentProduct === plan.value\n ? t('SectionsAccountRegistration.selected')\n : t('SectionsAccountRegistration.select')}\n
    \n \n
    \n \n ))}\n
\n {copyPostProducts?.data?.copyPostProducts && (\n \n {copyPostProducts?.data?.copyPostProducts}\n \n )}\n
\n
\n {copyPreForm?.data?.copyPreForm && (\n \n {copyPreForm?.data?.copyPreForm}\n \n )}\n \n {copyPostForm?.data?.copyPostForm && (\n \n {copyPostForm?.data?.copyPostForm}\n \n )}\n
\n
\n
\n )\n}\n\nAccountRegistration.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n}\n\nexport default AccountRegistration\n\nexport const query = graphql`\n fragment SectionsAccountRegistration on STRAPI__COMPONENT_SECTIONS_ACCOUNT_REGISTRATION {\n id\n strapi_component\n space\n disableTopMargin\n anchor\n tag\n headingBlock {\n ...BlocksHeadingBlock\n }\n copy {\n data {\n copy\n }\n }\n copyPreForm {\n data {\n copyPreForm\n }\n }\n copyPostForm {\n data {\n copyPostForm\n }\n }\n copyPreProducts {\n data {\n copyPreProducts\n }\n }\n copyPostProducts {\n data {\n copyPostProducts\n }\n }\n terms {\n data {\n terms\n }\n }\n productCards {\n product\n title\n headline\n copy {\n data {\n copy\n }\n }\n }\n pageOP {\n route\n }\n pageFree {\n route\n }\n pageCloud {\n route\n }\n }\n`\n","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5m0-6c-.83 0-1.5.67-1.5 1.5S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5m0 12c-.83 0-1.5.68-1.5 1.5s.68 1.5 1.5 1.5 1.5-.68 1.5-1.5-.67-1.5-1.5-1.5M7 19h14v-2H7zm0-6h14v-2H7zm0-8v2h14V5z\"\n}), 'FormatListBulleted');","import React, { Fragment } from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport { uid } from 'react-uid'\nimport { Popover, Transition } from '@headlessui/react'\nimport FormatListBulletedIcon from '@mui/icons-material/FormatListBulleted'\nimport CloseIcon from '@mui/icons-material/Close'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport Button from '../base/Button'\nimport { addLeadingHash } from '../../utils/links'\nimport { cn } from '../../helper'\n// NOTE: For the AnchorNavigation space is deactivated, because it was already\n// defined with \"medium\" in several places in Strapi and this value does not\n// correspond to the desired design.\n// import { py, Space } from '../../constants/space'\n\nconst AnchorNavigation = ({ items = [], className, space, ...props }) => (\n \n {items && items.length > 0 && (\n <>\n {/* Desktop version as scrollable horizontal list */}\n
    \n {items.map((item) => (\n
  • \n {item && (\n \n {item.text}\n \n )}\n
  • \n ))}\n
\n {/* Mobile version with floating button an menu */}\n \n {({ open }) => (\n /* Use the `open` state to conditionally change the direction of the chevron icon. */\n <>\n
\n \n \n \n Inhalt\n
\n
\n \n \n Close\n
\n
\n \n
\n\n \n \n
\n
\n

Auf dieser Seite

\n
\n
    \n {items.map((item) => (\n
  • \n {item && (\n \n {item.text}\n \n )}\n
  • \n ))}\n
\n
\n
\n \n \n \n Inhalt\n
\n
\n \n \n Close\n
\n
\n \n \n \n \n \n )}\n \n \n )}\n \n)\n\nAnchorNavigation.propTypes = {\n items: PropTypes.array,\n}\n\nexport default AnchorNavigation\n\nexport const query = graphql`\n fragment SectionsAnchorNavigation on STRAPI__COMPONENT_SECTIONS_ANCHOR_NAVIGATION {\n disableTopMargin\n space\n id\n strapi_component\n items {\n anchor\n text\n }\n }\n`\n","import o, { Component as h } from \"react\";\nimport { createPortal as y } from \"react-dom\";\nimport a from \"imagesloaded\";\nimport s from \"prop-types\";\nconst u = !!(typeof window < \"u\" && window.document && window.document.createElement);\nclass r extends h {\n constructor(e) {\n super(e), this.state = {\n flickityReady: !1,\n flickityCreated: !1,\n cellCount: 0\n }, this.carousel = null, this.flkty = null;\n }\n static getDerivedStateFromProps(e, t) {\n const i = o.Children.count(e.children);\n return i !== t.cellCount ? { flickityReady: !1, cellCount: i } : null;\n }\n componentDidUpdate(e, t) {\n if (!this.flkty)\n return;\n const {\n children: i,\n options: { draggable: l, initialIndex: n },\n reloadOnUpdate: c,\n disableImagesLoaded: d\n } = this.props, { flickityReady: f } = this.state;\n if (c || !t.flickityReady && f) {\n const p = this.flkty.isActive;\n this.flkty.deactivate(), this.flkty.selectedIndex = n || 0, this.flkty.options.draggable = l === void 0 ? i ? i.length > 1 : !1 : l, p && this.flkty.activate(), !d && this.carousel && a(this.carousel, () => {\n this.flkty.reloadCells();\n });\n } else\n this.flkty.reloadCells();\n }\n async componentDidMount() {\n if (!u || !this.carousel)\n return null;\n const e = (await import(\"flickity\")).default, { flickityRef: t, options: i } = this.props;\n this.flkty = new e(this.carousel, i), t && t(this.flkty), this.props.static ? this.setReady() : this.setState({ flickityCreated: !0 });\n }\n setReady() {\n if (this.state.flickityReady)\n return;\n const e = () => this.setState({ flickityReady: !0 });\n this.props.disableImagesLoaded ? e() : a(this.carousel, e);\n }\n renderPortal() {\n if (!this.carousel)\n return null;\n const e = this.carousel.querySelector(\".flickity-slider\");\n if (e) {\n const t = y(this.props.children, e);\n return setTimeout(() => this.setReady(), 0), t;\n }\n }\n render() {\n return o.createElement(\n this.props.elementType,\n {\n className: this.props.className,\n ref: (e) => {\n this.carousel = e;\n }\n },\n this.props.static ? this.props.children : this.renderPortal()\n );\n }\n}\nr.propTypes = {\n children: s.array,\n className: s.string,\n disableImagesLoaded: s.bool,\n elementType: s.string,\n flickityRef: s.func,\n options: s.object,\n reloadOnUpdate: s.bool,\n static: s.bool\n};\nr.defaultProps = {\n className: \"\",\n disableImagesLoaded: !1,\n elementType: \"div\",\n options: {},\n reloadOnUpdate: !1,\n static: !1\n};\nexport {\n r as default\n};\n//# sourceMappingURL=react-flickity-component.es.js.map\n","import PropTypes from 'prop-types'\n\nexport const linkPropTypes = PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n url: PropTypes.string,\n text: PropTypes.string,\n newTab: PropTypes.bool,\n})\n\nexport const mediaPropTypes = PropTypes.oneOfType([\n PropTypes.shape({ localFile: PropTypes.object }),\n PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n alternativeText: PropTypes.string,\n mime: PropTypes.string,\n url: PropTypes.string,\n }),\n])\n\nexport const buttonLinkPropTypes = PropTypes.shape({\n theme: PropTypes.string,\n text: PropTypes.string,\n newTab: PropTypes.bool,\n})\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { GatsbyImage, getImage } from 'gatsby-plugin-image'\nimport _ from 'lodash'\n\nimport { mediaPropTypes } from '../../utils/types'\nimport { getStrapiMedia } from '../../utils/media'\n\nconst Image = ({ media, className, ...props }) => {\n const isDynamicImage = Boolean(_.get(media, 'localFile.childImageSharp'))\n const alt = media.alternativeText || 'An image uploaded to Strapi'\n\n if (isDynamicImage) {\n return (\n \n )\n }\n\n return {alt}\n}\n\nImage.propTypes = {\n media: mediaPropTypes,\n className: PropTypes.string,\n}\n\nexport default Image\n","export function getStrapiMedia(url) {\n if (url == null) {\n return null\n }\n\n // Return the full URL if the media is hosted on an external provider\n if (url.startsWith('http') || url.startsWith('//')) {\n return url\n }\n\n // Otherwise prepend the URL path with the Strapi URL\n return `${process.env.GATSBY_STRAPI_URL || 'http://localhost:1337'}${url}`\n}\n\nexport const getAspectRatio = ({ width, height }) => {\n const w = parseInt(width)\n const h = parseInt(height)\n const valid = !isNaN(w) && w > 0 && !isNaN(h) && h > 0\n const aspectRatio = valid ? h / w : 1\n return aspectRatio\n}\n\nexport const getAspectRatioInverted = ({ width, height }) =>\n 1 / getAspectRatio({ width, height })\n\nexport const getAspectRatioCssPercent = ({ width, height }) =>\n `${getAspectRatio({ width, height } || 0) * 100}%`\n\nexport const getAspectRatioCssPercentInverted = ({ width, height }) =>\n `${getAspectRatioInverted({ width, height } || 0) * 100}%`\n\nexport const getAspectRatioCssString = ({ width, height }) => {\n const w = parseInt(width)\n const h = parseInt(height)\n const valid = !isNaN(w) && w > 0 && !isNaN(h) && h > 0\n const aspectRatio = `${h} / ${w}`\n return valid && aspectRatio\n}\n\nexport const insertAspectRatioCssProp = ({ width, height }) => ({\n aspectRatio: getAspectRatio({ width, height }),\n})\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { useTranslation } from 'react-i18next'\nimport { classNames } from '../../helper'\nimport HeadlineTag from './HeadlineTag'\nimport PlatformShelf from './PlatformShelf'\nimport Image from './Image'\nimport { ArticleTypes } from '../../constants/enums'\nimport { formatRange, parseStrapiDate } from '../../utils/date'\n\nconst HEADLINE_CLASSES = {\n [ArticleTypes.news]: `px-2 bg-rio-500 text-white decoration-clone`,\n [ArticleTypes.successStory]: `px-2 bg-rio-500 text-white decoration-clone`,\n [ArticleTypes.insight]: ``,\n [ArticleTypes.releaseNote]: ``,\n [ArticleTypes.event]: ``,\n}\n\nconst ArticleCard = ({\n as: Tag = 'article',\n className,\n headlineOrder = 2,\n headline,\n subline,\n badgeText,\n datetime,\n Link,\n image,\n platforms = [],\n variant = ArticleTypes.releaseNote,\n highlighted = false,\n startDate,\n endDate,\n logo,\n}) => {\n const { i18n } = useTranslation()\n const { language } = i18n\n\n const Background =\n variant === ArticleTypes.insight ? (\n
\n ) : variant === ArticleTypes.releaseNote ||\n variant === ArticleTypes.event ? (\n
\n ) : (\n image &&\n image.Component && (\n \n )\n )\n\n const showDatetime =\n variant === ArticleTypes.insight || variant === ArticleTypes.releaseNote\n\n const headlineContainerClasses =\n variant === ArticleTypes.news || variant === ArticleTypes.successStory\n ? 'mt-auto'\n : ''\n\n const headlineWithBg =\n variant === ArticleTypes.news || variant === ArticleTypes.successStory\n\n const showDateRange = variant === ArticleTypes.event\n const dateRange = formatRange({\n startDate: parseStrapiDate(startDate),\n endDate: parseStrapiDate(endDate),\n locale: language,\n })\n\n const showMetaInfo = Boolean(\n (showDatetime && datetime) ||\n (platforms && platforms.length) ||\n (showDateRange && dateRange),\n )\n\n return (\n \n
\n {Background}\n \n {badgeText && (\n

\n \n {badgeText}\n \n

\n )}\n {headline && (\n \n \n {headline}\n \n {subline && (\n \n {subline}\n \n )}\n \n )}\n {showMetaInfo && (\n
\n {datetime && (\n

{datetime}

\n )}\n {dateRange && (\n

{dateRange}

\n )}\n {logo && (\n \n )}\n {platforms && platforms.length > 0 && (\n \n )}\n
\n )}\n
\n
\n
\n {Link && (\n \n \n {badgeText}: {headline}\n \n \n )}\n \n )\n}\n\nArticleCard.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n variant: PropTypes.string,\n Link: PropTypes.any,\n image: PropTypes.any,\n badgeText: PropTypes.string,\n headline: PropTypes.string,\n subline: PropTypes.string,\n platforms: PropTypes.array,\n datetimetime: PropTypes.string,\n highlighted: PropTypes.bool,\n}\n\nexport default ArticleCard\n","import React, { useEffect, useCallback, useRef, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { uid } from 'react-uid'\nimport Flickity from 'react-flickity-component'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py, Space } from '../../constants/space'\nimport ArticleCard from '../base/ArticleCard'\nimport HeadlineTag from '../base/HeadlineTag'\n\nconst ArticleCarousel = ({\n as: Tag = 'aside',\n className,\n headlineOrder = 2,\n headline,\n items = [],\n space,\n ...props\n}) => {\n const [selectedIndex, setSelectedIndex] = useState(0)\n const flktyElem = useRef()\n function onChange() {\n if (flktyElem.current) {\n setSelectedIndex(flktyElem.current.selectedIndex)\n }\n }\n const onChangeRef = useRef(onChange)\n\n useEffect(() => {\n onChangeRef.current = onChange\n })\n\n const handleOnChange = useCallback(() => {\n onChangeRef.current?.()\n }, [])\n\n const setFlickityRef = useCallback((ref) => {\n flktyElem.current?.off('change', handleOnChange)\n flktyElem.current = ref\n flktyElem.current?.on('change', handleOnChange)\n }, [])\n\n const gotoSlide = (index) => {\n if (flktyElem.current) {\n flktyElem.current.stopPlayer()\n flktyElem.current.select(index)\n }\n }\n\n const flickityOptions = {\n autoPlay: true,\n pageDots: false,\n prevNextButtons: false,\n wrapAround: true,\n cellAlign: 'left',\n }\n\n return (\n \n
\n {headline && (\n \n \n {headline}\n \n \n )}\n {items && items.length && (\n <>\n \n {items.map((item) => (\n \n \n \n ))}\n \n
    \n {items.map((item, index) => (\n \n gotoSlide(index)}\n >\n \n \n \n ))}\n
\n \n )}\n
\n \n )\n}\n\nArticleCarousel.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headline: PropTypes.string,\n headlineOrder: PropTypes.number,\n items: PropTypes.array,\n}\n\nexport default ArticleCarousel\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { uid } from 'react-uid'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py } from '../../constants/space'\nimport HeadlineTag from '../base/HeadlineTag'\nimport ArticleCard from '../base/ArticleCard'\nimport Button from '../base/Button'\n\nconst ArticleCollection = ({\n as: Tag = 'div',\n className,\n headlineOrder = 2,\n headline,\n items = [],\n Link,\n linkText,\n id,\n space,\n ...props\n}) => (\n \n
\n {headline && (\n \n \n {headline}\n \n \n )}\n {items && items.length && (\n
    \n {items.map((item, index) => (\n \n \n \n ))}\n
\n )}\n {Link && linkText && (\n
\n \n
\n )}\n
\n
\n)\n\nArticleCollection.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n headline: PropTypes.string,\n items: PropTypes.array,\n linkText: PropTypes.string,\n Link: PropTypes.any,\n id: PropTypes.string,\n}\n\nexport default ArticleCollection\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\n\nimport { cn } from '../../helper'\nimport RichText from '../base/RichText'\n\nconst TextColumn = ({ className, richtext }) => (\n \n {richtext}\n \n)\n\nTextColumn.propTypes = {\n className: PropTypes.string,\n richtext: PropTypes.string,\n}\n\nexport default TextColumn\n\nexport const query = graphql`\n fragment BlocksTextBlock on STRAPI__COMPONENT_BLOCKS_TEXT_BLOCK {\n strapi_component\n id\n richtext {\n data {\n richtext\n }\n }\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport _ from 'lodash'\n\nimport { cn } from '../../helper'\n\nconst NarrowingClasses = ['', 'mx-auto w-3/4', 'mx-auto w-1/2']\n\nconst ImageColumn = ({\n as: Tag = 'div',\n className,\n image,\n aspectRatio,\n narrowing = 0,\n}) => {\n const narrowingIndex = parseInt(narrowing)\n const narrowingClasses =\n NarrowingClasses[narrowingIndex || 0] || narrowingIndex[0]\n\n const { width, height } = image || { width: 0, height: 0 }\n const [ratioWidth, ratioHeight] = _.isString(aspectRatio)\n ? aspectRatio.replace('aspect_', '').split('_')\n : []\n const ratioWidthInt = parseInt(ratioWidth, 10)\n const ratioHeightInt = parseInt(ratioHeight, 10)\n\n const ratioX = ratioWidthInt > 0 ? ratioWidthInt : parseInt(width, 10)\n const ratioY = ratioHeightInt > 0 ? ratioHeightInt : parseInt(height, 10)\n const ratio = Math.round((ratioY / ratioX) * 1000000) / 10000\n\n const style = {\n '--ratio': `${ratio}%`,\n }\n\n return (\n \n {image && image.Component && (\n \n )}\n \n )\n}\n\nImageColumn.propTypes = {\n as: PropTypes.string,\n className: PropTypes.string,\n image: PropTypes.object,\n aspectRatio: PropTypes.string,\n narrowing: PropTypes.number,\n}\n\nexport default ImageColumn\n\nexport const query = graphql`\n fragment BlocksImageBlock on STRAPI__COMPONENT_BLOCKS_IMAGE_BLOCK {\n strapi_component\n id\n aspectRatio\n narrowing\n image {\n ...SharedImage\n }\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport _ from 'lodash'\n\nimport { cn } from '../../helper'\nimport { Platforms } from '../../constants/enums'\n\nconst colors = {\n [Platforms.Apple]: 'text-red',\n [Platforms.Android]: 'text-purple',\n [Platforms.Windows]: 'text-blue',\n [Platforms.Relution]: 'text-rio-500',\n [Platforms.ChromeOS]: 'text-[#4b9f65]',\n // TODO: add technical changelog!\n}\n\nconst BadgeDividerBlock = ({\n as: Tag = 'div',\n className,\n platform = {\n platformId: Platforms.Relution,\n },\n text = 'Relution',\n}) => {\n const platformId = _.get(platform, 'platformId', Platforms.Relution)\n\n return (\n \n \n {text}\n \n \n )\n}\n\nBadgeDividerBlock.propTypes = {\n as: PropTypes.string,\n className: PropTypes.string,\n platform: PropTypes.object,\n text: PropTypes.string,\n}\n\nexport default BadgeDividerBlock\n\nexport const query = graphql`\n fragment BlocksBadgeDividerBlock on STRAPI__COMPONENT_BLOCKS_BADGE_DIVIDER_BLOCK {\n strapi_component\n id\n text\n platform {\n platformId\n }\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { uid } from 'react-uid'\n\nimport { cn } from '../../helper'\nimport { py } from '../../constants/space'\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport TextColumn from '../blocks/TextColumn'\nimport ImageColumn from '../blocks/ImageColumn'\nimport ArticleCollectionColumn from '../blocks/ArticleCollectionColumn'\nimport BadgeDividerBlock from '../blocks/BadgeDividerBlock'\n\nconst columnComponents = {\n TextColumn,\n ImageColumn,\n ArticleCollectionColumn,\n BadgeDividerBlock,\n}\n\nconst defaultSpacing = {\n TextColumn: `mt-15`,\n ImageColumn: `mt-15`,\n ArticleCollectionColumn: `mt-15`,\n BadgeDividerBlock: `mt-30`,\n}\n\nconst asideComponentClasses = {\n ArticleCollectionColumn: `lgmax:pt-5 lgmax:border-t lgmax:border-t-gray-500 lg:max-w-xxs lg:pl-5 lg:border-l lg:border-l-gray-500`,\n}\n\nconst indents = { 0: undefined, 1: 'mx-auto w-3/4', 2: 'mx-auto w-1/2' }\n\nconst mapColumns = (list, componentClasses = {}) =>\n list.map(({ component, attributes }, index) => {\n const Column = columnComponents[component]\n const defaultClasses = componentClasses[component]\n const indentClass = attributes.indent\n ? indents[attributes.indent]\n : undefined\n\n return (\n 0 && defaultSpacing[component],\n )}\n {...attributes}\n />\n )\n })\n\nconst ArticleColumns = ({\n as: Tag = 'div',\n className,\n contentItems = [],\n asideItems = [],\n space,\n ...props\n}) => {\n const contentColumn = mapColumns(contentItems)\n const asideColumn = mapColumns(asideItems, asideComponentClasses)\n\n return (\n \n
\n
{contentColumn}
\n
\n {asideColumn}\n
\n
\n \n )\n}\n\nArticleColumns.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n contentItems: PropTypes.array,\n asideItems: PropTypes.array,\n}\n\nexport default ArticleColumns\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { classNames } from '../../helper'\n\nconst Sizes = {\n 8: 'w-8 h-8',\n}\n\nconst StrokeWidth = {\n 2: 'before:border-2',\n}\n\nconst Spinner = ({ text, size = 8, strokeWidth = 2 }) => (\n \n {text}\n
\n)\n\nSpinner.propTypes = {\n text: PropTypes.string,\n size: PropTypes.number,\n strokeWidth: PropTypes.number,\n}\n\nexport default Spinner\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore'\n\nimport Spinner from './Spinner'\n\nconst LoadMoreButton = ({ text, loading = false, loadingText, onPress }) => (\n
\n {loading ? (\n \n \n \n ) : (\n \n {text}\n \n \n \n \n )}\n
\n)\n\nLoadMoreButton.propTypes = {\n text: PropTypes.string,\n loading: PropTypes.bool,\n loadingText: PropTypes.string,\n onPress: PropTypes.func,\n}\n\nexport default LoadMoreButton\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward'\n\nimport { classNames } from '../../helper'\n\nconst VARIANT = {\n Insight: 'Insight',\n Release_Note: 'Release_Note',\n}\n\nconst LoadMoreCard = ({\n as: Tag = 'div',\n className,\n text,\n numRemaining = 0,\n loading = false,\n loadingText,\n variant = VARIANT.Release_Note,\n onPress,\n}) => {\n const Background =\n variant === VARIANT.Insight ? (\n
\n ) : (\n
\n )\n\n return (\n \n
\n {Background}\n \n \n +\n {numRemaining}\n \n {text}\n {loading && (\n \n {loadingText}\n \n )}\n \n \n \n \n
\n
\n \n )\n}\n\nLoadMoreCard.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n variant: PropTypes.string,\n text: PropTypes.string,\n loading: PropTypes.bool,\n loadingText: PropTypes.string,\n numRemaining: PropTypes.number,\n onPress: PropTypes.func,\n}\n\nexport default LoadMoreCard\n","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z\"\n}), 'ArrowBack');","import React from 'react'\nimport PropTypes from 'prop-types'\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward'\nimport ArrowBackIcon from '@mui/icons-material/ArrowBack'\nimport { cn } from '../../helper'\nimport { useTranslation } from 'react-i18next'\n\nconst pageNumberClasses = {\n fixed: `relative inline-flex items-center px-2 sm:px-3 py-2 text-sm font-semibold focus:z-20`,\n ellipsis: `ring-1 ring-inset ring-off-white`,\n default: `ring-1 ring-inset ring-off-white hover:bg-gray-50 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-rio`,\n current: `ring-1 ring-inset ring-off-white hover:bg-gray-50 z-10 text-rio-600 text-white focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-rio`,\n}\n\nconst arrowButtonClasses = {\n fixed: `relative inline-flex items-center px-2 min-h-full ring-1 ring-inset ring-off-white`,\n default: `hover:bg-gray-50 focus:z-20 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-rio`,\n disabled: `text-off-white cursor-not-allowed`,\n}\n\nconst renderPageNumber = ({ number, currentPage, onClick }) => (\n
  • \n \n {number}\n \n
  • \n)\n\nconst renderEllipsis = ({ key }) => (\n
  • \n \n ...\n \n
  • \n)\n\nconst Pagination = ({\n itemsPerPage = 10,\n currentPage = 0,\n boundaryCount = 0,\n siblingCount = 2,\n showSiblingEllipsis = false,\n totalItems,\n onPageChange,\n className,\n}) => {\n const { t } = useTranslation()\n\n const totalPages = Math.ceil(totalItems / itemsPerPage)\n\n const handleClick = (newPage) => {\n if (newPage > 0 && newPage <= totalPages) {\n onPageChange(newPage)\n }\n }\n\n const showEllipsis = boundaryCount > 0 || showSiblingEllipsis\n\n const renderPageNumbers = () => {\n const pageNumbers = []\n const minPage = Math.max(1, currentPage - siblingCount)\n const maxPage = Math.min(totalPages, currentPage + siblingCount)\n\n // Render boundary pages at the start\n for (let i = 1; i <= boundaryCount && i <= totalPages; i++) {\n pageNumbers.push(\n renderPageNumber({\n number: i,\n currentPage,\n onClick: () => handleClick(i),\n }),\n )\n }\n\n // Render start ellipsis\n if (showEllipsis & (minPage > boundaryCount + 1)) {\n pageNumbers.push(renderEllipsis({ key: 'start-ellipsis' }))\n }\n\n // Render sibling pages\n for (let i = minPage; i <= maxPage; i++) {\n if (i > boundaryCount && i <= totalPages - boundaryCount) {\n pageNumbers.push(\n renderPageNumber({\n number: i,\n currentPage,\n onClick: (e) => {\n e.preventDefault()\n handleClick(i)\n },\n }),\n )\n }\n }\n\n // Render end ellipsis\n if (showEllipsis && maxPage < totalPages - boundaryCount) {\n pageNumbers.push(renderEllipsis({ key: 'end-ellipsis' }))\n }\n\n // Render boundary pages at the end\n for (let i = totalPages - boundaryCount + 1; i <= totalPages; i++) {\n pageNumbers.push(\n renderPageNumber({\n number: i,\n currentPage,\n onClick: (e) => {\n e.preventDefault()\n handleClick(i)\n },\n }),\n )\n }\n\n return pageNumbers\n }\n\n return (\n \n
      \n
    • \n (e.preventDefault(), handleClick(currentPage - 1))}\n >\n {t('Global.previousPage')}\n \n \n
    • \n {renderPageNumbers()}\n
    • \n (e.preventDefault(), handleClick(currentPage + 1))}\n >\n {t('Global.nextPage')}\n \n \n
    • \n
    \n \n )\n}\n\nPagination.propTypes = {\n itemsPerPage: PropTypes.number,\n totalItems: PropTypes.number.isRequired,\n currentPage: PropTypes.number,\n onPageChange: PropTypes.func,\n boundaryCount: PropTypes.number,\n siblingCount: PropTypes.number,\n showSiblingEllipsis: PropTypes.bool,\n}\n\nexport default Pagination\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport _ from 'lodash'\n\nimport { cn } from '../../helper'\nimport PlatformIcon from './PlatformIcon'\n\nconst Sizes = {\n xs: 'w-6 h-8',\n default: 'w-8 h-[2.3333rem] sm:w-12 sm:h-14',\n}\n\nconst variants = {\n fixed: `inline-flex items-center space-x-1`,\n}\n\nconst PlatformFilter = ({\n className,\n platforms,\n value,\n onChange,\n inverted = false,\n size = 'default',\n setAllFilterLabel,\n}) => {\n const iconSizeClasses = Sizes[size]\n\n const togglePlatform = (platform) => {\n const newValue = value.includes(platform)\n ? [...value.filter((current) => current !== platform)]\n : [...value, platform]\n onChange(newValue)\n }\n\n const activateAllPlatforms = () => {\n onChange(platforms)\n }\n\n return (\n
      \n
    • \n \n {setAllFilterLabel}\n \n
    • \n {platforms.map((platform) => (\n \n togglePlatform(platform.platformId || platform)}\n >\n \n \n \n ))}\n
    \n )\n}\n\nPlatformFilter.propTypes = {\n className: PropTypes.string,\n inverted: PropTypes.bool,\n size: PropTypes.string,\n}\n\nexport default PlatformFilter\n","import PropTypes from 'prop-types'\nimport React, { useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { uid } from 'react-uid'\nimport { ArticleTypes, Platforms } from '../../constants/enums'\nimport { py } from '../../constants/space'\nimport { cn } from '../../helper'\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport ArticleCard from '../base/ArticleCard'\nimport Button from '../base/Button'\nimport HeadlineTag from '../base/HeadlineTag'\nimport LoadMoreButton from '../base/LoadMoreButton'\nimport LoadMoreCard from '../base/LoadMoreCard'\nimport Pagination from '../base/Pagination'\nimport PlatformFilter from '../base/PlatformFilter'\nimport _ from 'lodash'\n\n// const PAGE_SIZE = 9\n\nconst getCurrentPageSize = ({ hasPagination, pageSize, totalItems }) => {\n return hasPagination\n ? pageSize\n : totalItems === pageSize\n ? pageSize\n : pageSize - 1\n}\n\nconst ArticleGrid = ({\n as: Tag = 'div',\n headlineOrder = 2,\n variant = ArticleTypes.insight,\n hasPagination = false,\n className,\n headline,\n items: allItems = [],\n loadMoreButtonText,\n loadingText,\n loadMoreCardText,\n loading,\n space,\n ...props\n}) => {\n const { t } = useTranslation()\n const pageSize = parseInt(props.pageSize || 9)\n const [items, setItems] = useState(allItems)\n const [paging, setPaging] = useState({\n currentPage: 1,\n offset: 0,\n limit: getCurrentPageSize({\n hasPagination,\n pageSize,\n totalItems: items.length,\n }),\n })\n\n // Filter by platform feature\n const platformFilterEnabled =\n variant === ArticleTypes.insight || variant === ArticleTypes.releaseNote\n const allPlatforms = [\n Platforms.Apple,\n Platforms.Android,\n Platforms.Windows,\n Platforms.ChromeOS,\n Platforms.Relution,\n ]\n const [platforms, setPlatforms] = useState(allPlatforms)\n const changePlatforms = (platforms) => {\n const filteredItems = allItems.filter((item) => {\n const itemPlatforms = item.platforms.map(({ platformId }) => platformId)\n return _.intersection(itemPlatforms, platforms).length > 0\n })\n setPlatforms(platforms)\n setItems(filteredItems)\n setPaging({\n currentPage: 1,\n offset: 0,\n limit: getCurrentPageSize({\n hasPagination,\n pageSize,\n totalItems: filteredItems.length,\n }),\n })\n }\n\n // Load more feature\n const numRemaining = () => items.length - paging?.limit\n const showLoadMore = () => !hasPagination && numRemaining() > 0\n const loadMore = () => {\n const limit = Math.min(paging?.limit + pageSize, items.length)\n setPaging({\n currentPage: 1,\n offset: 0,\n limit,\n })\n }\n\n // Pagination feature\n const showPagination = () => hasPagination && items.length > pageSize\n const handlePageChange = (newPage) => {\n const offset = (newPage - 1) * pageSize\n const limit = Math.min(offset + pageSize, items.length)\n\n setPaging({\n currentPage: newPage,\n offset,\n limit,\n })\n }\n\n return (\n \n
    \n
    \n {headline && (\n \n \n {headline}\n \n \n )}\n {platformFilterEnabled && (\n \n )}\n
    \n {items && items.length > 0 && (\n
      \n {items.slice(paging?.offset, paging?.limit).map((item) => (\n
    • \n \n
    • \n ))}\n {showLoadMore() && (\n
    • \n loadMore()}\n />\n
    • \n )}\n
    \n )}\n {items.length === 0 && platformFilterEnabled && (\n
    \n

    {t(`ArticleFilter.${variant}.noResults`)}

    \n

    \n \n

    \n
    \n )}\n {loadMoreButtonText && showLoadMore() && (\n
    \n loadMore()}\n />\n
    \n )}\n {showPagination() && (\n
    \n \n
    \n )}\n
    \n
    \n )\n}\n\nArticleGrid.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n headline: PropTypes.string,\n items: PropTypes.array,\n loadMoreButtonText: PropTypes.string,\n loadingText: PropTypes.string,\n loadMoreCardText: PropTypes.string,\n variant: PropTypes.string,\n hasPagination: PropTypes.bool,\n pageSize: PropTypes.number,\n}\n\nexport default ArticleGrid\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { classNames } from '../../helper'\nimport HeadlineTag from './HeadlineTag'\nimport RichText from './RichText'\nimport Button from './Button'\n\nconst ArticleCardLarge = ({\n as: Tag = 'article',\n className,\n headlineOrder = 2,\n headline,\n Link,\n linkText,\n image,\n copy,\n}) => (\n \n
    \n {image && (\n <>\n
    \n \n \n )}\n
    \n
    \n {headline && (\n \n {Link ? (\n {headline}\n ) : (\n {headline}\n )}\n \n )}\n {copy && (\n \n {copy}\n \n )}\n {Link && linkText && (\n \n \n
    \n )}\n
    \n {Link && (\n \n {headline}\n \n )}\n \n)\n\nArticleCardLarge.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n Link: PropTypes.any,\n image: PropTypes.object,\n headline: PropTypes.string,\n copy: PropTypes.string,\n linkText: PropTypes.string,\n}\n\nexport default ArticleCardLarge\n","import React, { useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { uid } from 'react-uid'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py } from '../../constants/space'\nimport HeadlineTag from '../base/HeadlineTag'\nimport ArticleCardLarge from '../base/ArticleCardLarge'\nimport LoadMoreButton from '../base/LoadMoreButton'\nimport Pagination from '../base/Pagination'\n\nconst ArticleList = ({\n as: Tag = 'div',\n className,\n headlineOrder = 2,\n headline,\n items = [],\n loadMoreButtonText,\n loadingText,\n loading,\n space,\n hasPagination = false,\n ...props\n}) => {\n const pageSize = parseInt(props.pageSize)\n const [paging, setPaging] = useState({\n currentPage: 1,\n offset: 0,\n limit: pageSize,\n })\n\n const numRemaining = () => items.length - paging?.limit\n const showLoadMoreButton = () => !hasPagination && numRemaining() > 0\n const loadMore = () => {\n const limit = Math.min(paging?.limit + pageSize, items.length)\n setPaging({\n currentPage: 1,\n offset: 0,\n limit,\n })\n }\n\n const showPagination = () => hasPagination && items.length > pageSize\n\n const handlePageChange = (newPage) => {\n const offset = (newPage - 1) * pageSize\n const limit = Math.min(offset + pageSize, items.length)\n\n setPaging({\n currentPage: newPage,\n offset,\n limit,\n })\n }\n\n return (\n \n
    \n {headline && (\n \n \n {headline}\n \n \n )}\n {items && items.length && (\n
      \n {items.slice(paging?.offset, paging?.limit).map((item) => (\n
    • \n \n
    • \n ))}\n
    \n )}\n {loadMoreButtonText && showLoadMoreButton() && (\n
    \n loadMore()}\n />\n
    \n )}\n {showPagination() && (\n
    \n \n
    \n )}\n
    \n
    \n )\n}\n\nArticleList.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n headline: PropTypes.string,\n items: PropTypes.array,\n loadMoreButtonText: PropTypes.string,\n loadingText: PropTypes.string,\n numRemaining: PropTypes.number,\n loading: PropTypes.bool,\n hasPagination: PropTypes.bool,\n pageSize: PropTypes.number,\n}\n\nexport default ArticleList\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py, Space } from '../../constants/space'\nimport BadgeDividerBlock from '../blocks/BadgeDividerBlock'\n\nconst BadgeDivider = ({\n as: Tag = 'div',\n id,\n anchor,\n space,\n className,\n ...props\n}) => (\n \n \n \n)\n\nBadgeDivider.propTypes = {\n as: PropTypes.string,\n className: PropTypes.string,\n anchor: PropTypes.string,\n}\n\nexport default BadgeDivider\n\nexport const query = graphql`\n fragment SectionsBadgeDivider on STRAPI__COMPONENT_SECTIONS_BADGE_DIVIDER {\n disableTopMargin\n space\n id\n platform {\n platformId\n }\n strapi_component\n text\n anchor\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\n\nimport { cn } from '../../helper'\nimport RichText from '../base/RichText'\n\nconst Hash = '#'\n\nconst HighlightColumn = ({\n className,\n enableHighlighting = true,\n headline,\n headlineOrder = 2,\n ...props\n}) => {\n const finalHeadline =\n headlineOrder > 0\n ? `${Hash.repeat(Math.max(1, Math.min(headlineOrder, 6)))} ${headline}`\n : headline\n\n return (\n \n {finalHeadline}\n \n )\n}\n\nHighlightColumn.propTypes = {\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n headline: PropTypes.string,\n enableHighlighting: PropTypes.bool,\n}\n\nexport default HighlightColumn\n\nexport const query = graphql`\n fragment BlocksHighlightBlock on STRAPI__COMPONENT_BLOCKS_HIGHLIGHT_BLOCK {\n strapi_component\n id\n headline\n headlineOrder\n enableHighlighting\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport { uid } from 'react-uid'\n\nimport { cn } from '../../helper'\nimport { py } from '../../constants/space'\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport Button from '../base/Button'\nimport HeadlineTag from '../base/HeadlineTag'\nimport Image from '../base/Image'\nimport HeadingColumn from '../blocks/HeadingColumn'\nimport HighlightColumn from '../blocks/HighlightColumn'\nimport TextColumn from '../blocks/TextColumn'\nimport ImageColumn from '../blocks/ImageColumn'\n\nconst gridClasses = [\n '', // 0\n '', // 1\n 'md:grid-cols-2', // 2\n 'md:grid-cols-2 xl:grid-cols-3', // 3\n 'md:grid-cols-2 xl:grid-cols-4', // 4\n 'md:grid-cols-2 xl:grid-cols-5', // 5\n 'md:grid-cols-2 xl:grid-cols-6', // 6\n 'md:grid-cols-4 xl:grid-cols-7', // 7\n 'md:grid-cols-4 xl:grid-cols-8', // 8\n 'md:grid-cols-5 xl:grid-cols-9', // 9\n 'md:grid-cols-5 xl:grid-cols-10', // 10\n 'md:grid-cols-6 xl:grid-cols-11', // 11\n 'md:grid-cols-6 xl:grid-cols-12', // 12\n]\n\nconst Columns = ({\n as: Tag = 'div',\n className,\n anchor,\n headingBlock,\n Link,\n linkText,\n items,\n space,\n ...props\n}) => {\n //const finalItems = items ? items.slice(0, 12) : []\n const finalItems = items ? items : []\n const numItems = finalItems.length\n let columnClasses = gridClasses[numItems]\n\n if (numItems > 3) {\n columnClasses = 'sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4'\n }\n\n const headlineOrder = headingBlock?.headlineOrder || 2\n\n return (\n \n
    \n {headingBlock && (\n \n )}\n {finalItems.length && (\n \n {finalItems.map((item) => (\n \n {item.image && }\n {item.iconImage && (\n \n \n
    \n )}\n {item.overline && (\n
    {item.overline}
    \n )}\n {item.headline && (\n \n )}\n {item.richtext && }\n {item.Link && item.linkText && (\n
    \n \n
    \n )}\n \n ))}\n
    \n )}\n {Link && linkText && (\n
    \n \n
    \n )}\n
    \n \n )\n}\n\nColumns.propTypes = {\n as: PropTypes.string,\n className: PropTypes.string,\n tag: PropTypes.string,\n anchor: PropTypes.string,\n headingBlock: PropTypes.object,\n Link: PropTypes.any,\n linkText: PropTypes.string,\n items: PropTypes.array,\n}\n\nexport default Columns\n\nexport const query = graphql`\n fragment SectionsColumns on STRAPI__COMPONENT_SECTIONS_COLUMNS {\n id\n strapi_component\n anchor\n tag\n space\n disableTopMargin\n headingBlock {\n ...BlocksHeadingBlock\n }\n link {\n ...SharedLink\n }\n columnsItem {\n items {\n richtext {\n data {\n richtext\n }\n }\n headline\n enableHighlighting\n link {\n ...SharedLink\n }\n image {\n ...SharedImage\n }\n iconImage {\n ...SharedImage\n }\n overline\n }\n }\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { cn } from '../../helper'\n\nconst VideoEmbed = ({ videoId, className }) => (\n \n)\n\nVideoEmbed.propTypes = {\n className: PropTypes.string,\n videoId: PropTypes.string.isRequired,\n}\n\nexport default VideoEmbed\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport _ from 'lodash'\n\nimport { cn } from '../../helper'\nimport VideoEmbed from '../base/VideoEmbed'\n\nconst NarrowingClasses = ['', 'mx-auto w-3/4', 'mx-auto w-1/2']\n\nconst VideoColumn = ({\n as: Tag = 'div',\n className,\n image,\n videoId,\n narrowing = 0,\n}) => {\n const narrowingIndex = parseInt(narrowing)\n const narrowingClasses =\n NarrowingClasses[narrowingIndex || 0] || narrowingIndex[0]\n\n return (\n \n {image && image.Component && (\n \n )}\n {videoId && }\n \n )\n}\n\nVideoColumn.propTypes = {\n as: PropTypes.string,\n className: PropTypes.string,\n image: PropTypes.object,\n videoId: PropTypes.string,\n narrowing: PropTypes.number,\n}\n\nexport default VideoColumn\n\nexport const query = graphql`\n fragment BlocksVideoBlock on STRAPI__COMPONENT_BLOCKS_VIDEO_BLOCK {\n strapi_component\n id\n videoId\n image {\n ...SharedImage\n }\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport HeadlineTag from './HeadlineTag'\nimport { cn } from '../../helper'\n\nexport default function StatsBox({\n className,\n headline,\n headlineOrder = 3,\n items = [],\n}) {\n return (\n
    \n {headline && (\n \n {headline}\n \n )}\n {items?.length > 0 && (\n
    \n {items.map((item) => (\n
    \n
    \n {item.name}\n
    \n
    \n {item.stat}\n
    \n
    \n ))}\n
    \n )}\n
    \n )\n}\n\nStatsBox.propTypes = {\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n headline: PropTypes.string,\n items: PropTypes.array,\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport { uid } from 'react-uid'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py } from '../../constants/space'\nimport TextColumn from '../blocks/TextColumn'\nimport ImageColumn from '../blocks/ImageColumn'\nimport VideoColumn from '../blocks/VideoColumn'\nimport HeadingColumn from '../blocks/HeadingColumn'\nimport HighlightColumn from '../blocks/HighlightColumn'\nimport Button from '../base/Button'\nimport StatsBox from '../base/StatsBox'\n\nconst ColumnsGroup = ({\n as: Tag = 'div',\n className,\n space,\n anchor,\n mediaLeft = false,\n links = [],\n mediaBlock,\n mediaBlocks = [],\n headingBlock,\n highlightBlock,\n textBlock,\n statsHeadline,\n stats = [],\n ...props\n}) => {\n const columnLeft = []\n const columnRight = []\n\n const headingElem = headingBlock && (\n \n )\n if (headingElem) {\n if (!mediaLeft) {\n columnLeft.push(headingElem)\n } else {\n columnRight.push(headingElem)\n }\n }\n\n const highlightElem = highlightBlock && (\n \n )\n if (highlightElem) {\n if (!mediaLeft){\n columnLeft.push(highlightElem)\n } else {\n columnRight.push(highlightElem)\n }\n }\n\n const textElem = textBlock && (\n \n )\n if (textElem) {\n if (!mediaLeft) {\n columnLeft.push(textElem)\n } else {\n columnRight.push(textElem)\n }\n }\n\n const linkElems = links && Boolean(links.length) && (\n
      \n {links.map((link) => (\n
    • \n \n
    • \n ))}\n
    \n )\n if (linkElems) {\n if (!mediaLeft) {\n columnLeft.push(linkElems)\n } else {\n columnRight.push(linkElems)\n }\n }\n\n const mediaElems = mediaBlocks && Boolean(mediaBlocks.length) && (\n
    \n {mediaBlocks.map((mediaBlock) =>\n mediaBlock.videoId ? (\n \n ) : (\n \n ),\n )}\n
    \n )\n if (mediaElems) {\n if (mediaLeft) {\n columnLeft.push(mediaElems)\n } else {\n columnRight.push(mediaElems)\n }\n }\n\n const mediaElem = mediaBlock && (\n
    \n {mediaBlock.videoId ? (\n \n ) : (\n \n )}\n
    \n )\n if (mediaElem) {\n if (mediaLeft) {\n columnLeft.push(mediaElem)\n } else {\n columnRight.push(mediaElem)\n }\n }\n\n const statsElem = stats?.length && (\n \n )\n if (statsElem) {\n columnRight.push(statsElem)\n }\n\n return (\n \n \n
    {columnLeft.map((column) => column)}
    \n
    {columnRight.map((column) => column)}
    \n
    \n \n )\n}\n\nColumnsGroup.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n columns: PropTypes.array,\n mediaLeft: PropTypes.bool,\n links: PropTypes.array,\n mediaBlock: PropTypes.object,\n mediaBlocks: PropTypes.array,\n headingBlock: PropTypes.object,\n highlightBlock: PropTypes.object,\n textBlock: PropTypes.object,\n anchor: PropTypes.string,\n stats: PropTypes.array,\n}\n\nexport default ColumnsGroup\n\nexport const query = graphql`\n fragment SectionsColumnsHeadingImage on STRAPI__COMPONENT_SECTIONS_COLUMNS_HEADING_IMAGE {\n disableTopMargin\n space\n id\n strapi_component\n anchor\n tag\n headingBlock {\n ...BlocksHeadingBlock\n }\n headingLeft\n linkLeft\n links {\n ...SharedLink\n }\n mediaLeft\n mediaBlocks {\n ...BlocksImageBlock\n }\n textLeft\n textBlock {\n ...BlocksTextBlock\n }\n statsHeadline\n stats {\n ...SharedStatsItem\n }\n }\n fragment SectionsColumnsHeadingText on STRAPI__COMPONENT_SECTIONS_COLUMNS_HEADING_TEXT {\n anchor\n disableTopMargin\n space\n id\n strapi_component\n headingBlock {\n ...BlocksHeadingBlock\n }\n linkLeft\n headingLeft\n links {\n ...SharedLink\n }\n textBlock {\n ...BlocksTextBlock\n }\n textLeft\n statsHeadline\n stats {\n ...SharedStatsItem\n }\n }\n fragment SectionsColumnsHeadingVideo on STRAPI__COMPONENT_SECTIONS_COLUMNS_HEADING_VIDEO {\n anchor\n disableTopMargin\n space\n id\n strapi_component\n headingLeft\n headingBlock {\n ...BlocksHeadingBlock\n }\n linkLeft\n links {\n ...SharedLink\n }\n mediaLeft\n textLeft\n textBlock {\n ...BlocksTextBlock\n }\n mediaBlock {\n videoId\n image {\n ...SharedImage\n }\n }\n statsHeadline\n stats {\n ...SharedStatsItem\n }\n }\n fragment SectionsColumnsHighlightImage on STRAPI__COMPONENT_SECTIONS_COLUMNS_HIGHLIGHT_IMAGE {\n anchor\n disableTopMargin\n space\n id\n strapi_component\n headingLeft\n highlightBlock {\n ...BlocksHighlightBlock\n }\n linkLeft\n links {\n ...SharedLink\n }\n mediaBlocks {\n ...BlocksImageBlock\n }\n mediaLeft\n textLeft\n textBlock {\n ...BlocksTextBlock\n }\n statsHeadline\n stats {\n ...SharedStatsItem\n }\n }\n fragment SectionsColumnsHighlightText on STRAPI__COMPONENT_SECTIONS_COLUMNS_HIGHLIGHT_TEXT {\n anchor\n disableTopMargin\n space\n id\n strapi_component\n headingLeft\n highlightBlock {\n ...BlocksHighlightBlock\n }\n linkLeft\n links {\n ...SharedLink\n }\n textLeft\n textBlock {\n ...BlocksTextBlock\n }\n statsHeadline\n stats {\n ...SharedStatsItem\n }\n }\n fragment SectionsColumnsHighlightVideo on STRAPI__COMPONENT_SECTIONS_COLUMNS_HIGHLIGHT_VIDEO {\n anchor\n disableTopMargin\n space\n id\n strapi_component\n headingLeft\n highlightBlock {\n ...BlocksHighlightBlock\n }\n linkLeft\n links {\n ...SharedLink\n }\n mediaLeft\n mediaBlock {\n videoId\n image {\n ...SharedImage\n }\n }\n textLeft\n textBlock {\n ...BlocksTextBlock\n }\n statsHeadline\n stats {\n ...SharedStatsItem\n }\n }\n`\n","import React, { useState, useRef, useEffect } from 'react'\nimport PropTypes from 'prop-types'\nimport { navigate } from 'gatsby'\nimport { useTranslation } from 'react-i18next'\nimport Axios from 'axios'\nimport _ from 'lodash'\nimport { isBrowser } from '../../utils/isBrowser'\nimport Recaptcha from 'react-google-recaptcha'\n\nimport TextField from './TextField'\nimport TextArea from './TextArea'\nimport RichText from './RichText'\nimport Checkbox from './Checkbox'\nimport Button from './Button'\nimport { useInputState } from '../../hooks/useInputState'\nimport { cn } from '../../helper'\nimport { mapRequestData, contactMapping } from '../../utils/form'\n\nconst FormContact = ({\n name = 'contact',\n className,\n terms,\n redirectUri,\n submitLabel,\n eventInformation,\n}) => {\n const recaptchaSiteKey = process.env.GATSBY_GOOGLE_RECAPTCHA_KEY\n //const recaptchaSiteKey = \"6LfW2jAbAAAAALVxxhlv6WpM2F6IEPcDBFiWKRFZ\";\n const recaptchaEnabled =\n isBrowser && _.isString(recaptchaSiteKey) && recaptchaSiteKey !== ''\n\n const { t, i18n } = useTranslation()\n const formName = name + '-'\n const finalSubmitLabel = submitLabel || t('Form.submit')\n\n const [isPending, setPending] = useState(false)\n const [errorMessage, setErrorMessage] = useState(null)\n const [pendingMessage, setPendingMessage] = useState(null)\n const [recaptchaReady, setRecaptchaReady] = useState(false)\n\n const { language } = i18n\n const [givenName, setGivenName] = useInputState('')\n const [familyName, setFamilyName] = useInputState('')\n const [organization, setOrganization] = useInputState('')\n const [email, setEmail] = useInputState('')\n const [phone, setPhone] = useInputState('')\n const [subject, setSubject] = useInputState('')\n const [message, setMessage] = useInputState('')\n const recaptchaRef = useRef(null)\n\n if (isBrowser) {\n const waitForCaptchaInitialization = () => {\n return new Promise((resolve, reject) => {\n const intervalId = setInterval(() => {\n if (!!window.grecaptcha && !!window.grecaptcha.render) {\n clearInterval(intervalId)\n resolve(window.grecaptcha)\n }\n }, 100)\n })\n }\n\n waitForCaptchaInitialization().then((grecaptcha) => {\n setRecaptchaReady(!!grecaptcha)\n })\n }\n\n const handleSubmit = (event) => {\n event.preventDefault()\n if (isPending) return\n\n setErrorMessage(null)\n setPendingMessage(null)\n\n const recaptcha = recaptchaRef.current?.getValue()\n\n if (recaptchaEnabled && !recaptcha) {\n setErrorMessage(t('Form.error.recaptchaPending'))\n return\n }\n\n const data = {\n language,\n givenName,\n familyName,\n organization,\n email,\n phone,\n subject,\n message,\n recaptcha,\n eventInformation,\n }\n\n sendData(data)\n }\n\n const sendData = async (data = {}) => {\n setPending(true)\n setPendingMessage(t(`Form.pendingMessage.contact`))\n try {\n const requestData = mapRequestData({ mapping: contactMapping, data })\n await Axios.post('/api/relution-contact-form', requestData)\n navigate(redirectUri)\n } catch (error) {\n setErrorMessage(t('Form.error.registrationUnkown'))\n console.error('## Error submitting form:', error)\n console.error('## Data:', data)\n } finally {\n setPending(false)\n }\n }\n\n const recaptchaOnExpired = (value) => {\n console.log('recaptchaOnExpired', value)\n setErrorMessage(t('Form.error.recaptchaExpired'))\n console.warn('## reCAPTCHA expired.')\n }\n\n const recaptchaOnErrored = (value) => {\n console.log('recaptchaOnErrored', value)\n setErrorMessage(t('Form.error.recaptchaNotLoaded'))\n console.error('## reCAPTCHA encountered an error.')\n }\n\n const recaptchaAsyncScriptOnLoad = (value) => {\n console.log('recaptchaAsyncScriptOnLoad', value)\n console.log('## window.grecaptcha', window.grecaptcha)\n\n if (isBrowser) {\n if (typeof window.grecaptcha !== 'undefined') {\n console.log('## reCAPTCHA script loaded successfully.')\n setErrorMessage(null)\n } else {\n console.error('## reCAPTCHA script did not initialize grecaptcha.')\n setErrorMessage(t('Form.error.recaptchaNotLoadedAsync'))\n }\n }\n }\n\n return (\n
    \n
    \n \n \n \n \n \n \n \n
    \n \n
    \n\n {recaptchaEnabled && (\n
    \n {recaptchaReady ? (\n \n ) : (\n

    {t('Form.error.loadingRecaptcha')}

    \n )}\n
    \n )}\n {errorMessage && (\n \n {errorMessage}\n \n )}\n
    \n \n {finalSubmitLabel}\n \n
    \n {pendingMessage && isPending && (\n {pendingMessage}\n )}\n
    \n \n )\n}\n\nFormContact.propTypes = {\n name: PropTypes.string,\n redirectUri: PropTypes.string,\n terms: PropTypes.node,\n submitLabel: PropTypes.string,\n eventInformation: PropTypes.string,\n className: PropTypes.string,\n}\n\nexport default FormContact\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport { useTranslation } from 'react-i18next'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py } from '../../constants/space'\nimport HeadingColumn from '../blocks/HeadingColumn'\nimport RichText from '../base/RichText'\nimport FormContact from '../base/FormContact'\n\nconst Contact = ({\n as: Tag = 'div',\n className,\n headingBlock,\n copy,\n terms,\n space,\n redirect,\n ...props\n}) => {\n const { t } = useTranslation()\n const headlineOrder = headingBlock?.headlineOrder || 2\n\n return (\n \n
    \n {headingBlock && (\n \n )}\n {copy && (\n {copy}\n )}\n
    \n \n
    \n
    \n
    \n )\n}\n\nContact.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n}\n\nexport default Contact\n\nexport const query = graphql`\n fragment SectionsContact on STRAPI__COMPONENT_SECTIONS_CONTACT {\n id\n strapi_component\n space\n disableTopMargin\n anchor\n tag\n headingBlock {\n ...BlocksHeadingBlock\n }\n copy {\n data {\n copy\n }\n }\n terms {\n data {\n terms\n }\n }\n redirect {\n route\n }\n }\n`\n","var _defs, _path, _g, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgRelApps = function SvgRelApps(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"rel-apps_svg__Ebene_1\",\n \"data-name\": \"Ebene 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 72 72\"\n }, props), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".rel-apps_svg__cls-1{fill:none}\"))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"rel-apps_svg__cls-1\",\n d: \"M0 0h72v72H0Z\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"rel-apps_svg__Gruppe_84\",\n \"data-name\": \"Gruppe 84\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"rel-apps_svg__Pfad_50\",\n \"data-name\": \"Pfad 50\",\n d: \"M47.5 24.5H59V13H47.5Zm-17.25 0h11.5V13h-11.5ZM13 24.5h11.5V13H13Zm34.5 17.25H59v-11.5H47.5Zm-17.25 0h11.5v-11.5h-11.5Zm-17.25 0h11.5v-11.5H13ZM47.5 59H59V47.5H47.5Zm-17.25 0h11.5V47.5h-11.5ZM13 59h11.5V47.5H13Z\"\n }))), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"rel-apps_svg__cls-1\",\n d: \"M0 0h72v72H0z\"\n })));\n};\nexport { SvgRelApps as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3MiA3MiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7fTwvc3R5bGU+PC9kZWZzPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTAsMEg3MlY3MkgwWiIvPjxnIGlkPSJHcnVwcGVfODQiIGRhdGEtbmFtZT0iR3J1cHBlIDg0Ij48cGF0aCBpZD0iUGZhZF81MCIgZGF0YS1uYW1lPSJQZmFkIDUwIiBkPSJNNDcuNSwyNC41SDU5VjEzSDQ3LjVabS0xNy4yNSwwaDExLjVWMTNIMzAuMjVaTTEzLDI0LjVIMjQuNVYxM0gxM1pNNDcuNSw0MS43NUg1OVYzMC4yNUg0Ny41Wm0tMTcuMjUsMGgxMS41VjMwLjI1SDMwLjI1Wk0xMyw0MS43NUgyNC41VjMwLjI1SDEzWk00Ny41LDU5SDU5VjQ3LjVINDcuNVpNMzAuMjUsNTloMTEuNVY0Ny41SDMwLjI1Wk0xMyw1OUgyNC41VjQ3LjVIMTNaIi8+PC9nPjxyZWN0IGNsYXNzPSJjbHMtMSIgd2lkdGg9IjcyIiBoZWlnaHQ9IjcyIi8+PC9zdmc+\";","var _defs, _path, _path2, _path3, _path4;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgRelClients = function SvgRelClients(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"rel-clients_svg__Ebene_1\",\n \"data-name\": \"Ebene 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 72 72\"\n }, props), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".rel-clients_svg__cls-1{fill:none}\"))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"rel-clients_svg__cls-1\",\n d: \"M5.58 3.73h62.81v62.81H5.58Z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"rel-clients_svg__cls-1\",\n d: \"M0 0h72v72H0Z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M61.54 16.34a7.17 7.17 0 0 0-.52-1 5.79 5.79 0 0 0-1.56-1.56 6.65 6.65 0 0 0-1-.53 5.85 5.85 0 0 0-2.26-.46h-2.87V7h-5.77v5.8H24.44V7h-5.77v5.8h-2.89a5.85 5.85 0 0 0-3.24 1A5.79 5.79 0 0 0 11 15.35a7.17 7.17 0 0 0-.52 1A5.81 5.81 0 0 0 10 18.6v40.6a5.79 5.79 0 0 0 5.78 5.8h40.44a5.85 5.85 0 0 0 2.26-.46 6.65 6.65 0 0 0 1-.53A5.79 5.79 0 0 0 61 62.45a6 6 0 0 0 1-3.25V18.6a5.81 5.81 0 0 0-.46-2.26ZM15.78 59.2V18.6h40.44v40.6ZM36 41.11c-5.08 0-15 2.71-15 9V54h30v-3.88c0-6.3-9.93-9.01-15-9.01Zm0-2.21a7.53 7.53 0 1 0-7.5-7.53A7.54 7.54 0 0 0 36 38.9Z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"rel-clients_svg__cls-1\",\n d: \"M0 0h72v72H0z\"\n })));\n};\nexport { SvgRelClients as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3MiA3MiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7fTwvc3R5bGU+PC9kZWZzPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTUuNTgsMy43M0g2OC4zOVY2Ni41NEg1LjU4WiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTAsMEg3MlY3MkgwWiIvPjxwYXRoIGQ9Ik02MS41NCwxNi4zNGE3LjE3LDcuMTcsMCwwLDAtLjUyLTEsNS43OSw1Ljc5LDAsMCwwLTEuNTYtMS41Niw2LjY1LDYuNjUsMCwwLDAtMS0uNTMsNS44NSw1Ljg1LDAsMCwwLTIuMjYtLjQ2SDUzLjMzVjdINDcuNTZ2NS44SDI0LjQ0VjdIMTguNjd2NS44SDE1Ljc4YTUuODUsNS44NSwwLDAsMC0zLjI0LDFBNS43OSw1Ljc5LDAsMCwwLDExLDE1LjM1YTcuMTcsNy4xNywwLDAsMC0uNTIsMUE1LjgxLDUuODEsMCwwLDAsMTAsMTguNlY1OS4yQTUuNzksNS43OSwwLDAsMCwxNS43OCw2NUg1Ni4yMmE1Ljg1LDUuODUsMCwwLDAsMi4yNi0uNDYsNi42NSw2LjY1LDAsMCwwLDEtLjUzQTUuNzksNS43OSwwLDAsMCw2MSw2Mi40NWE2LDYsMCwwLDAsMS0zLjI1VjE4LjZBNS44MSw1LjgxLDAsMCwwLDYxLjU0LDE2LjM0Wk0xNS43OCw1OS4yVjE4LjZINTYuMjJWNTkuMlpNMzYsNDEuMTFjLTUuMDgsMC0xNSwyLjcxLTE1LDlWNTRINTFWNTAuMTJDNTEsNDMuODIsNDEuMDcsNDEuMTEsMzYsNDEuMTFabTAtMi4yMWE3LjUzLDcuNTMsMCwxLDAtNy41LTcuNTNBNy41NCw3LjU0LDAsMCwwLDM2LDM4LjlaIi8+PHJlY3QgY2xhc3M9ImNscy0xIiB3aWR0aD0iNzIiIGhlaWdodD0iNzIiLz48L3N2Zz4=\";","var _defs, _path, _path2, _path3, _path4;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgRelDevices = function SvgRelDevices(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"rel-devices_svg__Ebene_1\",\n \"data-name\": \"Ebene 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 72 72\"\n }, props), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".rel-devices_svg__cls-1{fill:none}\"))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"rel-devices_svg__cls-1\",\n d: \"M0 0h72v72H0Z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M53 7H19.05A6 6 0 0 0 13 13v46a6 6 0 0 0 6.05 6H53a6 6 0 0 0 6-6V13a6 6 0 0 0-6-6Zm1.21 52.77H17.84V12.54h36.32Z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37 38.27V45h9v-9h-6.46C38 36 37 36.63 37 38.27m-11-8.08V45h5.84V33A2.12 2.12 0 0 1 34 30.93h12V25H31.24A5 5 0 0 0 26 29.73a3.53 3.53 0 0 0 0 .46\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"rel-devices_svg__cls-1\",\n d: \"M0 0h72v72H0z\"\n })));\n};\nexport { SvgRelDevices as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3MiA3MiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7fTwvc3R5bGU+PC9kZWZzPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTAsMEg3MlY3MkgwWiIvPjxwYXRoIGQ9Ik01Myw3SDE5LjA1QTYsNiwwLDAsMCwxMywxM1Y1OWE2LDYsMCwwLDAsNi4wNSw2SDUzYTYsNiwwLDAsMCw2LTZWMTNBNiw2LDAsMCwwLDUzLDdabTEuMjEsNTIuNzdIMTcuODRWMTIuNTRINTQuMTZaIi8+PHBhdGggZD0iTTM3LDM4LjI3VjQ1aDlWMzZIMzkuNTRDMzgsMzYsMzcsMzYuNjMsMzcsMzguMjdNMjYsMzAuMTlWNDVoNS44NHYtMTJBMi4xMiwyLjEyLDAsMCwxLDM0LDMwLjkzSDQ2VjI1SDMxLjI0QTUsNSwwLDAsMCwyNiwyOS43M2EzLjUzLDMuNTMsMCwwLDAsMCwuNDYiLz48cmVjdCBjbGFzcz0iY2xzLTEiIHdpZHRoPSI3MiIgaGVpZ2h0PSI3MiIvPjwvc3ZnPg==\";","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgRelDsgvo = function SvgRelDsgvo(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n \"data-name\": \"Ebene 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 72 72\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m36 7-26 8.7v17.66C10 48 21.08 61.67 36 65c14.92-3.33 26-17 26-31.64V15.7Zm20 26.29c0 11.9-8.5 22.91-20 26.27-11.5-3.36-20-14.34-20-26.27v-14l20-6.69 20 6.69Zm-19 5V45h9v-9h-6.46C38 36 37 36.63 37 38.27m-11-8.08V45h5.84V33A2.12 2.12 0 0 1 34 30.93h12V25H31.24A5 5 0 0 0 26 29.73a3.53 3.53 0 0 0 0 .46\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"none\"\n },\n d: \"M0 0h72v72H0z\"\n }));\n};\nexport { SvgRelDsgvo as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3MiA3MiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7fTwvc3R5bGU+PC9kZWZzPjxwYXRoIGQ9Ik0zNiw3LDEwLDE1LjdWMzMuMzZDMTAsNDgsMjEuMDgsNjEuNjcsMzYsNjVjMTQuOTItMy4zMywyNi0xNywyNi0zMS42NFYxNS43Wk01NiwzMy4yOWMwLDExLjktOC41LDIyLjkxLTIwLDI2LjI3QzI0LjUsNTYuMiwxNiw0NS4yMiwxNiwzMy4yOXYtMTRsMjAtNi42OSwyMCw2LjY5Wm0tMTksNVY0NWg5VjM2SDM5LjU0QzM4LDM2LDM3LDM2LjYzLDM3LDM4LjI3TTI2LDMwLjE5VjQ1aDUuODR2LTEyQTIuMTIsMi4xMiwwLDAsMSwzNCwzMC45M0g0NlYyNUgzMS4yNEE1LDUsMCwwLDAsMjYsMjkuNzNhMy41MywzLjUzLDAsMCwwLDAsLjQ2Ii8+PHJlY3QgY2xhc3M9ImNscy0xIiB3aWR0aD0iNzIiIGhlaWdodD0iNzIiLz48L3N2Zz4=\";","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgRelFreetest = function SvgRelFreetest(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n \"data-name\": \"Ebene 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 72 72\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.19 41.24a9.12 9.12 0 0 0-1.91-1.6c-.45-.23-.79-.21-1 0a.81.81 0 0 0 0 1 9.28 9.28 0 0 0 1.61 1.93 8.93 8.93 0 0 0 1.92 1.6.82.82 0 0 0 1-.06c.25-.25.26-.59 0-1a9.33 9.33 0 0 0-1.62-1.87Z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M53.41 12.91H37a4.62 4.62 0 0 0-3.24 1.33L13.48 34.5a4.57 4.57 0 0 0 0 6.47L29.9 57.43a4.59 4.59 0 0 0 6.49 0l20.26-20.25A4.52 4.52 0 0 0 58 33.94V17.5a4.61 4.61 0 0 0-4.59-4.59Zm-20 32.89a3.28 3.28 0 0 1-3 1.06 7 7 0 0 1-3.58-2.2A7.34 7.34 0 0 1 24.49 41a3.34 3.34 0 0 1 1.12-3 3.3 3.3 0 0 1 3-1 7.11 7.11 0 0 1 3.6 2.22 7.14 7.14 0 0 1 2.26 3.6 3.33 3.33 0 0 1-1.11 2.98Zm10.07-10.12a4.7 4.7 0 0 1-2.78 1.48 4.28 4.28 0 0 1-2.92-.8l-.81.8-1-1 .67-.67-.12-.1-.12-.11-.26-.28-.66.66-1.06-1 .76-.77a4.73 4.73 0 0 1-.9-3.09 4.6 4.6 0 0 1 1.45-2.82 6.2 6.2 0 0 1 2.19-1.41l.93 2.15a4.19 4.19 0 0 0-1.45.93 1.77 1.77 0 0 0-.61 1.16 1.62 1.62 0 0 0 .37 1.11l1.74-1.75 1.1 1.01L38.13 33l.14.16.08.07.23.22L40.06 32l1.06 1-1.37 1.36c.68.45 1.41.29 2.19-.49A4.7 4.7 0 0 0 43 32.23l1.7 1.67a4.65 4.65 0 0 1-1.22 1.78Zm4.2-9a3.44 3.44 0 1 1 3.45-3.44 3.43 3.43 0 0 1-3.46 3.43Z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Pfad 410\",\n d: \"M0 0h72v72H0Z\",\n style: {\n fill: \"none\"\n }\n }));\n};\nexport { SvgRelFreetest as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3MiA3MiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7fTwvc3R5bGU+PC9kZWZzPjxwYXRoIGQ9Ik0zMC4xOSw0MS4yNGE5LjEyLDkuMTIsMCwwLDAtMS45MS0xLjZjLS40NS0uMjMtLjc5LS4yMS0xLDBhLjgxLjgxLDAsMCwwLDAsMSw5LjI4LDkuMjgsMCwwLDAsMS42MSwxLjkzLDguOTMsOC45MywwLDAsMCwxLjkyLDEuNi44Mi44MiwwLDAsMCwxLS4wNmMuMjUtLjI1LjI2LS41OSwwLTFBOS4zMyw5LjMzLDAsMCwwLDMwLjE5LDQxLjI0WiIvPjxwYXRoIGQ9Ik01My40MSwxMi45MUgzN2E0LjYyLDQuNjIsMCwwLDAtMy4yNCwxLjMzTDEzLjQ4LDM0LjVsMCwwYTQuNTcsNC41NywwLDAsMCwwLDYuNDdMMjkuOSw1Ny40M2E0LjU5LDQuNTksMCwwLDAsNi40OSwwTDU2LjY1LDM3LjE4QTQuNTIsNC41MiwwLDAsMCw1OCwzMy45NFYxNy41QTQuNjEsNC42MSwwLDAsMCw1My40MSwxMi45MVptLTIwLDMyLjg5YTMuMjgsMy4yOCwwLDAsMS0zLDEuMDYsNyw3LDAsMCwxLTMuNTgtMi4yQTcuMzQsNy4zNCwwLDAsMSwyNC40OSw0MWEzLjM0LDMuMzQsMCwwLDEsMS4xMi0zLDMuMywzLjMsMCwwLDEsMy0xLDcuMTEsNy4xMSwwLDAsMSwzLjYsMi4yMiw3LjE0LDcuMTQsMCwwLDEsMi4yNiwzLjZBMy4zMywzLjMzLDAsMCwxLDMzLjM2LDQ1LjhaTTQzLjQ4LDM1LjY4YTQuNyw0LjcsMCwwLDEtMi43OCwxLjQ4LDQuMjgsNC4yOCwwLDAsMS0yLjkyLS44bC0uODEuOC0xLTEsLjY3LS42Ny0uMTItLjEtLjEyLS4xMUwzNi4xNCwzNWwtLjY2LjY2LTEuMDYtMSwuNzYtLjc3YTQuNzMsNC43MywwLDAsMS0uOS0zLjA5LDQuNiw0LjYsMCwwLDEsMS40NS0yLjgyLDYuMiw2LjIsMCwwLDEsMi4xOS0xLjQxbC45MywyLjE1YTQuMTksNC4xOSwwLDAsMC0xLjQ1LjkzLDEuNzcsMS43NywwLDAsMC0uNjEsMS4xNiwxLjYyLDEuNjIsMCwwLDAsLjM3LDEuMTFsMS43NC0xLjc1TDQwLDMxLjE4LDM4LjEzLDMzbC4xNC4xNi4wOC4wNy4yMy4yMmgwTDQwLjA2LDMyLDQxLjEyLDMzbC0xLjM3LDEuMzZjLjY4LjQ1LDEuNDEuMjksMi4xOS0uNDlBNC43LDQuNywwLDAsMCw0MywzMi4yM0w0NC43LDMzLjlBNC42NSw0LjY1LDAsMCwxLDQzLjQ4LDM1LjY4Wm00LjItOWgwYTMuNDQsMy40NCwwLDEsMSwzLjQ1LTMuNDRBMy40MywzLjQzLDAsMCwxLDQ3LjY3LDI2LjY3WiIvPjxwYXRoIGlkPSJQZmFkXzQxMCIgZGF0YS1uYW1lPSJQZmFkIDQxMCIgY2xhc3M9ImNscy0xIiBkPSJNMCwwSDcyVjcySDBaIi8+PC9zdmc+\";","var _defs, _path, _circle, _circle2, _path2, _path3, _path4, _path5;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgRelIntegrations = function SvgRelIntegrations(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"rel-integrations_svg__Ebene_1\",\n \"data-name\": \"Ebene 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 72 72\"\n }, props), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".rel-integrations_svg__cls-1{fill:none}\"))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"rel-integrations_svg__cls-1\",\n d: \"M5 5h62v62H5z\"\n })), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n className: \"rel-integrations_svg__cls-1\",\n cx: 36,\n cy: 10.5,\n r: 2.25\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n className: \"rel-integrations_svg__cls-1\",\n cx: 36,\n cy: 10.5,\n r: 2.25\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"rel-integrations_svg__cls-1\",\n d: \"M15 45v12h42V15H15v30z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m33.11 45.19-6.27-6.29 6.27-6.29-4.07-4.12L18.67 38.9l10.37 10.41 4.07-4.12zM42.96 49.31 53.33 38.9 42.96 28.49l-4.07 4.12 6.27 6.29-6.27 6.29 4.07 4.12z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.22 12.8H44.15a8.63 8.63 0 0 0-16.3 0H15.78a4.91 4.91 0 0 0-1.16.12 5.81 5.81 0 0 0-4.16 3.45A5.55 5.55 0 0 0 10 18.6v40.6a5.92 5.92 0 0 0 .46 2.26 6.12 6.12 0 0 0 1.24 1.86 5.83 5.83 0 0 0 2.92 1.59 7.27 7.27 0 0 0 1.16.09h40.44A5.81 5.81 0 0 0 62 59.2V18.6a5.81 5.81 0 0 0-5.78-5.8ZM36 12.08a2.17 2.17 0 1 1-2.17 2.17A2.19 2.19 0 0 1 36 12.08ZM56.22 47.6v11.6H15.78V18.6h40.44Z\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"rel-integrations_svg__cls-1\",\n d: \"M0 0h72v72H0z\"\n })));\n};\nexport { SvgRelIntegrations as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3MiA3MiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7fTwvc3R5bGU+PC9kZWZzPjxyZWN0IGNsYXNzPSJjbHMtMSIgeD0iNSIgeT0iNSIgd2lkdGg9IjYyIiBoZWlnaHQ9IjYyIi8+PGNpcmNsZSBjbGFzcz0iY2xzLTEiIGN4PSIzNiIgY3k9IjEwLjUiIHI9IjIuMjUiLz48Y2lyY2xlIGNsYXNzPSJjbHMtMSIgY3g9IjM2IiBjeT0iMTAuNSIgcj0iMi4yNSIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIxNSA0NSAxNSA0OCAxNSA1NyA1NyA1NyA1NyA0OCA1NyA0NSA1NyAxNSAxNSAxNSAxNSA0NSIvPjxwb2x5Z29uIHBvaW50cz0iMzMuMTEgNDUuMTkgMjYuODQgMzguOSAzMy4xMSAzMi42MSAyOS4wNCAyOC40OSAxOC42NyAzOC45IDI5LjA0IDQ5LjMxIDMzLjExIDQ1LjE5Ii8+PHBvbHlnb24gcG9pbnRzPSI0Mi45NiA0OS4zMSA1My4zMyAzOC45IDQyLjk2IDI4LjQ5IDM4Ljg5IDMyLjYxIDQ1LjE2IDM4LjkgMzguODkgNDUuMTkgNDIuOTYgNDkuMzEiLz48cGF0aCBkPSJNNTYuMjIsMTIuOEg0NC4xNWE4LjYzLDguNjMsMCwwLDAtMTYuMywwSDE1Ljc4YTQuOTEsNC45MSwwLDAsMC0xLjE2LjEyLDUuODEsNS44MSwwLDAsMC00LjE2LDMuNDVBNS41NSw1LjU1LDAsMCwwLDEwLDE4LjZWNTkuMmE1LjkyLDUuOTIsMCwwLDAsLjQ2LDIuMjYsNi4xMiw2LjEyLDAsMCwwLDEuMjQsMS44Niw1LjgzLDUuODMsMCwwLDAsMi45MiwxLjU5LDcuMjcsNy4yNywwLDAsMCwxLjE2LjA5SDU2LjIyQTUuODEsNS44MSwwLDAsMCw2Miw1OS4yVjE4LjZBNS44MSw1LjgxLDAsMCwwLDU2LjIyLDEyLjhaTTM2LDEyLjA4YTIuMTcsMi4xNywwLDEsMS0yLjE3LDIuMTdBMi4xOSwyLjE5LDAsMCwxLDM2LDEyLjA4Wk01Ni4yMiw0Ny42VjU5LjJIMTUuNzhWMTguNkg1Ni4yMloiLz48cmVjdCBjbGFzcz0iY2xzLTEiIHdpZHRoPSI3MiIgaGVpZ2h0PSI3MiIvPjwvc3ZnPg==\";","var _defs, _path, _path2, _path3, _path4;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgRelMail = function SvgRelMail(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"rel-mail_svg__Ebene_1\",\n \"data-name\": \"Ebene 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 72 72\"\n }, props), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".rel-mail_svg__cls-1{fill:none}\"))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"rel-mail_svg__Pfad_410\",\n \"data-name\": \"Pfad 410\",\n className: \"rel-mail_svg__cls-1\",\n d: \"M0 2h70v70H0Z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"rel-mail_svg__cls-1\",\n d: \"M0 0h72v72H0Z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n id: \"rel-mail_svg__Pfad_411\",\n \"data-name\": \"Pfad 411\",\n d: \"M56.81 15.48H15.27a5 5 0 0 0-5.17 4.69v28.14A5 5 0 0 0 15.27 53h41.54A5 5 0 0 0 62 48.31V20.17a5 5 0 0 0-5.19-4.69Zm0 9.38L36 36.58 15.27 24.86v-4.69L36 31.89l20.81-11.72Z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"rel-mail_svg__cls-1\",\n d: \"M0 0h72v72H0z\"\n })));\n};\nexport { SvgRelMail as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3MiA3MiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7fTwvc3R5bGU+PC9kZWZzPjxwYXRoIGlkPSJQZmFkXzQxMCIgZGF0YS1uYW1lPSJQZmFkIDQxMCIgY2xhc3M9ImNscy0xIiBkPSJNMCwySDcwVjcySDBaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMCwwSDcyVjcySDBaIi8+PHBhdGggaWQ9IlBmYWRfNDExIiBkYXRhLW5hbWU9IlBmYWQgNDExIiBkPSJNNTYuODEsMTUuNDhIMTUuMjdhNSw1LDAsMCwwLTUuMTcsNC42OWwwLDI4LjE0QTUsNSwwLDAsMCwxNS4yNyw1M0g1Ni44MUE1LDUsMCwwLDAsNjIsNDguMzFWMjAuMTdBNSw1LDAsMCwwLDU2LjgxLDE1LjQ4Wm0wLDkuMzhMMzYsMzYuNTgsMTUuMjcsMjQuODZWMjAuMTdMMzYsMzEuODksNTYuODEsMjAuMTdaIi8+PHJlY3QgY2xhc3M9ImNscy0xIiB3aWR0aD0iNzIiIGhlaWdodD0iNzIiLz48L3N2Zz4=\";","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgRelNewsletter = function SvgRelNewsletter(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n \"data-name\": \"Ebene 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 72 72\"\n }, props), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Pfad 410\",\n d: \"M0 0h72v72H0Z\",\n style: {\n fill: \"none\"\n }\n }), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Pfad 418\",\n d: \"M12.52 55.48 64 34.74 12.52 14v16.13l36.79 4.61-36.82 4.61Z\"\n })));\n};\nexport { SvgRelNewsletter as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3MiA3MiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7fTwvc3R5bGU+PC9kZWZzPjxwYXRoIGlkPSJQZmFkXzQxMCIgZGF0YS1uYW1lPSJQZmFkIDQxMCIgY2xhc3M9ImNscy0xIiBkPSJNMCwwSDcyVjcySDBaIi8+PHBhdGggaWQ9IlBmYWRfNDE4IiBkYXRhLW5hbWU9IlBmYWQgNDE4IiBkPSJNMTIuNTIsNTUuNDgsNjQsMzQuNzQsMTIuNTIsMTRsMCwxNi4xMywzNi43OSw0LjYxTDEyLjQ5LDM5LjM1WiIvPjwvc3ZnPg==\";","var _style, _path, _path2, _path3, _path4, _path5;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgRelOnpremisecloud = function SvgRelOnpremisecloud(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"rel-onpremisecloud_svg__Ebene_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n x: 0,\n y: 0,\n viewBox: \"0 0 72 72\",\n style: {\n enableBackground: \"new 0 0 72 72\"\n },\n xmlSpace: \"preserve\"\n }, props), _style || (_style = /*#__PURE__*/React.createElement(\"style\", null, \".rel-onpremisecloud_svg__st0{fill:none}\")), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M51.5 65c-.7 0-1.4-.4-1.7-1L19.3 10.1c-.5-1-.2-2.2.8-2.7s2.2-.2 2.7.8L53.2 62c.5 1 .2 2.2-.8 2.7-.2.2-.6.3-.9.3z\",\n id: \"rel-onpremisecloud_svg__Linie_37\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n id: \"rel-onpremisecloud_svg__Pfad_3255\",\n d: \"M61.3 14.3c-.9-4.9-5.6-8.1-10.5-7.2-2.8.5-5.1 2.3-6.4 4.8-4 .5-6.8 4.1-6.4 8 .4 3.6 3.5 6.4 7.1 6.4h15.7c3.3.1 6.1-2.5 6.2-5.8.3-3.3-2.3-6.1-5.7-6.2z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n id: \"rel-onpremisecloud_svg__Pfad_3257\",\n d: \"M29.9 56.1H6.1c-.6 0-1.1.5-1.1 1.1v6.7c0 .6.5 1.1 1.1 1.1h23.8c.6 0 1.1-.5 1.1-1.1v-6.7c0-.6-.5-1.1-1.1-1.1zM9.4 62.2c-.9 0-1.7-.7-1.7-1.7 0-.9.7-1.7 1.7-1.7s1.7.7 1.7 1.7-.7 1.7-1.7 1.7zM29.9 45H6.1c-.6 0-1.1.5-1.1 1.1v6.7c0 .6.5 1.1 1.1 1.1h23.8c.6 0 1.1-.5 1.1-1.1v-6.7c0-.6-.5-1.1-1.1-1.1zM9.4 51.1c-.9 0-1.7-.7-1.7-1.7 0-.9.7-1.7 1.7-1.7s1.7.7 1.7 1.7-.7 1.7-1.7 1.7z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"rel-onpremisecloud_svg__st0\",\n d: \"M5 5h62v62H5z\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"rel-onpremisecloud_svg__st0\",\n d: \"M0 0h72v72H0z\"\n })));\n};\nexport { SvgRelOnpremisecloud as ReactComponent };\nexport default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJFYmVuZV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNzIgNzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDcyIDcyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6bm9uZTt9Cjwvc3R5bGU+CjxnIGlkPSJMaW5pZV8zNyI+Cgk8cGF0aCBkPSJNNTEuNSw2NWMtMC43LDAtMS40LTAuNC0xLjctMUwxOS4zLDEwLjFjLTAuNS0xLTAuMi0yLjIsMC44LTIuN2MxLTAuNSwyLjItMC4yLDIuNywwLjhMNTMuMiw2MmMwLjUsMSwwLjIsMi4yLTAuOCwyLjcKCQlDNTIuMiw2NC45LDUxLjgsNjUsNTEuNSw2NXoiLz4KPC9nPgo8cGF0aCBpZD0iUGZhZF8zMjU1IiBkPSJNNjEuMywxNC4zYy0wLjktNC45LTUuNi04LjEtMTAuNS03LjJjLTIuOCwwLjUtNS4xLDIuMy02LjQsNC44Yy00LDAuNS02LjgsNC4xLTYuNCw4CgljMC40LDMuNiwzLjUsNi40LDcuMSw2LjRoMTUuN2MzLjMsMC4xLDYuMS0yLjUsNi4yLTUuOEM2Ny4zLDE3LjIsNjQuNywxNC40LDYxLjMsMTQuM0w2MS4zLDE0LjNMNjEuMywxNC4zeiIvPgo8cGF0aCBpZD0iUGZhZF8zMjU3IiBkPSJNMjkuOSw1Ni4xSDYuMWMtMC42LDAtMS4xLDAuNS0xLjEsMS4xbDAsMHY2LjdDNSw2NC41LDUuNSw2NSw2LjEsNjVjMCwwLDAsMCwwLDBoMjMuOAoJYzAuNiwwLDEuMS0wLjUsMS4xLTEuMWwwLDB2LTYuN0MzMSw1Ni42LDMwLjUsNTYuMSwyOS45LDU2LjFDMjkuOSw1Ni4xLDI5LjksNTYuMSwyOS45LDU2LjF6IE05LjQsNjIuMmMtMC45LDAtMS43LTAuNy0xLjctMS43CgljMC0wLjksMC43LTEuNywxLjctMS43czEuNywwLjcsMS43LDEuN2MwLDAsMCwwLDAsMGwwLDBDMTEuMSw2MS41LDEwLjQsNjIuMiw5LjQsNjIuMnogTTI5LjksNDVINi4xQzUuNSw0NSw1LDQ1LjUsNSw0Ni4xbDAsMHY2LjcKCWMwLDAuNiwwLjUsMS4xLDEuMSwxLjFjMCwwLDAsMCwwLDBoMjMuOGMwLjYsMCwxLjEtMC41LDEuMS0xLjFsMCwwdi02LjdDMzEsNDUuNSwzMC41LDQ1LDI5LjksNDVDMjkuOSw0NSwyOS45LDQ1LDI5LjksNDV6CgkgTTkuNCw1MS4xYy0wLjksMC0xLjctMC43LTEuNy0xLjdjMC0wLjksMC43LTEuNywxLjctMS43czEuNywwLjcsMS43LDEuN2wwLDBsMCwwQzExLjEsNTAuNCwxMC40LDUxLjEsOS40LDUxLjF6Ii8+CjxyZWN0IHg9IjUiIHk9IjUiIGNsYXNzPSJzdDAiIHdpZHRoPSI2MiIgaGVpZ2h0PSI2MiIvPgo8cmVjdCBjbGFzcz0ic3QwIiB3aWR0aD0iNzIiIGhlaWdodD0iNzIiLz4KPC9zdmc+Cg==\";","var _defs, _path, _path2, _path3;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgRelPhone = function SvgRelPhone(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"rel-phone_svg__Ebene_1\",\n \"data-name\": \"Ebene 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 72 72\"\n }, props), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".rel-phone_svg__cls-1{fill:none}\"))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"rel-phone_svg__cls-1\",\n d: \"M0 0h72v72H0Z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n id: \"rel-phone_svg__Pfad_422\",\n \"data-name\": \"Pfad 422\",\n d: \"M56.47 44.64a29.39 29.39 0 0 1-9-1.43 2.49 2.49 0 0 0-2.58.61l-4 5A38.74 38.74 0 0 1 23.25 31.4l5-4.24a2.59 2.59 0 0 0 .61-2.61 28.8 28.8 0 0 1-1.43-9A2.55 2.55 0 0 0 24.88 13H16c-1.38 0-3 .61-3 2.53A43.83 43.83 0 0 0 56.47 59c1.81 0 2.53-1.61 2.53-3v-8.83a2.55 2.55 0 0 0-2.53-2.53Z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"rel-phone_svg__cls-1\",\n d: \"M0 0h72v72H0z\"\n })));\n};\nexport { SvgRelPhone as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3MiA3MiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7fTwvc3R5bGU+PC9kZWZzPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTAsMEg3MlY3MkgwWiIvPjxwYXRoIGlkPSJQZmFkXzQyMiIgZGF0YS1uYW1lPSJQZmFkIDQyMiIgZD0iTTU2LjQ3LDQ0LjY0YTI5LjM5LDI5LjM5LDAsMCwxLTktMS40MywyLjQ5LDIuNDksMCwwLDAtMi41OC42MWwtNCw1QTM4Ljc0LDM4Ljc0LDAsMCwxLDIzLjI1LDMxLjRsNS00LjI0YTIuNTksMi41OSwwLDAsMCwuNjEtMi42MSwyOC44LDI4LjgsMCwwLDEtMS40My05QTIuNTUsMi41NSwwLDAsMCwyNC44OCwxM0gxNmMtMS4zOCwwLTMsLjYxLTMsMi41M0E0My44Myw0My44MywwLDAsMCw1Ni40Nyw1OUM1OC4yOCw1OSw1OSw1Ny4zOSw1OSw1NlY0Ny4xN0EyLjU1LDIuNTUsMCwwLDAsNTYuNDcsNDQuNjRaIi8+PHJlY3QgY2xhc3M9ImNscy0xIiB3aWR0aD0iNzIiIGhlaWdodD0iNzIiLz48L3N2Zz4=\";","var _defs, _path, _path2, _path3, _path4;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgRelPlatforms = function SvgRelPlatforms(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"rel-platforms_svg__Ebene_1\",\n \"data-name\": \"Ebene 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 72 72\"\n }, props), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".rel-platforms_svg__cls-1{fill:none}\"))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"rel-platforms_svg__cls-1\",\n d: \"M5 5h62v62H5z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.3 49a.83.83 0 1 0 .83.83.84.84 0 0 0-.83-.83ZM32.7 49a.83.83 0 1 0 .82.83.83.83 0 0 0-.82-.83Z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m36 34.75-12.54 7.14v14.27L36 63.3l12.54-7.14V41.89Zm-7.27 17.71a7.12 7.12 0 0 1 3.57-5.62l-1.21-2.1a.42.42 0 0 1 .72-.42l1.24 2.14a7.55 7.55 0 0 1 5.9 0l1.24-2.14a.43.43 0 0 1 .55-.14.41.41 0 0 1 .17.56l-1.21 2.1a7.11 7.11 0 0 1 3.56 5.62ZM20.59 10 8.05 17.14v14.27l12.54 7.14 12.54-7.14V17.14Zm.12 8.4a2.84 2.84 0 0 1 1.91-1 1.09 1.09 0 0 1 0 .26 3 3 0 0 1-.62 1.83 2.6 2.6 0 0 1-1.77.93h-.17a1 1 0 0 1 0-.24 2.82 2.82 0 0 1 .65-1.78Zm3.73 10.41c-.55.8-1.14 1.61-2 1.61s-1.12-.52-2.13-.52-1.35.53-2.16.53-1.38-.74-2-1.65a8 8 0 0 1-1.36-4.32c0-2.53 1.65-3.87 3.27-3.87.86 0 1.57.56 2.12.56s1.31-.59 2.29-.59A3.06 3.06 0 0 1 25 21.85a3 3 0 0 0-1.4 2.48A2.87 2.87 0 0 0 25.34 27a7 7 0 0 1-.9 1.81ZM51.41 10l-12.54 7.14v14.27l12.54 7.14L64 31.41V17.14Zm-.32 10.35h.1l5.52-.81h.13v5.06h-5.75Zm-.51 8.92h-.13l-4.14-.56h-.1v-3.65h4.37Zm0-4.67h-4.36V21h.1l4.14-.56h.13Zm6.26.57v5h-.13l-5.52-.78h-.1v-4.33h5.75Z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"rel-platforms_svg__cls-1\",\n d: \"M0 0h72v72H0z\"\n })));\n};\nexport { SvgRelPlatforms as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3MiA3MiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7fTwvc3R5bGU+PC9kZWZzPjxyZWN0IGNsYXNzPSJjbHMtMSIgeD0iNSIgeT0iNSIgd2lkdGg9IjYyIiBoZWlnaHQ9IjYyIi8+PHBhdGggZD0iTTM5LjMsNDlhLjgzLjgzLDAsMSwwLC44My44M2gwQS44NC44NCwwLDAsMCwzOS4zLDQ5WiIvPjxwYXRoIGQ9Ik0zMi43LDQ5aDBhLjgzLjgzLDAsMSwwLC44Mi44M0EuODMuODMsMCwwLDAsMzIuNyw0OVoiLz48cGF0aCBkPSJNMzYsMzQuNzUsMjMuNDYsNDEuODlWNTYuMTZMMzYsNjMuM2wxMi41NC03LjE0VjQxLjg5Wk0yOC43Myw1Mi40NmE3LjEyLDcuMTIsMCwwLDEsMy41Ny01LjYybC0xLjIxLTIuMWEuNDIuNDIsMCwwLDEsLjcyLS40MmwxLjI0LDIuMTRhNy41NSw3LjU1LDAsMCwxLDUuOSwwbDEuMjQtMi4xNGEuNDMuNDMsMCwwLDEsLjU1LS4xNC40MS40MSwwLDAsMSwuMTcuNTZsLTEuMjEsMi4xYTcuMTEsNy4xMSwwLDAsMSwzLjU2LDUuNjJaIi8+PHBhdGggZD0iTTIwLjU5LDEwLDguMDUsMTcuMTRWMzEuNDFsMTIuNTQsNy4xNCwxMi41NC03LjE0VjE3LjE0Wm0uMTIsOC40YTIuODQsMi44NCwwLDAsMSwxLjkxLTEsMS4wOSwxLjA5LDAsMCwxLDAsLjI2QTMsMywwLDAsMSwyMiwxOS40OWEyLjYsMi42LDAsMCwxLTEuNzcuOTNsLS4xNywwYTEsMSwwLDAsMSwwLS4yNEEyLjgyLDIuODIsMCwwLDEsMjAuNzEsMTguNFptMy43MywxMC40MWMtLjU1LjgtMS4xNCwxLjYxLTIsMS42MXMtMS4xMi0uNTItMi4xMy0uNTItMS4zNS41My0yLjE2LjUzLTEuMzgtLjc0LTItMS42NWE4LDgsMCwwLDEtMS4zNi00LjMyYzAtMi41MywxLjY1LTMuODcsMy4yNy0zLjg3Ljg2LDAsMS41Ny41NiwyLjEyLjU2czEuMzEtLjU5LDIuMjktLjU5QTMuMDYsMy4wNiwwLDAsMSwyNSwyMS44NWEzLDMsMCwwLDAtMS40LDIuNDhBMi44NywyLjg3LDAsMCwwLDI1LjM0LDI3LDcsNywwLDAsMSwyNC40NCwyOC44MVoiLz48cGF0aCBkPSJNNTEuNDEsMTAsMzguODcsMTcuMTRWMzEuNDFsMTIuNTQsNy4xNEw2NCwzMS40MVYxNy4xNFptLS4zMiwxMC4zNWguMWw1LjUyLS44MWguMTNWMjQuNkg1MS4wOVptLS41MSw4LjkyLS4xMywwLTQuMTQtLjU2LS4xLDBWMjUuMDZoNC4zN1ptMC00LjY3SDQ2LjIyVjIxbC4xLDAsNC4xNC0uNTYuMTMsMFptNi4yNi41N3Y1bC0uMTMsMC01LjUyLS43OGgtLjFWMjUuMDZoNS43NVoiLz48cmVjdCBjbGFzcz0iY2xzLTEiIHdpZHRoPSI3MiIgaGVpZ2h0PSI3MiIvPjwvc3ZnPg==\";","var _defs, _path, _g, _g2, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgRelUsers = function SvgRelUsers(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"rel-users_svg__Ebene_1\",\n \"data-name\": \"Ebene 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 72 72\"\n }, props), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".rel-users_svg__cls-1{fill:none}\"))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"rel-users_svg__cls-1\",\n d: \"M0 0h72v72H0Z\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"rel-users_svg__Gruppe_76\",\n \"data-name\": \"Gruppe 76\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"rel-users_svg__Gruppe_75\",\n \"data-name\": \"Gruppe 75\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"rel-users_svg__Pfad_43\",\n \"data-name\": \"Pfad 43\",\n d: \"m26.38 50.69 8.19-8a25 25 0 0 0-2.73-.16C24.55 42.5 10 46.16 10 53.42v5.46h24.57ZM31.84 37a10.92 10.92 0 1 0-10.92-10.88A10.91 10.91 0 0 0 31.83 37\"\n })))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"rel-users_svg__Gruppe_77\",\n \"data-name\": \"Gruppe 77\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"rel-users_svg__Pfad_45\",\n \"data-name\": \"Pfad 45\",\n d: \"m44 52.52-5.65-5.68-3.82 3.85L44 60.24l17.82-18-3.77-3.84Z\"\n }))), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"rel-users_svg__cls-1\",\n d: \"M0 0h72v72H0z\"\n })));\n};\nexport { SvgRelUsers as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3MiA3MiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7fTwvc3R5bGU+PC9kZWZzPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTAsMEg3MlY3MkgwWiIvPjxnIGlkPSJHcnVwcGVfNzYiIGRhdGEtbmFtZT0iR3J1cHBlIDc2Ij48ZyBpZD0iR3J1cHBlXzc1IiBkYXRhLW5hbWU9IkdydXBwZSA3NSI+PHBhdGggaWQ9IlBmYWRfNDMiIGRhdGEtbmFtZT0iUGZhZCA0MyIgZD0iTTI2LjM4LDUwLjY5bDguMTktOGEyNSwyNSwwLDAsMC0yLjczLS4xNkMyNC41NSw0Mi41LDEwLDQ2LjE2LDEwLDUzLjQydjUuNDZIMzQuNTdaTTMxLjg0LDM3QTEwLjkyLDEwLjkyLDAsMSwwLDIwLjkyLDI2LjEyaDBBMTAuOTEsMTAuOTEsMCwwLDAsMzEuODMsMzdoMCIvPjwvZz48L2c+PGcgaWQ9IkdydXBwZV83NyIgZGF0YS1uYW1lPSJHcnVwcGUgNzciPjxwYXRoIGlkPSJQZmFkXzQ1IiBkYXRhLW5hbWU9IlBmYWQgNDUiIGQ9Ik00NCw1Mi41MmwtNS42NS01LjY4LTMuODIsMy44NUw0NCw2MC4yNGwxNy44Mi0xOEw1OC4wNSwzOC40WiIvPjwvZz48cmVjdCBjbGFzcz0iY2xzLTEiIHdpZHRoPSI3MiIgaGVpZ2h0PSI3MiIvPjwvc3ZnPg==\";","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { ReactComponent as apps } from '../../icons/icons/rel-apps.svg'\nimport { ReactComponent as clients } from '../../icons/icons/rel-clients.svg'\nimport { ReactComponent as devices } from '../../icons/icons/rel-devices.svg'\nimport { ReactComponent as dsgvo } from '../../icons/icons/rel-dsgvo.svg'\nimport { ReactComponent as freetest } from '../../icons/icons/rel-freetest.svg'\nimport { ReactComponent as integrations } from '../../icons/icons/rel-integrations.svg'\nimport { ReactComponent as mail } from '../../icons/icons/rel-mail.svg'\nimport { ReactComponent as newsletter } from '../../icons/icons/rel-newsletter.svg'\nimport { ReactComponent as onpremisecloud } from '../../icons/icons/rel-onpremisecloud.svg'\nimport { ReactComponent as phone } from '../../icons/icons/rel-phone.svg'\nimport { ReactComponent as platforms } from '../../icons/icons/rel-platforms.svg'\nimport { ReactComponent as users } from '../../icons/icons/rel-users.svg'\n\nconst Icons = {\n apps,\n clients,\n devices,\n dsgvo,\n freetest,\n integrations,\n mail,\n newsletter,\n onpremisecloud,\n phone,\n platforms,\n users,\n}\n\nconst Icon = ({ name }) => {\n const SvgIcon = Icons[name]\n\n return SvgIcon ? (\n \n ) : (\n {name} not found\n )\n}\n\nIcon.propTypes = {\n name: PropTypes.string,\n}\n\nexport default Icon\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\n\nimport { classNames } from '../../helper'\nimport { py } from '../../constants/space'\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport RichText from '../base/RichText'\nimport Icon from '../base/Icon'\n\nconst ContactOptions = ({\n as: Tag = 'div',\n className,\n items = [],\n space,\n ...props\n}) => (\n \n
    \n {items && items.length > 0 && (\n
      \n {items.map((item) => (\n \n {item.Link && (\n

      \n \n {item.iconName && (\n \n \n \n )}\n {item.linkText}\n \n

      \n )}\n {item.title && (\n {item.title}\n )}\n \n ))}\n
    \n )}\n
    \n \n)\n\nContactOptions.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n items: PropTypes.array,\n}\n\nexport default ContactOptions\n\nexport const query = graphql`\n fragment SectionsContactOptions on STRAPI__COMPONENT_SECTIONS_CONTACT_OPTIONS {\n disableTopMargin\n space\n id\n strapi_component\n items {\n title\n iconName\n link {\n ...SharedLink\n }\n }\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py } from '../../constants/space'\nimport HeadingColumn from '../blocks/HeadingColumn'\nimport RichText from '../base/RichText'\n\nconst ContentSection = ({\n as: Tag = 'div',\n className,\n headlineOrder = 2,\n overline,\n headline,\n badgeText,\n subline,\n copy,\n space,\n ...props\n}) => (\n \n
    \n {(badgeText || overline || headline || subline) && (\n \n )}\n {copy && (\n {copy}\n )}\n
    \n
    \n)\n\nContentSection.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n overline: PropTypes.string,\n copy: PropTypes.string,\n}\n\nexport default ContentSection\n\nexport const query = graphql`\n fragment SectionsTextSection on STRAPI__COMPONENT_SECTIONS_TEXT_SECTION {\n disableTopMargin\n space\n id\n strapi_component\n anchor\n headline\n headlineOrder\n overline\n tag\n copy {\n data {\n copy\n }\n }\n }\n`\n","const mimeNames = {\n 'svg+xml': 'svg',\n}\n\nexport const getNameFromMimeTyp = (mimeTyp) => {\n const extension = mimeTyp && mimeTyp.split('/')[1]\n const name = mimeNames[extension] || extension\n return name && name.toUpperCase()\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { uid } from 'react-uid'\nimport { isString } from 'lodash'\n\nimport { classNames, cn } from '../../helper'\nimport { getNameFromMimeTyp } from '../../utils/mime'\nimport RichText from './RichText'\nimport HeadlineTag from './HeadlineTag'\nimport Button from './Button'\n\nconst DownloadCard = ({\n as: Tag = 'div',\n className,\n headlineOrder = 3,\n title,\n files = [],\n description,\n image,\n defaultButtonLabel,\n}) => {\n const descriptionRichtext = isString(description)\n ? description\n : description && description.data && description.data.description\n\n const totalFiles = files?.length || 0\n const displayDefaultButtonText = totalFiles === 1\n\n return (\n \n {image && image.Component && (\n
    \n
    \n \n
    \n
    \n )}\n
    \n {title && (\n \n {title}\n \n )}\n {descriptionRichtext && (\n \n {descriptionRichtext}\n \n )}\n {totalFiles > 0 && (\n
    \n
      \n {files.map((file, index) => (\n \n \n \n {displayDefaultButtonText\n ? defaultButtonLabel\n : getNameFromMimeTyp(file.mime)}\n \n \n \n ))}\n
    \n
    \n )}\n
    \n \n )\n}\n\nDownloadCard.propTypes = {\n as: PropTypes.string,\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n title: PropTypes.string,\n description: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n image: PropTypes.any,\n files: PropTypes.array,\n defaultButtonLabel: PropTypes.string,\n}\n\nexport default DownloadCard\n","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M22 12c0-5.52-4.48-10-10-10S2 6.48 2 12s4.48 10 10 10 10-4.48 10-10m-10 1H8v-2h4V8l4 4-4 4z\"\n}), 'ArrowCircleRight');","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { uid } from 'react-uid'\nimport { graphql } from 'gatsby'\nimport { useTranslation } from 'react-i18next'\n\nimport { cn } from '../../helper'\nimport { py } from '../../constants/space'\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport HeadlineTag from '../base/HeadlineTag'\nimport DownloadCard from '../base/DownloadCard'\n\nimport { Disclosure, Transition } from '@headlessui/react'\nimport ArrowCircleRightIcon from '@mui/icons-material/ArrowCircleRight'\n\nconst Downloads = ({\n as: Tag = 'div',\n className,\n anchor,\n space,\n headlineOrder = 2,\n headline,\n downloads = [],\n downloadCategories = [],\n ...props\n}) => {\n const { t } = useTranslation()\n\n // Filter \"empty\" categories without any downloads\n const finalDownloads = downloads\n const finalCategories = downloadCategories.filter((category) =>\n finalDownloads.some(\n (download) =>\n category.categoryId === download.downloadCategory.categoryId,\n ),\n )\n\n // Render section only if at least one category has a download\n return (\n finalCategories &&\n finalCategories.length > 0 && (\n \n
    \n {headline && (\n \n \n {headline}\n \n \n )}\n
    \n {finalCategories.map((category) => (\n \n \n {({ open }) => (\n <>\n \n {category.title && (\n \n {category.title}\n \n )}\n \n \n \n \n
      \n {finalDownloads\n .filter(\n ({ downloadCategory }) =>\n downloadCategory.categoryId ===\n category.categoryId,\n )\n .map((download) => (\n \n \n \n ))}\n
    \n
    \n \n \n )}\n
    \n
    \n ))}\n
    \n
    \n \n )\n )\n}\n\nDownloads.propTypes = {\n as: PropTypes.string,\n className: PropTypes.string,\n tag: PropTypes.string,\n anchor: PropTypes.string,\n headline: PropTypes.string,\n headlineOrder: PropTypes.number,\n downloads: PropTypes.array,\n downloadCategories: PropTypes.array,\n}\n\nexport default Downloads\n\nexport const query = graphql`\n fragment SectionsDownloads on STRAPI__COMPONENT_SECTIONS_DOWNLOADS {\n id\n strapi_component\n anchor\n tag\n space\n disableTopMargin\n headline\n headlineOrder\n downloadCategories {\n title\n strapi_id\n }\n }\n fragment Download on STRAPI_DOWNLOAD {\n strapi_id\n title\n ranking\n files {\n ...SharedFile\n }\n downloadCategory {\n categoryId: strapi_id\n }\n description {\n data {\n description\n }\n }\n image {\n ...SharedImage\n }\n }\n fragment DownloadCategory on STRAPI_DOWNLOAD_CATEGORY {\n strapi_id\n categoryId: strapi_id\n title\n ranking\n }\n`\n","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8z\"\n}), 'ArrowDownward');","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","export const formatCurrency = ({\n value,\n digits = 2,\n language = 'de',\n currency = 'EUR',\n}) => {\n if (isNaN(value)) return\n\n const format = new Intl.NumberFormat(language, {\n style: 'currency',\n currency,\n minimumFractionDigits: digits,\n })\n\n return format.format(value)\n}\n","import React, { useState, useMemo, useRef } from 'react'\nimport PropTypes from 'prop-types'\nimport { navigate } from 'gatsby'\nimport { useTranslation } from 'react-i18next'\nimport Axios from 'axios'\nimport { v4 as uuidv4 } from 'uuid'\nimport _ from 'lodash'\nimport Recaptcha from 'react-google-recaptcha'\nimport { isBrowser } from '../../utils/isBrowser'\nimport ClearIcon from '@mui/icons-material/Close'\nimport { Add } from '@mui/icons-material'\n\nimport { formatRangeWithTime } from '../../utils/date'\nimport { formatCurrency } from '../../utils/currency'\nimport TextField from './TextField'\nimport HeadlineTag from './HeadlineTag'\nimport RichText from './RichText'\nimport Checkbox from './Checkbox'\nimport Select from './Select'\nimport Button from './Button'\nimport BadgeDividerBlock from '../blocks/BadgeDividerBlock'\nimport { useInputState } from '../../hooks/useInputState'\nimport { cn } from '../../helper'\nimport { mapRequestData, trainingMapping } from '../../utils/form'\n\nconst FormTraining = ({\n name = 'contact',\n className,\n terms,\n redirectUri,\n submitLabel,\n headlineOrder = 2,\n dates,\n price,\n anchor,\n eventInformation,\n}) => {\n const now = new Date()\n const recaptchaSiteKey = process.env.GATSBY_GOOGLE_RECAPTCHA_KEY\n //const recaptchaSiteKey = \"6LfW2jAbAAAAALVxxhlv6WpM2F6IEPcDBFiWKRFZ\";\n const recaptchaEnabled =\n isBrowser && _.isString(recaptchaSiteKey) && recaptchaSiteKey !== ''\n const { t, i18n } = useTranslation()\n const formName = name + '-'\n\n const [isPending, setPending] = useState(false)\n const [errorMessage, setErrorMessage] = useState(null)\n const [pendingMessage, setPendingMessage] = useState(null)\n const [recaptchaReady, setRecaptchaReady] = useState(false)\n\n const { language } = i18n\n\n const dateOptions = dates\n ? dates\n // Filter old dates\n .filter((date) => {\n const endDateTime = new Date(date.endDate).getTime()\n return endDateTime > now.getTime()\n })\n // Sort dates ASC past/today/future\n .sort((a, b) => {\n return new Date(a.startDate) - new Date(b.startDate)\n })\n .map((date) => {\n const text = formatRangeWithTime({\n startDate: new Date(date.startDate),\n endDate: new Date(date.endDate),\n locale: language,\n })\n return {\n text,\n value: text,\n }\n })\n : []\n\n const [participants, setParticipants] = useInputState([\n { id: uuidv4(), name: '', email: '' },\n ])\n const [contactParticipates, setContactParticipates] = useInputState(false)\n const [givenName, setGivenName] = useInputState('')\n const [familyName, setFamilyName] = useInputState('')\n const [organization, setOrganization] = useInputState('')\n const [email, setEmail] = useInputState('')\n const [phone, setPhone] = useInputState('')\n const [address, setAddress] = useInputState('')\n const [addressAddition, setAddressAddition] = useInputState('')\n const [postalCode, setPostalCode] = useInputState('')\n const [city, setCity] = useInputState('')\n const [trainingDate, setTrainingDate] = useInputState(\n dateOptions && dateOptions?.length > 0 ? dateOptions[0].value : null,\n )\n const recaptchaRef = useRef(null)\n\n if (isBrowser) {\n const waitForCaptchaInitialization = () => {\n return new Promise((resolve, reject) => {\n const intervalId = setInterval(() => {\n if (!!window.grecaptcha && !!window.grecaptcha.render) {\n clearInterval(intervalId)\n resolve(window.grecaptcha)\n }\n }, 100)\n })\n }\n\n waitForCaptchaInitialization().then((grecaptcha) => {\n setRecaptchaReady(!!grecaptcha)\n })\n }\n\n const handleSubmit = (event) => {\n event.preventDefault()\n if (isPending) return\n setErrorMessage(null)\n setPendingMessage(null)\n\n const recaptcha = recaptchaRef.current?.getValue()\n\n if (recaptchaEnabled && !recaptcha) {\n setErrorMessage(t('Form.error.recaptchaPending'))\n return\n }\n\n const data = {\n eventInformation,\n language,\n givenName,\n familyName,\n organization,\n email,\n phone,\n recaptcha,\n address,\n addressAddition,\n postalCode,\n city,\n trainingDate,\n contactParticipates,\n participants,\n }\n sendData(data)\n }\n\n const sendData = async (data = {}) => {\n setPending(true)\n setPendingMessage(t(`Form.pendingMessage.contact`))\n try {\n const requestData = mapRequestData({ mapping: trainingMapping, data })\n await Axios.post('/api/relution-training-form', requestData)\n console.log(requestData)\n navigate(redirectUri)\n } catch (error) {\n setErrorMessage(t('Form.error.registrationUnkown'))\n console.warn(error)\n } finally {\n setPending(false)\n }\n }\n\n const toggleContactAsParticipant = (state) => {\n setContactParticipates(state)\n if (!state && participants.length === 0) {\n addParticipant()\n }\n if (\n state &&\n participants.length === 1 &&\n participants[0] &&\n (participants[0].name === '' || participants[0].email === '')\n ) {\n setParticipants([])\n }\n }\n\n const addParticipant = () => {\n const newParticipant = { id: uuidv4(), name: '', email: '' }\n setParticipants([...participants, newParticipant])\n }\n\n function changeParticipant(id, field) {\n const updatedParticipants = participants.map((participant) => {\n if (id === participant.id) {\n return { ...participant, [field.name]: field.value }\n }\n return participant\n })\n setParticipants(updatedParticipants)\n }\n\n function deleteParticipant(id) {\n const remainingParticipants = participants.filter(\n (participant) => id !== participant.id,\n )\n if (remainingParticipants.length > 0 || contactParticipates) {\n setParticipants(remainingParticipants)\n }\n }\n\n const [totalParticipants, costs, costsFormatted] = useMemo(() => {\n const num = participants.length + Number(contactParticipates)\n const costs = num * price\n return [\n num,\n costs,\n formatCurrency({\n value: costs,\n language,\n }),\n ]\n }, [participants, contactParticipates, language])\n\n function recaptchaOnExpired(value) {\n setErrorMessage(t('Form.error.recaptchaExpired'))\n }\n\n function recaptchaOnErrored(value) {\n setErrorMessage(t('Form.error.recaptchaNotLoaded'))\n }\n\n function recaptchaAsyncScriptOnLoad(value) {\n if (!value.loaded && value.loaded != undefined) {\n setErrorMessage(t('Form.error.recaptchaNotLoadedAsync'))\n } else if (!value.errored && value.errored != undefined) {\n setErrorMessage(\n t('Form.error.recaptchaNotLoadedAsync') +\n '(Errored:' +\n value.errored +\n ')',\n )\n } else {\n //Script has been loaded. Hide the error message\n setErrorMessage(null)\n }\n }\n\n return (\n \n
    \n
    \n \n \n \n \n {t('Events.training.formDateHeadline')}\n \n
    \n
    \n {/* */}\n setTrainingDate(e.target.value)}\n required\n >\n {dateOptions?.map((item) => (\n \n ))}\n \n
    \n
    \n \n {t('Events.training.formContactHeadline')}\n \n
    \n \n \n \n \n
    \n toggleContactAsParticipant(value)}\n />\n
    \n
    \n \n {t('Events.training.formInvoiceHeadline')}\n \n
    \n \n \n \n \n \n
    \n
    \n \n {t('Events.training.formParticipantsHeadline')}\n \n {contactParticipates && (\n
    \n \n \n toggleContactAsParticipant(false)}\n >\n \n \n \n \n \n
    \n )}\n {participants.map((participant) => (\n
    \n \n changeParticipant(participant.id, {\n name: 'name',\n value,\n })\n }\n required\n className=\"flex-1\"\n />\n \n changeParticipant(participant.id, {\n name: 'email',\n value,\n })\n }\n required\n className=\"flex-1\"\n />\n deleteParticipant(participant.id)}\n >\n \n \n \n \n \n
    \n ))}\n
    \n addParticipant()}\n Icon={Add}\n >\n {t('Events.training.addParticipant')}\n \n
    \n
    \n
    \n
    \n
    \n \n {t('Events.training.summaryHeadline')}\n \n
    \n
    {t('Events.training.summaryDateTitle')}
    \n
    \n {trainingDate\n ? trainingDate\n : t('Events.training.summaryNoDateSelected')}\n
    \n
    \n {t('Events.training.summaryTotalParticipantsTitle')}\n
    \n
    \n {t('Events.training.summaryTotalParticipants', {\n count: totalParticipants || 0,\n })}\n
    \n
    \n {t('Events.training.summaryCostsTitle')}\n
    \n
    \n {t('Events.training.summaryCosts', {\n costs: costsFormatted,\n count: costs,\n })}\n
    \n
    \n
    \n \n
    \n {recaptchaEnabled && (\n
    \n {recaptchaReady ? (\n \n ) : (\n

    {t('Form.error.loadingRecaptcha')}

    \n )}\n
    \n )}\n {errorMessage && (\n {errorMessage}\n )}\n
    \n \n {submitLabel}\n \n
    \n {pendingMessage && isPending && {pendingMessage}}\n
    \n \n )\n}\n\nFormTraining.propTypes = {\n name: PropTypes.string,\n redirectUri: PropTypes.string,\n}\n\nexport default FormTraining\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { useTranslation } from 'react-i18next'\nimport ArrowDownwardIcon from '@mui/icons-material/ArrowDownward'\n\nimport { cn } from '../../helper'\nimport { py } from '../../constants/space'\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { EventTypes } from '../../constants/enums'\nimport Button from '../base/Button'\nimport RichText from '../base/RichText'\nimport HeadlineTag from '../base/HeadlineTag'\nimport BadgeDividerBlock from '../blocks/BadgeDividerBlock'\nimport ImageColumn from '../blocks/ImageColumn'\nimport FormContact from '../base/FormContact'\nimport FormTraining from '../base/FormTraining'\nimport Image from '../base/Image'\n\nconst EventDetail = ({\n as: Tag = 'div',\n className,\n anchor,\n headlineOrder = 2,\n copy,\n description,\n metaInformation = [],\n type,\n terms,\n dates = [],\n price = 0,\n image,\n space,\n logo,\n redirectUri,\n eventDateFormatted,\n place,\n title,\n ...props\n}) => {\n const { t } = useTranslation()\n const isTraining = type && type === 'training'\n const bookingAnchor = 'booking'\n const aspectRatio = 'aspect_16_9'\n const eventInformationContactForm = `${title}, ${place}, ${eventDateFormatted}`\n\n return (\n \n
    \n {logo && (\n
    \n \n
    \n )}\n
    \n
    \n \n \n \n {description && (\n \n {description}\n \n )}\n {/* {description && (\n

    \n {description}\n

    \n )} */}\n\t\t\t\t\t\t{metaInformation && metaInformation.length > 0 && (\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\t{metaInformation.map((meta) => (\n\t\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{meta.title}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t

      {meta.description}

      \n\t\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{isTraining && (\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('Events.training.scrollToBooking')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!isTraining && image && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t
    \n\t\t\t\t\t{copy && (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{copy}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t)}\n\t\t\t\t
    \n\t\t\t
    \n\t\t\t{type === EventTypes.event && (\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t{t('Events.event.formCopy')}\n\t\t\t\t\t\t

    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t)}\n\t\t\t{type === EventTypes.training && (\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t)\n}\n\nEventDetail.propTypes = {\n as: PropTypes.string,\n className: PropTypes.string,\n tag: PropTypes.string,\n anchor: PropTypes.string,\n headlineOrder: PropTypes.number,\n copy: PropTypes.string,\n description: PropTypes.string,\n endDate: PropTypes.string,\n dates: PropTypes.array,\n image: PropTypes.any,\n logo: PropTypes.any,\n maxNumberPeople: PropTypes.number,\n metaInformation: PropTypes.array,\n place: PropTypes.string,\n price: PropTypes.number,\n startDate: PropTypes.string,\n title: PropTypes.string,\n type: PropTypes.string,\n redirectUri: PropTypes.string,\n eventDateFormatted: PropTypes.string,\n}\n\nexport default EventDetail\n","// NOTE: Watch out to safelist all classes in tailwind.config.js\n// Otherwise they might not be available in prodcution.\n\nexport const Themes = {\n black: {\n root: 'text-white bg-black',\n prose: 'prose-white',\n buttonVariant: 'primary',\n },\n dark: {\n root: 'text-white bg-charcoal',\n prose: 'prose-white',\n buttonVariant: 'primary',\n },\n darkgreen: {\n root: 'text-white bg-rio-800',\n prose: 'prose-white',\n buttonVariant: 'primaryinverted',\n },\n gray: {\n root: 'text-charcoal bg-off-white',\n prose: '',\n buttonVariant: 'primary',\n },\n green: {\n root: 'text-white bg-rio',\n prose: 'prose-white',\n buttonVariant: 'primaryinverted',\n },\n white: {\n root: 'text-charcoal bg-white',\n prose: '',\n buttonVariant: 'primary',\n },\n transparent: {\n root: 'text-charcoal',\n prose: '',\n buttonVariant: 'primary',\n },\n}\n\nexport const defaultThemeName = 'black'\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { uid } from 'react-uid'\nimport { graphql } from 'gatsby'\nimport { Disclosure, Transition } from '@headlessui/react'\n\nimport { cn } from '../../helper'\nimport { py } from '../../constants/space'\nimport { Themes, defaultThemeName } from '../../constants/themes'\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport Button from '../base/Button'\nimport RichText from '../base/RichText'\nimport HighlightColumn from '../blocks/HighlightColumn'\nimport ImageColumn from '../blocks/ImageColumn'\nimport VideoColumn from '../blocks/VideoColumn'\nimport ArrowCircleRightIcon from '@mui/icons-material/ArrowCircleRight'\n\nconst ToggleButtonContainer = ({ children, hasOverline }) => (\n \n {children}\n \n)\n\nconst ToggleButton = ({ animates, toggled }) => (\n \n)\n\nconst FeatureDescription = ({\n as: Tag = 'div',\n className,\n anchor,\n headlineOrder = 2,\n overline,\n headline,\n space,\n copy,\n collapsible = true,\n initialCollapsed = true,\n theme,\n links,\n mediaBlocks,\n video,\n ...props\n}) => {\n const {\n root: themeRootClasses,\n prose: themeProseClasses,\n buttonVariant,\n } = Themes[theme] || {}\n\n const headingElem = (\n
    \n {overline && (\n
    \n \n {overline}\n \n
    \n )}\n \n
    \n )\n\n const contentElems = (\n
    \n {copy && (\n \n {copy}\n \n )}\n {mediaBlocks && Boolean(mediaBlocks.length) && (\n
    \n {mediaBlocks.map((mediaBlock) => (\n \n ))}\n
    \n )}\n {video && (\n
    \n \n
    \n )}\n {links && Boolean(links.length) && (\n
      \n {links.map((link) => (\n
    • \n \n
    • \n ))}\n
    \n )}\n
    \n )\n\n const containerClasses = cn(\n 'box md:grid md:gap-5 md:grid-cols-12',\n themeRootClasses,\n py(space),\n )\n\n return (\n \n {collapsible ? (\n \n {({ open }) => (\n
    \n
    \n {(overline || headline) && (\n \n {headingElem}\n \n \n \n \n )}\n \n {contentElems}\n \n
    \n
    \n )}\n
    \n ) : (\n
    \n
    \n
    \n {headingElem}\n \n \n \n
    \n {contentElems}\n
    \n
    \n )}\n
    \n )\n}\n\nFeatureDescription.propTypes = {\n as: PropTypes.string,\n className: PropTypes.string,\n tag: PropTypes.string,\n anchor: PropTypes.string,\n headlineOrder: PropTypes.number,\n headingBlock: PropTypes.object,\n Link: PropTypes.any,\n linkText: PropTypes.string,\n links: PropTypes.array,\n mediaBlocks: PropTypes.array,\n video: PropTypes.object,\n}\n\nexport default FeatureDescription\n\nexport const query = graphql`\n fragment SectionsFeatureDescription on STRAPI__COMPONENT_SECTIONS_FEATURE_DESCRIPTION {\n id\n strapi_component\n anchor\n tag\n space\n disableTopMargin\n collapsible\n copy {\n data {\n copy\n }\n }\n headline\n headlineOrder\n initialCollapsed\n overline\n theme\n links {\n ...SharedLink\n }\n video {\n videoId\n image {\n ...SharedImage\n }\n }\n mediaBlocks {\n ...BlocksImageBlock\n }\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { classNames } from '../../helper'\nimport { py } from '../../constants/space'\nimport HeadlineTag from '../base/HeadlineTag'\nimport Icon from '../base/Icon'\nimport Button from '../base/Button'\n\nconst FeatureList = ({\n as: Tag = 'div',\n className,\n headlineOrder = 2,\n headline,\n items = [],\n Link,\n linkText,\n space,\n ...props\n}) => (\n \n
    \n {headline && (\n \n \n {headline}\n \n \n )}\n
    \n {items && items.length > 0 && (\n
      \n {items.map((item) => (\n \n {item.text && (\n \n {item.iconName && (\n \n \n \n )}\n {item.text}\n \n )}\n \n ))}\n
    \n )}\n {Link && (\n

    \n \n

    \n )}\n
    \n
    \n \n)\n\nFeatureList.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n headline: PropTypes.string,\n items: PropTypes.array,\n Link: PropTypes.any,\n linkText: PropTypes.string,\n}\n\nexport default FeatureList\n\nexport const query = graphql`\n fragment SectionsFeatureList on STRAPI__COMPONENT_SECTIONS_FEATURE_LIST {\n disableTopMargin\n space\n id\n strapi_component\n anchor\n headline\n headlineOrder\n items {\n iconName\n text\n }\n link {\n ...SharedLink\n }\n tag\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py } from '../../constants/space'\nimport { Themes, defaultThemeName } from '../../constants/themes'\nimport HeadlineTag from '../base/HeadlineTag'\nimport RichText from '../base/RichText'\n\nconst HeadingSection = ({\n as: Tag = 'div',\n className,\n headlineOrder = 2,\n headline,\n copy,\n theme = defaultThemeName,\n space,\n ...props\n}) => {\n const enableHighlighting = true\n\n const { root: themeRootClasses, prose: themeProseClasses } =\n Themes[theme] || {}\n\n return (\n \n
    \n {headline && (\n \n {headline && (\n \n {headline}\n \n )}\n \n )}\n {copy && (\n \n {copy}\n \n )}\n
    \n \n )\n}\n\nHeadingSection.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n headline: PropTypes.string,\n copy: PropTypes.string,\n theme: PropTypes.string,\n}\n\nexport default HeadingSection\n\nexport const query = graphql`\n fragment SectionsHeadingSection on STRAPI__COMPONENT_SECTIONS_HEADING_SECTION {\n disableTopMargin\n space\n id\n anchor\n copy {\n data {\n copy\n }\n }\n headline\n headlineOrder\n strapi_component\n tag\n theme\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py, Space } from '../../constants/space'\n\nimport HeadlineTag from '../base/HeadlineTag'\nimport Button from '../base/Button'\nimport RichText from '../base/RichText'\n\nconst HeroSection = ({\n as: Tag = 'article',\n className,\n headlineOrder = 2,\n Link,\n image,\n badgeText,\n headline,\n linkText,\n copy,\n space,\n ...props\n}) => (\n \n
    \n {image && image.Component && (\n \n )}\n
    \n \n
    \n
    \n {badgeText && (\n

    \n \n {badgeText}\n \n

    \n )}\n {headline && (\n \n \n \n {headline}\n \n \n \n )}\n {copy && (\n \n {copy}\n \n )}\n {Link && linkText && (\n
    \n \n
    \n )}\n
    \n
    \n {Link && (\n \n {headline}\n \n )}\n
    \n
    \n \n)\n\nHeroSection.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n Link: PropTypes.any,\n image: PropTypes.any,\n badgeText: PropTypes.string,\n headline: PropTypes.string,\n linkText: PropTypes.string,\n copy: PropTypes.string,\n}\n\nexport default HeroSection\n\nexport const query = graphql`\n fragment SectionsHeroSection on STRAPI__COMPONENT_SECTIONS_HERO_SECTION {\n disableTopMargin\n space\n anchor\n badgeText\n copy {\n data {\n copy\n }\n }\n headline\n headlineOrder\n tag\n image {\n mime\n url\n alt: alternativeText\n width\n height\n localFile {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n link {\n ...SharedLink\n }\n }\n`\n","import React, { useEffect, useCallback, useRef, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport { uid } from 'react-uid'\nimport Flickity from 'react-flickity-component'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py, Space } from '../../constants/space'\nimport HeroSection from './HeroSection'\n\nconst HeroCollection = ({\n as: Tag = 'div',\n className,\n items = [],\n space,\n id,\n ...props\n}) => {\n const [selectedIndex, setSelectedIndex] = useState(0)\n const flktyElem = useRef()\n function onChange() {\n if (flktyElem.current) {\n setSelectedIndex(flktyElem.current.selectedIndex)\n }\n }\n const onChangeRef = useRef(onChange)\n\n useEffect(() => {\n onChangeRef.current = onChange\n })\n\n const handleOnChange = useCallback(() => {\n onChangeRef.current?.()\n }, [])\n\n const setFlickityRef = useCallback((ref) => {\n flktyElem.current?.off('change', handleOnChange)\n flktyElem.current = ref\n flktyElem.current?.on('change', handleOnChange)\n }, [])\n\n const gotoSlide = (index) => {\n if (flktyElem.current) {\n flktyElem.current.stopPlayer()\n flktyElem.current.select(index)\n }\n }\n\n const flickityOptions = {\n autoPlay: true,\n pageDots: false,\n prevNextButtons: false,\n wrapAround: true,\n }\n\n const slides = items.map((item) => ({ ...item, space: 'none' }))\n\n return (\n \n {slides && slides.length > 0 && (\n
    \n \n {slides.map((item) => (\n
  • \n \n
  • \n ))}\n \n
      \n {slides.map((item, index) => (\n \n gotoSlide(index)}\n >\n \n \n \n ))}\n
    \n
    \n )}\n \n )\n}\n\nHeroCollection.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n items: PropTypes.array,\n}\n\nexport default HeroCollection\n\nexport const query = graphql`\n fragment SectionsHeroCollection on STRAPI__COMPONENT_SECTIONS_HERO_COLLECTION {\n space\n disableTopMargin\n id\n anchor\n strapi_component\n hero {\n items {\n anchor\n badgeText\n copy {\n data {\n copy\n }\n }\n headline\n headlineOrder\n tag\n image {\n mime\n url\n alt: alternativeText\n width\n height\n localFile {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n link {\n ...SharedLink\n }\n }\n }\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py, Space } from '../../constants/space'\nimport HeadlineTag from '../base/HeadlineTag'\nimport Button from '../base/Button'\n\nconst HeroCompact = ({\n as: Tag = 'div',\n className,\n headlineOrder = 2,\n Link,\n image,\n badgeText,\n headline,\n linkText,\n space,\n ...props\n}) => {\n const hastContent =\n Boolean(headline) || Boolean(badgeText) || Boolean(linkText)\n\n return (\n \n
    \n {image && image.Component && (\n \n )}\n
    \n {hastContent && (\n
    \n
    \n
    \n {badgeText && (\n

    \n \n {badgeText}\n \n

    \n )}\n {headline && (\n \n \n \n {headline}\n \n \n \n )}\n {Link && linkText && (\n
    \n \n
    \n )}\n
    \n
    \n {Link && (\n \n {headline}\n \n )}\n
    \n )}\n
    \n \n )\n}\n\nHeroCompact.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n Link: PropTypes.any,\n image: PropTypes.object,\n badgeText: PropTypes.string,\n headline: PropTypes.string,\n linkText: PropTypes.string,\n}\n\nexport default HeroCompact\n\nexport const query = graphql`\n fragment SectionsHeroCompact on STRAPI__COMPONENT_SECTIONS_HERO_COMPACT {\n disableTopMargin\n space\n id\n anchor\n badgeText\n headline\n headlineOrder\n image {\n ...SharedImage\n }\n link {\n ...SharedLink\n }\n strapi_component\n tag\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport _ from 'lodash'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py } from '../../constants/space'\nimport HeadlineTag from '../base/HeadlineTag'\nimport RichText from '../base/RichText'\nimport ImageColumn from '../blocks/ImageColumn'\n\nconst HighlightFigure = ({\n as: Tag = 'div',\n className,\n headlineOrder = 2,\n headline,\n overline,\n image,\n aspectRatio,\n space,\n ...props\n}) => {\n const hasHeading = !_.isEmpty(overline) || !_.isEmpty(headline)\n const enableHighlighting = true\n\n return (\n \n \n {hasHeading && (\n \n {overline && (\n \n {overline}\n \n )}\n {headline && (\n \n {headline}\n \n )}\n \n )}\n {image && (\n
    \n \n
    \n )}\n
    \n \n )\n}\n\nHighlightFigure.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n overline: PropTypes.string,\n headline: PropTypes.string,\n image: PropTypes.object,\n aspectRatio: PropTypes.string,\n}\n\nexport default HighlightFigure\n\nexport const query = graphql`\n fragment SectionsHighlightFigure on STRAPI__COMPONENT_SECTIONS_HIGHLIGHT_FIGURE {\n disableTopMargin\n space\n id\n strapi_component\n headline\n headlineOrder\n anchor\n image {\n mime\n url\n alt: alternativeText\n width\n height\n localFile {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n overline\n tag\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport _ from 'lodash'\nimport { cn } from '../../helper'\n\nconst AspectRatio = ({\n as: Tag = 'div',\n className,\n aspectRatio,\n size,\n children,\n placeholderClassName,\n}) => {\n const { width, height } = size || { width: 0, height: 0 }\n const [ratioWidth, ratioHeight] = _.isString(aspectRatio)\n ? aspectRatio.split('/')\n : []\n const ratioWidthInt = parseInt(ratioWidth, 10)\n const ratioHeightInt = parseInt(ratioHeight, 10)\n\n const ratioX = ratioWidthInt > 0 ? ratioWidthInt : parseInt(width, 10)\n const ratioY = ratioHeightInt > 0 ? ratioHeightInt : parseInt(height, 10)\n const viewBox = `0 0 ${ratioX} ${ratioY}`\n\n return (\n \n \n {children}\n \n )\n}\n\nAspectRatio.propTypes = {\n as: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.any,\n size: PropTypes.object,\n aspectRatio: PropTypes.string,\n placeholderClassName: PropTypes.string,\n}\n\nexport default AspectRatio\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport _ from 'lodash'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py } from '../../constants/space'\nimport HeadlineTag from '../base/HeadlineTag'\nimport RichText from '../base/RichText'\nimport AspectRatio from '../base/AspectRatio'\n\nconst HighlighLogo = ({\n as: Tag = 'div',\n className,\n headlineOrder = 2,\n headline,\n overline,\n image,\n space,\n ...props\n}) => {\n const hasHeading = !_.isEmpty(overline) || !_.isEmpty(headline)\n const enableHighlighting = true\n\n return (\n \n
    \n {hasHeading && (\n \n {overline && (\n \n {overline}\n \n )}\n {headline && (\n
    \n \n {headline}\n \n \n {image.Component && (\n \n )}\n \n
    \n )}\n
    \n )}\n
    \n
    \n )\n}\n\nHighlighLogo.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n overline: PropTypes.string,\n headline: PropTypes.string,\n image: PropTypes.object,\n}\n\nexport default HighlighLogo\n\nexport const query = graphql`\n fragment SectionsHighlightLogo on STRAPI__COMPONENT_SECTIONS_HIGHLIGHT_LOGO {\n disableTopMargin\n space\n id\n strapi_component\n anchor\n headline\n headlineOrder\n overline\n image {\n mime\n url\n alt: alternativeText\n width\n height\n localFile {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport { uid } from 'react-uid'\nimport _ from 'lodash'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py } from '../../constants/space'\nimport HeadlineTag from '../base/HeadlineTag'\nimport RichText from '../base/RichText'\nimport ImageColumn from '../blocks/ImageColumn'\n\nconst HighlightPlatform = ({\n as: Tag = 'div',\n className,\n headlineOrder = 2,\n headline,\n overline,\n images = [],\n space,\n ...props\n}) => {\n const hasHeading = !_.isEmpty(overline) || !_.isEmpty(headline)\n const enableHighlighting = true\n\n return (\n \n \n {hasHeading && (\n \n {overline && (\n \n {overline}\n \n )}\n {headline && (\n \n {headline}\n \n )}\n \n )}\n {images && images.length && (\n
      \n {images.map((image) => (\n
    • \n \n
    • \n ))}\n
    \n )}\n \n
    \n )\n}\n\nHighlightPlatform.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n overline: PropTypes.string,\n headline: PropTypes.string,\n images: PropTypes.array,\n}\n\nexport default HighlightPlatform\n\nexport const query = graphql`\n fragment SectionsHighlightPlatform on STRAPI__COMPONENT_SECTIONS_HIGHLIGHT_PLATFORM {\n disableTopMargin\n space\n id\n strapi_component\n anchor\n headline\n headlineOrder\n overline\n images: platformImages {\n alt: alternativeText\n width\n height\n localFile {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n tag\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport _ from 'lodash'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py } from '../../constants/space'\nimport HeadlineTag from '../base/HeadlineTag'\nimport RichText from '../base/RichText'\nimport Icon from '../base/Icon'\n\nconst HighlightStats = ({\n as: Tag = 'div',\n className,\n headlineOrder = 2,\n headline,\n overline,\n items = [],\n space,\n ...props\n}) => {\n const hasHeading = !_.isEmpty(overline) || !_.isEmpty(headline)\n const enableHighlighting = true\n\n return (\n \n \n {hasHeading && (\n \n {overline && (\n \n {overline}\n \n )}\n {headline && (\n \n {headline}\n \n )}\n \n )}\n {items && items.length > 0 && (\n
    \n {items.map((item) => (\n \n
    \n {item.iconName && (\n \n \n \n )}\n

    \n {item.name}\n

    \n
    \n
    \n {item.stat}\n
    \n \n ))}\n
    \n )}\n \n
    \n )\n}\n\nHighlightStats.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n overline: PropTypes.string,\n headline: PropTypes.string,\n items: PropTypes.array,\n}\n\nexport default HighlightStats\n\nexport const query = graphql`\n fragment SectionsHighlightStats on STRAPI__COMPONENT_SECTIONS_HIGHLIGHT_STATS {\n disableTopMargin\n space\n id\n strapi_component\n anchor\n headline\n headlineOrder\n items {\n iconName\n name\n stat\n }\n overline\n tag\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport _ from 'lodash'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py } from '../../constants/space'\nimport HeadlineTag from '../base/HeadlineTag'\nimport RichText from '../base/RichText'\n\nconst HighlightText = ({\n as: Tag = 'div',\n className,\n headlineOrder = 2,\n headline,\n overline,\n copy,\n space,\n ...props\n}) => {\n const hasHeading = !_.isEmpty(overline) || !_.isEmpty(headline)\n const enableHighlighting = true\n\n return (\n \n \n {hasHeading && (\n \n {overline && (\n \n {overline}\n \n )}\n {headline && (\n \n {headline}\n \n )}\n \n )}\n {copy && (\n \n {copy}\n \n )}\n \n \n )\n}\n\nHighlightText.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n overline: PropTypes.string,\n headline: PropTypes.string,\n copy: PropTypes.string,\n}\n\nexport default HighlightText\n\nexport const query = graphql`\n fragment SectionsHighlightText on STRAPI__COMPONENT_SECTIONS_HIGHLIGHT_TEXT {\n disableTopMargin\n space\n id\n strapi_component\n anchor\n headline\n headlineOrder\n copy {\n data {\n copy\n }\n }\n overline\n tag\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py, Space } from '../../constants/space'\nimport HeadlineTag from '../base/HeadlineTag'\n\nconst HeroSection = ({\n as: Tag = 'article',\n className,\n headlineOrder = 2,\n image,\n headline,\n subline,\n space,\n ...props\n}) => (\n \n {image && image.Component && (\n \n )}\n
    \n
    \n
    \n
    \n {headline && (\n \n \n \n {headline}\n \n \n \n )}\n {subline && (\n

    \n \n {subline}\n \n

    \n )}\n
    \n
    \n
    \n \n)\n\nHeroSection.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n image: PropTypes.any,\n headline: PropTypes.string,\n subline: PropTypes.string,\n}\n\nexport default HeroSection\n\nexport const query = graphql`\n fragment SectionsHeadingImage on STRAPI__COMPONENT_SECTIONS_HEADING_IMAGE {\n disableTopMargin\n space\n id\n strapi_component\n headline\n anchor\n headlineOrder\n subline\n tag\n image {\n mime\n url\n alt: alternativeText\n width\n height\n localFile {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport _ from 'lodash'\nimport Flickity from 'react-flickity-component'\nimport { uid } from 'react-uid'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { sortByRankingAndTitle } from '../../utils/sorting'\nimport { cn } from '../../helper'\nimport { py } from '../../constants/space'\nimport HeadlineTag from '../base/HeadlineTag'\nimport RichText from '../base/RichText'\nimport Image from '../base/Image'\n\nconst LogoCloud = ({\n as: Tag = 'div',\n className,\n headlineOrder = 2,\n headline,\n overline,\n items = [],\n space,\n id,\n ...props\n}) => {\n const hasHeading = !_.isEmpty(overline) || !_.isEmpty(headline)\n const enableHighlighting = true\n\n const sortedItems = sortByRankingAndTitle(items)\n\n const flickityOptions = {\n autoPlay: 2000,\n pageDots: false,\n prevNextButtons: false,\n wrapAround: true,\n draggable: false,\n freeScroll: false,\n friction: 0.4,\n selectedAttraction: 0.035,\n cellAlign: 'left',\n }\n\n return (\n \n
    \n
    \n {hasHeading && (\n \n {overline && (\n \n {overline}\n \n )}\n {headline && (\n \n {headline}\n \n )}\n \n )}\n {sortedItems.length > 0 && (\n
    \n \n {sortedItems.map((item) => (\n \n {item.logo && (\n
    \n {item.logo.width && item.logo.height && (\n \n )}\n \n
    \n )}\n
    \n ))}\n \n
    \n )}\n
    \n
    \n \n )\n}\n\nLogoCloud.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n overline: PropTypes.string,\n headline: PropTypes.string,\n items: PropTypes.array,\n}\n\nexport default LogoCloud\n\nexport const query = graphql`\n fragment SectionsPartnerCloud on STRAPI__COMPONENT_SECTIONS_PARTNER_CLOUD {\n disableTopMargin\n space\n id\n anchor\n headline\n headlineOrder\n overline\n strapi_component\n tag\n items: partners {\n route\n title\n ranking\n logo {\n ...SharedImage\n }\n }\n }\n`\n","import React, { useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { useTranslation } from 'react-i18next'\nimport _ from 'lodash'\n\nimport TextField from './TextField'\nimport Checkbox from './Checkbox'\nimport Button from './Button'\nimport RichText from './RichText'\n\nconst FormNewsletter = ({\n name = 'newsletter',\n className,\n formAction,\n fieldNameGivenName,\n fieldNameFamilyName,\n fieldNameEmail,\n terms,\n submitLabel,\n information,\n}) => {\n const { t } = useTranslation()\n const formName = name + '-'\n const finalSubmitLabel = submitLabel || t('Form.submit')\n\n return (\n \n
    \n \n \n \n
    \n
    \n {information && (\n {information}\n )}\n
    \n \n
    \n
    \n \n
    \n
    \n \n )\n}\n\nFormNewsletter.propTypes = {\n name: PropTypes.string,\n formAction: PropTypes.string,\n fieldNameGivenName: PropTypes.string,\n fieldNameFamilyName: PropTypes.string,\n fieldNameEmail: PropTypes.string,\n terms: PropTypes.string,\n information: PropTypes.string,\n submitLabel: PropTypes.string,\n}\n\nexport default FormNewsletter\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport { useTranslation } from 'react-i18next'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py } from '../../constants/space'\nimport HeadingColumn from '../blocks/HeadingColumn'\nimport RichText from '../base/RichText'\nimport FormNewsletter from '../base/FormNewsletter'\n\nconst Newsletter = ({\n as: Tag = 'div',\n className,\n headingBlock,\n copy,\n space,\n Link,\n linkText,\n terms,\n formAction,\n fieldNameGivenName,\n fieldNameFamilyName,\n fieldNameEmail,\n submitLabel,\n information,\n ...props\n}) => {\n const { t } = useTranslation()\n const headlineOrder = headingBlock?.headlineOrder || 2\n\n return (\n \n
    \n {headingBlock && (\n \n )}\n {copy && (\n {copy}\n )}\n
    \n \n {Link && linkText && (\n
    \n {linkText}\n
    \n )}\n
    \n
    \n
    \n )\n}\n\nNewsletter.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n Link: PropTypes.any,\n linkText: PropTypes.string,\n}\n\nexport default Newsletter\n\nexport const query = graphql`\n fragment SectionsNewsletter on STRAPI__COMPONENT_SECTIONS_NEWSLETTER {\n id\n strapi_component\n space\n disableTopMargin\n anchor\n tag\n headingBlock {\n ...BlocksHeadingBlock\n }\n copy {\n data {\n copy\n }\n }\n formAction\n fieldNameGivenName\n fieldNameFamilyName\n fieldNameEmail\n submitLabel\n information {\n data {\n information\n }\n }\n terms {\n data {\n terms\n }\n }\n link {\n ...SharedLink\n }\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { cn } from '../../helper'\nimport Image from '../base/Image'\n\nconst PartnerCollectionItem = ({ className, partner }) => {\n const Tag = partner.Link || 'div'\n return (\n \n \n \n {partner.logo && (\n \n )}\n \n {partner.name && (\n {partner.name}\n )}\n \n )\n}\n\nPartnerCollectionItem.propTypes = {\n className: PropTypes.string,\n partner: PropTypes.object,\n}\n\nexport default PartnerCollectionItem\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport { uid } from 'react-uid'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py } from '../../constants/space'\nimport HeadlineTag from '../base/HeadlineTag'\nimport PartnerCollectionItem from '../base/PartnerCollectionItem'\n\nconst PartnerCollection = ({\n as: Tag = 'div',\n className,\n headlineOrder = 2,\n headline,\n partners = [],\n space,\n ...props\n}) => {\n const sortedPartners = partners.sort(function (a, b) {\n return a.name.trim().localeCompare(b.name.trim())\n })\n\n return (\n \n
    \n {headline && (\n \n \n {headline}\n \n \n )}\n {sortedPartners && sortedPartners.length && (\n
      \n {partners.map((partner) => (\n
    • \n \n
    • \n ))}\n
    \n )}\n
    \n
    \n )\n}\n\nPartnerCollection.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n headline: PropTypes.string,\n partners: PropTypes.array,\n}\n\nexport default PartnerCollection\n\nexport const query = graphql`\n fragment SectionsPartnerCollection on STRAPI__COMPONENT_SECTIONS_PARTNER_COLLECTION {\n id\n space\n disableTopMargin\n strapi_component\n anchor\n headline\n headlineOrder\n tag\n partners {\n title\n name\n route\n url\n activateInternalPage\n logo {\n mime\n url\n alt: alternativeText\n width\n height\n localFile {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n }\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { cn } from '../../helper'\nimport { Themes, defaultThemeName } from '../../constants/themes'\nimport HeadlineTag from './HeadlineTag'\nimport RichText from './RichText'\nimport Button from './Button'\n\nconst TeaserImageLarge = ({\n as: Tag = 'article',\n className,\n headlineOrder = 2,\n headline,\n Link,\n linkText,\n image,\n copy,\n theme = defaultThemeName,\n}) => {\n const {\n root: themeRootClasses,\n prose: themeProseClasses,\n buttonVariant,\n } = Themes[theme] || {}\n\n return (\n \n
    \n {image && image.Component && (\n <>\n
    \n \n \n )}\n
    \n
    \n {headline && (\n \n {Link ? (\n {headline}\n ) : (\n {headline}\n )}\n \n )}\n {copy && (\n \n {copy}\n \n )}\n {Link && linkText && (\n \n \n
    \n )}\n
    \n {Link && (\n \n {headline}\n \n )}\n \n )\n}\n\nTeaserImageLarge.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n Link: PropTypes.any,\n image: PropTypes.any,\n headline: PropTypes.string,\n copy: PropTypes.string,\n linkText: PropTypes.string,\n theme: PropTypes.string,\n}\n\nexport default TeaserImageLarge\n","import React, { useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport { uid } from 'react-uid'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py } from '../../constants/space'\nimport HeadingColumn from '../blocks/HeadingColumn'\nimport TeaserImageLarge from '../base/TeaserImageLarge'\nimport LoadMoreButton from '../base/LoadMoreButton'\nimport RichText from '../base/RichText'\n\nconst PAGE_SIZE = 10\n\nconst TeaserCollection = ({\n as: Tag = 'div',\n className,\n headlineOrder = 2,\n headline,\n subline,\n copy,\n items = [],\n loadMoreButtonText,\n loadingText,\n loading,\n space,\n ...props\n}) => {\n const initialLimit = items.length === PAGE_SIZE ? PAGE_SIZE - 1 : PAGE_SIZE\n const [itemsLimit, setItemsLimit] = useState(initialLimit)\n\n const numRemaining = () => items.length - itemsLimit\n const showLoadMore = () => numRemaining() > 0\n\n const loadMore = () => {\n const limit = Math.min(itemsLimit + PAGE_SIZE, items.length)\n setItemsLimit(limit)\n }\n\n return (\n \n
    \n {headline && (\n \n )}\n {copy && (\n \n {copy}\n \n )}\n {items && items.length > 0 && (\n
      \n {items.slice(0, itemsLimit).map((item) => (\n
    • \n \n
    • \n ))}\n
    \n )}\n {loadMoreButtonText && showLoadMore() && (\n
    \n loadMore()}\n />\n
    \n )}\n
    \n
    \n )\n}\n\nTeaserCollection.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n headline: PropTypes.string,\n subline: PropTypes.string,\n copy: PropTypes.string,\n items: PropTypes.array,\n loadMoreButtonText: PropTypes.string,\n loadingText: PropTypes.string,\n numRemaining: PropTypes.number,\n loading: PropTypes.bool,\n}\n\nexport default TeaserCollection\n\nexport const query = graphql`\n fragment SectionsTeaserCollection on STRAPI__COMPONENT_SECTIONS_TEASER_COLLECTION {\n disableTopMargin\n space\n id\n anchor\n copy {\n data {\n copy\n }\n }\n headline\n headlineOrder\n strapi_component\n subline\n tag\n teaser {\n items {\n copy {\n data {\n copy\n }\n }\n headline\n image {\n mime\n url\n alt: alternativeText\n width\n height\n localFile {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n link {\n ...SharedLink\n }\n }\n }\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py } from '../../constants/space'\nimport HeadlineTag from '../base/HeadlineTag'\nimport Button from '../base/Button'\nimport RichText from '../base/RichText'\nimport AspectRatio from '../base/AspectRatio'\n\nconst TeaserLogo = ({\n as: Tag = 'article',\n className,\n headlineOrder = 2,\n Link,\n headline,\n copy,\n linkText,\n image,\n space,\n ...props\n}) => (\n \n \n \n {image.Component && (\n \n )}\n \n
    \n {headline && (\n \n {headline}\n \n )}\n {copy && (\n \n {copy}\n \n )}\n {Link && linkText && (\n
    \n \n
    \n )}\n
    \n \n {/* {Link && (\n \n {headline}\n \n )} */}\n
    \n)\n\nTeaserLogo.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n Link: PropTypes.any,\n headline: PropTypes.string,\n copy: PropTypes.string,\n linkText: PropTypes.string,\n image: PropTypes.object,\n}\n\nexport default TeaserLogo\n\nexport const query = graphql`\n fragment SectionsTeaserLogo on STRAPI__COMPONENT_SECTIONS_TEASER_LOGO {\n disableTopMargin\n space\n id\n strapi_component\n anchor\n copy {\n data {\n copy\n }\n }\n headline\n headlineOrder\n image {\n mime\n url\n alt: alternativeText\n width\n height\n localFile {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n tag\n link {\n ...SharedLink\n }\n }\n`\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgStickerStar = function SvgStickerStar(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 102 102\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m56.022 0-5.021 10.2L45.976 0 43.04 10.984l-6.918-9.026-.735 11.342-8.545-7.5 1.491 11.272-9.844-5.69 3.662 10.763-10.765-3.661 5.69 9.844-11.272-1.491 7.5 8.545-11.346.737 9.025 6.916-10.984 2.936L10.201 51l-10.2 5.023 10.984 2.936-9.025 6.917 11.346.737-7.5 8.544 11.272-1.49-5.69 9.843 10.765-3.661-3.662 10.765 9.844-5.69-1.493 11.27 8.545-7.5.737 11.346 6.916-9.023L45.976 102l5.025-10.2 5.021 10.2 2.936-10.984 6.917 9.023.737-11.346 8.544 7.5-1.49-11.271 9.843 5.69-3.66-10.765 10.765 3.663-5.692-9.843 11.272 1.49-7.5-8.544 11.346-.737-9.026-6.917 10.984-2.936L91.799 51l10.2-5.023-10.985-2.937 9.026-6.916-11.346-.737 7.5-8.545-11.272 1.491 5.69-9.844-10.761 3.66 3.66-10.763-9.843 5.69L75.157 5.8l-8.544 7.5-.737-11.342-6.917 9.026Z\"\n })));\n};\nexport { SvgStickerStar as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDIgMTAyIj4KICA8cGF0aCBkPSJtNTYuMDIyIDAtNS4wMjEgMTAuMkw0NS45NzYgMCA0My4wNCAxMC45ODRsLTYuOTE4LTkuMDI2LS43MzUgMTEuMzQyLTguNTQ1LTcuNSAxLjQ5MSAxMS4yNzItOS44NDQtNS42OSAzLjY2MiAxMC43NjMtMTAuNzY1LTMuNjYxIDUuNjkgOS44NDQtMTEuMjcyLTEuNDkxIDcuNSA4LjU0NS0xMS4zNDYuNzM3IDkuMDI1IDYuOTE2LTEwLjk4NCAyLjkzNkwxMC4yMDEgNTFsLTEwLjIgNS4wMjMgMTAuOTg0IDIuOTM2LTkuMDI1IDYuOTE3IDExLjM0Ni43MzctNy41IDguNTQ0IDExLjI3Mi0xLjQ5LTUuNjkgOS44NDMgMTAuNzY1LTMuNjYxLTMuNjYyIDEwLjc2NSA5Ljg0NC01LjY5LTEuNDkzIDExLjI3IDguNTQ1LTcuNS43MzcgMTEuMzQ2IDYuOTE2LTkuMDIzTDQ1Ljk3NiAxMDJsNS4wMjUtMTAuMiA1LjAyMSAxMC4yIDIuOTM2LTEwLjk4NCA2LjkxNyA5LjAyMy43MzctMTEuMzQ2IDguNTQ0IDcuNS0xLjQ5LTExLjI3MSA5Ljg0MyA1LjY5LTMuNjYtMTAuNzY1IDEwLjc2NSAzLjY2My01LjY5Mi05Ljg0MyAxMS4yNzIgMS40OS03LjUtOC41NDQgMTEuMzQ2LS43MzctOS4wMjYtNi45MTcgMTAuOTg0LTIuOTM2TDkxLjc5OSA1MWwxMC4yLTUuMDIzLTEwLjk4NS0yLjkzNyA5LjAyNi02LjkxNi0xMS4zNDYtLjczNyA3LjUtOC41NDUtMTEuMjcyIDEuNDkxIDUuNjktOS44NDQtMTAuNzYxIDMuNjYgMy42Ni0xMC43NjMtOS44NDMgNS42OUw3NS4xNTcgNS44bC04LjU0NCA3LjUtLjczNy0xMS4zNDItNi45MTcgOS4wMjZaIi8+Cjwvc3ZnPg==\";","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { ReactComponent as StickerIcon } from '../../icons/sticker-star.svg'\n\nconst Sticker = ({ text }) => (\n \n \n {text}\n \n \n \n)\n\nSticker.propTypes = {\n text: PropTypes.string,\n}\n\nexport default Sticker\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\n\nimport { Themes, defaultThemeName } from '../../constants/themes'\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py, Space } from '../../constants/space'\nimport HeadlineTag from '../base/HeadlineTag'\nimport Button from '../base/Button'\nimport RichText from '../base/RichText'\nimport Sticker from '../base/Sticker'\n\nconst TeaserSplitImage = ({\n as: Tag = 'article',\n className,\n headlineOrder = 2,\n Link,\n image,\n stickerText,\n headline,\n copy,\n linkText,\n theme = 'black',\n space,\n ...props\n}) => {\n const {\n root: themeRootClasses,\n prose: themeProseClasses,\n buttonVariant,\n } = Themes[theme || defaultThemeName] || Themes[defaultThemeName]\n\n return (\n \n
    \n {image && image.Component && (\n
    \n
    \n \n {stickerText && (\n
    \n \n
    \n )}\n
    \n )}\n
    \n {headline && (\n \n {headline}\n \n )}\n {copy && (\n \n {copy}\n \n )}\n {Link && linkText && (\n \n \n
    \n )}\n
    \n \n \n )\n}\n\nTeaserSplitImage.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n Link: PropTypes.any,\n image: PropTypes.any,\n stickerText: PropTypes.string,\n headline: PropTypes.string,\n copy: PropTypes.string,\n linkText: PropTypes.string,\n theme: PropTypes.string,\n}\n\nexport default TeaserSplitImage\n\nexport const query = graphql`\n fragment SectionsTeaserImage on STRAPI__COMPONENT_SECTIONS_TEASER_IMAGE {\n disableTopMargin\n space\n id\n strapi_component\n anchor\n copy {\n data {\n copy\n }\n }\n headline\n headlineOrder\n image {\n ...SharedImage\n }\n imageLeft\n link {\n ...SharedLink\n }\n stickerText\n tag\n theme\n }\n`\n","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon([/*#__PURE__*/_jsx(\"path\", {\n d: \"M15.5 5H11l5 7-5 7h4.5l5-7z\"\n}, \"0\"), /*#__PURE__*/_jsx(\"path\", {\n d: \"M8.5 5H4l5 7-5 7h4.5l5-7z\"\n}, \"1\")], 'DoubleArrow');","import React from 'react'\nimport PropTypes from 'prop-types'\nimport DoubleArrowIcon from '@mui/icons-material/DoubleArrow'\n\nimport { classNames } from '../../helper'\n\nconst TestimonialCard = ({\n as: Tag = 'article',\n className,\n name,\n description,\n text,\n image,\n}) => (\n \n
    \n
    \n {image && image.Component && (\n \n )}\n
    \n
    \n {name &&

    {name}

    }\n {description &&

    {description}

    }\n
    \n
    \n {text &&

    {text}

    }\n \n
    \n \n
    \n \n \n)\n\nTestimonialCard.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n name: PropTypes.string,\n description: PropTypes.string,\n text: PropTypes.string,\n image: PropTypes.any,\n}\n\nexport default TestimonialCard\n","import React, { useEffect, useCallback, useRef, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport { uid } from 'react-uid'\nimport Flickity from 'react-flickity-component'\n\nimport { cn } from '../../helper'\nimport { py, Space } from '../../constants/space'\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport TestimonialCard from '../base/TestimonialCard'\n\nconst TestimonialCollection = ({\n as: Tag = 'aside',\n className,\n headlineOrder = 2,\n items = [],\n space,\n id,\n ...props\n}) => {\n const [selectedIndex, setSelectedIndex] = useState(0)\n const flktyElem = useRef()\n function onChange() {\n if (flktyElem.current) {\n setSelectedIndex(flktyElem.current.selectedIndex)\n }\n }\n const onChangeRef = useRef(onChange)\n\n useEffect(() => {\n onChangeRef.current = onChange\n })\n\n const handleOnChange = useCallback(() => {\n onChangeRef.current?.()\n }, [])\n\n const setFlickityRef = useCallback((ref) => {\n flktyElem.current?.off('change', handleOnChange)\n flktyElem.current = ref\n flktyElem.current?.on('change', handleOnChange)\n }, [])\n\n const gotoSlide = (index) => {\n if (flktyElem.current) {\n flktyElem.current.stopPlayer()\n flktyElem.current.select(index)\n }\n }\n\n const flickityOptions = {\n autoPlay: true,\n pageDots: false,\n prevNextButtons: false,\n wrapAround: true,\n }\n\n return (\n \n
    \n {items && items.length && (\n <>\n \n {items.map((item) => (\n \n \n \n ))}\n \n
      \n {items.map((item, index) => (\n \n gotoSlide(index)}\n >\n \n \n \n ))}\n
    \n \n )}\n
    \n \n )\n}\n\nTestimonialCollection.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n items: PropTypes.array,\n}\n\nexport default TestimonialCollection\n\nexport const query = graphql`\n fragment SectionsTestimonialCollection on STRAPI__COMPONENT_SECTIONS_TESTIMONIAL_COLLECTION {\n disableTopMargin\n space\n id\n anchor\n strapi_component\n items: testimonials {\n name\n description\n text\n image {\n mime\n url\n alt: alternativeText\n width\n height\n localFile {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n }\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport DoubleArrowIcon from '@mui/icons-material/DoubleArrow'\n\nimport { cn } from '../../helper'\nimport { py, Space } from '../../constants/space'\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\n\nconst TestimonialSection = ({\n as: Tag = 'aside',\n className,\n backgroundImage,\n testimonial,\n space,\n ...props\n}) => (\n \n
    \n {backgroundImage && backgroundImage.Component && (\n \n )}\n {testimonial && (\n
    \n
    \n
    \n \n
    \n
    \n {testimonial.text && (\n

    \n {testimonial.text}\n

    \n )}\n {(testimonial.name || testimonial.description) && (\n
    \n {testimonial.name && (\n

    {testimonial.name}

    \n )}\n {testimonial.description &&

    {testimonial.description}

    }\n
    \n )}\n
    \n
    \n
    \n )}\n
    \n \n)\n\nTestimonialSection.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n testimonial: PropTypes.object,\n backgroundImage: PropTypes.any,\n}\n\nexport default TestimonialSection\n\nexport const query = graphql`\n fragment SectionsTestimonialSection on STRAPI__COMPONENT_SECTIONS_TESTIMONIAL_SECTION {\n disableTopMargin\n space\n id\n strapi_component\n anchor\n backgroundImage {\n alt: alternativeText\n width\n height\n localFile {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n testimonial {\n name\n description\n text\n image {\n mime\n url\n alt: alternativeText\n width\n height\n localFile {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n }\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { classNames } from '../../helper'\nimport HeadlineTag from './HeadlineTag'\nimport RichText from './RichText'\nimport Button from './Button'\n\nconst TopicCard = ({\n as: Tag = 'article',\n className,\n headlineOrder = 2,\n headline,\n title,\n copy,\n linkText,\n Link,\n image,\n}) => (\n \n {title && (\n \n \n {title}\n \n \n )}\n
    \n {image && image.Component && (\n \n )}\n
    \n
    \n {headline && (\n \n {headline}\n \n )}\n {copy && (\n {copy}\n )}\n {Link && linkText && (\n
    \n \n
    \n )}\n
    \n \n)\n\nTopicCard.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n title: PropTypes.string,\n headline: PropTypes.string,\n copy: PropTypes.string,\n image: PropTypes.any,\n linkText: PropTypes.string,\n Link: PropTypes.any,\n}\n\nexport default TopicCard\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport { uid } from 'react-uid'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py } from '../../constants/space'\nimport HeadlineTag from '../base/HeadlineTag'\nimport TopicCard from '../base/TopicCard'\n\nconst TopicCollection = ({\n as: Tag = 'div',\n className,\n headlineOrder = 2,\n headline,\n items = [],\n space,\n ...props\n}) => (\n \n
    \n {headline && (\n \n \n {headline}\n \n \n )}\n {items && items.length > 0 && (\n
      \n {items.map((item) => (\n
    • \n \n
    • \n ))}\n
    \n )}\n
    \n
    \n)\n\nTopicCollection.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n headline: PropTypes.string,\n items: PropTypes.array,\n}\n\nexport default TopicCollection\n\nexport const query = graphql`\n fragment SectionsTopicCollection on STRAPI__COMPONENT_SECTIONS_TOPIC_COLLECTION {\n disableTopMargin\n space\n id\n anchor\n strapi_component\n headline\n headlineOrder\n tag\n topic {\n items {\n headline\n copy {\n data {\n copy\n }\n }\n image {\n mime\n url\n alt: alternativeText\n width\n height\n localFile {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n link {\n ...SharedLink\n }\n title\n }\n }\n }\n`\n","import React, { useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport { uid } from 'react-uid'\nimport { useTranslation } from 'react-i18next'\nimport { buildLink } from '@/utils/react-framework-bridge'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py } from '../../constants/space'\nimport { sortByRankingAndTitle } from '../../utils/sorting'\nimport HeadingColumn from '../blocks/HeadingColumn'\nimport TeaserImageLarge from '../base/TeaserImageLarge'\nimport LoadMoreButton from '../base/LoadMoreButton'\nimport RichText from '../base/RichText'\n\nconst PAGE_SIZE = 10\n\nconst TrainingCollection = ({\n as: Tag = 'div',\n className,\n headlineOrder = 2,\n headline,\n subline,\n copy,\n items = [],\n loadMoreButtonText = 'Weitere Schulungen',\n loadingText,\n loading,\n space,\n ...props\n}) => {\n const { t } = useTranslation()\n\n const finalItems = sortByRankingAndTitle(items).map((item) => ({\n ...item,\n headline: item.teaserTitle || item.title,\n copy: item.teaserDescription || item.description,\n linkText: t('Global.more'),\n Link: buildLink({ href: item.route }),\n }))\n\n const initialLimit =\n finalItems.length === PAGE_SIZE ? PAGE_SIZE - 1 : PAGE_SIZE\n const [itemsLimit, setItemsLimit] = useState(initialLimit)\n\n const numRemaining = () => finalItems.length - itemsLimit\n const showLoadMore = () => numRemaining() > 0\n\n const loadMore = () => {\n const limit = Math.min(itemsLimit + PAGE_SIZE, finalItems.length)\n setItemsLimit(limit)\n }\n\n return (\n \n
    \n {headline && (\n \n )}\n {copy && (\n \n {copy}\n \n )}\n {finalItems && finalItems.length > 0 && (\n
      \n {finalItems.slice(0, itemsLimit).map((item) => (\n
    • \n \n
    • \n ))}\n
    \n )}\n {loadMoreButtonText && showLoadMore() && (\n
    \n loadMore()}\n />\n
    \n )}\n
    \n
    \n )\n}\n\nTrainingCollection.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n headline: PropTypes.string,\n subline: PropTypes.string,\n copy: PropTypes.string,\n items: PropTypes.array,\n loadMoreButtonText: PropTypes.string,\n}\n\nexport default TrainingCollection\n\n// TODO: Query 'loadMoreButtonText' when available\nexport const query = graphql`\n fragment SectionsTrainingCollection on STRAPI__COMPONENT_SECTIONS_TRAINING_COLLECTION {\n id\n strapi_component\n anchor\n tag\n space\n disableTopMargin\n headline\n headlineOrder\n subline\n copy {\n data {\n copy\n }\n }\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport { uid } from 'react-uid'\nimport { useTranslation } from 'react-i18next'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { py } from '../../constants/space'\nimport HeadlineTag from '../base/HeadlineTag'\nimport ArticleCard from '../base/ArticleCard'\nimport { ArticleTypes } from '../../constants/enums'\nimport { buildLink } from '@/utils/react-framework-bridge'\n\nconst CustomPostSelection = ({\n as: Tag = 'div',\n className,\n headlineOrder = 2,\n headline,\n space,\n items = [],\n ...props\n}) => {\n const { t } = useTranslation()\n\n const badgeTexts = {\n [ArticleTypes.insight]: t('Global.insight'),\n [ArticleTypes.news]: t('Global.news'),\n [ArticleTypes.successStory]: t('Global.successStory'),\n [ArticleTypes.releaseNote]: t('Global.releaseNote'),\n }\n\n const finalItems = items.slice(0, 3).map((item) => {\n const variant = ArticleTypes[item.category || 'news'] || ArticleTypes.news\n return {\n ...item,\n headline: item.title,\n image: item.cover,\n Link: buildLink({ href: item.route }),\n variant,\n badgeText: badgeTexts[variant],\n }\n })\n\n return (\n \n
    \n {headline && (\n \n \n {headline}\n \n \n )}\n {finalItems?.length > 0 && (\n
      \n {finalItems.map((item) => (\n
    • \n \n
    • \n ))}\n
    \n )}\n
    \n
    \n )\n}\n\nCustomPostSelection.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n headline: PropTypes.string,\n space: PropTypes.string,\n items: PropTypes.array,\n}\n\nexport default CustomPostSelection\n\nexport const query = graphql`\n fragment SectionsCustomPostSelection on STRAPI__COMPONENT_SECTIONS_CUSTOM_POST_SELECTION {\n disableTopMargin\n space\n id\n anchor\n strapi_component\n headline\n headlineOrder\n items {\n id\n route\n slug\n title\n teaserHeadline\n category\n cover {\n mime\n url\n alt: alternativeText\n caption\n width\n height\n localFile {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n }\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { classNames } from '../../helper'\nimport HeadlineTag from './HeadlineTag'\nimport RichText from './RichText'\nimport Button from './Button'\n\nconst BreakingNewsCard = ({\n as: Tag = 'article',\n className,\n headlineOrder = 2,\n headline,\n Link,\n linkText,\n image,\n copy,\n}) => (\n \n
    \n {image && (\n <>\n
    \n \n \n )}\n
    \n
    \n {headline && (\n \n {Link ? (\n {headline}\n ) : (\n {headline}\n )}\n \n )}\n {copy && (\n \n {copy}\n \n )}\n {Link && linkText && (\n
    \n \n
    \n )}\n
    \n {Link && (\n \n {headline}\n \n )}\n \n)\n\nBreakingNewsCard.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n Link: PropTypes.any,\n image: PropTypes.object,\n headline: PropTypes.string,\n copy: PropTypes.string,\n linkText: PropTypes.string,\n}\n\nexport default BreakingNewsCard\n","import React, { useEffect, useCallback, useRef, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport { uid } from 'react-uid'\nimport Flickity from 'react-flickity-component'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport { pt, pb, Space } from '../../constants/space'\nimport BreakingNewsCard from '../base/BreakingNewsCard'\nimport HeadlineTag from '../base/HeadlineTag'\n\nconst BreakingNews = ({\n as: Tag = 'aside',\n className,\n headlineOrder = 2,\n tickerText,\n tickerEnabled = true,\n items = [],\n space,\n ...props\n}) => {\n const [selectedIndex, setSelectedIndex] = useState(0)\n const flktyElem = useRef()\n function onChange() {\n if (flktyElem.current) {\n setSelectedIndex(flktyElem.current.selectedIndex)\n }\n }\n const onChangeRef = useRef(onChange)\n\n useEffect(() => {\n onChangeRef.current = onChange\n })\n\n const handleOnChange = useCallback(() => {\n onChangeRef.current?.()\n }, [])\n\n const setFlickityRef = useCallback((ref) => {\n flktyElem.current?.off('change', handleOnChange)\n flktyElem.current = ref\n flktyElem.current?.on('change', handleOnChange)\n }, [])\n\n const gotoSlide = (index) => {\n if (flktyElem.current) {\n flktyElem.current.stopPlayer()\n flktyElem.current.select(index)\n }\n }\n\n const flickityOptions = {\n autoPlay: true,\n pageDots: false,\n prevNextButtons: false,\n wrapAround: true,\n cellAlign: 'left',\n }\n\n const tickerTextDisplayed = `${tickerText} +++ `.repeat(20)\n\n return (\n \n
    \n {tickerText && tickerEnabled && (\n \n
    \n {tickerText}\n
    \n \n {tickerTextDisplayed}\n \n
    \n
    \n
    \n )}\n
    \n {items && items.length && (\n <>\n \n {items.map((item) => (\n \n \n \n ))}\n \n
      \n {items.map((item, index) => (\n \n gotoSlide(index)}\n >\n \n \n \n ))}\n
    \n \n )}\n
    \n
    \n \n )\n}\n\nBreakingNews.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headline: PropTypes.string,\n headlineOrder: PropTypes.number,\n items: PropTypes.array,\n}\n\nexport default BreakingNews\n\nexport const query = graphql`\n fragment SectionsBreakingNews on STRAPI__COMPONENT_SECTIONS_BREAKING_NEWS {\n strapi_component\n disableTopMargin\n space\n id\n anchor\n tickerText\n showTicker\n items {\n headline\n copy {\n data {\n copy\n }\n }\n image {\n mime\n url\n alt: alternativeText\n width\n height\n localFile {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n link {\n ...SharedLink\n }\n badgeText\n }\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport { useTranslation } from 'react-i18next'\n\nimport { enhanceStrapiData } from '@/utils/enhanceStrapiData'\nimport { buildLink } from '@/utils/react-framework-bridge'\nimport ArticleCollection from '@/components/sections/ArticleCollection'\nimport { ArticleTypes } from '../../constants/enums'\n\nconst LatestArticles = ({\n posts = [],\n insights = [],\n releaseNotes = [],\n ...props\n}) => {\n const { t } = useTranslation()\n\n const badgeTexts = {\n [ArticleTypes.insight]: t('Global.insight'),\n [ArticleTypes.news]: t('Global.news'),\n [ArticleTypes.successStory]: t('Global.successStory'),\n [ArticleTypes.releaseNote]: t('Global.releaseNote'),\n }\n\n const finalItems = [\n ...posts.map((item) => ({\n ...item,\n variant: ArticleTypes[item.category || 'news'] || ArticleTypes.news,\n })),\n ...insights.map((item) => ({\n ...item,\n variant: ArticleTypes.insight,\n })),\n ...releaseNotes.map((item) => ({\n ...item,\n variant: ArticleTypes.releaseNote,\n })),\n ]\n .sort(function (a, b) {\n return new Date(b.releasedAt) - new Date(a.releasedAt)\n })\n .slice(0, 9)\n .map((item) => enhanceStrapiData(item))\n .map((item) => ({\n ...item,\n badgeText: badgeTexts[item.variant],\n image: item.cover,\n headline: item.teaserHeadline || item.title,\n linkText: t('Global.more'),\n Link: buildLink({ href: item.route }),\n }))\n return \n}\n\nLatestArticles.propTypes = {\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n headline: PropTypes.string,\n posts: PropTypes.array,\n insights: PropTypes.array,\n releaseNotes: PropTypes.array,\n linkText: PropTypes.string,\n Link: PropTypes.any,\n}\n\nexport default LatestArticles\n\nexport const query = graphql`\n fragment SectionsLatestArticles on STRAPI__COMPONENT_SECTIONS_LATEST_ARTICLES {\n space\n disableTopMargin\n id\n headline\n headlineOrder\n strapi_component\n anchor\n link {\n ...SharedLink\n }\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport { buildLink } from '@/utils/react-framework-bridge'\nimport { useTranslation } from 'react-i18next'\n\nimport { cn } from '@/helper'\nimport { insertImages } from '@/utils/enhanceStrapiData'\nimport ArticleList from '@/components/sections/ArticleList'\n\nconst LatestPosts = ({ className, posts = [], ...props }) => {\n const { t } = useTranslation()\n\n const items = posts.map((item) => ({\n ...item,\n headline: item.teaserHeadline || item.title,\n copy: item.excerpt,\n ...insertImages(item, 'cover'),\n linkText: t('Global.more'),\n Link: buildLink({ href: item.route }),\n }))\n\n return (\n \n )\n}\n\nLatestPosts.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n headline: PropTypes.string,\n loadMoreButtonText: PropTypes.string,\n loadingText: PropTypes.string,\n posts: PropTypes.array,\n}\n\nexport default LatestPosts\n\nexport const query = graphql`\n fragment SectionsLatestPosts on STRAPI__COMPONENT_SECTIONS_LATEST_POSTS {\n disableTopMargin\n space\n id\n anchor\n headline\n headlineOrder\n loadMoreButtonText\n loadingText\n strapi_component\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport { buildLink } from '@/utils/react-framework-bridge'\nimport { useTranslation } from 'react-i18next'\n\nimport { ArticleTypes } from '@/constants/enums'\nimport { cn } from '@/helper'\nimport ArticleGrid from '@/components/sections/ArticleGrid'\n\nconst LatestInsights = ({ className, insights = [], ...props }) => {\n const { t } = useTranslation()\n const items = insights.map((item) => ({\n ...item,\n Link: buildLink({ href: item.route }),\n headline: item.teaserHeadline || item.title,\n badgeText: t('Global.insight'),\n }))\n\n return (\n \n )\n}\n\nLatestInsights.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n headline: PropTypes.string,\n loadMoreButtonText: PropTypes.string,\n loadingText: PropTypes.string,\n loadMoreCardText: PropTypes.string,\n insights: PropTypes.array,\n}\n\nexport default LatestInsights\n\nexport const query = graphql`\n fragment SectionsLatestInsights on STRAPI__COMPONENT_SECTIONS_LATEST_INSIGHTS {\n space\n disableTopMargin\n id\n anchor\n headline\n headlineOrder\n loadMoreButtonText\n loadMoreCardText\n loadingText\n strapi_component\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport { buildLink } from '@/utils/react-framework-bridge'\nimport { useTranslation } from 'react-i18next'\n\nimport { ArticleTypes } from '@/constants/enums'\nimport { cn } from '@/helper'\nimport ArticleGrid from '@/components/sections/ArticleGrid'\n\nconst LatestReleaseNotes = ({ className, releaseNotes = [], ...props }) => {\n const { t } = useTranslation()\n const items = releaseNotes.map((item) => ({\n ...item,\n Link: buildLink({ href: item.route }),\n headline: item.teaserHeadline || item.title,\n badgeText: t('Global.releaseNote'),\n }))\n\n return (\n \n )\n}\n\nLatestReleaseNotes.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n headline: PropTypes.string,\n loadMoreButtonText: PropTypes.string,\n loadingText: PropTypes.string,\n loadMoreCardText: PropTypes.string,\n releaseNotes: PropTypes.array,\n}\n\nexport default LatestReleaseNotes\n\nexport const query = graphql`\n fragment SectionsLatestReleaseNotes on STRAPI__COMPONENT_SECTIONS_LATEST_RELEASE_NOTES {\n disableTopMargin\n space\n id\n anchor\n headline\n headlineOrder\n loadMoreButtonText\n loadMoreCardText\n loadingText\n strapi_component\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport { buildLink } from '@/utils/react-framework-bridge'\nimport { useTranslation } from 'react-i18next'\n\nimport { cn } from '@/helper'\nimport { insertImages } from '@/utils/enhanceStrapiData'\nimport ArticleCarousel from '@/components/sections/ArticleCarousel'\nimport { ArticleTypes } from '../../constants/enums'\n\nconst badgeTexts = {\n [ArticleTypes.insight]: 'Insight',\n [ArticleTypes.news]: 'News',\n [ArticleTypes.successStory]: 'Success Story',\n [ArticleTypes.releaseNote]: 'Release Note',\n}\n\nconst LatestPostsCarousel = ({ className, posts = [], ...props }) => {\n const { t } = useTranslation()\n\n const items = posts.map((item) => ({\n ...item,\n headline: item.teaserHeadline || item.title,\n copy: item.excerpt,\n ...insertImages(item, 'cover'),\n linkText: t('Global.more'),\n Link: buildLink({ href: item.route }),\n variant: ArticleTypes[item.category || 'news'] || ArticleTypes.news,\n badgeText: badgeTexts[item.category],\n }))\n\n return \n}\n\nLatestPostsCarousel.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n headline: PropTypes.string,\n posts: PropTypes.array,\n}\n\nexport default LatestPostsCarousel\n\nexport const query = graphql`\n fragment SectionsLatestPostsCarousel on STRAPI__COMPONENT_SECTIONS_LATEST_POSTS_CAROUSEL {\n disableTopMargin\n space\n id\n anchor\n headline\n headlineOrder\n strapi_component\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { graphql } from 'gatsby'\nimport { buildLink } from '@/utils/react-framework-bridge'\n\nimport { cn } from '@/helper'\nimport ArticleGrid from '@/components/sections/ArticleGrid'\n\nconst NextEvents = ({ className, events = [], ...props }) => {\n const items = events.map((item) => ({\n ...item,\n Link: buildLink({ href: item.route }),\n headline: item.teaserTitle || item.title,\n badgeText: item.place,\n }))\n\n return (\n \n )\n}\n\nNextEvents.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n headline: PropTypes.string,\n loadMoreButtonText: PropTypes.string,\n loadingText: PropTypes.string,\n loadMoreCardText: PropTypes.string,\n events: PropTypes.array,\n}\n\nexport default NextEvents\n\nexport const query = graphql`\n fragment SectionsNextEvents on STRAPI__COMPONENT_SECTIONS_NEXT_EVENTS {\n disableTopMargin\n space\n id\n anchor\n headline\n headlineOrder\n loadMoreButtonText\n loadMoreCardText\n loadingText\n strapi_component\n }\n`\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport _ from 'lodash'\n\nimport { enhanceStrapiData } from '@/utils/enhanceStrapiData'\nimport { sortByRankingAndTitle } from '@/utils/sorting'\nimport { cn } from '@/helper'\n\nimport AccountRegistration from '@/components/sections/AccountRegistration'\nimport AnchorNavigation from '@/components/sections/AnchorNavigation'\nimport ArticleCarousel from '@/components/sections/ArticleCarousel'\nimport ArticleCollection from '@/components/sections/ArticleCollection'\nimport ArticleColumns from '@/components/sections/ArticleColumns'\nimport ArticleGrid from '@/components/sections/ArticleGrid'\nimport ArticleList from '@/components/sections/ArticleList'\nimport BadgeDivider from '@/components/sections/BadgeDivider'\nimport Columns from '@/components/sections/Columns'\nimport ColumnsGroup from '@/components/sections/ColumnsGroup'\nimport Contact from '@/components/sections/Contact'\nimport ContactOptions from '@/components/sections/ContactOptions'\nimport ContentSection from '@/components/sections/ContentSection'\nimport Downloads from '@/components/sections/Downloads'\nimport EventDetail from '@/components/sections/EventDetail'\nimport FeatureDescription from '@/components/sections/FeatureDescription'\nimport FeatureList from '@/components/sections/FeatureList'\nimport HeadingSection from '@/components/sections/HeadingSection'\nimport HeroCollection from '@/components/sections/HeroCollection'\nimport HeroCompact from '@/components/sections/HeroCompact'\nimport HeroInsight from '@/components/sections/HeroInsight'\nimport HeroRelease from '@/components/sections/HeroRelease'\nimport HeroSection from '@/components/sections/HeroSection'\nimport HighlightFigure from '@/components/sections/HighlightFigure'\nimport HighlightLogo from '@/components/sections/HighlighLogo'\nimport HighlightPlatform from '@/components/sections/HighlightPlatform'\nimport HighlightStats from '@/components/sections/HighlightStats'\nimport HighlightText from '@/components/sections/HighlightText'\nimport ImageHeader from '@/components/sections/ImageHeader'\nimport LogoCloud from '@/components/sections/LogoCloud'\nimport Newsletter from '@/components/sections/Newsletter'\nimport PartnerCollection from '@/components/sections/PartnerCollection'\nimport TeaserCollection from '@/components/sections/TeaserCollection'\nimport TeaserLogo from '@/components/sections/TeaserLogo'\nimport TeaserSplitImage from '@/components/sections/TeaserSplitImage'\nimport TestimonialCollection from '@/components/sections/TestimonialCollection'\nimport TestimonialSection from '@/components/sections/TestimonialSection'\nimport TopicCollection from '@/components/sections/TopicCollection'\nimport TrainingCollection from '@/components/sections/TrainingCollection'\nimport CustomPostSelection from '@/components/sections/CustomPostSelection'\nimport BreakingNews from '@/components/sections/BreakingNews'\n\nimport BadgeDividerBlock from '@/components/blocks/BadgeDividerBlock'\nimport HeadingColumn from '@/components/blocks/HeadingColumn'\nimport HighlightColumn from '@/components/blocks/HighlightColumn'\nimport ImageColumn from '@/components/blocks/ImageColumn'\nimport TextColumn from '@/components/blocks/TextColumn'\n\nimport LatestArticles from '@/components/backed/LatestArticles'\nimport LatestPosts from '@/components/backed/LatestPosts'\nimport LatestInsights from '@/components/backed/LatestInsights'\nimport LatestReleaseNotes from '@/components/backed/LatestReleaseNotes'\nimport LatestPostsCarousel from '@/components/backed/LatestPostsCarousel'\nimport NextEvents from '@/components/backed/NextEvents'\n\n// ----------------------------------------------------------------------------\n// Map available Section/Block Components\n// ----------------------------------------------------------------------------\n\nconst sectionComponents = {\n // Sections\n 'sections.account-registration': AccountRegistration,\n 'sections.anchor-navigation': AnchorNavigation,\n 'sections.article-carousel': ArticleCarousel,\n 'sections.article-collection': ArticleCollection,\n 'sections.article-columns': ArticleColumns,\n 'sections.article-grid': ArticleGrid,\n 'sections.article-list': ArticleList,\n 'sections.badge-divider': BadgeDivider,\n 'sections.columns-heading-image': ColumnsGroup,\n 'sections.columns-heading-text': ColumnsGroup,\n 'sections.columns-heading-video': ColumnsGroup,\n 'sections.columns-highlight-image': ColumnsGroup,\n 'sections.columns-highlight-text': ColumnsGroup,\n 'sections.columns-highlight-video': ColumnsGroup,\n 'sections.columns-text-image': Columns,\n 'sections.columns': Columns,\n 'sections.contact': Contact,\n 'sections.contact-options': ContactOptions,\n 'sections.downloads': Downloads,\n 'sections.event-detail': EventDetail,\n 'sections.feature-list': FeatureList,\n 'sections.feature-description': FeatureDescription,\n 'sections.heading-image': ImageHeader,\n 'sections.heading-section': HeadingSection,\n 'sections.hero-collection': HeroCollection,\n 'sections.hero-compact': HeroCompact,\n 'sections.hero-insight': HeroInsight,\n 'sections.hero-release': HeroRelease,\n 'sections.hero-section': HeroSection,\n 'sections.highlight-logo': HighlightLogo,\n 'sections.highlight-figure': HighlightFigure,\n 'sections.highlight-platform': HighlightPlatform,\n 'sections.highlight-stats': HighlightStats,\n 'sections.highlight-text': HighlightText,\n 'sections.newsletter': Newsletter,\n 'sections.partner-cloud': LogoCloud,\n 'sections.partner-collection': PartnerCollection,\n 'sections.teaser-collection': TeaserCollection,\n 'sections.teaser-image': TeaserSplitImage,\n 'sections.teaser-logo': TeaserLogo,\n 'sections.testimonial-collection': TestimonialCollection,\n 'sections.testimonial-section': TestimonialSection,\n 'sections.text-section': ContentSection,\n 'sections.topic-collection': TopicCollection,\n 'sections.training-collection': TrainingCollection,\n 'sections.custom-post-selection': CustomPostSelection,\n 'sections.breaking-news': BreakingNews,\n\n // Blocks\n 'blocks.badge-divider-block': BadgeDividerBlock,\n 'blocks.heading-block': HeadingColumn,\n 'blocks.highlight-block': HighlightColumn,\n 'blocks.image-block': ImageColumn,\n 'blocks.text-block': TextColumn,\n\n // Baked sections\n 'sections.latest-articles': LatestArticles,\n 'sections.latest-posts': LatestPosts,\n 'sections.latest-insights': LatestInsights,\n 'sections.latest-release-notes': LatestReleaseNotes,\n 'sections.latest-posts-carousel': LatestPostsCarousel,\n 'sections.next-events': NextEvents,\n}\n\nconst ComponentDefaults = {\n 'sections.anchor-navigation': {\n disableTopMargin: true,\n },\n 'sections.hero-collection': {\n disableTopMargin: true,\n },\n 'sections.hero-compact': {\n disableTopMargin: true,\n },\n 'sections.hero-insight': {\n disableTopMargin: true,\n },\n 'sections.hero-release': {\n disableTopMargin: true,\n },\n 'sections.hero-section': {\n disableTopMargin: true,\n },\n}\n\n// ----------------------------------------------------------------------------\n// Single Section Component\n// ----------------------------------------------------------------------------\n\nconst Section = ({ className, sectionData }) => {\n const SectionComponent = sectionComponents[sectionData.strapi_component]\n\n if (!SectionComponent) {\n // No matching component for this page section\n return undefined\n }\n\n // strip non-related section component props (like strapi internal props)\n const { strapi_component: sectionComponentName, ...props } = sectionData\n\n const componentDefaults = ComponentDefaults[sectionComponentName] || {}\n const disableTopMargin =\n sectionData.disableTopMargin === null\n ? componentDefaults.disableTopMargin\n : sectionData.disableTopMargin\n\n const customSpacing = !disableTopMargin && '!mt-15'\n\n return (\n \n )\n}\n\nSection.propTypes = {\n className: PropTypes.string,\n sectionData: PropTypes.object,\n}\n\n// ----------------------------------------------------------------------------\n// List of Section Components\n// ----------------------------------------------------------------------------\n\nconst Sections = ({ as: Tag = 'div', sections = [], global = {} }) => {\n const downloads = sortByRankingAndTitle(global.downloads).map((download) =>\n enhanceStrapiData(download),\n )\n const downloadCategories = sortByRankingAndTitle(global.downloadCategories)\n\n const preparedSections = sections\n ? sections.map((data) => {\n const parsedData = {\n ...data,\n ...(data.columnsItem ? { items: data.columnsItem.items } : undefined),\n ...(data.hero ? { items: data.hero.items } : undefined),\n ...(data.teaser ? { items: data.teaser.items } : undefined),\n ...(data.topic ? { items: data.topic.items } : undefined),\n }\n return parsedData\n })\n : []\n\n const enhancedSections = preparedSections.map((data) =>\n enhanceStrapiData(data, global),\n )\n\n return (\n \n {enhancedSections.map((section, i) => {\n const key =\n `${section.id}` || `${section.strapi_component}-${section.strapi_id}`\n\n switch (section.strapi_component) {\n case 'sections.latest-posts':\n section = {\n ...section,\n posts: global.posts,\n }\n break\n case 'sections.latest-insights':\n section = {\n ...section,\n insights: global.insights,\n }\n break\n case 'sections.latest-release-notes':\n section = {\n ...section,\n releaseNotes: global.releaseNotes,\n }\n break\n case 'sections.latest-articles':\n section = {\n ...section,\n posts: global.posts.slice(0, 9),\n insights: global.insights.slice(0, 9),\n releaseNotes: global.releaseNotes.slice(0, 9),\n }\n break\n case 'sections.latest-posts-carousel':\n section = {\n ...section,\n posts: global.posts.slice(0, 6),\n }\n break\n case 'sections.downloads':\n const requestedDownloadCategoryIds = section.downloadCategories.map(\n ({ categoryId, strapi_id }) => categoryId || strapi_id,\n )\n\n section = {\n ...section,\n downloads: downloads.filter(\n ({ downloadCategory }) =>\n downloadCategory &&\n requestedDownloadCategoryIds.includes(\n downloadCategory.categoryId,\n ),\n ),\n downloadCategories: downloadCategories.filter(({ categoryId }) =>\n requestedDownloadCategoryIds.includes(categoryId),\n ),\n }\n break\n case 'sections.training-collection':\n section = {\n ...section,\n items: global.trainings.map((item) => enhanceStrapiData(item)),\n }\n break\n case 'sections.next-events':\n section = {\n ...section,\n events: global.events.map((item) => enhanceStrapiData(item)),\n }\n break\n }\n\n const elem = sectionComponents[section.strapi_component] ? (\n
    \n ) : undefined\n\n return elem\n })}\n \n )\n}\n\nSections.propTypes = {\n as: PropTypes.string,\n sections: PropTypes.array,\n global: PropTypes.object,\n}\n\nexport default Sections\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport HeadlineTag from '../base/HeadlineTag'\nimport PlatformShelf from '../base/PlatformShelf'\n\nconst HeroInsight = ({\n as: Tag = 'div',\n className,\n headlineOrder = 1,\n platforms = [],\n badgeText,\n headline,\n date,\n ...props\n}) => {\n const hasContent = Boolean(headline) || Boolean(badgeText)\n\n return (\n \n
    \n {hasContent && (\n
    \n
    \n
    \n {badgeText && (\n
    \n \n {badgeText}\n \n {date && (\n {date}\n )}\n
    \n )}\n {headline && (\n \n {headline}\n \n )}\n {platforms && (\n \n )}\n
    \n
    \n
    \n )}\n \n )\n}\n\nHeroInsight.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n platforms: PropTypes.array,\n badgeText: PropTypes.string,\n headline: PropTypes.string,\n date: PropTypes.string,\n}\n\nexport default HeroInsight\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { addValidHtmlProps } from '../../utils/addValidHtmlProps'\nimport { cn } from '../../helper'\nimport HeadlineTag from '../base/HeadlineTag'\nimport PlatformShelf from '../base/PlatformShelf'\n\nconst HeroRelease = ({\n as: Tag = 'div',\n className,\n headlineOrder = 1,\n platforms = [],\n badgeText,\n headline,\n subline,\n date,\n ...props\n}) => {\n const hasContent = Boolean(headline) || Boolean(badgeText)\n\n return (\n \n
    \n {hasContent && (\n
    \n
    \n
    \n {badgeText && (\n
    \n \n {badgeText}\n \n {date && (\n {date}\n )}\n
    \n )}\n {headline && (\n \n {headline}\n {subline && (\n \n {subline}\n \n )}\n \n )}\n {platforms && (\n \n )}\n
    \n
    \n
    \n )}\n \n )\n}\n\nHeroRelease.propTypes = {\n as: PropTypes.oneOf(['div', 'section', 'article', 'aside']),\n className: PropTypes.string,\n headlineOrder: PropTypes.number,\n platforms: PropTypes.array,\n badgeText: PropTypes.string,\n headline: PropTypes.string,\n subline: PropTypes.string,\n date: PropTypes.string,\n}\n\nexport default HeroRelease\n","import PropTypes from 'prop-types';\nimport withSideEffect from 'react-side-effect';\nimport isEqual from 'react-fast-compare';\nimport React from 'react';\nimport objectAssign from 'object-assign';\n\nvar ATTRIBUTE_NAMES = {\n BODY: \"bodyAttributes\",\n HTML: \"htmlAttributes\",\n TITLE: \"titleAttributes\"\n};\n\nvar TAG_NAMES = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\"\n};\n\nvar VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n return TAG_NAMES[name];\n});\n\nvar TAG_PROPERTIES = {\n CHARSET: \"charset\",\n CSS_TEXT: \"cssText\",\n HREF: \"href\",\n HTTPEQUIV: \"http-equiv\",\n INNER_HTML: \"innerHTML\",\n ITEM_PROP: \"itemprop\",\n NAME: \"name\",\n PROPERTY: \"property\",\n REL: \"rel\",\n SRC: \"src\",\n TARGET: \"target\"\n};\n\nvar REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n class: \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\n\nvar HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\"\n};\n\nvar HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\n\nvar SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\n\nvar HELMET_ATTRIBUTE = \"data-react-helmet\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (encode === false) {\n return String(str);\n }\n\n return String(str).replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\n\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n var innermostTitle = getInnermostProperty(propsList, TAG_NAMES.TITLE);\n var innermostTemplate = getInnermostProperty(propsList, HELMET_PROPS.TITLE_TEMPLATE);\n\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, function () {\n return Array.isArray(innermostTitle) ? innermostTitle.join(\"\") : innermostTitle;\n });\n }\n\n var innermostDefaultTitle = getInnermostProperty(propsList, HELMET_PROPS.DEFAULT_TITLE);\n\n return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n return getInnermostProperty(propsList, HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\n\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n return propsList.filter(function (props) {\n return typeof props[tagType] !== \"undefined\";\n }).map(function (props) {\n return props[tagType];\n }).reduce(function (tagAttrs, current) {\n return _extends({}, tagAttrs, current);\n }, {});\n};\n\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n return propsList.filter(function (props) {\n return typeof props[TAG_NAMES.BASE] !== \"undefined\";\n }).map(function (props) {\n return props[TAG_NAMES.BASE];\n }).reverse().reduce(function (innermostBaseTag, tag) {\n if (!innermostBaseTag.length) {\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n\n return innermostBaseTag;\n }, []);\n};\n\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n var approvedSeenTags = {};\n\n return propsList.filter(function (props) {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n if (typeof props[tagName] !== \"undefined\") {\n warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n }\n return false;\n }).map(function (props) {\n return props[tagName];\n }).reverse().reduce(function (approvedTags, instanceTags) {\n var instanceSeenTags = {};\n\n instanceTags.filter(function (tag) {\n var primaryAttributeKey = void 0;\n var keys = Object.keys(tag);\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n }\n // Special case for innerHTML which doesn't work lowercased\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === TAG_PROPERTIES.INNER_HTML || attributeKey === TAG_PROPERTIES.CSS_TEXT || attributeKey === TAG_PROPERTIES.ITEM_PROP)) {\n primaryAttributeKey = attributeKey;\n }\n }\n\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n\n var value = tag[primaryAttributeKey].toLowerCase();\n\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n\n return false;\n }).reverse().forEach(function (tag) {\n return approvedTags.push(tag);\n });\n\n // Update seen tags with tags from this instance\n var keys = Object.keys(instanceSeenTags);\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var tagUnion = objectAssign({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n\n approvedSeenTags[attributeKey] = tagUnion;\n }\n\n return approvedTags;\n }, []).reverse();\n};\n\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n for (var i = propsList.length - 1; i >= 0; i--) {\n var props = propsList[i];\n\n if (props.hasOwnProperty(property)) {\n return props[property];\n }\n }\n\n return null;\n};\n\nvar reducePropsToState = function reducePropsToState(propsList) {\n return {\n baseTag: getBaseTagFromPropsList([TAG_PROPERTIES.HREF, TAG_PROPERTIES.TARGET], propsList),\n bodyAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(TAG_NAMES.LINK, [TAG_PROPERTIES.REL, TAG_PROPERTIES.HREF], propsList),\n metaTags: getTagsFromPropsList(TAG_NAMES.META, [TAG_PROPERTIES.NAME, TAG_PROPERTIES.CHARSET, TAG_PROPERTIES.HTTPEQUIV, TAG_PROPERTIES.PROPERTY, TAG_PROPERTIES.ITEM_PROP], propsList),\n noscriptTags: getTagsFromPropsList(TAG_NAMES.NOSCRIPT, [TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(TAG_NAMES.SCRIPT, [TAG_PROPERTIES.SRC, TAG_PROPERTIES.INNER_HTML], propsList),\n styleTags: getTagsFromPropsList(TAG_NAMES.STYLE, [TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.TITLE, propsList)\n };\n};\n\nvar rafPolyfill = function () {\n var clock = Date.now();\n\n return function (callback) {\n var currentTime = Date.now();\n\n if (currentTime - clock > 16) {\n clock = currentTime;\n callback(currentTime);\n } else {\n setTimeout(function () {\n rafPolyfill(callback);\n }, 0);\n }\n };\n}();\n\nvar cafPolyfill = function cafPolyfill(id) {\n return clearTimeout(id);\n};\n\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\n\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\nvar warn = function warn(msg) {\n return console && typeof console.warn === \"function\" && console.warn(msg);\n};\n\nvar _helmetCallback = null;\n\nvar handleClientStateChange = function handleClientStateChange(newState) {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(function () {\n commitTagChanges(newState, function () {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n var baseTag = newState.baseTag,\n bodyAttributes = newState.bodyAttributes,\n htmlAttributes = newState.htmlAttributes,\n linkTags = newState.linkTags,\n metaTags = newState.metaTags,\n noscriptTags = newState.noscriptTags,\n onChangeClientState = newState.onChangeClientState,\n scriptTags = newState.scriptTags,\n styleTags = newState.styleTags,\n title = newState.title,\n titleAttributes = newState.titleAttributes;\n\n updateAttributes(TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(TAG_NAMES.HTML, htmlAttributes);\n\n updateTitle(title, titleAttributes);\n\n var tagUpdates = {\n baseTag: updateTags(TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(TAG_NAMES.STYLE, styleTags)\n };\n\n var addedTags = {};\n var removedTags = {};\n\n Object.keys(tagUpdates).forEach(function (tagType) {\n var _tagUpdates$tagType = tagUpdates[tagType],\n newTags = _tagUpdates$tagType.newTags,\n oldTags = _tagUpdates$tagType.oldTags;\n\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n\n cb && cb();\n\n onChangeClientState(newState, addedTags, removedTags);\n};\n\nvar flattenArray = function flattenArray(possibleArray) {\n return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\n\nvar updateTitle = function updateTitle(title, attributes) {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(TAG_NAMES.TITLE, attributes);\n};\n\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n var elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n var helmetAttributeString = elementTag.getAttribute(HELMET_ATTRIBUTE);\n var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n var attributesToRemove = [].concat(helmetAttributes);\n var attributeKeys = Object.keys(attributes);\n\n for (var i = 0; i < attributeKeys.length; i++) {\n var attribute = attributeKeys[i];\n var value = attributes[attribute] || \"\";\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n var indexToSave = attributesToRemove.indexOf(attribute);\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n elementTag.removeAttribute(attributesToRemove[_i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\n\nvar updateTags = function updateTags(type, tags) {\n var headElement = document.head || document.querySelector(TAG_NAMES.HEAD);\n var tagNodes = headElement.querySelectorAll(type + \"[\" + HELMET_ATTRIBUTE + \"]\");\n var oldTags = Array.prototype.slice.call(tagNodes);\n var newTags = [];\n var indexToDelete = void 0;\n\n if (tags && tags.length) {\n tags.forEach(function (tag) {\n var newElement = document.createElement(type);\n\n for (var attribute in tag) {\n if (tag.hasOwnProperty(attribute)) {\n if (attribute === TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(HELMET_ATTRIBUTE, \"true\");\n\n // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n if (oldTags.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n newTags.forEach(function (tag) {\n return headElement.appendChild(tag);\n });\n\n return {\n oldTags: oldTags,\n newTags: newTags\n };\n};\n\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n return Object.keys(attributes).reduce(function (str, key) {\n var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n return str ? str + \" \" + attr : attr;\n }, \"\");\n};\n\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n var attributeString = generateElementAttributesAsString(attributes);\n var flattenedTitle = flattenArray(title);\n return attributeString ? \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\" : \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\";\n};\n\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n return tags.reduce(function (str, tag) {\n var attributeHtml = Object.keys(tag).filter(function (attribute) {\n return !(attribute === TAG_PROPERTIES.INNER_HTML || attribute === TAG_PROPERTIES.CSS_TEXT);\n }).reduce(function (string, attribute) {\n var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n return string ? string + \" \" + attr : attr;\n }, \"\");\n\n var tagContent = tag.innerHTML || tag.cssText || \"\";\n\n var isSelfClosing = SELF_CLOSING_TAGS.indexOf(type) === -1;\n\n return str + \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"\");\n }, \"\");\n};\n\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.keys(attributes).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n};\n\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.keys(props).reduce(function (obj, key) {\n obj[HTML_TAG_MAP[key] || key] = props[key];\n return obj;\n }, initAttributes);\n};\n\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n var _initProps;\n\n // assigning into an array to define toString function on it\n var initProps = (_initProps = {\n key: title\n }, _initProps[HELMET_ATTRIBUTE] = true, _initProps);\n var props = convertElementAttributestoReactProps(attributes, initProps);\n\n return [React.createElement(TAG_NAMES.TITLE, props, title)];\n};\n\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n return tags.map(function (tag, i) {\n var _mappedTag;\n\n var mappedTag = (_mappedTag = {\n key: i\n }, _mappedTag[HELMET_ATTRIBUTE] = true, _mappedTag);\n\n Object.keys(tag).forEach(function (attribute) {\n var mappedAttribute = REACT_TAG_MAP[attribute] || attribute;\n\n if (mappedAttribute === TAG_PROPERTIES.INNER_HTML || mappedAttribute === TAG_PROPERTIES.CSS_TEXT) {\n var content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = { __html: content };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n\n return React.createElement(type, mappedTag);\n });\n};\n\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n switch (type) {\n case TAG_NAMES.TITLE:\n return {\n toComponent: function toComponent() {\n return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n },\n toString: function toString() {\n return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n }\n };\n case ATTRIBUTE_NAMES.BODY:\n case ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: function toComponent() {\n return convertElementAttributestoReactProps(tags);\n },\n toString: function toString() {\n return generateElementAttributesAsString(tags);\n }\n };\n default:\n return {\n toComponent: function toComponent() {\n return generateTagsAsReactComponent(type, tags);\n },\n toString: function toString() {\n return generateTagsAsString(type, tags, encode);\n }\n };\n }\n};\n\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n var baseTag = _ref.baseTag,\n bodyAttributes = _ref.bodyAttributes,\n encode = _ref.encode,\n htmlAttributes = _ref.htmlAttributes,\n linkTags = _ref.linkTags,\n metaTags = _ref.metaTags,\n noscriptTags = _ref.noscriptTags,\n scriptTags = _ref.scriptTags,\n styleTags = _ref.styleTags,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? \"\" : _ref$title,\n titleAttributes = _ref.titleAttributes;\n return {\n base: getMethodsForTag(TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(TAG_NAMES.TITLE, { title: title, titleAttributes: titleAttributes }, encode)\n };\n};\n\nvar Helmet = function Helmet(Component) {\n var _class, _temp;\n\n return _temp = _class = function (_React$Component) {\n inherits(HelmetWrapper, _React$Component);\n\n function HelmetWrapper() {\n classCallCheck(this, HelmetWrapper);\n return possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !isEqual(this.props, nextProps);\n };\n\n HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren\n };\n\n case TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren\n };\n }\n\n throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n };\n\n HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n var _babelHelpers$extends;\n\n var child = _ref.child,\n arrayTypeChildren = _ref.arrayTypeChildren,\n newChildProps = _ref.newChildProps,\n nestedChildren = _ref.nestedChildren;\n\n return _extends({}, arrayTypeChildren, (_babelHelpers$extends = {}, _babelHelpers$extends[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _babelHelpers$extends));\n };\n\n HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n var _babelHelpers$extends2, _babelHelpers$extends3;\n\n var child = _ref2.child,\n newProps = _ref2.newProps,\n newChildProps = _ref2.newChildProps,\n nestedChildren = _ref2.nestedChildren;\n\n switch (child.type) {\n case TAG_NAMES.TITLE:\n return _extends({}, newProps, (_babelHelpers$extends2 = {}, _babelHelpers$extends2[child.type] = nestedChildren, _babelHelpers$extends2.titleAttributes = _extends({}, newChildProps), _babelHelpers$extends2));\n\n case TAG_NAMES.BODY:\n return _extends({}, newProps, {\n bodyAttributes: _extends({}, newChildProps)\n });\n\n case TAG_NAMES.HTML:\n return _extends({}, newProps, {\n htmlAttributes: _extends({}, newChildProps)\n });\n }\n\n return _extends({}, newProps, (_babelHelpers$extends3 = {}, _babelHelpers$extends3[child.type] = _extends({}, newChildProps), _babelHelpers$extends3));\n };\n\n HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n var newFlattenedProps = _extends({}, newProps);\n\n Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n var _babelHelpers$extends4;\n\n newFlattenedProps = _extends({}, newFlattenedProps, (_babelHelpers$extends4 = {}, _babelHelpers$extends4[arrayChildName] = arrayTypeChildren[arrayChildName], _babelHelpers$extends4));\n });\n\n return newFlattenedProps;\n };\n\n HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!VALID_TAG_NAMES.some(function (name) {\n return child.type === name;\n })) {\n if (typeof child.type === \"function\") {\n return warn(\"You may be attempting to nest components within each other, which is not allowed. Refer to our API for more information.\");\n }\n\n return warn(\"Only elements types \" + VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n }\n\n if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n return typeof nestedChild !== \"string\";\n }))) {\n throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``} ) Refer to our API for more information.\");\n }\n }\n\n return true;\n };\n\n HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n var _this2 = this;\n\n var arrayTypeChildren = {};\n\n React.Children.forEach(children, function (child) {\n if (!child || !child.props) {\n return;\n }\n\n var _child$props = child.props,\n nestedChildren = _child$props.children,\n childProps = objectWithoutProperties(_child$props, [\"children\"]);\n\n var newChildProps = convertReactPropstoHtmlAttributes(childProps);\n\n _this2.warnOnInvalidChildren(child, nestedChildren);\n\n switch (child.type) {\n case TAG_NAMES.LINK:\n case TAG_NAMES.META:\n case TAG_NAMES.NOSCRIPT:\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.STYLE:\n arrayTypeChildren = _this2.flattenArrayTypeChildren({\n child: child,\n arrayTypeChildren: arrayTypeChildren,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n\n default:\n newProps = _this2.mapObjectTypeChildren({\n child: child,\n newProps: newProps,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n }\n });\n\n newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n return newProps;\n };\n\n HelmetWrapper.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n props = objectWithoutProperties(_props, [\"children\"]);\n\n var newProps = _extends({}, props);\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n return React.createElement(Component, newProps);\n };\n\n createClass(HelmetWrapper, null, [{\n key: \"canUseDOM\",\n\n\n // Component.peek comes from react-side-effect:\n // For testing, you may use a static peek() method available on the returned component.\n // It lets you get the current state without resetting the mounted instance stack.\n // Don’t use it for anything other than testing.\n\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \" console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n set: function set$$1(canUseDOM) {\n Component.canUseDOM = canUseDOM;\n }\n }]);\n return HelmetWrapper;\n }(React.Component), _class.propTypes = {\n base: PropTypes.object,\n bodyAttributes: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n defaultTitle: PropTypes.string,\n defer: PropTypes.bool,\n encodeSpecialCharacters: PropTypes.bool,\n htmlAttributes: PropTypes.object,\n link: PropTypes.arrayOf(PropTypes.object),\n meta: PropTypes.arrayOf(PropTypes.object),\n noscript: PropTypes.arrayOf(PropTypes.object),\n onChangeClientState: PropTypes.func,\n script: PropTypes.arrayOf(PropTypes.object),\n style: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string,\n titleAttributes: PropTypes.object,\n titleTemplate: PropTypes.string\n }, _class.defaultProps = {\n defer: true,\n encodeSpecialCharacters: true\n }, _class.peek = Component.peek, _class.rewind = function () {\n var mappedState = Component.rewind();\n if (!mappedState) {\n // provide fallback if mappedState is undefined\n mappedState = mapStateOnServer({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n\n return mappedState;\n }, _temp;\n};\n\nvar NullComponent = function NullComponent() {\n return null;\n};\n\nvar HelmetSideEffects = withSideEffect(reducePropsToState, handleClientStateChange, mapStateOnServer)(NullComponent);\n\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\n\nexport default HelmetExport;\nexport { HelmetExport as Helmet };\n","export default __webpack_public_path__ + \"static/og-relution-872059e315e344d833f8141fdb0bf431.jpg\";","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { useStaticQuery, graphql, withPrefix } from 'gatsby'\nimport { Helmet } from 'react-helmet'\nimport _ from 'lodash'\nimport ogImage from '../images/og-relution.jpg'\n\nconst SEO = ({ title, seo, site, pageContext }) => {\n // strapiGlobal {\n // metaTitleTemplate\n // seo {\n // metaTitle\n // metaDescription\n // metaImage {\n // data {\n // attributes {\n // name\n // }\n // }\n // }\n // meta {\n // name\n // content\n // }\n // canonicalUrl\n // }\n // }\n\n const { config } = useStaticQuery(graphql`\n {\n config: site {\n siteMetadata {\n title\n description\n siteUrl\n meta {\n author\n copyright\n }\n }\n }\n }\n `)\n\n const siteMetadata = _.get(config, 'siteMetadata', {})\n const strapiGlobal = _.get(site, 'nodes[0]', {})\n const globalSeo = _.get(strapiGlobal, 'seo', {})\n const { metaTitle: seoMetaTitle } = seo || {}\n const { localizations = [] } = pageContext || {}\n\n // console.log('Page Context', pageContext)\n // console.log('Site Meta', siteMetadata)\n // console.log('Global SEO', globalSeo)\n // console.log('Page Title', title)\n // console.log('Page SEO', seo)\n\n const metaTitleTemplate = strapiGlobal.metaTitleSuffix\n ? `%s - ${strapiGlobal.metaTitleSuffix}`\n : '%s'\n const metaTitle =\n seoMetaTitle || title || strapiGlobal.metaTitle || siteMetadata.title\n\n // Merge default and page-specific SEO values\n const fullSeo = {\n ...globalSeo,\n ...seo,\n metaTitleTemplate,\n metaTitle,\n // favicon: global.favicon,\n }\n\n const getMetaTags = () => {\n const tags = []\n\n tags.push({\n seobility: '50a0558961f9b7b740860369957a6482',\n })\n\n if (fullSeo.metaTitle) {\n tags.push(\n {\n property: 'og:title',\n content: fullSeo.metaTitle,\n },\n {\n name: 'twitter:title',\n content: fullSeo.metaTitle,\n },\n )\n }\n if (fullSeo.metaDescription) {\n tags.push(\n {\n name: 'description',\n content: fullSeo.metaDescription,\n },\n {\n property: 'og:description',\n content: fullSeo.metaDescription,\n },\n {\n name: 'twitter:description',\n content: fullSeo.metaDescription,\n },\n )\n }\n\n if (fullSeo.shareImage) {\n const imageUrl = process.env.GATSBY_STRAPI_URL\n ? fullSeo.shareImage.publicURL\n : `http://localhost:8000${fullSeo.shareImage.publicURL}`\n\n tags.push(\n {\n name: 'image',\n content: imageUrl,\n },\n {\n property: 'og:image',\n content: imageUrl,\n },\n {\n name: 'twitter:image',\n content: imageUrl,\n },\n {\n name: 'seobility',\n content: '50a0558961f9b7b740860369957a6482',\n },\n )\n } else {\n const imageUrl = ogImage\n tags.push(\n {\n name: 'image',\n content: imageUrl,\n },\n {\n property: 'og:image',\n content: imageUrl,\n },\n {\n name: 'twitter:image',\n content: imageUrl,\n },\n )\n }\n if (fullSeo.article) {\n tags.push({\n property: 'og:type',\n content: 'article',\n })\n }\n tags.push({ name: 'twitter:card', content: 'summary_large_image' })\n\n return tags\n }\n\n const metaTags = getMetaTags()\n\n const languageAlternates = localizations.map((localization) => {\n // active locale will has the route in `slug` \n let localeUrl = siteMetadata.siteUrl + (localization.slug ?? (withPrefix(localization.route) || '/'));\n localeUrl += localeUrl[localeUrl.length - 1] != '/' ? '/' : '';\n\n return {\n rel: 'alternate',\n hreflang: localization.locale,\n href: localeUrl,\n }});\n\n // add x-default alternate if not already given\n if(!languageAlternates.find((alter) => alter['hreflang'] === 'x-default')) {\n languageAlternates.unshift(\n {\n rel: 'alternate', \n hreflang: 'x-default', \n href: languageAlternates.find(alter => alter['hreflang'] === pageContext.defaultLocale)?.href, // alternate link will not be displayed if undefined\n }\n )\n }\n\n let canonicalUrl = '';\n const currentLocalization = localizations.find(locali => locali.locale === pageContext.locale);\n if(currentLocalization) {\n canonicalUrl = siteMetadata.siteUrl + currentLocalization.slug ?? currentLocalization.route;\n if(canonicalUrl[canonicalUrl.length - 1] !== '/') { // always end with slash\n canonicalUrl += '/';\n }\n }\n\n // console.log('canonicalUrl', canonicalUrl);\n\n\n // console.log('languageAlternates', languageAlternates)\n\n // console.log('strapiGlobal', strapiGlobal);\n // console.log('fullSeo', fullSeo);\n // console.log(\"metaTags\", metaTags);\n // console.log(\"siteMetadata\", siteMetadata);\n\n return (\n onRenderBody and LanguageSelect\n htmlAttributes={{\n lang: pageContext.locale || 'de',\n }}\n title={fullSeo.metaTitle}\n titleTemplate={fullSeo.metaTitleTemplate}\n meta={metaTags}\n link={[\n {\n rel: 'icon',\n href: _.get(fullSeo, 'favicon.localFile.publicURL'),\n },\n ...languageAlternates,\n ...[{\n rel: 'canonical',\n href: canonicalUrl\n }]\n ]}\n />\n )\n}\n\nSEO.propTypes = {\n title: PropTypes.string,\n seo: PropTypes.object,\n}\n\nexport default SEO\n","export const Platforms = {\n Android: 'android',\n Apple: 'apple',\n Relution: 'relution',\n Windows: 'windows',\n ChromeOS: 'chromeos',\n}\n\nexport const ArticleTypes = {\n insight: 'insight',\n releaseNote: 'releaseNote',\n news: 'news',\n successStory: 'successStory',\n event: 'event',\n}\n\nexport const PageBackgroundColors = {\n white: 'white',\n gray: 'gray',\n}\n\nexport const Products = {\n free: 'free',\n cloud: 'cloud',\n onpremise: 'onpremise',\n}\n\nexport const EventTypes = {\n training: 'training',\n event: 'event',\n}\n","import _ from 'lodash'\n\nexport const classNames = (...classes) => classes.filter(Boolean).join(' ')\n\nexport const cn = classNames\n\nexport const scrollToTop = () => {\n if (window) {\n window.scroll({ top: 0, behavior: 'smooth' })\n }\n}\n\nexport const getMarkdown = (content) => _.get(content, 'data.content')\n","const validAttrs = []\nconst validAttrsAliases = { anchor: 'id' }\n\nexport const addValidHtmlProps = (props) => {\n const finalProps = {}\n\n Object.keys(props).forEach((key) => {\n if (key.startsWith('data-') || validAttrs.includes(key)) {\n finalProps[key] = props[key]\n }\n\n Object.keys(validAttrsAliases).forEach((alias) => {\n if (key === alias) {\n finalProps[validAttrsAliases[alias]] = props[key]\n }\n })\n })\n\n return finalProps\n}\n","import _ from 'lodash'\n\n// Transforms 01.02.2022 to 2022/02/01\nexport const transformStrapiDateString = (dateStr) => {\n\treturn dateStr ? dateStr.split('.').reverse().join('/') : undefined\n}\n\nexport const parseStrapiDate = (dateStr) => {\n\treturn dateStr ? new Date(transformStrapiDateString(dateStr)) : undefined\n}\n\nconst rangeOptions = { year: 'numeric', month: 'numeric', day: 'numeric' }\nconst rangeTimeOptions = {\n\tweekday: 'long',\n\tmonth: '2-digit',\n\tyear: 'numeric',\n\tday: '2-digit',\n\thour: '2-digit',\n\tminute: '2-digit',\n}\n\nexport const formatRange = ({ startDate, endDate, locale }) => {\n\tconst defaultDate = new Date(0); // 1970-01-01T00:00:00.000Z\n\n\tconsole.log(\"formatRange\", \"startDate:\" + startDate, \"endDate:\" + endDate);\n\n\tif (!_.isDate(startDate)) return null;\n\n\tconst format = new Intl.DateTimeFormat(locale, rangeOptions)\n\tconst formattedDate = _.isDate(endDate)\n\t\t? format.formatRange(startDate, endDate)\n\t\t: format.format(startDate)\n\treturn formattedDate\n};\n\nexport const formatRangeWithTime = ({ startDate, endDate, locale }) => {\n\n\tconsole.log(\"formatRangeWithTime\", \"startDate:\" + startDate, \"endDate:\" + endDate);\n\n\tif ((startDate))\n\n\t\tif (!_.isDate(startDate)) return null;\n\n\tconst format = new Intl.DateTimeFormat(locale, rangeTimeOptions)\n\tconst formattedDate = _.isDate(endDate)\n\t\t? format.formatRange(startDate, endDate)\n\t\t: format.format(startDate)\n\treturn formattedDate\n};","import _, { isString } from 'lodash'\nimport {\n buildImage,\n buildLink,\n} from '@/utils/react-framework-bridge'\nimport { getImage } from 'gatsby-plugin-image'\nimport { getLinkProps } from './links'\n\nexport const transformDownloadLinks = (downloads = []) => {\n return downloads\n .flatMap((download) => {\n return download.files\n ? download.files.map((file) => {\n return {\n url: file.url,\n publicURL: file.localFile?.publicURL,\n }\n })\n : []\n })\n .reduce(\n (obj, download) => ({ ...obj, [download.url]: download.publicURL }),\n {},\n )\n}\n\nexport const transformImage = (data) => {\n const isLocalFileDefined = _.get(data, 'localFile.childImageSharp')\n const localFile = _.get(data, 'localFile')\n const gatsbyImageData = getImage(localFile)\n\n const imageSrc = data?.url || data?.src\n\n const withImages = data\n ? {\n ...data,\n Component: isLocalFileDefined\n ? buildImage({\n image: gatsbyImageData,\n alt: data?.alt || data?.alternativeText || '',\n })\n : imageSrc\n ? buildImage({\n src: imageSrc,\n alt: data?.alt || data?.alternativeText || '',\n })\n : undefined,\n }\n : data\n return withImages\n}\n\nexport const insertImages = (data, propName = 'image', insertAs = 'image') => {\n const withImages = data[propName]\n ? {\n [insertAs]: transformImage(data[propName]),\n }\n : undefined\n return withImages\n}\n\nexport const transformLink = (data) => {\n const enhancedData = data\n ? {\n linkText: data.linkText || data.text,\n Link: buildLink(getLinkProps(data)),\n }\n : undefined\n return enhancedData\n}\n\nexport const insertLinks = (data) => {\n const enhancedData = data.link\n ? {\n ...transformLink(data.link),\n }\n : undefined\n return enhancedData\n}\n\nconst richtextPropNames = ['richtext', 'copy']\nconst allUploadLinksRegex = /\\[([^\\]]+)\\]\\((\\/uploads\\/[^\\)]+)\\)/gm\n\nexport const insertRichtext = (data, richtextReferences) => {\n const key = richtextPropNames.find((propName) =>\n data.hasOwnProperty(propName),\n )\n const valueRaw = data[key]\n\n if (!valueRaw || !key || !valueRaw.data) return { [key]: undefined }\n\n // Get richtext value wether it is a string or a richtext.data.richtext object\n let value = isString(valueRaw) ? valueRaw : valueRaw.data[key]\n\n if (richtextReferences) {\n // Transforms link to a local reference if it exsits\n // /uploads/whatever.xyz -> /static/[hash]/whatever.xyz\n value = value.replace(allUploadLinksRegex, (_, p1, p2) => {\n const downloadRef = richtextReferences[p2]\n return `[${p1}](${downloadRef})`\n })\n }\n\n const enhancedData = {\n [key]: value,\n }\n return enhancedData\n}\n\nexport const enhanceStrapiData = (data, global) => {\n const richtextReferences = global\n ? transformDownloadLinks(global.downloads)\n : {}\n\n const enhancedData = {\n ...data,\n uid: `${data.strapi_component}-${data.id}`,\n ...(data.tag && { as: data.tag }),\n ...insertRichtext(data, richtextReferences),\n ...insertImages(data),\n ...insertImages(data, 'cover', 'cover'),\n ...insertImages(data, 'logo', 'logo'),\n ...insertImages(data, 'backgroundImage', 'backgroundImage'),\n ...insertImages(data, 'iconImage', 'iconImage'),\n ...insertLinks(data),\n ...(data.items && data.items.length\n ? {\n items: data.items.map((item) => ({\n ...item,\n ...insertRichtext(item, richtextReferences),\n ...insertImages(item),\n ...insertImages(item, 'cover', 'cover'),\n ...insertImages(item, 'backgroundImage', 'backgroundImage'),\n ...insertImages(item, 'iconImage', 'iconImage'),\n ...insertLinks(item),\n })),\n }\n : undefined),\n ...(data.links && data.links.length\n ? {\n links: data.links.map((item) => ({\n ...item,\n ...transformLink(item),\n })),\n }\n : undefined),\n ...(data.mediaBlock\n ? {\n mediaBlock: {\n ...data.mediaBlock,\n ...insertImages(data.mediaBlock),\n },\n }\n : undefined),\n ...(data.video\n ? {\n video: {\n ...data.video,\n ...insertImages(data.video),\n },\n }\n : undefined),\n ...(data.textBlock\n ? {\n textBlock: {\n ...data.textBlock,\n ...insertRichtext(data.textBlock, richtextReferences),\n },\n }\n : undefined),\n ...(data.mediaBlocks && data.mediaBlocks.length\n ? {\n mediaBlocks: data.mediaBlocks.map((item) => ({\n ...item,\n ...insertImages(item),\n })),\n }\n : undefined),\n ...(data.images && data.images.length\n ? {\n images: data.images.map((item) => ({\n ...transformImage(item),\n })),\n }\n : undefined),\n ...(data.partners && data.partners.length\n ? {\n partners: data.partners.map((item) => ({\n ...item,\n ...(!item.activateInternalPage &&\n item.url && {\n Link: buildLink({ href: item.url }),\n }),\n ...(item.activateInternalPage &&\n item.route && {\n Link: buildLink({ href: item.route }),\n }),\n ...(item.logo && { logo: transformImage(item.logo) }),\n })),\n }\n : undefined),\n }\n\n return enhancedData\n}\n","import _ from 'lodash'\n\nconst COLLECTION_TYPE_AS_PAGE_IN_ORDER = [\n 'page',\n 'post',\n 'insight',\n 'releaseNote',\n 'partner',\n]\n\nexport const getLinkTarget = ({ newTab, rel }) => {\n const finalRel = _.isString(rel)\n ? rel\n : rel === null\n ? undefined\n : newTab === true\n ? 'noreferrer'\n : undefined\n\n return {\n ...(newTab === true ? { target: '_blank', rel: finalRel } : undefined),\n }\n}\n\nexport const addLeadingHash = (str) =>\n str && !str.startsWith('#') ? `#${str}` : str\n\nexport const addLeadingSlash = (str) =>\n str && !str.startsWith('/') ? `/${str}` : str\n\nexport const addTrailingSlash = (str) =>\n str && !str.endsWith('/') ? `${str}/` : str\n\nexport const findCollectionType = (props) =>\n COLLECTION_TYPE_AS_PAGE_IN_ORDER.find((fieldName) =>\n _.isObject(props[fieldName]),\n )\n\nexport const getInternalLink = (props) => {\n const linkedCollectionTypeName = findCollectionType(props)\n const linkedCollectionType =\n linkedCollectionTypeName && props[linkedCollectionTypeName]\n\n const { newTab = false, anchor, url = '/' } = props\n const route = linkedCollectionType?.route\n const path = [route || url, anchor ? `#${anchor}` : null].filter(Boolean)\n const href = path.length ? path.join('') : undefined\n const linkProps = {\n href,\n ...getLinkTarget({ newTab }),\n }\n\n return linkProps\n}\n\nexport const getExternalLink = (props) => {\n const { url, newTab } = props\n const linkProps = url\n ? {\n href: url,\n ...getLinkTarget({ newTab: newTab }),\n }\n : {}\n return linkProps\n}\n\nexport const getLinkProps = (props = {}) => {\n if (props === null) {\n return {}\n }\n const linkProps =\n props.url && !props.url.startsWith('/')\n ? getExternalLink(props)\n : getInternalLink(props)\n return linkProps\n}\n","import HTMLReactParser from '../lib/index.js';\n\nexport {\n attributesToProps,\n Comment,\n domToReact,\n Element,\n htmlToDOM,\n ProcessingInstruction,\n Text,\n} from '../lib/index.js';\n\nexport default HTMLReactParser.default || HTMLReactParser;\n","import { Link, navigate } from 'gatsby';\nimport { GatsbyImage } from 'gatsby-plugin-image';\nimport React from 'react';\nimport { attributesToProps, domToReact } from 'html-react-parser';\nimport { stringify } from 'qs';\nimport 'lodash';\nimport 'react-intl';\n\nReact.createContext(200);\n\nvar __defProp$1 = Object.defineProperty;\nvar __defProps$1 = Object.defineProperties;\nvar __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$1 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$1 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$1 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$1.call(b, prop))\n __defNormalProp$1(a, prop, b[prop]);\n if (__getOwnPropSymbols$1)\n for (var prop of __getOwnPropSymbols$1(b)) {\n if (__propIsEnum$1.call(b, prop))\n __defNormalProp$1(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));\nconst isInternalTarget = (target) => typeof target === \"undefined\" || target === \"\" || target === \"_self\";\nconst isRelative = (url) => (url == null ? void 0 : url.startsWith(\"#\")) || (url == null ? void 0 : url.startsWith(\"?\")) || Boolean(url == null ? void 0 : url.match(/^\\/(?!\\/)/));\nconst slugify = (...args) => {\n const value = args.join(\" \");\n return value.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\").toLowerCase().trim().replace(/[^a-z0-9 ]/g, \"\").replace(/\\s+/g, \"-\");\n};\n\n\nconst isElement = (node) => Array.isArray(node.children);\nconst htmlParserOptions = (buildLink, classNames) => ({\n replace: (node) => {\n if (isElement(node)) {\n const { attribs, children, tagName } = node;\n const props = attributesToProps(attribs);\n const className = classNames == null ? void 0 : classNames[node.name];\n const addedClass = typeof className === \"string\" ? className : typeof className === \"function\" ? className(node) : void 0;\n if (addedClass) {\n props[\"className\"] = [props[\"className\"], addedClass].filter((c) => !!c).join(\" \");\n }\n switch (tagName) {\n case \"li\": {\n const text = domToReact(children, htmlParserOptions(buildLink, classNames));\n return /* @__PURE__ */ React.createElement(\"li\", __spreadValues$1({}, props), /* @__PURE__ */ React.createElement(\"div\", null, text));\n }\n case \"h2\": {\n const text = domToReact(children, htmlParserOptions(buildLink, classNames));\n if (typeof text !== \"string\") {\n return;\n }\n return /* @__PURE__ */ React.createElement(\"h2\", __spreadProps$1(__spreadValues$1({}, props), {\n id: props.id || slugify(text)\n }), text);\n }\n case \"a\": {\n const Link = buildLink(props);\n return /* @__PURE__ */ React.createElement(Link, __spreadValues$1({}, props), domToReact(children, htmlParserOptions(buildLink, classNames)));\n }\n default: {\n return addedClass ? React.createElement(node.name, props, domToReact(children, htmlParserOptions(buildLink, classNames))) : void 0;\n }\n }\n }\n }\n});\n\nconst isTruthy = (i) => Boolean(i);\nconst stripSlashes = (segment, index) => {\n if (index === 0) {\n return segment === \"/\" ? segment : segment.replace(/^\\/{2,}/g, \"/\").replace(/\\/+$/g, \"\");\n }\n return segment.replace(/^\\/+|\\/+$/g, \"\");\n};\nconst buildUrl = (segments, query, queryOptions, fragment) => {\n const url = segments ? segments.filter(isTruthy).map(stripSlashes).join(\"/\").replace(/^\\/+/, \"/\") : \"\";\n const queryString = stringify(query, __spreadValues$1({\n skipNulls: true\n }, queryOptions));\n return [\n [url || \"\", queryString === \"\" ? null : queryString].filter((i) => typeof i === \"string\").join(\"?\"),\n fragment\n ].filter(isTruthy).join(\"#\");\n};\nconst buildUrlBuilder = (segments, query, queryOptions, fragment) => (queryOverride, fragmentOverride) => buildUrl(segments, __spreadValues$1(__spreadValues$1({}, query || {}), queryOverride || {}), queryOptions, fragmentOverride || fragment);\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction buildLink(_a) {\n var _b = _a, {\n href,\n segments,\n query,\n queryOptions,\n target\n } = _b, props = __objRest(_b, [\n \"href\",\n \"segments\",\n \"query\",\n \"queryOptions\",\n \"target\"\n ]);\n const buildUrl = buildUrlBuilder(segments || [href], query, queryOptions);\n const Element = function GatsbyLinkBuilder({\n className,\n activeClassName,\n children,\n query: queryOverride,\n fragment\n }) {\n const uri = buildUrl(queryOverride, fragment);\n return uri && isInternalTarget(target) && isRelative(uri) ? /* @__PURE__ */ React.createElement(Link, __spreadValues({\n to: uri,\n target,\n className,\n activeClassName\n }, props), children) : /* @__PURE__ */ React.createElement(\"a\", __spreadValues({\n className,\n target: target || \"_blank\",\n rel: props.rel || (isRelative(uri) ? void 0 : \"noreferrer\"),\n href: uri\n }, props), children);\n };\n Element.navigate = (opts) => {\n const uri = buildUrl(opts == null ? void 0 : opts.query, opts == null ? void 0 : opts.fragment);\n navigate(uri, props);\n };\n Element.href = buildUrl();\n return Element;\n}\nconst isGatsbyImageProps = (props) => {\n return !props.src;\n};\nconst buildImage = (props) => {\n var _a;\n const Element = function GatsbyImageBuilder({ className }) {\n if (isGatsbyImageProps(props)) {\n return /* @__PURE__ */ React.createElement(GatsbyImage, __spreadProps(__spreadValues({}, props), {\n className\n }));\n } else {\n const _a2 = props, { width, height } = _a2, rest = __objRest(_a2, [\"width\", \"height\"]);\n return /* @__PURE__ */ React.createElement(\"div\", {\n style: {\n width: \"100%\",\n position: \"relative\",\n paddingBottom: `${height / width * 100}%`\n }\n }, /* @__PURE__ */ React.createElement(\"img\", __spreadProps(__spreadValues({}, rest), {\n style: {\n display: \"block\",\n width: \"100%\",\n position: \"absolute\",\n top: 0,\n left: 0\n },\n className\n })));\n }\n };\n Element.src = isGatsbyImageProps(props) ? (_a = props.image.images.fallback) == null ? void 0 : _a.src : props.src;\n return Element;\n};\n\nexport { buildImage, buildLink };\n","import _ from 'lodash'\n\nexport const getSiteData = ({ site, header, footer } = {}) => ({\n site: _.get(site, 'nodes[0]'),\n header: _.get(header, 'nodes[0]'),\n footer: _.get(footer, 'nodes[0]'),\n})\n","'use strict';\n\nvar undefined;\n\nvar $Object = require('es-object-atoms');\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 abs = require('math-intrinsics/abs');\nvar floor = require('math-intrinsics/floor');\nvar max = require('math-intrinsics/max');\nvar min = require('math-intrinsics/min');\nvar pow = require('math-intrinsics/pow');\nvar round = require('math-intrinsics/round');\nvar sign = require('math-intrinsics/sign');\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 = require('gopd');\nvar $defineProperty = require('es-define-property');\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 = require('get-proto');\nvar $ObjectGPO = require('get-proto/Object.getPrototypeOf');\nvar $ReflectGPO = require('get-proto/Reflect.getPrototypeOf');\n\nvar $apply = require('call-bind-apply-helpers/functionApply');\nvar $call = require('call-bind-apply-helpers/functionCall');\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'%Object.getOwnPropertyDescriptor%': $gOPD,\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\t'%Function.prototype.call%': $call,\n\t'%Function.prototype.apply%': $apply,\n\t'%Object.defineProperty%': $defineProperty,\n\t'%Object.getPrototypeOf%': $ObjectGPO,\n\t'%Math.abs%': abs,\n\t'%Math.floor%': floor,\n\t'%Math.max%': max,\n\t'%Math.min%': min,\n\t'%Math.pow%': pow,\n\t'%Math.round%': round,\n\t'%Math.sign%': sign,\n\t'%Reflect.getPrototypeOf%': $ReflectGPO\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($call, Array.prototype.concat);\nvar $spliceApply = bind.call($apply, Array.prototype.splice);\nvar $replace = bind.call($call, String.prototype.replace);\nvar $strSlice = bind.call($call, String.prototype.slice);\nvar $exec = bind.call($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 $Object = require('es-object-atoms');\n\n/** @type {import('./Object.getPrototypeOf')} */\nmodule.exports = $Object.getPrototypeOf || null;\n","'use strict';\n\n/** @type {import('./Reflect.getPrototypeOf')} */\nmodule.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;\n","'use strict';\n\nvar reflectGetProto = require('./Reflect.getPrototypeOf');\nvar originalGetProto = require('./Object.getPrototypeOf');\n\nvar getDunderProto = require('dunder-proto/get');\n\n/** @type {import('.')} */\nmodule.exports = reflectGetProto\n\t? function getProto(O) {\n\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\treturn reflectGetProto(O);\n\t}\n\t: originalGetProto\n\t\t? function getProto(O) {\n\t\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\t\tthrow new TypeError('getProto: not an object');\n\t\t\t}\n\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\treturn originalGetProto(O);\n\t\t}\n\t\t: getDunderProto\n\t\t\t? function getProto(O) {\n\t\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\t\treturn getDunderProto(O);\n\t\t\t}\n\t\t\t: null;\n","'use strict';\n\n/** @type {import('./gOPD')} */\nmodule.exports = Object.getOwnPropertyDescriptor;\n","'use strict';\n\n/** @type {import('.')} */\nvar $gOPD = require('./gOPD');\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\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\n/** @type {import('.')} */\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/** @type {import('./shams')} */\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\t/** @type {{ [k in symbol]?: unknown }} */\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 (var _ 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\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (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\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","// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function (style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function (node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = StyleToObject;\nvar inline_style_parser_1 = __importDefault(require(\"inline-style-parser\"));\n/**\n * Parses inline style to object.\n *\n * @param style - Inline style.\n * @param iterator - Iterator.\n * @returns - Style object or null.\n *\n * @example Parsing inline style to object:\n *\n * ```js\n * import parse from 'style-to-object';\n * parse('line-height: 42;'); // { 'line-height': '42' }\n * ```\n */\nfunction StyleToObject(style, iterator) {\n var styleObject = null;\n if (!style || typeof style !== 'string') {\n return styleObject;\n }\n var declarations = (0, inline_style_parser_1.default)(style);\n var hasIterator = typeof iterator === 'function';\n declarations.forEach(function (declaration) {\n if (declaration.type !== 'declaration') {\n return;\n }\n var property = declaration.property, value = declaration.value;\n if (hasIterator) {\n iterator(property, value, declaration);\n }\n else if (value) {\n styleObject = styleObject || {};\n styleObject[property] = value;\n }\n });\n return styleObject;\n}\n//# sourceMappingURL=index.js.map","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CARRIAGE_RETURN_PLACEHOLDER_REGEX = exports.CARRIAGE_RETURN_PLACEHOLDER = exports.CARRIAGE_RETURN_REGEX = exports.CARRIAGE_RETURN = exports.CASE_SENSITIVE_TAG_NAMES_MAP = exports.CASE_SENSITIVE_TAG_NAMES = void 0;\n/**\n * SVG elements are case-sensitive.\n *\n * @see https://developer.mozilla.org/docs/Web/SVG/Element#svg_elements_a_to_z\n */\nexports.CASE_SENSITIVE_TAG_NAMES = [\n 'animateMotion',\n 'animateTransform',\n 'clipPath',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDropShadow',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n 'foreignObject',\n 'linearGradient',\n 'radialGradient',\n 'textPath',\n];\nexports.CASE_SENSITIVE_TAG_NAMES_MAP = exports.CASE_SENSITIVE_TAG_NAMES.reduce(function (accumulator, tagName) {\n accumulator[tagName.toLowerCase()] = tagName;\n return accumulator;\n}, {});\nexports.CARRIAGE_RETURN = '\\r';\nexports.CARRIAGE_RETURN_REGEX = new RegExp(exports.CARRIAGE_RETURN, 'g');\nexports.CARRIAGE_RETURN_PLACEHOLDER = \"__HTML_DOM_PARSER_CARRIAGE_RETURN_PLACEHOLDER_\".concat(Date.now(), \"__\");\nexports.CARRIAGE_RETURN_PLACEHOLDER_REGEX = new RegExp(exports.CARRIAGE_RETURN_PLACEHOLDER, 'g');\n//# sourceMappingURL=constants.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = domparser;\nvar utilities_1 = require(\"./utilities\");\n// constants\nvar HTML = 'html';\nvar HEAD = 'head';\nvar BODY = 'body';\nvar FIRST_TAG_REGEX = /<([a-zA-Z]+[0-9]?)/; // e.g.,

    \n// match-all-characters in case of newlines (DOTALL)\nvar HEAD_TAG_REGEX = //i;\nvar BODY_TAG_REGEX = //i;\n// falls back to `parseFromString` if `createHTMLDocument` cannot be used\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nvar parseFromDocument = function (html, tagName) {\n /* istanbul ignore next */\n throw new Error('This browser does not support `document.implementation.createHTMLDocument`');\n};\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nvar parseFromString = function (html, tagName) {\n /* istanbul ignore next */\n throw new Error('This browser does not support `DOMParser.prototype.parseFromString`');\n};\nvar DOMParser = typeof window === 'object' && window.DOMParser;\n/**\n * DOMParser (performance: slow).\n *\n * @see https://developer.mozilla.org/docs/Web/API/DOMParser#Parsing_an_SVG_or_HTML_document\n */\nif (typeof DOMParser === 'function') {\n var domParser_1 = new DOMParser();\n var mimeType_1 = 'text/html';\n /**\n * Creates an HTML document using `DOMParser.parseFromString`.\n *\n * @param html - The HTML string.\n * @param tagName - The element to render the HTML (with 'body' as fallback).\n * @returns - Document.\n */\n parseFromString = function (html, tagName) {\n if (tagName) {\n /* istanbul ignore next */\n html = \"<\".concat(tagName, \">\").concat(html, \"\");\n }\n return domParser_1.parseFromString(html, mimeType_1);\n };\n parseFromDocument = parseFromString;\n}\n/**\n * DOMImplementation (performance: fair).\n *\n * @see https://developer.mozilla.org/docs/Web/API/DOMImplementation/createHTMLDocument\n */\nif (typeof document === 'object' && document.implementation) {\n var htmlDocument_1 = document.implementation.createHTMLDocument();\n /**\n * Use HTML document created by `document.implementation.createHTMLDocument`.\n *\n * @param html - The HTML string.\n * @param tagName - The element to render the HTML (with 'body' as fallback).\n * @returns - Document\n */\n parseFromDocument = function (html, tagName) {\n if (tagName) {\n var element = htmlDocument_1.documentElement.querySelector(tagName);\n if (element) {\n element.innerHTML = html;\n }\n return htmlDocument_1;\n }\n htmlDocument_1.documentElement.innerHTML = html;\n return htmlDocument_1;\n };\n}\n/**\n * Template (performance: fast).\n *\n * @see https://developer.mozilla.org/docs/Web/HTML/Element/template\n */\nvar template = typeof document === 'object' && document.createElement('template');\nvar parseFromTemplate;\nif (template && template.content) {\n /**\n * Uses a template element (content fragment) to parse HTML.\n *\n * @param html - HTML string.\n * @returns - Nodes.\n */\n parseFromTemplate = function (html) {\n template.innerHTML = html;\n return template.content.childNodes;\n };\n}\n/**\n * Parses HTML string to DOM nodes.\n *\n * @param html - HTML markup.\n * @returns - DOM nodes.\n */\nfunction domparser(html) {\n var _a, _b;\n // Escape special characters before parsing\n html = (0, utilities_1.escapeSpecialCharacters)(html);\n var match = html.match(FIRST_TAG_REGEX);\n var firstTagName = match && match[1] ? match[1].toLowerCase() : '';\n switch (firstTagName) {\n case HTML: {\n var doc = parseFromString(html);\n // the created document may come with filler head/body elements,\n // so make sure to remove them if they don't actually exist\n if (!HEAD_TAG_REGEX.test(html)) {\n var element = doc.querySelector(HEAD);\n (_a = element === null || element === void 0 ? void 0 : element.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(element);\n }\n if (!BODY_TAG_REGEX.test(html)) {\n var element = doc.querySelector(BODY);\n (_b = element === null || element === void 0 ? void 0 : element.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(element);\n }\n return doc.querySelectorAll(HTML);\n }\n case HEAD:\n case BODY: {\n var elements = parseFromDocument(html).querySelectorAll(firstTagName);\n // if there's a sibling element, then return both elements\n if (BODY_TAG_REGEX.test(html) && HEAD_TAG_REGEX.test(html)) {\n return elements[0].parentNode.childNodes;\n }\n return elements;\n }\n // low-level tag or text\n default: {\n if (parseFromTemplate) {\n return parseFromTemplate(html);\n }\n var element = parseFromDocument(html, BODY).querySelector(BODY);\n return element.childNodes;\n }\n }\n}\n//# sourceMappingURL=domparser.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = HTMLDOMParser;\nvar domparser_1 = __importDefault(require(\"./domparser\"));\nvar utilities_1 = require(\"./utilities\");\nvar DIRECTIVE_REGEX = /<(![a-zA-Z\\s]+)>/; // e.g., \n/**\n * Parses HTML string to DOM nodes in browser.\n *\n * @param html - HTML markup.\n * @returns - DOM elements.\n */\nfunction HTMLDOMParser(html) {\n if (typeof html !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n if (!html) {\n return [];\n }\n // match directive\n var match = html.match(DIRECTIVE_REGEX);\n var directive = match ? match[1] : undefined;\n return (0, utilities_1.formatDOM)((0, domparser_1.default)(html), null, directive);\n}\n//# sourceMappingURL=html-to-dom.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.formatAttributes = formatAttributes;\nexports.escapeSpecialCharacters = escapeSpecialCharacters;\nexports.revertEscapedCharacters = revertEscapedCharacters;\nexports.formatDOM = formatDOM;\nvar domhandler_1 = require(\"domhandler\");\nvar constants_1 = require(\"./constants\");\n/**\n * Gets case-sensitive tag name.\n *\n * @param tagName - Tag name in lowercase.\n * @returns - Case-sensitive tag name.\n */\nfunction getCaseSensitiveTagName(tagName) {\n return constants_1.CASE_SENSITIVE_TAG_NAMES_MAP[tagName];\n}\n/**\n * Formats DOM attributes to a hash map.\n *\n * @param attributes - List of attributes.\n * @returns - Map of attribute name to value.\n */\nfunction formatAttributes(attributes) {\n var map = {};\n var index = 0;\n var attributesLength = attributes.length;\n // `NamedNodeMap` is array-like\n for (; index < attributesLength; index++) {\n var attribute = attributes[index];\n map[attribute.name] = attribute.value;\n }\n return map;\n}\n/**\n * Corrects the tag name if it is case-sensitive (SVG).\n * Otherwise, returns the lowercase tag name (HTML).\n *\n * @param tagName - Lowercase tag name.\n * @returns - Formatted tag name.\n */\nfunction formatTagName(tagName) {\n tagName = tagName.toLowerCase();\n var caseSensitiveTagName = getCaseSensitiveTagName(tagName);\n if (caseSensitiveTagName) {\n return caseSensitiveTagName;\n }\n return tagName;\n}\n/**\n * Escapes special characters before parsing.\n *\n * @param html - The HTML string.\n * @returns - HTML string with escaped special characters.\n */\nfunction escapeSpecialCharacters(html) {\n return html.replace(constants_1.CARRIAGE_RETURN_REGEX, constants_1.CARRIAGE_RETURN_PLACEHOLDER);\n}\n/**\n * Reverts escaped special characters back to actual characters.\n *\n * @param text - The text with escaped characters.\n * @returns - Text with escaped characters reverted.\n */\nfunction revertEscapedCharacters(text) {\n return text.replace(constants_1.CARRIAGE_RETURN_PLACEHOLDER_REGEX, constants_1.CARRIAGE_RETURN);\n}\n/**\n * Transforms DOM nodes to `domhandler` nodes.\n *\n * @param nodes - DOM nodes.\n * @param parent - Parent node.\n * @param directive - Directive.\n * @returns - Nodes.\n */\nfunction formatDOM(nodes, parent, directive) {\n if (parent === void 0) { parent = null; }\n var domNodes = [];\n var current;\n var index = 0;\n var nodesLength = nodes.length;\n for (; index < nodesLength; index++) {\n var node = nodes[index];\n // set the node data given the type\n switch (node.nodeType) {\n case 1: {\n var tagName = formatTagName(node.nodeName);\n // script, style, or tag\n current = new domhandler_1.Element(tagName, formatAttributes(node.attributes));\n current.children = formatDOM(\n // template children are on content\n tagName === 'template'\n ? node.content.childNodes\n : node.childNodes, current);\n break;\n }\n case 3:\n current = new domhandler_1.Text(revertEscapedCharacters(node.nodeValue));\n break;\n case 8:\n current = new domhandler_1.Comment(node.nodeValue);\n break;\n default:\n continue;\n }\n // set previous node next\n var prev = domNodes[index - 1] || null;\n if (prev) {\n prev.next = current;\n }\n // set properties for current node\n current.parent = parent;\n current.prev = prev;\n current.next = null;\n domNodes.push(current);\n }\n if (directive) {\n current = new domhandler_1.ProcessingInstruction(directive.substring(0, directive.indexOf(' ')).toLowerCase(), directive);\n current.next = domNodes[0] || null;\n current.parent = parent;\n domNodes.unshift(current);\n if (domNodes[1]) {\n domNodes[1].prev = domNodes[0];\n }\n }\n return domNodes;\n}\n//# sourceMappingURL=utilities.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = attributesToProps;\nvar react_property_1 = require(\"react-property\");\nvar utilities_1 = require(\"./utilities\");\n// https://react.dev/learn/sharing-state-between-components#controlled-and-uncontrolled-components\n// https://developer.mozilla.org/docs/Web/HTML/Attributes\nvar UNCONTROLLED_COMPONENT_ATTRIBUTES = ['checked', 'value'];\nvar UNCONTROLLED_COMPONENT_NAMES = ['input', 'select', 'textarea'];\nvar valueOnlyInputs = {\n reset: true,\n submit: true,\n};\n/**\n * Converts HTML/SVG DOM attributes to React props.\n *\n * @param attributes - HTML/SVG DOM attributes.\n * @param nodeName - DOM node name.\n * @returns - React props.\n */\nfunction attributesToProps(attributes, nodeName) {\n if (attributes === void 0) { attributes = {}; }\n var props = {};\n var isInputValueOnly = Boolean(attributes.type && valueOnlyInputs[attributes.type]);\n for (var attributeName in attributes) {\n var attributeValue = attributes[attributeName];\n // ARIA (aria-*) or custom data (data-*) attribute\n if ((0, react_property_1.isCustomAttribute)(attributeName)) {\n props[attributeName] = attributeValue;\n continue;\n }\n // convert HTML/SVG attribute to React prop\n var attributeNameLowerCased = attributeName.toLowerCase();\n var propName = getPropName(attributeNameLowerCased);\n if (propName) {\n var propertyInfo = (0, react_property_1.getPropertyInfo)(propName);\n // convert attribute to uncontrolled component prop (e.g., `value` to `defaultValue`)\n if (UNCONTROLLED_COMPONENT_ATTRIBUTES.includes(propName) &&\n UNCONTROLLED_COMPONENT_NAMES.includes(nodeName) &&\n !isInputValueOnly) {\n propName = getPropName('default' + attributeNameLowerCased);\n }\n props[propName] = attributeValue;\n switch (propertyInfo && propertyInfo.type) {\n case react_property_1.BOOLEAN:\n props[propName] = true;\n break;\n case react_property_1.OVERLOADED_BOOLEAN:\n if (attributeValue === '') {\n props[propName] = true;\n }\n break;\n }\n continue;\n }\n // preserve custom attribute if React >=16\n if (utilities_1.PRESERVE_CUSTOM_ATTRIBUTES) {\n props[attributeName] = attributeValue;\n }\n }\n // transform inline style to object\n (0, utilities_1.setStyleProp)(attributes.style, props);\n return props;\n}\n/**\n * Gets prop name from lowercased attribute name.\n *\n * @param attributeName - Lowercased attribute name.\n * @returns - Prop name.\n */\nfunction getPropName(attributeName) {\n return react_property_1.possibleStandardNames[attributeName];\n}\n//# sourceMappingURL=attributes-to-props.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = domToReact;\nvar react_1 = require(\"react\");\nvar attributes_to_props_1 = __importDefault(require(\"./attributes-to-props\"));\nvar utilities_1 = require(\"./utilities\");\nvar React = {\n cloneElement: react_1.cloneElement,\n createElement: react_1.createElement,\n isValidElement: react_1.isValidElement,\n};\n/**\n * Converts DOM nodes to JSX element(s).\n *\n * @param nodes - DOM nodes.\n * @param options - Options.\n * @returns - String or JSX element(s).\n */\nfunction domToReact(nodes, options) {\n if (options === void 0) { options = {}; }\n var reactElements = [];\n var hasReplace = typeof options.replace === 'function';\n var transform = options.transform || utilities_1.returnFirstArg;\n var _a = options.library || React, cloneElement = _a.cloneElement, createElement = _a.createElement, isValidElement = _a.isValidElement;\n var nodesLength = nodes.length;\n for (var index = 0; index < nodesLength; index++) {\n var node = nodes[index];\n // replace with custom React element (if present)\n if (hasReplace) {\n var replaceElement = options.replace(node, index);\n if (isValidElement(replaceElement)) {\n // set \"key\" prop for sibling elements\n // https://react.dev/learn/rendering-lists#rules-of-keys\n if (nodesLength > 1) {\n replaceElement = cloneElement(replaceElement, {\n key: replaceElement.key || index,\n });\n }\n reactElements.push(transform(replaceElement, node, index));\n continue;\n }\n }\n if (node.type === 'text') {\n var isWhitespace = !node.data.trim().length;\n // We have a whitespace node that can't be nested in its parent\n // so skip it\n if (isWhitespace &&\n node.parent &&\n !(0, utilities_1.canTextBeChildOfNode)(node.parent)) {\n continue;\n }\n // Trim is enabled and we have a whitespace node\n // so skip it\n if (options.trim && isWhitespace) {\n continue;\n }\n // We have a text node that's not whitespace and it can be nested\n // in its parent so add it to the results\n reactElements.push(transform(node.data, node, index));\n continue;\n }\n var element = node;\n var props = {};\n if (skipAttributesToProps(element)) {\n (0, utilities_1.setStyleProp)(element.attribs.style, element.attribs);\n props = element.attribs;\n }\n else if (element.attribs) {\n props = (0, attributes_to_props_1.default)(element.attribs, element.name);\n }\n var children = void 0;\n switch (node.type) {\n case 'script':\n case 'style':\n // prevent text in