{"version":3,"file":"static/chunks/pages/_app-6e7471ea87872770.js","mappings":"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DE7HA,IC0LA,ED1LA,GACA,0BACA,cACA,oBACA,mBACA,mBACA,UACA,eACA,kBACA,cACA,UACA,OACA,WACA,eACA,aACA,eACA,YACA,UACA,aACA,cACA,eACA,aACA,gBACA,iBACA,kBACA,YACA,gBACA,eACA,mBACA,aACA,aACA,UACA,QACA,UACA,QACA,UACA,SACA,SACA,OACA,kBAEA,cACA,eACA,cACA,kBACA,mBACA,mBACA,gBACA,aACA,aC3CA,eACA,gCAEA,cACA,2BACA,EAEA,cACA,mCACA,EAEA,EAAsC,OAAO,aAC7C,8CACA,CAAC,EAED,gBACA,UACA,gBACA,oBAEA,sBACA,mCAMA,OALA,GACA,OACA,SACA,MACA,EACA,CACA,CAAW,CAGX,QAEA,IAAM,CAAQ,qCAId,EAHA,MAIA,EAIA,kBACA,WACA,SAKA,YAFA,EAEA,iBAEA,OAJA,EAOA,iBACA,cAEA,QAGA,cAIA,OAFA,EAEA,KAMA,OALA,GACA,YACA,gBACA,MACA,EACA,OAKA,sBACA,aAEA,cAGA,iBACA,GACA,YACA,gBACA,MACA,EACA,SAKA,OADA,WAAmD,CAEnD,CAEA,gBA2BA,OACA,SAEA,oBACA,YAAoB,WAAgB,IACpC,iBAAyE,OAGzE,gBACA,WAEA,sBAGA,oBAFA,EAEA,CACA,OAA4B,IAH5B,EAG4B,GAA6B,EAC/C,EAJV,IAKA,iBALA,GAKA,GAAuF,OAOvF,wEACA,YAA2B,WAAmB,IAC9C,SACA,0BAA4F,MAGlF,CACV,eAEA,UACA,gBACA,oBAEA,gBAAyE,EACzE,KAGA,SAGA,OAAkC,MAAqB,CAEvD,CACA,CAEA,CAGA,QACA,EAhFA,MAGA,gBAEA,eACA,QACA,OAEA,OADA,IACA,QACA,CAIA,CAKA,CALI,EAKJ,QACA,OAHA,EAMA,QANA,EAMA,CACA,oBAPA,CAQA,CAyDA,uBAAoC,QAAQ,MAI5C,CAJmD,QAInD,SACA,0EACA,YAGA,IA4BA,EA5BA,KACA,KACA,SACA,iBAEA,mBACA,KACA,aAIA,GAFA,CAEA,IAIA,YAAkB,WAAiB,IACnC,eAEA,GAGA,IAFA,CAE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A,IACA,EAmBA,IAlBA,YAEA,0BACA,MACA,QAEA,eACA,QAEA,6DACA,EASA,OACA,KAEA,EGhEuC,GACvC,EAAkB,OAAa,IAC/B,EAAiB,OAAS,EAC1B,cACA,gBACA,aAAkB,CAElB,SACA,aACA,KACK,CACL,UACA,OACA,GAAS,CAAK,CACd,KAEA,CAAG,IAcH,MAbA,GAAa,QAAmB,KAChC,YAAyB,EACzB,SADoC,EACpC,QAA4C,OAAS,UACrD,mBACA,GAAO,GAAe,CACtB,yBAEA,0BACA,MAAW,OAAe,EAC1B,KACA,WACK,CACL,EACA,CACA,gCCxCO,gBACP,uBACA,SAEA,wEACA,+BACA,iDACA,CAAG,SACH,SAGA,iBACA,WAGA,OAFA,YACA,OACA,CACA,CAAG,EACH,KACG,EATH,CAUA,CACO,gBACP,8DAAoG,EAAI,uBACxG,CACO,gBACP,qCACA,MAIA,YAEA,YACA,2BACA,kCACA,CACe,cACf,gDAAmG,EAAK,gBACxG,gBACA,yCACA,6CACA,mDACA,6CACA,eACA,0CACA,0BAEA,+GAEA,CACA,CACA,CACA,SACA,MACA,OACA,GAGA,OADA,KACA,CACA,KACA,kBACA,CACA,4GC3DA,MARA,qBACA,EAGS,KAIM,CAJN,CAAS,GAIE,EAJF,CAClB,QACA,CAAG,EAJH,CAKA,gECPe,cACf,IACA,WACA,KACA,CAAI,EACJ,GACA,WACA,MAAW,QAAwB,IACnC,cACA,SAGA,aAGA,GACA,cACA,4BACA,SAAwB,QAAwB,UAEhD,CAAK,EAPL,CAUA,2HEnBA,OACA,WACA,WACA,EACA,GACA,QACA,UACA,WACA,SACA,mBACA,oBAEA,GACA,aACA,aACA,cACA,aACA,EAKA,EAAyB,OAAO,ED3BjB,GACf,SACA,WACA,eACA,YAEA,KAEA,ECmBgC,IAEhC,eACA,SAGA,UAFA,MAIA,CACA,qBACA,OACA,WACA,4CACC,EACM,gOACA,6OACP,cACO,oBACP,MAAuB,QAAO,kBAC9B,uCACA,GACA,mBACA,EAOA,mBACA,QAAuB,GAAK,IAAI,EAAa,GAE7C,IAGA,iBACA,IACA,sBACA,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W,IAAO,CACf,CACH,cACA,MAAW,IAAO,CACf,CACH,eACA,MAAW,IAAO,CACf,CACH,aACA,MAAW,IAAO,CACf,CACH,UACA,MAAW,IACX,CAAG,CACH,UACA,MAAW,IAAO,CACf,CACH,eACA,MAAW,IAAO,CACf,CACH,oBACA,MAAW,IAAO,CACf,CACH,kBACA,MAAW,IACX,CAAG,CACH,cACA,MAAW,IAAO,CACf,CACH,mBACA,MAAW,IACX,CAAG,CACH,iBACA,MAAW,IAAO,CACf,CACH,GACA,MAAW,IACX,CAAG,CACH,IACA,MAAW,IACX,CAAG,CACH,IACA,MAAW,IAAM,CACd,CACH,IACA,MAAW,IAAM,CACd,CACH,IACA,MAAW,IAAM,CACd,CACH,IACA,MAAW,IACX,CAAG,CACH,IACA,MAAW,IAAM,CACd,CACH,QACA,MAAW,IAAM,CACd,CACH,WACA,MAAW,IAAM,CACd,CACH,aACA,MAAW,IAAM,CACd,CACH,cACA,MAAW,IAAM,CACd,CACH,YACA,MAAW,IACX,CAAG,CACH,SACA,MAAW,IAAM,CACd,CACH,SACA,MAAW,IAAM,CACd,CACH,cACA,MAAW,IAAM,CACd,CACH,mBACA,MAAW,IAAM,CACd,CACH,iBACA,MAAW,IAAM,CACd,CACH,aACA,MAAW,IAAM,CACd,CACH,kBACA,MAAW,IAAM,CACd,CACH,gBACA,MAAW,IAAM,CACd,CAEH,cACA,eACA,eACA,gBACA,SACA,CACA,EAAK,CACF,CACH,UAAa,CACb,WAAc,CACd,eAAkB,CAClB,aAAgB,CAChB,aAAgB,CAEhB,YAAe,CACf,gBAAmB,CACnB,WAAc,CACd,iBAAoB,CACpB,aAAgB,CAChB,eAAkB,CAClB,QAAW,CACX,OAAU,CACV,WAAc,CACd,aAAgB,CAChB,YAAe,CACf,eAAkB,CAClB,cAAiB,CAEjB,KACA,MAAW,CACX,CAAG,CADW,OAEd,CACA,MAAW,CACX,CAAG,CACH,GAFiB,OAEjB,CACA,MAAW,CACX,CAAG,CACH,MAFoB,KAEpB,EAAgB,CAChB,UAAa,CACb,eAAkB,CAClB,kBAAqB,CACrB,eAAkB,CAClB,sBAAyB,CACzB,mBAAsB,CACtB,oBAAuB,CACvB,WAAc,CAEd,WAAc,CACd,QACA,iBACA,CAAG,CACH,MAAS,CACT,QAAW,CACX,SAAY,CACZ,OAAU,CAEV,WACA,kBACA,CAAG,CAEH,OACA,UAAe,CACf,CAAG,CACH,UACA,EAH8B,IAGnB,CACX,CAAG,CACH,KAFmB,IAEnB,CACA,UAAe,CACf,CAAG,CACH,QACA,IAH8B,MAGf,CACf,CAAG,CACH,WACA,CAH8B,SAGf,CACf,CAAG,CACH,WACA,CAH8B,SAGf,CACf,CAAG,CACH,YAF8B,CAI9B,MACA,eACA,CAAG,CACH,YACA,qBACA,CAAG,CACH,UACA,qBACA,CAAG,CACH,WACA,qBACA,CAAG,CACH,YACA,qBACA,CAAG,CACH,gBAAmB,CACnB,gBAAmB,CACnB,aAAgB,CAChB,YAAe,CACf,YACA,eACA,qBACA,CACA,2EClSA,UACA,OACA,cAAmB,CACnB,aACA,EACA,+BAAoD,GAAe,CAQnE,OAPA,2BACA,KACA,sBAEA,qBAEG,EACH,CACA,EACe,kBASf,EARA,IACA,KACA,KACA,CAAI,EACJ,CACA,cACA,aACA,CAAI,KAqBJ,OAlBA,EADA,iBACA,SACI,qBACJ,SACA,oBACA,CAAW,MAAa,IAGxB,CACA,KACA,MAJA,CAMA,EAEA,CACA,KACA,IACA,EAEA,CACA,KACA,IACA,CACA,uHC0EA,MA5GO,WACP,oBACA,OACA,MACA,OACA,EACA,OACA,MACA,OACA,KACA,EAEA,IACA,gBACA,WACA,YACA,QACA,CAAM,EACN,WACA,YAIA,mCACA,OACA,KACA,EAEA,MAAyB,QAAO,iBAChC,EACA,KAeW,QAAiB,KAb5B,IACA,MAAkB,QAAQ,cAK1B,CAJA,2BAEA,GAAgB,QAAQ,QAA6B,EAAK,EAAE,iBAAoC,OAAU,IAAiB,MAE3H,QACA,EAEA,CACA,KACA,CACA,EAEA,CA4DA,OA3DA,cACA,IACA,KACA,WACA,CAAM,MACN,MACA,YAEA,CAFmB,GAEnB,uBAA8C,GAAe,CAO7D,cACA,QACA,wBACA,YACQ,s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pB,KACA,mBACA,CAAG,EACH,EAAc,OAAU,kCAKxB,MAJgB,OAAgB,IAChC,KACA,KACA,CAAG,GAEH,mFCjCA,eCCO,EACP,gBACA,YACA,CACA,eAKA,WACA,aACA,+BACA,oBACA,GACA,CAAK,GACL,CACA,WACA,wBACA,6BACA,oBAEA,EACA,kBACA,WAGe,iBDtBA,ECuBf,MAAkB,OAAU,mBAE5B,ODzBe,ECwBH,gBDrBV,WAAe,MCsBjB,CACA,6BCvBA,yCACA,2BADA,IAEA,+BACA,kCACA,+BACA,6BACA,mCACA,8BACA,kCACA,+BACA,oCACA,2BACA,2BACA,gCACA,uCAmFA,IAA0B,aAC1B,0BACA,sBACA,OACA,OACA,OACA,OACA,OACA,OACA,oBACA,UACA,iBACA,gBACA,gBACA,gBACA,gBACA,gBACA,uBAGA,8BC9HA,YAAkB,CAuClB,YACA,WACA,OACA,OACA,iBACA,EA3CA,aAAmB,CAiDnB,YAEA,IADA,EAcA,EAbA,OACA,OACA,OAEA,QATA,GASA,CATA,MASA,GAEA,IAGA,MACA,IACA,EAGA,QAAc,IAAS,KACvB,EACA,uBACA,yBACA,wBACA,qBACA,iBACA,gBACA,aAmBA,OAhBA,QACA,EACA,sBACA,wBACA,cAGA,QACA,EACA,uBACA,wBACA,wBACA,gBACA,cAGA,CACA,EA5FA,eAAqB,CAkHrB,YAQA,QAPA,EACA,WACA,MACA,KAIA,UAA2C,IAAU,GAHrD,MAIA,OAtBA,gBAGA,QAFA,EACA,KACA,IAAsB,IAAS,KAK/B,OAdA,GAUA,EACA,oBACA,kBACA,eAbA,OACA,EAaA,GAbA,OACA,WACA,KAWA,EAXA,EAaA,iBACA,EAWA,MAJA,MAIA,MAJA,QAyBA,OAjBA,MAEA,OACA,GAFA,WAEA,GACA,WACA,MAEI,OAEJ,OACA,EAFA,wBAEA,IACA,WACA,WACA,KAIA,UACA,EA1IA,QALA,KACA,KACA,kDAEA,qEACA,eAAmC,IAAS,IAC5C,UACA,qBAQA,cACA,eAEA,SACA,8DAKA,oBACA,eAEA,YACA,EACA,MAEA,YAnBA,wBACA,sDCTA,MAAa,EAAQ,KAAW,EAChC,EAAc,EAAQ,GAAS,EAC/B,CAFoB,CAGpB,UAFqB,EAErB,6CACA,yCACA,KA8DA,cACA,KAzDA,WA0DA,mEAGA,wBAEA,OADA,qCACA,CACA,CAYA,kBAEA,uBACA,sBACA,gBACA,sEAGA,WACA,CACA,eACA,CAIA,kBACA,sBACA,OAuHA,cAKA,GAJA,8BACA,WAGA,iBACA,wCAGA,eACA,OAEA,eASA,OAPA,OAIA,iBAGA,CACA,EA7IA,KAGA,yBACA,gBAoJA,GACA,oBACA,wBACA,4CACA,CACA,WACA,EA1JA,GAGA,WACA,gBACA,kHACA,UAIA,qBACA,4BAIA,uCACA,yBACA,kCALA,gBASA,sBACA,gBACA,yEAIA,6BACA,kBACA,qBAGA,eAoJA,GACA,kBACA,IA29CA,EA39CA,gBACA,cAEA,cAIA,gBAHA,CAKA,QAEA,kBACA,2BAi9CA,CAFA,EA/8CA,WAi9CA,EAh9CA,KAEA,KAGA,yCACA,gBAEA,EA3KA,GACA,cAEA,yDACA,yCACA,cACA,oCAIA,iBACA,kHACA,SAEA,CAmBA,cACA,sBACA,0DACI,OACJ,kEAEA,CA0BA,cAEA,OADA,KACA,eACA,CAuCA,cAGA,QAFA,6BACA,OACA,IAAkB,IAAY,KAC9B,cAEA,QACA,CAUA,sBASA,EARA,uBACA,yDAGA,yBACA,yDAeA,OAFA,sBARA,EADA,uBACA,kBACI,WACJ,oBAEA,sBAIA,aAEA,CACA,CA2BA,cAGA,MAjTA,WAkTA,0FAGA,UACA,CAqGA,gBACA,iBACA,gBAEA,2CACA,oBAEA,sBACA,gBACA,2FACA,UAIA,eACA,wCACA,sBAIA,IADA,GACS,CADT,OAEA,UACA,YACA,aACA,aACA,QACA,YACA,YACA,kBACA,YACA,YACA,cACA,eACA,UACA,WACA,YACA,cACA,2BAEA,KACA,wBAEA,uBACA,IACA,CAEA,CAGA,kBACA,IA6cA,IA7cA,KAcA,GALA,mBACA,MAIA,gBAIA,6BACA,gBAGA,MAKA,UACA,UAbA,SAqBA,IAFA,gBAGA,UACA,UACA,OAqiBA,gBACA,eAEA,iBACA,sBAGA,QADA,KACA,IAAsB,IAAS,IAC/B,WAEA,QACA,EAhjBA,SAEA,YACA,YACA,kBAEA,aACA,OA0gBA,gBACA,SACA,uBAEA,YAAsB,IAAS,IAC/B,iCAEA,QACA,EAlhBA,SAEA,cACA,aACA,OAghBA,gBACA,SACA,uBAEA,YAAsB,IAAS,IAC/B,6BAEA,QACA,EAxhBA,SAEA,cACA,OAwZA,EAxZA,EAwZA,EAxZA,EAyZA,WAzZA,KAyZA,OACA,gBA1ZA,MA4ZA,gBA5ZA,KA4ZA,WA1ZA,YACA,YACA,cACA,eACA,gBA8hBA,OAIA,QAHA,eACA,KAEA,IAAkB,aAAsB,KACxC,wCAEA,QACA,EAtiBA,SAEA,SACA,6CACA,uBACA,IACA,CAEA,CAUA,kBACA,WACA,UACA,MACA,CA2IA,0BAykCA,EAvkCA,0BAmBA,GAhBA,oBACA,IACA,KACI,aACJ,aACI,eACJ,iBA8jCA,EA5jCA,OA8jCA,GA3jCA,mBAIA,oBACA,aACA,eACA,YACA,EAAI,YACJ,MACA,UADA,GAEA,CAQA,GALA,oBACA,gBAIA,qBAEA,aACA,GAEA,aACI,4BAEJ,CADA,OACA,iDACA,EACA,yCAEA,6CAGA,cAGA,wDACA,CAEA,sBACA,IA0BA,EA1BA,IACA,WACA,WAEA,eAEA,UADA,6BACA,aACA,gCACA,0BACA,UAEA,IACA,KACA,KACA,IACA,CAGA,uBACA,MACA,KAEA,mBAEA,CAGA,MACA,SACA,QAAyB,IAAe,IACxC,8BAEA,IADA,cACA,0BAEA,iBACA,IAGA,EAAI,IAEJ,IADA,eACA,IAAyB,KAAQ,KAEjC,QADA,KACA,IAAsB,IAAe,IACrC,sBACA,KACA,KACA,CAEA,aACA,CAGA,SACA,CA2IA,kBACA,uBAIA,IAHA,SAEA,IACA,MACA,IAWA,QAXA,OACA,OACA,QACA,EACA,MACA,EACA,MACA,EACA,EAEA,UAGA,UACA,OACA,OACA,MAEA,KACA,QAEA,KADA,UACA,QACA,mBACA,KACA,MAGA,KACA,QACA,SACA,SACA,4BAEA,CADA,6BACA,0BACA,MAGA,KACA,QACA,SACA,SACA,SACA,0CAEA,CADA,wCACA,kBACA,KAGA,CAGA,UAGA,QACA,KACM,UAEN,SACA,0BACA,gBAGA,UACA,IACA,CAEA,gBAQA,GACA,eACA,MAJA,KAKA,2CAMA,IAFA,SACA,IACA,KACA,6BACA,OACA,aAdA,OAiBA,QACA,EAxBA,EACA,CAmGA,kBACA,sDACA,kEACA,CAmLA,wBACA,iFACA,kEACA,sDACA,CA+LA,wBACA,iBACA,IADA,sCAEA,CAEA,sBAOA,OANA,KACA,OACA,GACA,sDAEA,sBACA,GACA,CAUA,sBAOA,OANA,KACA,OACA,GACA,wDAEA,sBACA,GACA,CA3+CA,IAAc,GAEd,IAAyB,IAmBzB,iCAYA,IACA,wBACA,GAAkB,eAAmB,YAGrC,OAFA,8CACA,2BACA,YACA,CAAI,SACJ,QACA,CACA,IAnBA,oDACA,kCACA,cACA,iJAkBA,4CACA,cACA,eACA,oBACA,mBAEA,CAAC,EAED,4CACA,cACA,eACA,oBACA,uBAEA,CAAC,EAmCD,gBAgEA,uBACA,eACA,EAIA,wDACA,oCA8BA,wBACA,OApBA,EAoBA,GAnBA,MACA,EAkBA,GAhBA,SAgBA,EAZA,iBAYA,EAXA,EAWA,GAXA,KAWA,KAVA,EAUA,GAVA,KAUA,GARA,EAQA,EACA,EAUA,0BACA,WACA,EAIA,8BACA,WACA,EA6GA,uBACA,kCACA,iBAGA,wBAGA,GAFA,qDACA,qDACA,+BACA,gBACA,yEAIA,kBAKA,QAHA,WACA,WAEA,oBAAwC,IAAS,IACjD,gBACA,OACA,OACA,KACA,QAGA,OACA,MACA,CACA,EAEA,yBACA,gCACA,UACA,WACA,YACA,YACA,aACA,aACA,aACA,WACA,YACA,cACA,eACA,QACA,SACA,QACA,CACA,EAEA,uBACA,qBACA,+DAGA,gBACA,kBAIA,cAEA,QADA,IACgB,WAAiB,IACjC,eAIA,IARA,EAQA,mBACA,IACA,QAAc,WAAiB,KAC/B,WACA,mBACA,oBACA,oBAEA,8BACA,EACA,EACA,QAGM,iBAGN,iBAFA,+DAIA,YAEA,QACA,EAiDA,eA8EA,yBAQA,8BACA,kBACA,UACA,8DAEA,YAAkB,IAAS,KAC3B,cAEA,aAGA,8BACA,kBACA,UACA,8DAEA,YAAkB,IAAS,KAC3B,cACA,gBAEA,aAGA,8BACA,kBACA,UACA,8DAEA,YAAkB,IAAS,KAC3B,cACA,gBACA,gBACA,gBAEA,aAGA,gCACA,yBACA,SACA,gCACA,uBACA,EAEA,gDAEA,+BACA,sEACA,UACA,qBACA,EAEA,+BACA,SACA,EAAY,IAAyB,CAGrC,OAFA,uCAAiD,EAAE,kBACnD,4BACA,gBACA,EACA,GACA,qCAGA,wCAIA,GAHA,iBACA,oCAEA,eACA,gBACA,iFACA,UAiBA,GAbA,YACA,MAEA,YACA,iBAEA,YACA,MAEA,YACA,gBAGA,oCACA,uCAGA,cACA,SAEA,QACA,UAEA,QACA,SAQA,GALA,OACA,OACA,OACA,OAEA,kBASA,QAPA,MACA,MACA,gBAEA,kBACA,eAEA,IAAkB,IAAS,IAC3B,gBACA,OACA,OACA,KACA,QAGA,OACA,MACA,CACA,EA2HA,qCACA,+BACA,EAEA,oCACA,uBACA,EAEA,wCACA,uBACA,EA2CA,oCAEA,cACA,SACA,cACA,SAEI,kCACJ,IACA,cACA,SAEI,eACJ,OACA,aACA,OACA,yBAEA,IACA,eAGA,YACA,2EAIA,IA3CA,IAIA,IAIA,IAIA,IA+BA,gBAGA,GAFA,yBAEA,sCACA,2DAGA,cAGA,IADA,GACS,CADT,OAEA,UACA,UACA,OAjFA,kBACA,eACA,iBACA,EAGA,cACA,GACA,MAJA,IAQA,eAEA,OACA,QAEA,YAAkB,IAAY,KAC9B,mCACA,aACA,SACA,CACA,QACA,EA0DA,WAEA,YACA,YACA,OA5DA,EA4DA,EA5DA,EA4DA,EA3DA,IA2DA,OA3DA,UA2DA,KA3DA,IA6DA,aACA,aACA,aACA,OA7DA,EA6DA,EA7DA,EA6DA,EA5DA,WAk4BA,GAEA,QADA,KACA,IAAkB,WAAgB,IAElC,4BAEA,QACA,EA70BA,QA5DA,IA8DA,cAEA,OA7DA,EA6DA,EA7DA,EA6DA,EA5DA,IA4DA,QA5DA,IA8DA,YACA,YACA,cACA,eACA,OA/DA,EA+DA,EA/DA,EA+DA,EA9DA,WAm4BA,KAGA,QAFA,IACA,KACA,IAAkB,aAClB,WADkC,IAIlC,EADA,qBACA,EAEA,OADA,OAEA,UAGA,QACA,EAn1BA,OA9DA,UA8DA,KA9DA,IAgEA,SACA,6CACA,uBACA,IACA,CAEA,EAEA,8BACA,OACA,cACA,kDACA,CACA,EAwJA,gCACA,kBACA,MACA,mBAEA,IACA,OACA,SACI,KACJ,MAGA,IACA,OACA,SACI,KACJ,MAGA,WAEA,yBAIA,OAFA,qCAEA,CACA,EAUA,uBACA,uCACA,OACA,OACA,sBAKA,IAHA,cACA,IACA,IACA,iBACA,eAGA,QACA,EAEA,uBACA,uCACA,OACA,OACA,GACA,mBAKA,IAFA,kBACA,IACA,eACA,iBAGA,QACA,EAEA,sBACA,oCAGA,OAFA,OACA,sBACA,SAGA,yBACA,uCAGA,OAFA,OACA,sBACA,oBACA,EAEA,yBACA,uCAGA,OAFA,OACA,sBACA,sBAGA,yBACA,uCAIA,OAHA,OACA,sBAEA,SACA,aACA,eACA,qBAGA,yBACA,uCAIA,OAHA,OACA,sBAEA,kBACA,eACA,aACA,UACA,EAEA,sCACA,OACA,OACA,sBAKA,IAHA,cACA,IACA,IACA,iBACA,eAMA,OAFA,GAFA,UAEA,qBAEA,CACA,EAEA,sCACA,OACA,OACA,sBAKA,IAHA,QACA,IACA,cACA,eACA,iBAMA,OAFA,GAFA,UAEA,qBAEA,CACA,EAEA,yCAGA,CAFA,OACA,sBACA,aACA,qBADA,SAIA,sCACA,OACA,sBACA,2BACA,6BACA,EAEA,sCACA,OACA,sBACA,2BACA,6BACA,EAEA,sCAIA,OAHA,OACA,sBAEA,QACA,aACA,cACA,aACA,EAEA,sCAIA,OAHA,OACA,sBAEA,YACA,cACA,aACA,WAGA,sCAGA,OAFA,OACA,sBACA,sBACA,EAEA,sCAGA,OAFA,OACA,sBACA,sBACA,EAEA,uCAGA,OAFA,OACA,sBACA,sBACA,EAEA,uCAGA,OAFA,OACA,sBACA,sBACA,EAQA,wBACA,0CAIA,GAHA,KACA,OACA,OACA,IACA,wBACA,iBACA,CAEA,QACA,IAEA,IADA,cACA,iBACA,kBAGA,UACA,EAEA,wBACA,0CAIA,GAHA,KACA,OACA,OACA,IACA,wBACA,iBACA,CAEA,UACA,IAEA,IADA,gBACA,kBACA,kBAGA,UACA,EAEA,uBACA,uCAKA,OAJA,KACA,OACA,uBACA,cACA,GACA,EAEA,0BACA,0CAMA,OALA,KACA,OACA,yBACA,cACA,gBACA,GACA,EAEA,0BACA,0CAMA,OALA,KACA,OACA,yBACA,cACA,gBACA,GACA,EAEA,0BACA,0CAQA,OAPA,KACA,OACA,8BACA,iBACA,iBACA,gBACA,cACA,GACA,EAEA,0BACA,0CAQA,OAPA,KACA,OACA,8BACA,eACA,iBACA,gBACA,gBACA,GACA,EAEA,yCAGA,GAFA,KACA,OACA,IACA,wBAEA,oBACA,CAEA,QACA,IACA,IAEA,IADA,cACA,iBACA,6BACA,MAEA,yBAGA,UACA,EAEA,yCAGA,GAFA,KACA,OACA,IACA,wBAEA,oBACA,CAEA,UACA,IACA,IAEA,IADA,gBACA,kBACA,6BACA,MAEA,yBAGA,UACA,EAEA,sCAMA,OALA,KACA,OACA,0BACA,iBACA,cACA,GACA,EAEA,yCAMA,OALA,KACA,OACA,8BACA,cACA,gBACA,GACA,EAEA,yCAMA,OALA,KACA,OACA,8BACA,cACA,gBACA,GACA,EAEA,yCAQA,OAPA,KACA,OACA,wCACA,cACA,gBACA,iBACA,iBACA,GACA,EAEA,yCASA,OARA,KACA,OACA,wCACA,wBACA,eACA,iBACA,gBACA,gBACA,GACA,EAiBA,yCACA,uBACA,EAEA,yCACA,uBACA,EAYA,0CACA,uBACA,EAEA,0CACA,uBACA,EAGA,mCACA,iEAQA,GAPA,SACA,0BACA,0BACA,SACA,gBAGA,OACA,8BADA,SAIA,OACA,8CAEA,8DACA,mDAGA,+BACA,gBACA,iBAGA,UAaA,OAXA,6DAEA,uBAEA,8BACA,EACA,mBACA,GAIA,CACA,EAMA,mCAEA,uBASA,GARA,oBACA,IACA,IACA,eACM,qBACN,IACA,eAEA,+BACA,6CAEA,wCACA,wCAEA,iBACA,IA2BA,EA3BA,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CAKlB,cACA,IACA,wBAAkC,2BAA8C,IAChF,CAAG,UACH,EAEA,EAAY,EAAQ,KAAM,EAC1B,EAAsB,EAAQ,KAAoB,CAD/B,CAGnB,UAF6B,GAG7B,WACA,EACA,IACA,WACA,IAGA,OADA,iBACA,CADqB,CAEjB,SACJ,IAEA,iCACK,SACL,QACA,CACA,CACA,CAAE,GACF,EAEA,EAAiB,EAAQ,KAAa,IAEtC,EAAe,EAAQ,IAFC,CAEU,EAClC,EAAiB,EAAQ,KAAiC,CADpC,CAEtB,EAAkB,EAAQ,KAAkC,CADpC,CAGxB,EAAa,EAAQ,KAAuC,CAFnC,CAGzB,EAAY,EAAQ,KAAsC,CADtC,CAGpB,KAEA,KAJmB,UAInB,qCAEA,GACA,eACA,uEACA,gBACA,8DACA,2DACA,qCACA,oBACA,qBACA,6BACA,6BACA,kDACA,+CACA,oEACA,uEACA,oBACA,qDACA,cACA,wBACA,0CACA,wBACA,0CACA,YACA,cACA,gBACA,iEACA,iEACA,yFACA,eACA,wBACA,wDACA,2DACA,2DACA,sBACA,gBACA,yDACA,sCACA,sCACA,yFACA,cACA,kBACA,aACA,sCACA,0BACA,sBACA,kDACA,4CACA,iBACA,qBACA,kDACA,kBACA,sCACA,yFACA,gFACA,kBACA,4DACA,sBACA,kBACA,qBACA,iBACA,gBACA,2DACA,gFACA,8DACA,8DACA,eACA,kDACA,kDACA,kDAEA,8BACA,+BACA,4BACA,4BACA,eACA,iBACA,eACA,eACA,eACA,iBACA,gBACA,4BACA,EAEA,KACA,IACA,WACG,CADW,KACX,GAEH,aACA,yBACA,CAGA,oBACA,MACA,yBACA,yBAAqD,QAClD,6BACH,oBAAgD,QAC7C,kCACH,0BAAsD,QACnD,2BACH,oCACA,GACA,eAEA,EAAG,uCACH,4BACA,MACA,kBAEA,CAIA,OAFA,OAEA,CACA,EAEA,GACA,eACA,qDACA,yCACA,uDACA,uDACA,iDACA,qDACA,yDACA,0DACA,+EACA,6CACA,+CACA,uCACA,yCACA,iDACA,uDACA,uDACA,+CACA,gDACA,qEACA,iDACA,mDACA,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CAEA,qCAIA,IAHA,KACA,WAEA,OACA,UAGA,MACA,CAEA,qCACA,4DAGA,SACA,EA3GA,cAEA,yBACA,WAAsB,iCACtB,eAGA,CACA,CAuCA,EA1EA,QAAY,gBA8JZ,kBACA,QAgBA,OAdA,2BACA,kBACA,cAEI,kCAGJ,oBACA,uBAEA,OAIA,CACA,gCCxLA,MAAa,EAAQ,GAA2B,EAGhD,IAFsB,KAAW,EAEjC,CAHoB,CAGpB,OACA,CAHqB,CAGrB,mBAEA,wCCNA,kBAAkC,8BCAlC,MAAc,EAAQ,KAAU,EAMhC,GACA,OAPqB,WAOrB,GACA,eACA,gBACA,gBACA,eACA,mBACA,4BACA,4BACA,UACA,aACA,OACA,EACA,GACA,QACA,UACA,aACA,UACA,UACA,aACA,QACA,EAQA,GACA,YACA,WACA,gBACA,eACA,aACA,OACA,EACA,KAIA,qBAEA,YACA,EAIA,gBACA,CAXA,gBAhBA,CACA,YACA,UACA,gBACA,eACA,YACA,EAWA,YAYA,4BACA,6BACA,+BACA,kCACA,wBACA,kBAsCA,WArCA,kBACA,uBAEA,MACA,WAEA,UACA,QAEA,CAEA,WAEA,GACA,mBAMA,QAHA,OACA,OAEA,IAAoB,WAAiB,KACrC,WAEA,8CACA,aAEA,IAEA,QACA,CAAU,UACV,CACA,CACA,CAEA,QACA,eCnGA,MAAY,qBAEZ,IADA,IACA,UACA,WACA,OACA,KACA,UACA,SACA,SAOA,IALA,KAEA,cACA,OACA,KACS,IAAW,0BAKpB,IAHA,cACA,OACA,KACS,IAAW,0BAEpB,SACA,WACI,SACJ,0BAEA,iBACA,KAEA,gCACA,EAEA,OAAa,uBAEb,IADA,MACA,UACA,WACA,OACA,gCACA,UACA,SACA,wBAmCA,IA/BA,MAFA,gBAEA,SACA,eACA,MAEA,mCACA,yBACA,IACA,MAEA,OACA,OAEA,qBAEA,SACA,IACA,MAGA,QACA,IACA,KACM,QACN,wBACA,OAEA,kCACA,MAIS,KAAW,+BAIpB,IAFA,SACA,KACS,IAAU,+BAEnB,eACA,0BClFA,UAIA,YACA,2CAEA,OACA,eACA,YAEA,gCCXA,MAAmB,EAAQ,KAAiB,EAC5C,EAAc,EAAQ,KAAY,CADR,CAG1B,UAFqB,SAMrB,GACA,iBACA,0BCTA,UAIA,YACA,2CAEA,mBACA,0BCRA,UAIA,YACA,2CAEA,OACA,eACA,cACA,YAEA,0BCXA,2CCAA,6CCAA,oCACA,WACA,yBCFA,2CCAA,2CCAA,2CCAA,mDCDA,MAAa,EAAQ,KAAS,EAG9B,UAHoB,SAGpB,UACA,YACA,EAEA,QACA,oCCuNA,EACA,EA6zDA,EAw7DA,EACA,EACA,EA58HA,cACA,4BACA,uCACA,CACA,cACA,+DACA,CA2BA,cACA,QA3BA,EA4BA,0BACA,UA5BA,CADA,EA8BA,0BA7BA,iCAAiD,IACjD,4CAA0D,IAC1D,qCAA0D,mCAAoC,sBAAsB,IAEpH,GA0BA,IACA,CACA,SACA,WACA,CACA,CACA,cACA,MACA,GAmBA,eAnBA,EACA,IACA,EACA,iBAnCA,YACA,YAAY,GAAU,EACtB,yBACA,SACA,wBAAyC,uBAA0B,IAanE,MAZA,iBACA,gBAEA,aACA,gBAAgC,YAAe,IAE/C,gBACA,mBAAmC,eAAkB,IAErD,gBACA,0BAEA,cAAmC,CACnC,EAkBA,EACA,CACA,SACA,MAEA,oDACA,iBAMA,QADA,uCACA,UAJA,sCAtEA,YACA,2BACA,mCACA,yBACA,mBACA,qBACA,wBACA,CAAC,YAA4B,CA2E7B,SACA,cACA,uBACA,4BACA,CACA,SACA,MACA,MACA,UACA,yDACA,mBACA,CACA,WACA,kCACA,CACA,SACA,wCACA,CACA,WACA,oCACA,CACA,qBACA,oBACA,yBACA,cACA,kDAEA,CACA,OACA,4BACA,CACA,WACA,8BACA,CACA,SACA,WACA,wBACA,yBACA,CACA,aACA,sBACA,MACA,8BACA,GACA,yBACA,CACA,uBACA,CACA,QACA,uBACA,4BACA,CACA,CAIA,oBAA0B,4DAA+D,EACzF,YACA,UAUA,MATA,qBACA,WAEA,EADA,EACA,OAGA,sBAGA,CACA,CACA,cACA,sBACA,CACA,2BAmBA,cACA,aACA,6CACA,WACA,EAEA,KACA,IACA,CACA,oBACA,MACA,EACA,IACA,2CACA,CACA,SACA,WACA,CAEA,uBADA,uBAEA,wDACA,CAEA,QACA,yBAEA,aACA,UACA,CAwBA,mDACA,wBACA,cACA,0BACA,gBACA,wCACA,cACA,WACA,MACA,SAEA,yBAGA,UAFA,aAA0B,EAAW,EAAE,EAAS,EAAE,EAAW,GAK7D,cACA,aAA0B,EAAW,EAvBrC,CANA,mBACA,kCA4BuC,EAzBvC,eAEA,cAuBuC,EAA+B,EAAE,EAAW,GAEnF,mBACA,eAEA,aADA,QACA,GACA,UAGA,SACA,QAGA,WAGA,aAAsB,EAAW,EAAE,YAAgB,EAAE,EAAW,GAC3D,CACL,CACA,2BACA,uBA2DA,gBACA,qBACA,SAEA,2BAEA,OADA,SACA,OAKA,aACA,kCAEA,OADA,UACA,OAEA,2BACA,EAGA,WACA,qCAGA,gCAGA,mBACA,iCAGA,aACA,SA1FA,KACA,iBACA,SAEA,QACA,kBACA,EACA,oCACA,GACA,OACA,YACA,GAEA,EACA,CACA,SACA,KACA,MACA,eAFA,CAKA,WACA,qBACA,iCACA,cAEA,CACA,SACA,SACA,SACA,QACA,kBACA,WACA,qBACA,KACA,CACA,KAWA,SACA,WAZA,CACA,YACA,KACA,qBACA,KACA,CACA,SACA,MAEA,CAMA,KACA,IACA,CACA,CACA,CACA,mBACA,EAiCA,KAEA,YACA,SAEA,yBACA,OAEA,EAlBA,OAJA,CAuBA,CACA,kBACA,gDACA,CAwBA,kBACA,MACA,SACA,qCACA,KAEA,oBAEA,6BAA6C,KAAS,CACtD,GADsD,CACtD,iBACA,aACA,QAEA,OACA,KAEA,mBACA,CACA,oBACA,IACA,kCACA,EACA,gBACA,YACA,SACA,uBACA,KACA,kBAAmC,EAAc,GACjD,cAGA,2BACA,cAIA,YACA,SAEA,MACA,KACA,iBACA,cAGA,gBACA,SAGA,CACA,SACA,CACA,QACA,CAmUA,qBACA,QACA,GAGA,eAEA,CAyEA,oBA6BA,EA5BA,QAAY,qIAA0I,gEAA8D,0LAA+M,EACna,WAAU,GAAY,EACtB,oBAAU,MAA4B,CACtC,KACA,cAEA,WADA,WACA,EAEA,MAhWA,cACA,QAAY,4FAA0F,+CAA8C,yEAA4E,EAChO,EA6DA,cACA,iBACA,OACA,iBACA,qBACA,EAlEA,KACA,mBACA,qBACA,+BACA,OACA,iBACA,cACA,yBAIA,OACA,iBACA,cAGA,2BACA,OACA,qBACA,YACA,oBACA,oBACA,QACA,CACA,qBACA,gBA6EA,SA6IA,EA5IA,QAAY,uEAAuE,kCAAkC,kFAAoF,EACzM,WAlPA,OACA,IACA,sBACA,4BACA,QACA,MAGA,6BAAwD,KAAS,CACjE,GADiE,CACjE,iBACA,aACA,QAEA,CAEA,KACA,mBAEA,CACA,SACA,CACA,QACA,EA4NA,OACA,WAxZA,GACA,gCACA,aAEA,0BACA,UACA,MAEA,CACA,EA+YA,GACA,KACA,sBACA,YAAoB,IAAS,KAC7B,sBACA,qBACA,oCAEA,CACA,kBACA,wCACA,iBAEA,OACA,GACA,SAEA,IACA,aACA,cACA,uBAEA,CACA,gBACA,SACA,iDACA,iBACA,GACA,qBAEA,CACA,8CACA,cACA,YACA,kBACA,qBACA,mBACA,mBACA,EACA,WACA,UACA,UACA,UACA,QACA,mBACA,aACA,CAAa,EAEb,GACA,aAEA,CASA,GARA,eACA,sBACA,cAGA,mBAGA,iBACA,sBACA,UArgBA,GACA,yBACA,MACA,SAEA,YAAoB,UAAkB,GADtC,GAEA,YAAwB,WAAmB,GAF3C,GAE2C,CAC3C,qBAKA,GADA,iBAHA,OACA,KACA,GACA,oBAPA,GAOA,oBAPA,GAOA,0BACA,eACA,QACA,CAEA,QACA,EAofA,IACA,kDAGA,uBACA,oCACA,kCACA,iBACA,kBAEA,IADA,+BAEA,gBAEA,EAEA,iBACA,GAEA,GADA,8BACA,kBAGA,MADA,EACA,YADA,EAEA,wBACA,WAHA,EAIA,8BACA,IACA,QANA,EAMA,aACA,SAPA,EAOA,cACA,YARA,EAQA,KACA,0CACA,CACA,SACA,sCAAsD,aAAiB,WAAW,EAAI,EACtF,CACA,EACA,gBACA,gCACA,CACA,CAlBA,EAkBA,cAlBA,EAkBA,aACA,IAnBA,EAqBA,0BACA,CACA,6BACA,OACA,0BACA,SACA,SACA,oCACA,sCACA,wBACA,sBACA,0BAUA,GARA,KACA,cACA,+BAEA,aACA,8BAGA,GACA,IAAgB,kBAAgB,0BAChC,GACA,cACA,YAAyB,EAAM,IAC/B,aAA0B,EAAO,IAEjC,CACA,yBACA,mBACA,iBAEA,cAGA,IACA,uBACA,MACA,CACA,SACA,CACA,OACA,gBACA,UACA,aACA,cACA,MA7aA,0CA6aA,OACA,YACA,SACA,UACA,CACA,EA3OA,GACA,MACA,aACA,gBACA,mBACA,mBACA,cACA,iBACA,eACA,eACA,kBACA,oBACA,QACA,CAAa,CACb,kBACA,gBA2BA,KACA,MACA,IAAY,mCAAgC,EAC5C,qCACA,gBACA,sBACA,uBACA,SACA,IACA,kCAEA,+DACA,yBAEA,CACA,SACA,qEAAiF,EAAI,IACrF,CACA,UACA,CASA,OARA,GACA,yBAEA,cACA,KACA,qBACA,wBAEA,CACA,aACA,kBACA,UACA,QACA,CACA,EA7DA,GACA,YACA,aACA,QACA,CAAa,CACb,2BACA,OACA,cACA,eACA,QACA,CACA,qBACA,OACA,gBACA,8BACA,QACA,CACA,SACA,QACA,CACA,EAkSA,GACA,MACA,SACA,aACA,gBACA,YACA,mBACA,mBACA,aACA,cACA,iBACA,eACA,eACA,kBACA,mBACA,CAAK,EACL,MAEA,OADA,iCACA,KAIA,EADA,aACA,WAEA,CAzGA,cACA,kCACA,SAEA,wBACA,aACA,uBACA,oBACA,+BACA,qCACA,4BACA,oBACA,+BACA,oCACA,8BAGA,eACA,yDACA,oBACA,kEACA,2CACA,8BACA,0CACA,wCATA,SAYA,uBACA,2BACA,sDAGA,kBACA,sDACA,8CACA,oCALA,SAQA,qBACA,kCACA,oCACA,kCACA,SAEA,wBACA,oCACA,cAEA,yBACA,kCACA,oCACA,oCACA,oCACA,iCACA,6CACA,6CACA,cAEA,2BACA,oDACA,8CACA,qCACA,0CACA,oCACA,uCACA,qDACA,QAEA,CACA,CACA,QACA,EAkCA,MACA,IACA,kBACA,WACA,gDAIA,IAjrBA,GAmrBA,0BAA4D,EAAI,EAEhE,GADA,WAprBA,KAqrBA,EACA,YAEA,GACA,KAEA,SACA,wBACA,kBACA,mBACA,mBACA,SACA,mBACA,CACA,0BACA,sBACA,GACA,kBACA,qBACA,oBACA,OAEA,OACA,MACA,SACA,aACA,gBACA,YACA,gBACA,mBACA,YACA,mBACA,mBACA,aACA,cACA,iBACA,iBACA,eACA,eACA,qBACA,cACA,eACA,oBACA,mBACA,wBACA,iBACA,EACA,wBACA,wBACA,kCAEA,uCACA,aACA,GACA,oBAEA,CAEA,KA56BA,WA46BA,EA56BA,cA46BA,aACA,kDACA,aACA,IACA,iBACA,gBACA,qBAEA,CAEA,CAkFA,OAjFA,cACA,iBACA,iBACA,gBAEA,qBACA,sBACA,SA3gBA,WAMA,EALA,sBACA,MACA,OAEA,SAEA,IACA,wBAEA,SACA,MACA,CACA,mBACA,sBACA,IACA,IACA,KAEA,CAAS,IACT,+BACA,gBACA,KACA,GACA,CAAS,EACT,MACA,CACA,oBACA,wBACA,WACA,WAEA,OADA,gBACA,6BAEA,4BACA,EAweA,OACA,wBACA,SACA,WACA,MACA,SACA,aACA,gBACA,YACA,gBACA,mBACA,aACA,mBACA,mBACA,aACA,cACA,iBACA,iBACA,eACA,eACA,qBACA,cACA,eACA,oBACA,mBACA,wBACA,iBACA,CAAiB,EACjB,GACA,MAEA,CACA,CAAS,IAET,qBACA,oBACA,mCACA,kCACA,8BACA,oCACA,+BACA,SAhhBA,OACA,IACA,EADA,KAEA,IACA,UAEA,SACA,MACA,CACA,KACA,OACA,sBACA,IACA,IACA,KAEA,CAAK,IACL,+BACA,gBACA,KACA,GACA,CAAK,CACL,EA0fA,OACA,MACA,WACA,MACA,SACA,aACA,gBACA,YACA,gBACA,mBACA,aACA,mBACA,mBACA,aACA,cACA,iBACA,iBACA,eACA,eACA,qBACA,cACA,eACA,oBACA,mBACA,wBACA,iBACA,CAAiB,EACjB,GACA,MAEA,CACA,CAAS,IAET,CACA,CAuEA,2BACA,OAAsB,uBAEtB,OADA,0BACA,gCACA,CACA,kOAKA,GACA,MAAW,CACX,WACA,iBACA,IAEA,aACA,iBACA,MAEA,oBACA,gBACA,CAAK,CACL,SACA,iBACA,IAEA,QACA,gBACA,CAAK,EAYL,mBAA0C,EAC1C,WACA,IACA,sBACA,iBACA,mBACA,MAEA,cACA,OACA,WACA,IACA,gBACA,QAEA,IACA,cAEA,oBACA,mBACA,8BACA,OACA,YACA,CAAa,IAEb,CACA,CACA,6BACA,6CAaA,OAZA,8BACA,EACA,CACA,OACA,gBACA,kBACA,CAAiB,IACjB,UACA,kBAEA,CAAa,CACJ,EACT,eAAuD,IACvD,CACA,kBACA,IACA,aACA,WACA,EAEA,WACA,OAWA,MAVA,uBACA,4BACA,2BACA,oBACA,cACA,OACA,CAAiB,CACJ,GAEb,OACA,KACA,MACA,CACA,CACA,SACA,WACA,CACA,CACA,CA/EA,0DACA,gBACA,cACA,WACA,iBAEA,mBAEA,EAAK,EAwEL,eAIA,cACA,gBACA,iBACA,OACA,wBACA,8BACA,uBACA,cACA,+CACA,kHACA,oEACA,EACA,uBACA,6BACA,uBACA,cACA,8CACA,iHACA,mEACA,CACA,CACA,CACA,aACA,2BACA,iEACA,0CAEA,aACA,0BACA,gEACA,wCACA,CACA,qBACA,EAGA,4BACA,EACA,gBAJA,IAMA,CACA,oBACA,MACA,SAEA,WACA,MACA,SAEA,IACA,sBACA,6BAEA,2BADA,cAKA,YACA,QAEA,CACA,SACA,SACA,KACA,cAEA,uBAHA,CAOA,CAIA,gBACA,sBACA,CAkBA,cACA,yBA0BA,gBACA,6CACA,CACA,gBACA,8BACA,6BACA,gBACA,sCACA,aACA,CACA,cACA,qCACA,CAxIA,YAAkB,GAAG,+BACrB,4BAwIA,UACA,cACA,UACA,4BACA,uBACA,CACA,SACA,MACA,yDACA,CACA,OACA,6BACA,CACA,aAGA,SAFA,YACA,eAGA,EADA,WACA,UAGA,EACA,yBACA,yBACA,EACA,CACA,YACA,mCACA,CACA,QACA,4BACA,wBACA,SACA,CACA,aACA,gBACA,CACA,CACA,eACA,QACA,WAIA,MAHA,gIACA,sBACA,yBACA,CACA,CAeA,eACA,4BACA,KAEA,gBAXA,YACA,sBACA,MACA,SACA,eAXA,GACA,IACA,EADA,IAEA,cACA,IACA,QACA,EAKA,GACA,oBACA,EAKA,GACA,CAEA,IAk4GA,GA64KA,GAOA,GAtxRA,QACA,GA8wRqB,CA9wRrB,EAqxRqB,cArxRrB,uBACA,mBACA,mCACA,iDACA,mBACA,uBACA,uBACA,EACA,CAAC,OAAmB,EACpB,QACA,2BACA,6BACA,2CACA,uBACA,uCACA,qBACA,6BACA,2CACA,uCACA,uCACA,oBACA,kBACA,oBACA,4CACA,8BACA,8CACA,sCACA,EACA,CAAC,OAA2B,EAC5B,QACA,yBACA,6BACA,qBACA,iCACA,2BACA,qBACA,mBACA,+BACA,+CACA,2BACA,kCACA,EACA,CAAC,OAAyB,EAC1B,QACA,qBACA,iBACA,qBACA,EACA,CAAC,OAAoB,EACrB,QACA,kBACA,qBACA,uBACA,EACA,CAAC,OAAqB,CAKtB,UACA,cACA,cACA,eACA,cACA,CACA,OACA,kBACA,8CAEA,gBACA,YAA4B,IAAkB,IAC9C,gCAEA,QACA,CACA,WACA,OACA,QACA,cACA,SACA,EAEA,GADA,SACA,mBAzBA,SAyBA,mBACA,kCACA,SACA,kCACA,8BACA,GACA,cAEA,MACA,kBAlCA,SAmCA,eACA,6BACA,kCACA,aACA,0BACA,8BACA,GACA,UAEA,MAEA,WACA,uBAEA,iBACA,WAEA,gBACA,cAEA,aACA,CACA,cACA,aACA,YAGA,YAUA,uBACA,OACA,2BAGA,uBAdA,iBACA,UACA,wBAGA,gBAYA,QACA,cAEA,cACA,CACA,CACA,iBAAqC,EAAG,GAAG,EAAS,QACpD,GACA,cACA,eACA,eACA,cACA,mBACA,8BACA,gBACA,mBACA,iBACA,sBACA,sBACA,wBACA,0BACA,gCACA,WACA,EACA,eACA,4BACA,OAEA,SACA,UACA,SACA,MACA,QACA,EA13CA,GA23CA,aAEA,EADA,sBACA,qBAEA,QACA,EACA,MACA,kBACA,QACA,kCACA,OAEA,sBACA,yBACA,gCACA,OACA,kBACA,oBAEA,WACA,aACA,mBACA,2BACA,iCACA,iCACA,uCACA,aACA,qBACA,uCACA,uCACA,2BACA,6BACA,mCACA,mCACA,+BACA,+BACA,gBACA,kBACA,gCAEA,kBACA,2CAEA,MACA,0DAEA,CAAqB,CACrB,qBACA,qCACA,4CACA,CAAqB,CACrB,yBACA,6CACA,CAAqB,CACJ,EACjB,IACA,QACA,WACA,SACA,MACA,CAAqB,EACrB,YAEA,EACA,6BACA,uDAEA,2BACA,kCACA,kCAGA,KAEA,2BACA,uBACA,+BAGA,oBACA,KAGA,uBANA,KASA,WACA,gBACA,WACA,MACA,4CACA,YACA,iBACA,KAEA,CACA,OACA,aACA,SACA,QAEA,GADA,aACA,GACA,4CAEA,QADA,WAEA,SACA,WACA,IACA,KACA,CACA,CACA,cACA,iBACA,wBACA,6BACA,mBACA,KAEA,QADA,qBACA,CACA,IACA,KACA,CACA,CACA,CACA,CACA,CACA,CACA,OACA,aACA,2BAEA,KACA,CACA,aACA,sBACA,UACA,CACA,OACA,iBACA,QACA,aAKA,OAJA,cACA,mCACA,4CAEA,CACA,wBACA,cAEA,CAAiB,EACjB,wBACA,iCACA,2BACA,QACA,eAA4B,GAAa,EACzC,6BACA,kCACA,oCACA,0BACA,6BACA,8BACA,qBAGA,CACA,OACA,6BACA,YACA,CACA,CAAiB,EACjB,wBACA,iCACA,qBACA,MACA,EACA,iBACA,qBACA,kBACA,iBAGA,cACA,mBACA,8BACA,gBACA,sBACA,sBACA,wBACA,iBACA,mBACA,EACA,kCACA,+BACA,IACA,GACA,OACA,aAAkC,CAClC,YAAiC,CACjC,mBAAwC,EAExC,wBACA,4BAEA,yEACA,EACA,yBACA,4BAGA,eACA,qBACA,2BACA,mDACA,gBACA,iBACA,iEACA,gBACA,+BACA,uBACA,EACA,cACyB,EAEzB,KACA,CACA,kBACA,eACA,kBACA,2BACA,gBACA,WACA,KACA,UACA,uCACA,kBACA,OACA,QACA,6BACyB,CACzB,CACA,sDACA,eACA,OAEA,sCACA,yBACA,WACA,0BACA,qBAIA,OAHA,UAKA,CAgBA,GAfA,IACA,GACA,cACA,aAA0C,CAC1C,YAAyC,CACzC,mBAAgD,EAEhD,wBACA,mCAEA,YACA,qBACA,6CACA,6CAEA,kBACA,gDACA,cACA,uBACA,IACA,mBACA,4CACA,CACA,SACA,4BAGA,+CAIA,aAHA,YACA,mCAEA,sBACA,kCACA,gCACA,kCACA,mCACA,OACA,iBAGA,qBAIA,4BAGA,iCACA,kCACA,mBAGA,CAEA,KACA,CACA,gBACA,qDACA,OACA,kCACA,wCACA,MACA,CACA,kDACA,2BACA,2BACA,cACA,iCACA,4BACA,mDACA,kBAlnBA,SAmnBA,QAnnBA,MAmnBA,KAGA,sBACA,oBACA,wBAEA,qCArnBA,gBACA,QACA,SAEA,uBACA,WAGA,gBACA,4CAGA,cAGA,kBACA,EAsmBA,wBACA,sBACA,uBACA,oBAGA,mBACA,WACA,KACA,uCAEA,MACA,CAA6B,GAE7B,wBACA,CAAqB,CAGrB,CACA,EACA,qBACA,sDAEA,8CAEA,2BACA,oBACA,OAEA,qBACA,WACA,2BACA,yBAEA,WACA,8CAEA,MAEA,qBACA,yBAEA,+CACA,yCACA,MACA,oCACA,sCACA,iBACA,CAAqB,GAGrB,CACA,CACA,QACA,CACA,aACA,aACA,gBACA,gBACA,mBACA,mBACA,mBACA,aACA,cACA,kBACA,eACA,eACA,iBACA,iBACA,MACA,SACA,gBACA,oBACA,mBACA,gBACA,uBACA,aACA,aACS,CACT,CACA,SACA,eACA,2BACA,CACA,WACA,eACA,8BACA,WACA,CACA,WACA,mBAEA,OACA,eACA,yBACA,CACA,SACA,eACA,4BACA,WACA,CACA,QACA,8BACA,0BACA,CACA,CACA,iBACA,YACA,gCACA,CACA,0BACA,cAEA,SAEA,SACA,IAAY,cAAa,EACzB,MACA,SAEA,uBACA,uBAGA,QACA,EAZA,MACA,CAYA,wBACA,YAEA,SAEA,OACA,eAAY,GAAa,QACzB,QAGA,UAGA,OACA,EAXA,IACA,CAmBA,UACA,EAGA,SACA,IACA,cACA,CACA,SACA,gBACA,MAEA,QACA,CACA,CAAK,CAZL,EAgBA,MACA,eACA,IACA,uBACA,uBACA,YACA,iBAGA,6BACA,gBAEA,CACA,SACA,CACA,mBAEA,iBACA,QACA,aACA,WACA,UACA,+BACA,4BACA,wIACA,GACA,WACA,cAEA,4CASA,OARA,aACA,cACA,qBACA,iBACA,yBACA,aACA,UACA,CAAK,EACL,CACA,CA8IA,sBAA8B,yDAA6D,EAwB3F,kBAvBA,YACA,YACA,OACA,YACA,OAEA,iBACA,yBACA,uBACA,GACA,KACA,SACA,QACa,CACb,MAEA,GACA,KACA,eACA,cACa,CAEb,CAAK,kBACL,EACA,CAkBA,qCACA,eA8FA,mBAEA,EAoBA,OApBA,EADA,GAEA,uBAmBA,EAlBA,uCACA,oBACA,sCACA,uBAeA,EAdA,uCACA,wBAaA,EAZA,uCAGA,UADA,MADA,KAWA,EAXA,qBACA,QAUA,IAPA,oBAGA,UAFA,WAMA,EANA,2BACA,QAKA,IAFA,CAGA,CACA,mBACA,eACA,GAEA,YACA,uBAEA,aACA,CACA,UACA,IACA,GARA,EASA,CA+IA,oBAAyC,sBAA4B,IACrE,UACA,WAEA,EADA,yBACA,WAEA,gBACA,+BACA,uDACA,uGACA,+BACA,iFACA,cACA,UACA,QACA,GACA,GAGA,8CACA,4BACA,wBACA,MACA,MACA,uDACA,CAAS,CACT,OACA,MACA,yDACA,oBACA,IACA,uBACA,CACA,SACA,CAEA,QACA,CAAS,CACJ,EACL,QACA,8CACA,4BACA,wBACA,UACA,UACS,CACT,CAAK,GA7BL,KACA,CA6BA,CA8PA,kBAAoC,MAOpC,EANA,wBACA,MACA,WACA,GArFA,cACA,eAAY,uMAAsM,CAClN,uBACA,YACA,iBAEA,OACA,EACA,uBACA,aACA,kBAEA,OACA,EACA,8BACA,oBACA,yBAEA,OACA,EACA,oBACA,UACA,eAEA,OACA,EACA,4BACA,kBACA,uBAEA,OACA,EACA,mBACA,SACA,cAEA,OACA,EACA,8BACA,mBACA,wBAEA,OACA,EACA,4BACA,kBACA,uBAEA,OACA,EACA,8BACA,oBACA,yBAEA,OACA,EACA,4BACA,kBACA,uBAEA,OACA,EACA,kBACA,QACA,aAEA,OACA,EACA,uBACA,aACA,kBAEA,OACA,EACA,2BACA,iBACA,sBAEA,OACA,CACA,EAOA,KAEA,aACA,gBAEA,eAlwBA,aAA4B,4BAAqC,MAUjE,EATA,oBACA,WACA,EAEA,kDACA,uCACA,oBACA,IACA,KAEA,WACA,mBACA,YACA,gBACA,IACS,GACT,KACA,MACA,CAAK,KACL,cACA,YACA,SAAgB,aAAmB,KACnC,oBACA,EACA,GACA,QAEA,QACA,IACA,IACA,cACA,gBACA,CAAS,EACT,wDACA,QACA,wBACA,aACA,aACA,CAAK,KACL,WACA,CAAK,GACL,GACA,mBACA,mBACA,cACA,CACA,eACA,iBACA,CAAK,CACL,EAgtBA,GACA,EAhtBA,6BAAwC,yDAAuE,EAC/G,2BACA,WACA,EAEA,+BACA,4BACA,GACA,mBACA,KACA,OACA,KACA,IACA,YACA,eACA,OAEA,WACA,IACA,sBACA,sBACA,YACA,WACA,KACA,aACA,WACA,KACA,WACA,SAGA,aACA,qBACA,eAEA,oBACA,eAGA,YAEA,MACA,YAEA,WACA,IACA,wBACA,cACA,uBACA,eACA,UAGA,mBACA,IACA,QAEA,iCACA,MACA,OAEA,iBACA,SAAoB,aAAmB,EACvC,qBAAgE,wBAAmE,wBAA6B,EAAa,EAC7K,EAsBA,OApBA,gBACA,mCACA,0BACA,WACA,YACA,WACA,OACA,uBACA,cACA,kBACA,gBACA,+BACA,KACA,oBACA,iBACA,MACA,CAEA,gBACA,CAAK,EACL,QACA,iBACA,CAAK,CACL,EAunBA,GACA,QACA,WA9lBA,CAAsC,mBAAkB,MAAI,EAAK,EACjE,SACA,KAaA,kBAZA,aACA,UACA,MACA,iBACA,GACA,gBACA,gBACA,CAAa,EACb,IACA,IAEA,CAAK,QACL,EACA,EA8kBA,GACA,KACA,CAAK,EACL,EA9kBA,kBAA6B,gJAA8I,EAC3K,cACA,YACA,cACA,eAIA,GAHA,iBACA,oBAEA,IACA,IACA,iBACA,aAGA,yBACA,gBAHA,OAMA,cACA,KACA,UACA,6BACA,YAEA,qBACA,OACA,MACA,UACA,mBACA,UACA,OACA,QACA,aACA,EAAa,EAEb,MACA,MAAgB,+BAChB,MAAgB,cAAiB,EACjC,aACA,mBACA,EACA,8CAA+D,EAAK,KACpE,YACA,UACA,cACA,MACA,MAA4B,iCAC5B,MAA4B,eAA6B,CACzD,CACA,CAAa,CAEb,CACA,gBACA,gBACA,OACA,iBACA,2BACA,YACA,iBACA,oCAAmE,QAAQ,EAAI,EAC/E,CACA,CAEA,MADA,iDACA,qBACA,gBACA,MACA,WACA,iBACA,EAEA,8EACA,GACA,uCACA,yCACA,wCACA,0CACA,gDACA,2CACA,CAWA,OAVA,UACA,gCACA,MACA,OACA,YACA,YACA,CAAiB,CACjB,CAAa,CACJ,SAET,QACA,iBACA,CAAK,CACL,EAkfA,GACA,WA3NA,CAAwC,4EAAuE,EAC/G,qBACA,YACA,OACA,YACA,OAEA,gBAAgB,0CAAiD,EACjE,GACA,OACA,cACA,cACA,SACA,QACA,eACA,MACA,CAAS,CACT,CAAK,iBACL,GACA,iBACA,kBACA,mBACA,yBACA,uBACA,CACA,eACA,iBACA,CAAK,CACL,EA+LA,GACA,SACA,SACA,SACA,QACA,eACA,EAndA,2BAAkC,+BAA6C,MAAI,EAAK,MAmCxF,EAkBA,EApDA,gDACA,WACA,EAEA,2CACA,kDACA,mBACA,WACA,IAAoB,aAAc,sBAQlC,MAPA,wBACA,GACA,KACA,UACA,YAA6B,UAAa,EACzB,EAEjB,YACA,CAAS,CACT,CAAK,EACL,2CACA,kDACA,mBACA,SACA,IAAoB,aAAc,sBAQlC,MAPA,wBACA,GACA,KACA,UACA,gBAAgC,EAAO,EACtB,EAEjB,YACA,CAAS,CACT,CAAK,EAEL,oCACA,oCACA,+CACA,mBACA,SACA,IAAwB,aAAc,sBAQtC,MAPA,wBACA,GACA,KACA,UACA,SACA,CAAqB,EAErB,YACA,CAAa,CACb,CAAS,GAGT,wCACA,wCACA,mDACA,mBACA,SACA,IAAwB,aAAc,sBAQtC,MAPA,wBACA,GACA,KACA,UACA,aACA,CAAqB,EAErB,YACA,CAAa,CACb,CAAS,GAET,SACA,sBACA,qCAGA,oBACA,gCAEA,wBACA,wCAEA,uBACA,uCAGA,SA6CA,OA5CA,oCACA,MACA,kCACA,mCAEA,kDACA,mBACA,WACA,CAAwB,gBAAc,uCAgBtC,MAfA,wBACA,GACA,KACA,UACA,MACA,CACA,OACA,UACA,MACA,KACA,CAC6B,CAE7B,CAAqB,EAErB,YACA,CAAa,CACb,CAAS,EACT,kDACA,mBACA,SACA,IAAwB,aAAc,uCAUtC,MATA,wBACA,GACA,KACA,UACA,SACA,CAA8B,mBAAuD,CACrF,CACqB,EAErB,YACA,CAAa,CACb,CAAS,CACT,CAAK,EACL,QACA,uCACA,uCACA,yCACA,6CACA,oCACA,uCACA,sCACA,CAAS,CACT,CAAK,CACL,EAsUA,GAAyD,MAAoB,EAC7E,cACA,EAvRA,6BAAwC,qDAAqE,MAAI,EAAK,EACtH,kDACA,yDACA,mBACA,MACA,aACA,YACA,0BAEA,IAAoB,gBAAc,kFAalC,MAZA,wBACA,GACA,KACA,UACA,KACA,WACA,QACA,UACA,CAAqB,CACrB,sBACA,CAAiB,EAEjB,YACA,CAAS,CACT,CAAK,EACL,qDAsBA,OArBA,4DACA,mBACA,MACA,SACA,YACA,sBAEA,OAAoB,aAAc,kFAWlC,MAVA,wBACA,GACA,KACA,UACA,QACA,UACA,CAAqB,CACrB,sBACA,CAAiB,EAEjB,YACA,CAAS,CACT,CAAK,EACL,QACA,8CACA,gDACA,CAAK,CACL,EAoOA,GACA,KACA,CAAS,EACT,gBACA,YA1MA,QAA4B,QAAa,EACzC,oBACA,MACA,WACA,EAEA,SACA,cACA,aACA,2BACA,mBASA,OARA,SACA,SACA,0BACA,cACA,8BACA,EACA,6CACA,CAAS,EACT,CACA,EACA,kCACA,mBAQA,OAPA,mBACA,eACA,IACA,KACA,YAEA,CAAa,KACb,iBACA,CACA,CAAK,EAKL,OAJA,YACA,YACA,CAAK,EACL,UACA,QACA,iBACA,CAAK,CACL,EAkKA,KAGA,MApKA,YACA,QAAY,uDAAsD,EAClE,KACA,UACA,uBACA,yCACA,OACA,oBACA,SACA,kBACA,YAAwB,IAAW,KAEnC,mBAAoB,4CAAuD,EAD3E,cAEA,aACA,aAGA,QACA,iBACA,cACA,eACA,WACA,CAAa,CACb,CACA,UAAsB,EAAQ,CAC9B,CAAK,EAEL,OADA,IACA,sBACA,EAwIA,GACA,EAxIA,cAAqC,oBAAuB,EAC5D,2BACA,oBAEA,wCACA,uBACA,IACA,GACA,QACA,MACA,CAAqB,CACJ,CACjB,CACA,SACA,mDAAmE,EAAK,EACxE,CACA,4BACA,CACA,CAAK,EAfL,MAiBA,EAoHA,GACA,KACA,uBACA,2CAEA,eACA,yBACA,wBACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,iBACA,CAAK,CACL,CACA,eACA,0BAEA,eACA,6BACA,qBACA,oCACA,mCACA,CAEA,SACA,eACA,oBACA,uCACA,sCACA,CACA,eACA,oCACA,gCACA,WAMA,OALA,IACA,sBACA,WACA,YAEA,CACA,CACA,YACA,iCACA,6BACA,oCACA,CACA,mBACA,0CACA,mBACA,EAEA,EADA,QAEA,EAEA,CACA,kBACA,iCACA,wCACA,CACA,SACA,OACA,uCACA,uCACA,MACA,CACA,qCACA,oCACA,CACA,sBACA,wCAKA,OAJA,IACA,UACA,qCAEA,CACA,CACA,sBACA,wCAKA,OAJA,IACA,UACA,qCAEA,CACA,CACA,CAEA,SACA,eACA,yBACA,sCACA,uCACA,4CACA,6BACA,+BACA,2CACA,yDACA,iIACA,qBACA,+BACA,gEAEA,CACA,aACA,uBACA,iBACA,gDACA,CACA,mBACA,mBACA,CACA,kBACA,MACA,iBACA,MACA,CACA,8BACA,YACA,MACA,CAAiB,CACjB,CACA,WACA,SACA,cACA,iBACA,CAAS,EACT,yDACA,mBACA,sCACA,+CACA,kHACA,CACA,iBAEA,0BADA,EAEA,wBAGA,CADA,SADA,OAIA,8CACA,MACA,OACA,uCAVA,EAUA,YACA,GACA,mBAZA,EAYA,gBACA,CACA,+BACA,MACA,eACA,sBACA,sCACA,2CACA,oCACA,qBAGA,OAFA,yCACA,sCACA,CACA,sBACA,4BACA,MACA,mBACA,MACA,CACA,8BACA,YACA,iBAC6B,CAC7B,CACA,WACA,SACA,cACA,iBACA,CAAqB,CAErB,CACA,aACA,aACA,yBACA,KAEA,gBACA,QAEA,gBAEA,OADA,0EACA,CAEA,6BACA,sBACA,iBAoBA,OAnBA,wBACA,qBACA,WACA,SACA,aACA,EACA,+BACA,4CACA,oCACA,CAAyB,EACzB,2BACA,sCACA,CAAyB,EACzB,8BACA,2BACA,CAAyB,EACzB,yBACA,2BACA,CAAyB,EACzB,CAEA,cACA,kBACA,kBAIA,OAHA,6BACA,2BACA,CAAyB,EACzB,CAEA,wBACA,QAEA,0BACA,yBACA,eACA,uBACA,cAEA,OADA,iCACA,CAEA,wBACA,yBAGA,OAFA,iCACA,2CACA,CAEA,cACA,QAEA,mBAIA,OAHA,0BACA,oCACA,CAAyB,EACzB,CAEA,2BAMA,OALA,iCACA,4CACA,oDACA,qCACA,CAAyB,EACzB,CAEA,CAEA,CACA,QACA,CACA,iBACA,eACA,+CAEA,oBACA,sBAGA,sBAGA,QACA,CACA,kBACA,uDACA,CACA,uBACA,4DACA,CACA,qBACA,qCACA,kBACA,yBACA,yBACA,CAAa,CAEb,CACA,uBACA,gCACA,aACA,kBACA,yBACA,2BACA,CAAa,CAEb,CACA,CAEA,SACA,eACA,4BACA,wBACA,6BACA,yBACA,mCACA,qBACA,WACA,CACA,OACA,aACA,wCACA,CACA,mBACA,UAEA,uBADA,OAGA,uBACA,uCAA4E,0BAAyB,sEAA+E,KACpL,8CACA,2DAAmF,sBAAyB,gDAA+D,IAC3K,gBACA,sBACA,+BACA,sGACA,8BACA,mBACA,uDACa,IACb,CAAS,GACT,CACA,uBACA,oCAEA,iEACA,CACA,uBACA,WACA,mEACA,mBACA,qBAGA,OAFA,2BACA,mCACA,CACA,CACA,CAAS,EACT,CACA,QACA,iCACA,IACA,GACA,CACA,SACA,CACA,CAAS,EACT,wBACA,2BACA,CACA,CA+CA,QAHA,sEAEA,yDACA,KAAgB,aAAkB,KAClC,yBAJA,IAMA,eACA,0CACA,QAAgB,IAAS,KACzB,eACA,6BACA,gCACA,iBAQA,OANA,OACA,gCAEA,QACA,mCAEA,CACA,EAEA,eAYA,aACA,OACA,+BACA,OAEA,MAhBA,cACA,gBAQA,OAPA,IACA,UACA,aAEA,UACA,YAEA,QACA,EAMA,EADA,oBAEA,eAKA,OAJA,SACA,WACA,WAEA,CACA,EA2EA,YACA,UA3EA,kBACA,sBACA,0BAEA,kBAGA,8BACA,2BACA,yBACA,0BACA,yBACA,0BACA,yBACA,wBACA,+BAEA,OACA,QAFA,mBAGA,8BAGA,4BAGA,OACA,QAHA,mBAIA,OAHA,KAIA,OAEA,yBAEA,OACA,QAFA,mBAGA,MACA,gBACA,aACA,aACA,OAGA,kCACA,yBACA,KAAgB,GAAM,EACtB,OACA,UACA,KACA,CACA,MACA,kCAGA,OACA,QAHA,mBAIA,IAHA,aAIA,OAEA,0BAEA,OACA,QAFA,mBAGA,4CAGA,+BAGA,OACA,QAHA,mBAIA,MAHA,SAIA,EAEA,SACA,EAEA,QAEA,UAeA,EADA,CAZA,kBACA,cACA,mBACA,eACA,oBACA,cACA,6BACA,eACA,uBACA,yBACA,4BACA,CACA,mCACA,2BAkDA,qBACA,SACA,IACA,+DACA,wBACA,oBACA,MARA,uBAQA,EARA,QAQA,EAGA,GAFA,oBACA,mBACA,GACA,gCACA,gCACA,WACA,yBACA,4BAEA,MAEA,cACA,wBACA,CAA6B,EAG7B,CACA,6BACA,CACA,CAAS,EACT,SACA,CACA,SACA,uEACA,CACA,WACA,iBACA,CACA,CAEA,2BACA,SAEA,aADA,8BAEA,KACA,gBACA,SACA,qBACA,sBACA,aAGA,IACA,2BACA,SAEA,wBACA,sBACA,sBAEA,GADA,aACA,yBACA,wBACA,mBACA,GACA,OACA,WACA,MACA,EACA,gBACA,CACA,QACA,CACA,CAAa,EACb,SACA,CACA,SACA,aACA,OACA,eACA,OACA,WACA,SACA,SACA,CAAqB,CACrB,CACA,CAAa,EACb,SACA,CAEA,QACA,CA2CA,OARA,cACA,MACA,mBANA,MAQA,kBADA,MAPA,WAnBA,cACA,IAEA,EADA,aACA,YACA,QACA,UAGA,QAFA,oBACA,0CACA,eAAsC,IAAO,IAC7C,wDAKA,QACA,EAWA,EAuHC,MA9HD,CAAiC,8BAAgC,EACjE,wBAOA,EACA,CACA,EAEA,YACA,WAkBA,oBAEA,yCACA,cAAwC,IAAM,aAA+B,SAAY,MACzF,cAAuC,IAAM,cAAmC,SAAY,MAC5F,kBAJA,EAIoC,mBAJJ,CAAhC,EAIoC,mBAJJ,sBAA+D,MAAiB,EAI5E,UACpC,8BACA,CAAS,CACT,CAUA,QAHA,qEAEA,wDACA,IAAoB,WAAkB,IACtC,qBAJA,IAMA,cACA,0CACA,QAAoB,IAAS,KAC7B,cACA,4BACA,+BACA,gBAQA,OANA,OACA,gCAEA,QACA,mCAEA,CACA,EAEA,cACA,UAoBA,MACA,yBACA,wCACA,qCA2BA,sBAA4C,aAAe,CA3B3D,EACA,OAAwB,8CAA4C,OACpE,EAxBA,gBACA,wCACA,SAA0B,EAAM,GAAG,EAAO,EAC1C,qCAYA,QAZA,EACA,YACA,gBACA,+BACA,mBACA,+BAEA,IADA,yBAGA,OADA,WACA,CACA,CAIA,CAAS,CACT,EAMA,OACA,2BAEA,EADA,iBACA,iBACA,UACA,+BACA,SAEA,IADA,yBAEA,4BAEA,OADA,WACA,kBAAgD,EAAI,EAEpD,gBACA,yBAAgD,EAAI,EACpD,eACA,KACA,OACA,SACA,QACA,QACA,CAAiB,EACjB,UACA,CAIA,CAAS,CACT,CAEA,CAAC,EACD,CAAC,GAED,UACA,QACA,oCACA,0CACA,CACA,SACA,cACA,CACA,WACA,cACA,CACA,OACA,cACA,CACA,SACA,cACA,CACA,eACA,oCACA,gBAA2B,0BAC3B,eACA,eACA,6BAGA,CAFA,yBACA,mDACA,2BACA,kDACA,oCACA,sCAEA,0CACA,EACA,aAAgB,4EAAkF,CAClG,8BACA,qBACA,cACA,uCACA,uBACA,oCACA,gBACA,CAAa,CACb,CACA,qCAwCA,EAvCA,mBACA,UACA,QACA,iBACA,OAAoB,GAAK,OAEzB,GADA,YACA,qBACA,OACA,WAAoB,2BAA8B,OAClD,iBACA,KACA,cACA,UACA,CACA,qBACA,eACqB,CACrB,CACA,qBACA,MACA,CACA,sBACA,MACA,CACA,eACA,OAAiD,+BAAgC,EACjF,MACA,CAAqC,CACrC,CAC6B,CAC7B,EACA,EACA,CACqB,CACrB,CACa,CACb,EACA,YACA,IAEA,OACA,SAMA,OALA,kDACA,aACA,SAEA,CAAa,EACb,CACA,EACA,MACA,MACA,OACA,2BACA,MACA,CACA,IACA,IACA,gBAviBA,iBAuiBA,KAviBA,EAuiBA,OAviBA,EAuiBA,OAviBA,EAuiBA,YACA,MACA,2BACA,aAEA,0BADA,OAIA,GADA,YACA,0CACA,gCACA,sGACA,2BAEA,CACA,iCACA,eACA,KACA,SACA,cACA,gBACA,gCACiB,KACjB,CAAa,CA3jBb,kCACA,cAAoC,IAAM,aAA+B,SAAY,MACrF,cAAmC,IAAM,cAAmC,SAAY,MACxF,kBAJA,EAIgC,mBAJJ,CAA5B,EAIgC,mBAJJ,sBAA+D,MAAiB,EAI5E,UAChC,8BACA,CAAK,IAujBL,0BACA,EACA,2BACA,yBACA,IACA,uBACA,CACA,CACA,kCACA,4BACA,yCACA,mBACA,WA5aA,SACA,SAEA,aADA,iEAEA,IACA,8DACA,SAEA,2DACA,sBAWA,OAVA,uBACA,gBACA,mBACA,eACA,cACA,WACA,MACA,CAA6B,CAC7B,CAAyB,IAEzB,eACA,CACA,CAAa,EACb,SACA,CACA,SACA,gDACA,OACA,eACA,cACA,WACA,SACA,SACA,CAAqB,CACrB,CACA,CAAa,EACb,SACA,CAEA,WACA,iBACA,CACA,EAkYA,uCACA,WAtSA,WACA,SAKA,OAJA,oEACA,mCACA,sEAEA,KACA,iBACA,CACA,EA6RA,kDACA,0BACA,IACA,IACA,GACA,CACA,CACA,oCACA,6DACA,CACA,uBACA,UACA,0BACA,wBACA,EACA,wBACA,CACA,8BACA,4CACA,2BACA,uCACA,CAAS,EACT,6DACA,CACA,mCACA,4BACA,OAEA,yCACA,cACA,OACA,eACA,UAvnBA,KACA,SACA,0EACA,YACA,4DACA,8CAA6D,WAAc,IAC3E,uEACA,kBAEA,QACA,GA6mBA,aAGA,MAAgB,GAAO,KACvB,oBAA0B,oBAA4B,EACtD,qCACA,CACA,CAEA,SACA,eACA,qCACA,wBACA,6BACA,+CAEA,uBACA,2BACA,iBACA,QACA,WACA,SACA,YACA,CACA,QACA,aACA,WACqB,CACrB,CACa,EACb,wBACA,CACA,oBACA,kCAEA,gCACA,qCACA,CACA,sBACA,gBACA,OACA,OACA,KACA,aAEA,KACA,gBACA,MACA,wBAWA,6BAVA,0BACA,QACA,UACA,2CACA,UACA,OACA,EAAqB,CACrB,CAAiB,GAIjB,kBACA,CACA,YACA,aACA,2BACA,CACA,QACA,yBACA,oCACA,CACA,gCACA,CACA,CAEA,SACA,cACA,yBACA,aACA,wBACA,CACA,oBACA,2BACA,aACA,WACA,wBACA,CAAS,CACT,CACA,mBACA,0BACA,sCACA,CACA,SACA,yDACA,CACA,QACA,wBACA,CACA,UACA,YACA,CACA,CAEA,eACA,qCAAyC,KAAQ,cAA2B,CAC5E,CAIA,UACA,GAl1HA,MAm1HA,gBAA4B,MAiE5B,EAhEA,SAAY,0TAAkW,oBAAqB,iIACnY,cACA,0JAAuL,EA97DvL,EA+7DA,EACA,UACA,uBAEA,KACA,MACA,IACA,wBACA,MAEA,CACA,SACA,IACA,CAEA,SACA,wCAEA,mCACA,gBAEA,WACA,aACA,CACA,SACA,QACA,oBACA,SACA,SACA,UACA,SACA,UACA,OACA,QACA,QACA,OACA,QACA,YACA,UACA,WACA,EACA,WACA,EACA,CAAgB,aAChB,oBACA,CACA,UACA,WACA,eACA,kBACA,kBACA,kBACA,qBACA,wBACA,6BACA,8BACA,EACA,GAEA,IA5uFA,mBACA,+CACA,8CACA,SAEA,uDACA,kDACA,SAEA,yBACA,kCACA,WACA,aACA,0CAEA,GACA,YACA,eAEc,mBACd,QACA,EAEA,IAwtFA,QACA,MACA,mBACA,kBACA,wBAOA,OAJA,GACA,IACA,SAEA,CACA,EACA,UACA,MAOA,GANA,oDACA,0BACA,mCACA,8BACA,4BAEA,EACA,wBAEA,MACA,OACA,aACA,WACA,8BACA,YACA,EACA,gCACA,CACA,4BACA,IACA,SAEA,oCACA,gCACA,sBACA,MAEA,KACA,cACA,KACA,0BACA,QACA,KAEA,CACA,EACA,UACA,MACA,4BACA,oBAAkC,mBAAsC,GACxE,CAAS,EACT,EACA,WACA,4BACA,oBAA8B,iBAAoC,GAClE,CAAK,GACL,YACA,4BACA,oBAA8B,yBAA4C,GAC1E,CAAK,GAKL,WACA,aACA,oBANA,SACA,4BACA,oBAA8B,4BAA+C,GAC7E,CAAK,EAIL,CAAK,EACL,WACA,UACA,aACA,qBACA,2BACA,aACA,CAAK,EACL,mBACA,aACA,aACA,cACA,mDACA,4DACA,CAAa,EAEb,cACA,UACA,eACA,cACA,WACA,aACA,gBACA,UACA,kBACA,gBACA,CAAK,EACL,eACA,aACA,WACA,eACA,aACA,gBACA,gBACA,mBACA,mBACA,mBACA,iBACA,aACA,cACA,eACA,eACA,WACA,iBACA,iBACA,qBACA,gBACA,kBACA,uBACA,CAAS,CACT,SACA,CAAK,EACL,WACA,MACA,OAEA,MACA,aACA,MACA,0BACA,UACA,UACA,CAAa,CACJ,KACT,WACA,UACA,wBACA,eAppGA,KACA,IAAY,+XAA4Z,MA0Cxa,YACA,MACA,SACA,aACA,gBACA,gBACA,mBACA,aACA,mBACA,iBAlDA,OACA,CACA,SACA,QACA,oBACA,SACA,SACA,UACA,SACA,UACA,OACA,QACA,QACA,OACA,QACA,YACA,UACA,WACA,EACA,OACA,CACA,WACA,EACA,EA4BA,aACA,cACA,eA7BA,kBAEA,CACA,UACA,WACA,eACA,kBACA,+BACA,kBACA,kBACA,qBACA,sBACA,uBACA,EACA,OACA,GACA,EAcA,iBACA,eACA,eACA,qBACA,cACA,eACA,oBACA,mBACA,wBACA,kBACA,oBACA,CAAK,CACL,EAglGA,UACA,UACA,aACA,gBACA,gBACA,mBACA,mBACA,gBACA,aACA,UACA,iBACA,eACA,eACA,gBACA,SACA,gBAEA,SACA,uBAEA,MACA,uCAEA,CAAa,CACb,qBACA,qBACA,yBACA,CAAa,CACb,yBACA,yBACA,CAAa,CACb,iBACA,CAAS,EACT,MACA,uDAEA,MACA,qBACA,MACA,OACA,uBACA,CAAa,CACJ,KACT,0BACA,mEACA,mEACA,EACA,IACA,SACA,MACA,MACA,eACA,aACA,yBACA,4BACA,MACA,SACA,WACA,CAAqB,CACJ,GACjB,4BACA,4BACA,oBAA0C,2BAA8C,GACxF,CAAiB,GACjB,WACA,0BACA,4BACA,oBAA0C,yBAA4C,GACtF,CAAiB,GACjB,iBACA,4BACA,oBAA0C,gBAAmC,GAC7E,CAAiB,GACjB,4BACA,4BACA,oBAA0C,2BAA8C,GACxF,CAAiB,GACjB,0BACA,4BACA,oBAA0C,yBAA4C,GACtF,CAAiB,GACjB,4BACA,4BACA,oBAA0C,2BAA8C,GACxF,CAAiB,GACjB,oBACA,gBACA,4BACA,oBAA0C,eAAkC,GAC5E,CAAiB,GACjB,gBACA,MACA,4BACA,oBAA8C,oBAAuC,GACrF,CAAqB,EACrB,CAAiB,CACjB,oBACA,MACA,4BACA,oBAA8C,wBAA2C,GACzF,CAAqB,EACrB,CAAiB,CACjB,aACA,cACA,iBACA,gBACA,mBACA,mBACA,mBACA,WACA,YACA,eACA,eACA,uBACA,eACA,MACA,cACA,aACA,kBACA,gBACA,iBACA,iBACA,UACA,iBACA,qBACA,oBACA,wBACA,gBACA,sBACA,yFACA,oBACA,kBACA,kBACA,eACA,MACA,cACA,SACA,CAAyB,CACJ,EACrB,EAAiB,OACJ,GACb,EACA,uBACA,IACA,4BACA,CACA,SACA,eACA,CACA,CAAS,EACT,WACA,IACA,oBACA,KACA,EAuBA,MAtBA,qCACA,iCACA,KAGA,iCACA,MACA,yBACA,OAA4B,CACX,GACjB,wBACA,GACA,CAAa,GACb,qBACA,MACA,aACA,OAA4B,CACX,GACjB,YACA,GACA,CAAa,WAEb,KACA,kBACA,aACA,MAzzEA,QA2zEA,CACA,CACA,SACA,eACA,CACA,CACA,0BACA,OACA,6DAEA,MACA,eACA,MACA,MACA,SACA,CACA,CAAK,EACL,EACA,mBACA,yBACA,EACA,wBACA,OACA,+DAEA,IACA,EACA,aAEA,YACA,2CACA,mBACA,mCACA,iDACA,mBACA,uBACA,uBACA,EACA,CAAC,OAAiB,EAClB,QACA,2BACA,6BACA,2CACA,uBACA,uCACA,qBACA,6BACA,2CACA,uCACA,uCACA,oBACA,kBACA,oBACA,4CACA,8BACA,8CACA,sCACA,EACA,CAAC,OAAyB,EAE1B,IACA,SACA,oBACA,EAIA,+BACA,QACA,WACA,EACA,IACA,WAAqB,uBAA6B,CAClD,UACA,yBAAwC,SAAY,CACpD,YACA,WACA,CAAS,CACT,QAAkB,iBAAqB,CACvC,YACA,6BAAuC,CACvC,gCACA,CACA,EAAE,IACF,UAGA,IAt7IA,GAi6IA,GAsBA,SADA,mBAEA,6BACA,eACA,YAA6B,cAA2B,WAIxD,IACA,wBAA4B,OAAO,EACnC,qBACA,kCACA,QACA,YACA,mBACA,CAAS,CACT,CACA,CACA,SACA,mBAEA,OADA,OACA,CACA,CACA,CAoCA,iBACA,YACA,IACA,iBAEA,CAGA,eACA,iBAKA,OAHA,0CACA,WAEA,uBACA,CAEA,cACA,YAAkB,oBAAqB,KACvC,SAYA,OACA,QACA,IACA,OACA,gBAUA,CANA,EADA,OACA,MAGA,wBAGA,UACA,2CAGA,UACA,6BAGA,YAGA,CACA,SACA,WACA,CACA,EAxCA,KACA,2DACA,cAGA,oBACA,CAoCA,eACA,aAGA,iBAEA,eAGA,OACA,UAGA,IAEA,UACA,cACA,gBACA,IACA,SACA,WAA8C,sBAAsC,CACpF,WAA6C,uBAE7C,CACA,SACA,YACA,CACA,CAAa,GAGb,QACA,UACA,kBACA,SAGA,CACA,SACA,oBACA,EACA,CAEA,eACA,YAGA,cAEA,CAF0B,CAE1B,aAGA,OACA,UAGA,QACA,UACA,kBACA,SAEA,CAEA,qBACA,YAAoB,WAAgB,KACpC,YACA,gBACA,KACA,YACA,MACA,CAAqB,CACrB,EAEA,CAAS,GAET,CAEA,eACA,WACA,iBACA,CAEA,eACA,eACA,aACA,kBACA,cACA,eACA,CAEA,eACA,wBACA,kCAGA,oBACA,gCAKA,gBAEA,kBAEA,yBACA,OACA,gCACA,+BACA,EAkBA,OAdA,6CACA,8CACA,iCAGA,aACA,UACA,CAAS,EACT,gBAEA,aACA,SAGA,WAEA,uBACA,0BACA,EAEA,IACA,OACA,OACA,YACA,YACA,CAAa,CACb,YACA,YACA,EAEA,CACA,SACA,YACA,CACA,CAjPA,cACA,UAEA,gBACA,UACA,YACA,gBACA,CAEA,OACA,kBACA,aACA,EACA,SAGA,IAEA,IACA,QACA,CAAS,CACT,iBACA,QAGA,IAFA,cAEA,GACA,kBACA,QAEA,CACA,CACA,CAAC,GAoND,YAAqC,kBACrC,IAIA,gBAGA,kBACA,IAGA,mCAKA,qCACA,EAGA,IARA,KAQA,cACA,8CACA,kCAGA,IACA,CAAK,CACL,CAAC,EAED,2BACA,8BACA,8CACA,kCAGA,IACA,CAAK,CACL,CAAC,EAED,wBACA,iBAGA,8BACA,oCAEA,aACA,cAGA,oBACA,8CACA,kCAGA,8BAEA,qBACA,OACA,SACA,IAEA,CAAS,GACT,CAAK,CACL,CAAC,EAED,yBACA,iBAGA,8BACA,oCAGA,oBACA,8CACA,kCAGA,qBACA,IACA,CAAS,GACT,CAAK,CACL,CAAC,EAID,GADA,8EACA,QAEA,GAeA,uBACA,sBACA,oBACA,YACA,eACA,qBACA,cACA,gBACA,eACA,YACA,aACA,gBAEA,WACA,cACA,cACA,UACA,iBACA,MAEA,IACA,iBAEA,yDACA,CACA,EAGA,IAEA,eACA,qCACA,IACA,0BACA,CAAc,SACd,8BACA,SACA,CAAiB,CACjB,CAEA,CAAK,CAEL,gBACA,sCACA,0DACA,IACA,mBACA,CAAc,SACd,sBACA,UACA,CAAiB,CACjB,CACA,CACA,CAAK,CAEL,iBACA,sCACA,wDACA,IACA,oBACA,CAAc,SACd,sBACA,WACA,CAAiB,CACjB,CACA,CACA,CAAK,CAEL,oBACA,4BACA,wDACA,IACA,oBACA,CAAc,SACd,sBACA,WACA,CAAiB,CACjB,CACA,CACA,CACA,EAEA,iBACA,kBAEA,OADA,qCACA,qBACA,CACA,EACA,eACA,OACA,iBACA,qBACA,0BACA,CACA,EAGA,eACA,kBACA,IACA,8BACA,CAAU,SACV,4FACA,UACA,cAEA,CACA,CACA,EAcA,sBACA,QACA,mBACA,wCAEA,qBACA,kBAiBA,OAfA,uBACA,aACA,wBACA,+CAEA,QACA,yBACA,WACA,kBACA,qDACA,cACA,EAEA,CACA,CAEA,EAOA,wBACA,YAGA,sBACA,oBACM,wBACN,wBAAwC,IAAO,IAC/C,mCACA,MAEA,MAEA,eACA,iBACA,wBACA,OAKA,EAEA,sBAQA,OAPA,yCACA,eACA,eACA,WAGA,CAAK,EACL,CACA,EAEA,2BACA,mCACA,EAKA,0BACA,IACA,gCACA,CAAM,SACN,QACA,CACA,EAEA,2BACA,gCACA,EAEA,8BACA,EAGA,UACA,YAEA,eAGA,kBAFA,WAKA,aAXA,EAYA,EAEA,uBACA,kBACA,kBAEA,SAIA,OAHA,sBACA,mBACA,CAAS,EACT,CAEA,EAEA,oBACA,gBACA,UAGA,wBACA,aACA,CAAK,EAJL,CAMA,EAEA,sBACA,gBACA,UAGA,sBACA,aACA,CAAK,EAJL,CAMA,EAEA,yBACA,gBACA,SACA,EAEA,mBACA,kBAEA,sBACA,gBACA,SAEA,CAAK,EACL,EACA,EAEA,0BACA,wBACA,EAGA,yBAIA,OAHA,kBACA,0BACA,yBACA,CACA,EAEA,wBACA,oCACA,EAEA,6BACA,mBACA,eACA,gBACA,SAGA,QACA,CACA,QACA,EAEA,2BACA,iBACA,EAEA,wBACA,mCACA,EAEA,sBACA,iCACA,EAEA,wBACA,mCACA,EAEA,yBACA,2BACA,EAEA,2BAQA,OAPA,wBACA,aACA,sBACU,gBACV,wBAEA,CAAK,CAFkC,CAGvC,CACA,EAEA,wBAIA,OAHA,8BACA,eACA,EACA,UACA,EAEA,0BAEA,cACA,mBACA,CACA,8BACA,yBACA,sBACA,uBACA,yBACA,oBACA,EAEA,sCACA,SAMA,OALA,wBACA,4BACA,QAEA,CAAK,EACL,CACA,EAOA,0BACA,MAkBA,MAhBA,mBACA,eACM,eACN,KACA,sBACA,wBACA,CAAS,GACH,gBACN,KACA,wBACA,qBACA,CAAS,GAET,IAGA,CACA,EAEA,cACA,YAEA,kBACA,gIACA,CADuJ,CACvJ,CACA,CADyB,IACzB,MACA,UACA,WACA,WACA,WACA,UACA,WACA,EAGA,OADA,cACA,UACA,4BACA,WACA,2BACA,qDACA,CAAiB,MACjB,SACA,EAEA,gBACA,SAEA,IACA,CADuB,CACvB,GACA,CADwB,CACxB,GACA,CADwB,CACxB,EACA,IACA,KACA,OASA,OANA,uBACA,6BACA,gBAIA,UACA,aACA,WAEA,cAEA,mCAEA,eACA,WAKA,gBAEA,cAKA,MACA,aAQA,GAJA,GA1CA,OA2CA,KAGA,gCAKA,QADA,WACoC,IAAY,KAChD,oBAWA,OANA,oBACA,UACA,qBACA,MACA,oBACA,IACA,CACA,CAGA,WACA,cACA,YAEA,4BAWA,OAJA,kBAAkD,EAClD,IAAgC,cAChC,IAAiC,IAAM,gBAA0B,EACjE,IACA,CACA,CACA,EAIA,aACA,GAlHA,CAmHA,CAAS,CACT,EAOA,yBACA,MACA,EAWA,EA6HA,EAvIA,GACA,QACA,UACA,QACA,OACA,OACA,OACA,OACA,KACA,CAAS,CAET,cACA,oBAGA,OAFA,OACA,SACA,CACA,CAAS,CACT,cASA,OAPA,UACA,yCAIA,cACA,KACA,CACA,CAAS,CACT,aAEA,MACA,KAMA,IAJA,UACA,MACA,QAEA,gBACA,KACA,IAEA,WAEA,IADA,OACA,qBACA,KAGA,oBAOA,IANA,KACA,IACA,qBACA,KACA,KAEA,gBACA,KACA,IAIA,YADA,MAIA,SAFA,eAIA,CAAS,CAET,aAEA,MACA,EAEA,EADA,KAGA,WACA,WACA,WAEA,OADA,IACA,EAEA,aAEA,GADA,IACA,SAEA,QADA,IACwC,KAExC,SADA,oBAD+C,KAK/C,SAEA,yBACA,EAA0B,6BAC1B,aAEA,WAGA,IAEA,CAEA,eACA,CAAS,CACT,aAEA,gBACA,GAEA,CAAS,CACT,aAEA,UACA,QAKA,OAJA,OACA,OACA,OACA,OACA,EACA,SAMA,OALA,OACA,OACA,OACA,OACA,OACA,EACA,SAKA,OAJA,OACA,OACA,OACA,OACA,IACA,CACA,uBACA,CAAS,CAET,aAEA,SAEA,YAGA,GAFA,OACA,IACA,QAEA,OADA,OACA,EAEA,KAFkC,GAElC,CAGA,GAFA,YACA,IACA,QAEA,OADA,OACA,EAEA,OACA,GACA,CACA,CACA,cACA,CAAS,CACT,aAEA,MACA,KAEA,KAAyB,IAAzB,EAAyB,CAGzB,GAFA,IAAuB,GACvB,IACA,EAA6B,IAA7B,EAEA,OADA,IAA2B,GAC3B,EAEA,MAFmC,EAEnC,CASA,GARA,MACA,IACA,OACA,iCACA,2BAEA,SACA,IACA,EAAiC,IAAjC,EAEA,OADA,IAA+B,GAC/B,EAEA,OACA,GACA,CACA,CACA,eACA,EAsBA,OApBA,aAIA,OADA,IACA,GACA,MAAmB,EACnB,UACA,SACA,UACA,SACA,UACA,SACA,UACA,SACA,6BACA,CACA,EAIA,YACA,MAWA,OATA,IACA,IACA,MACA,MACA,IACA,GACA,kBAGA,CACA,CACA,CAAC,GAED,4BACA,IACA,UADA,sEACA,IACA,IACA,KACA,KAEA,MACA,SAGA,mBAEA,GAOA,EAFA,KAJA,iBAIA,GAHA,mBAGA,EAFA,iBAEA,GAEA,MACA,WACA,UACA,OAGA,6DACM,YAIN,OAFA,aAEA,YACA,OACA,qBACA,KACA,QACA,mBAEA,CAEA,QACA,EAEA,0BACA,mDAEA,IACA,EACA,EAEA,EAJA,KAGA,IAMA,QAHA,MACA,WAEgB,IAAa,KAC7B,sBACA,MAEA,OACA,IAEA,EADU,cACV,uCAEA,oDAEA,WACA,KACA,sBAEA,KACA,QAEA,CAMA,OAJA,KACA,6BAGA,CACA,EAEA,mBAGA,iBACA,IACA,EADA,aAEA,GAFmC,GAEnC,gCACA,4BAQA,IALA,IAKA,eACA,IAGA,gDACA,EAWA,aACA,IACA,SACA,IAEA,gBACA,UACA,QAAwB,WAAuB,IAC/C,aAEA,UACA,CAEA,QAAoB,YAAe,IACnC,mBACA,iBACA,cACA,SACA,MAQA,OAJA,YACA,WAGA,cACA,EAEA,kBACA,wCACA,eAtCA,2CAsCA,qBACA,CACA,CAAC,GAKD,QACA,YACA,kBACA,YACA,cACA,UACA,cACA,oBACA,mBACA,WACA,YACA,iBACA,eACA,SAIA,gBACA,cACA,mBACA,qBACA,iBACA,qBACA,oBACA,YACA,iBACA,uBACA,kBACA,CACA,2BACA,MAEA,QADA,kBACgB,YAA4B,IAC5C,yBACA,SAGA,QACA,EAMA,gCACA,aAYA,OAVA,mBACA,QAGA,wBACA,mCACA,wBACA,mBACA,CAAK,EAEL,SACA,EAEA,+BAIA,IAEA,EADA,OADA,SADA,mDACA,aAEA,QACA,mDACA,SAEA,WACA,IACA,uBACA,CAAU,SACV,2DACA,CACA,2BAEA,EAKA,WACA,gBAGA,QAFA,QACA,oBAA2C,GAC3C,IAAwB,WAAe,KAEvC,IADA,WACA,kBACA,0BAEA,oBACA,yDAEA,CACA,WACA,CAAK,CAEL,kBACA,MACA,IACA,qCACA,CAAU,SAEV,CACA,QACA,CAAK,CAEL,oCACA,SACA,KACA,KAEA,KACA,KAAyB,gBACf,MACV,+BACA,OAAkC,cAClC,CAEA,MACA,eACA,6BACA,KAAyB,yBACzB,CAEA,IACA,KACA,KAAwB,gBAExB,GACA,OAAyB,SAGzB,2CAAkF,WAClF,CAAK,CAEL,4BACA,mBAEA,KACA,KAAyB,gBACf,MACV,+BACA,OAAkC,cAClC,CAEA,MACA,eACA,+BACA,KAAyB,yBACzB,CAEA,IACA,KACA,KAAwB,gBAExB,GACA,OAAyB,SAGzB,uCAAmF,YAEnF,OADA,YACA,CACA,CAAK,CAEL,uBACA,gCACA,CACA,EAEA,YACA,iBACA,iBACA,UAGA,SACA,IACA,qBACA,uBAEA,YADA,eAEA,cACA,OAEA,eACA,CAAM,SACN,IACA,CAGA,OADA,KACA,CACA,EAGA,iBACA,yBACA,iBAIA,OAHA,GACA,oCAAuD,+BAEvD,CACA,CAAK,CAEL,kBACA,kCACA,CAAK,CAEL,gBACA,IACA,iCACA,CAAU,SACV,wBACA,CACA,WACA,CAAK,CAEL,kBACA,IACA,gDACA,CAAU,SAEV,CACA,WACA,CAAK,CAEL,kBACA,IACA,4BACA,CAAU,SACV,wBACA,CACA,CAAK,CAEL,mBACA,IACA,6BACA,CAAU,SACV,wBACA,CACA,CACA,EAEA,6BA6DA,cAKA,OAJA,IACA,kCACA,qCAEA,CACA,CAQA,OAPA,4BACA,mBACA,EACA,6BACA,oBACA,EA1DA,oBACA,OACA,wDACA,MACA,CAEA,0BACA,gCACU,CACV,aACA,OACA,CAD+C,CAC/C,YAKA,GAQA,GAPA,kBAWA,IACA,IADA,KAYA,OATA,cApBA,IAqBA,SAEA,EAvBA,EAuBA,KAvBA,EAuBA,GAEA,kBACA,OAGA,EACA,CA7BA,CACA,CAgDA,CAAC,GAGD,wEAEA,yBAyBA,cAEA,8CACA,CAEA,kBAOA,cAEA,4BACA,SAGA,mBAEA,OACA,QAAoB,WAAmB,KAEvC,IADA,8CACA,iBAGA,GADA,eACA,IACA,WACA,uBACA,sCAEA,SAGA,MACA,QACA,CACA,CAF0B,EAE1B,mBAGA,EADA,gBACA,IACA,WAOA,IANA,GACA,QAGA,KACA,IACA,IAA4B,WAA2B,IAMvD,QAJA,EADA,OACA,QAEA,6BAEgC,WAAqB,IACrD,YAKA,QAFA,KACA,IAC4B,WAAkB,IAC9C,gBACA,6BArDA,MAsDA,IAtDA,sCADA,IAuDA,EAvDA,MACA,GAwDA,cAGA,QACA,CAEA,CAH0B,GAG1B,cACA,MACA,OACA,IAvDA,oBA4EA,EArBA,OACA,MAoBmC,CAnBnC,OAOA,IANA,GACA,QAGA,KACA,IACA,IAA4B,WAA2B,IAMvD,QAJA,EADA,OACA,QAEA,6BAEgC,WAAqB,IACrD,YAMA,OAHA,KACA,IAEA,GACA,QACA,cACA,2BACA,EACA,KACA,SACA,cACA,qDACA,EACA,KACA,SACA,cACA,kDACA,EACA,KACA,SACA,cACA,uCACA,EACA,KACA,SACA,cACA,4EAEA,KACA,SACA,cACA,sCACA,EACA,KACA,SAEA,cACA,wBACA,CACA,CAGA,QAFA,KACA,IAC4B,WAAkB,IAC9C,SACA,cAIA,QACA,CAKA,CAN0B,GAM1B,IAHA,IACA,KACA,IACwB,WAA2B,IAEnD,QADA,+BAC4B,WAAqB,IACjD,YAGA,GACA,CACA,QACA,CAEA,0BACA,gBACA,IACU,0CACV,EAEA,cAEA,CACA,CAAC,GAED,yKACA,qGAEA,SACA,2BACA,SACA,KAUA,OATA,uBAEA,CADA,8BACA,OACA,OACc,YACd,QAEA,CAAS,EAET,CACA,CAAK,CAEL,uBACA,SACA,KAQA,OAPA,uBAEA,CADA,8BACA,QACA,QAEA,CAAS,EAET,CACA,CAAK,CAEL,2BACA,gEACA,CAAK,CAEL,gCACA,6CACA,SACU,sCACV,OACU,uCACV,QACU,4CACV,aAEA,IAEA,CAAK,CAEL,uBACA,8BAEA,KAEA,aACA,mBAEA,yBANA,mBAOA,WACA,gBAEA,CAEA,QACA,CAAK,CAOL,wBAEA,GADA,QACA,CAD+B,EAC/B,8BACA,sBACA,aAEA,QACU,yCACV,mBACU,yDACV,iCACU,oCAEV,yBACU,gDACV,uBACU,0BACV,wBACU,2BACV,oBACU,0BACV,wBACU,sDACV,wBACU,0BACV,yBACU,iCACV,wBACA,gBAEA,cACU,4BACV,4BACU,8BACV,uBACU,4BACV,qBACU,oDACV,+BACU,0BACV,qBAEA,QAEA,CAAK,CAOL,+BACA,IAmBA,GAjBA,8CACA,wCACA,+BACA,oCACA,gDACA,gCACA,yCACA,mCACA,iCACA,qCACA,oCACA,sCACA,0CACA,mDACA,+CACA,0BACA,CACA,CAnBA,uBAmBA,CACA,cACA,YAEA,wBACA,EAGA,0BAFA,IAGA,CAAK,CAEL,cAEA,mBADA,UAEA,aAFA,KAEA,iBAFA,IAGA,gBAEA,UACU,6BANV,IAOA,YACU,kBARV,IASA,gBACU,sCAVV,IAWA,mBACU,eAZV,IAaA,iBACU,gBAdV,IAeA,cACU,eAhBV,IAiBA,uBAEA,QAEA,CAAK,CAEL,yBACA,8CACA,gBACU,eACV,OACU,eACV,aACU,iBACV,SACU,sCACV,aACU,kBACV,UAEA,EAEA,CAAK,CAEL,4BACA,0BACA,YACA,KAEA,EACA,CAAK,CAEL,sBACA,wBACK,CAEL,uBAIA,MAHA,oBACA,OAEA,qCACA,iBACA,0CACA,sBACA,uDACA,0BACA,CAAS,GACT,kCACA,yDACA,yBACA,uBACA,aACA,4BACA,gBACA,uBACA,CAAS,8BACT,CAAK,CAEL,6BACA,4CACA,iBACA,yCACA,CAAS,GACT,wDACA,CAAS,CACT,CAAK,CAEL,gCACA,kCACA,4BACA,oCACA,sCACA,0CACA,sCACS,CACT,CACA,EAEA,mBACA,4FACA,2BACA,EAGA,kCAEA,+BAAqD,IAAI,IAczD,eACA,SACA,eACA,gBACA,oCACA,OAEA,iBACA,gBACA,EAMA,cACA,0BACA,2BACA,EAEA,gBA8DA,iBACA,UACA,CAcA,iBACA,UACA,CAUA,iBACA,mBACA,CAWA,iBACA,YAgHA,GACA,kBACA,SAEA,sBACA,kBACA,KAYA,OAVA,SACA,aACA,eACA,aACA,aACA,iCACA,MAEA,CAAK,EAEL,CACA,EAnIA,GAEA,OADA,gOACA,GAEA,oBAIA,OAHA,GACA,6GAEA,CACA,CASA,eACA,wBACA,yBACA,CAAK,CACL,CASA,eACA,wBACA,0BACA,CAAK,CACL,CASA,eACA,wBACA,0BACA,CAAK,CACL,CAcA,iBAEA,GADA,SACA,OACA,gDAEA,CAUA,eAEA,uBADA,UACA,0CAUA,iBAEA,OADA,UACA,mBAtJA,kBAsJA,GACA,CASA,iBACA,yBACA,CA6CA,mBACA,+BACA,uEACA,MACA,CAIA,GAFA,SAEA,IACA,QACA,MACA,wDACA,yBACA,iBACA,oBACA,gBAGA,YACA,SADqC,CACrC,6CACA,mBACA,CAAS,CAET,CAUA,iBACA,kBACA,SAEA,IACA,2BACA,4BACA,mDACA,gDACA,wBAEA,CAF2D,EAG3D,MADyB,EACzB,CACA,YACA,kBACA,oBACA,QACA,EAAiB,CAEjB,CAAU,SACV,sEACA,CAEA,MACA,+BAGA,oCACA,sBACA,IAIA,CACA,CA9TA,2BACA,kBACA,eAEA,qBACA,qBAGA,sBACA,wBACA,4BACA,4BACA,8BACA,kCACA,gBACA,8BACA,gCACA,8CACA,sCACA,UA6SA,kBAsBA,iBACA,QAEA,kBACA,4CACA,0CACA,gCAGA,kCACA,CAIA,qCAEA,WADA,iBACA,sBACA,gDACA,uBAEA,kBACA,sBACA,iBACA,eAEA,SACA,SACA,SAEA,cACA,6BACA,8CAA0E,yBAC1E,gBACA,gBACA,IACA,MACA,CACA,sBACA,IACA,GACA,CAAkB,SAClB,IACA,CACA,CAAa,sBACb,EAEA,gBACA,IACA,IAEA,aACA,MACA,CAAiB,CAEjB,EAEA,aACA,yBACA,aAIA,CADA,CAHsC,CAGtC,aACA,mBAGA,UACA,8DAEA,GACA,CAEA,EAEA,aACA,eAEA,eACA,qBACA,IACA,MACA,CAEA,aACA,qBACA,IACA,MACA,CACA,aACA,mBACA,CAAqB,GACrB,CAAiB,CACjB,CAAa,CACb,EAEA,aACA,iBACA,iBACA,gBACA,kBACA,gBAEA,kBACA,eAEA,EAEA,IACA,iBACA,IACA,IACA,CAAiB,EACjB,kBACA,IACA,IACA,CAAiB,CACjB,EAEA,IACA,YACA,SAEA,gDAEA,CAAU,SACV,IACA,CACA,CAAK,OACL,EASA,mBACA,4BACA,EAEA,6BACA,mBACA,EAEA,mCACA,oCACA,IACA,yBACA,CAAU,SACV,IACA,CACA,GACA,CAAK,OACL,EAEA,iCACA,oCACA,MACA,IACA,yBACA,CAAU,SACV,IACA,CACA,IACA,CAAK,OACL,EAEA,oCACA,oCACA,IACA,0BACA,CAAU,SACV,IACA,CACA,GACA,CAAK,OACL,EAEA,mBAkBA,iBACA,QACA,kBACA,qCACA,sBACA,yCACA,oBAAiD,iDAA2D,EAC5G,0BAEA,uDAEA,qBAEA,CAFoC,GAEpC,aACA,mBACA,EAEA,0CACA,iBACA,aAGA,kBACA,OACA,wBACA,mBACA,CAAS,QACT,0BACA,kFACA,oBACA,sBACA,CAAS,OACT,EAcA,mCACA,OACA,QACA,oCACA,SACA,EAEA,wBAEA,OADA,sBACA,eAGA,yBACA,yBACA,wBACA,6BACA,CAAiB,QACjB,yBAEA,OADA,UACA,qBACA,CAAiB,QACjB,yBAKA,OAHA,GACA,sBAEA,CACA,CAAiB,QACjB,0BAEA,OADA,8CACA,EACA,CAAiB,OACjB,CAAS,OAET,iBACA,qBACA,0BAEA,OADA,mDACA,EACA,CAAa,OAEb,EAQA,mCACA,sCACA,gCAIA,kBACA,wBACA,6BACA,CAAa,QACb,yBACA,aAEA,SACA,CADyC,EACzC,mBACA,UACA,CAAqB,EAErB,YAAoC,WAAwB,KAC5D,WACA,iDACA,cACA,UACA,aACA,KAGA,CACA,CAEA,QACA,CAAa,QAEb,aAEA,EAOA,qBACA,SAMA,OALA,sBACA,gBACA,SAEA,CAAK,EACL,CACA,EAMA,yCACA,SAMA,CANoB,EACpB,sBACA,OACA,CAAK,EAEL,kCACA,qBACA,sBAEA,yBACA,yBACA,wBACA,6BACA,CAAiB,QACjB,yBAEA,OADA,UACA,qBACA,CAAiB,QACjB,wBACA,6BACA,CAAiB,QACjB,yBAGA,YAAoC,WAAwB,KAC5D,WACA,iBACA,4CAEA,CACA,QACA,CAAiB,QACjB,0BAEA,OADA,6CACA,EACA,CAAiB,OACjB,CAAS,OAET,iBACA,qBACA,iCACA,oDACA,kCAKA,IACA,gCACA,GAGA,8DACA,QACA,CAAiC,CAGjC,CAAyB,QACzB,0BAEA,OADA,2CACA,EACA,CAAyB,OAIzB,CAAa,OAEb,EAGA,qBACA,SAcA,OAbA,sBACA,WACA,WACA,kBACA,IACA,YACA,UAEA,EAAU,IAEV,SAEA,CAAK,EACL,CACA,EAMA,8CAEA,CADA,kCACA,qBAGA,UACA,4BACA,yBACA,wBACA,6BACA,CAAqB,QACrB,yBAEA,OADA,UACA,qBACA,CAAqB,QACrB,0BAEA,OADA,6CACA,EACA,CAAqB,OACrB,CAAa,iBACb,0BAEA,OADA,mDACA,EACA,CAAa,QApBb,cAsBA,EAMA,wCACA,yBACA,wBACA,iDACA,CAAS,QACT,yBAQA,OAPA,IACA,QACA,gBACA,6CACA,SAGA,KACA,CAAS,QACT,0BAEA,OADA,6CACA,GACS,OACT,EAKA,uCACA,IACA,WACA,CAAM,SAEN,OADA,8CACA,cACA,CAEA,yBACA,wBACA,mDACA,CAAS,QACT,gBACA,QACA,CAAS,EACT,0BAEA,OADA,yCACA,EACA,CAAS,OACT,EAKA,oCAGA,CAFA,iBAEA,qBACA,kBACA,wBACA,oDACA,CAAa,QAEb,YAEA,EAKA,mBAQA,iBACA,mCACA,qBACA,6CACA,4BACA,sCACA,gCACK,EAEL,2BACA,mCACA,qCACA,2CAGA,yCACA,0DAEA,6CACA,kCAGA,gCAKA,kDACA,EAKA,iCACA,+CACA,EAMA,8BAGA,OAFA,gBACA,kCACA,YACA,EAKA,6BACA,gBACA,iBACA,6BACA,oBAEA,EAKA,8BACA,yBACA,EAKA,uCACA,0CAMA,mCACA,0DACA,EAKA,uCACA,qBACA,cACA,EADyB,GACzB,yCACA,cACA,YAEA,CAAS,2BAET,EAMA,8CACA,kCACA,uBACA,CAAK,OACL,EAaA,+BACA,0BAEA,OADA,6CACA,YAGA,2BAEA,QACA,8CACA,uBACA,iBAEA,+BACA,yBAIA,mBACA,KACA,KAuCA,GAtCA,sBACA,gBAIA,GAHA,kCACA,2BAEA,GAIA,uBACA,wBACA,EAA8B,CAC9B,aACA,CAA6B,uCAC7B,EAEA,SACA,OACA,EACA,yCACA,oEACA,OACA,mBACA,0CAC6B,EAC7B,MAGA,iDAA0E,OAAW,EAGrF,GACA,SAEA,CACA,SACA,CAAa,OAEb,WAGA,OAFA,0BACA,kBACA,aAGA,CAHkD,GAGlD,qBACA,kBACA,gBACA,qBACA,YACyB,GAEzB,+BAmBA,CAjBA,8BACA,WACA,GACA,mEACA,kCACA,mCACA,uDACA,OACA,mBACA,0CACqC,GAGrC,gEAAiG,OAAW,CAE5G,CAAyB,QAEzB,GAEA,CADA,kCACA,+BACA,kBACA,CADmD,EACnD,WAEA,cAAqD,EAGrD,mCACA,2CAA2E,6BAC3E,wBAEA,kBAEA,aAEA,CAAqB,OACrB,CAAa,OAEb,sBACA,0BAEA,IAKA,eAEA,oCACsB,GACtB,gBACA,qBACA,0BAGA,OADA,mCAA2D,WAC3D,aACsB,GACtB,gBAEA,wBACA,wBACA,4BACA,qBAEA,CAEA,2BAOA,OANA,cACA,qCAEA,WA3QA,IA2QA,GACA,SA5Q4C,OA4Q5C,SAAiD,oBACjD,sBACA,YACA,CAAsB,2CAgBtB,WAdA,iBASA,OAFA,kDAA8E,aAC9E,sBACA,IARA,kCAIA,OAHA,qDACA,gCAA4D,yCAC5D,kBACA,YAWA,CAAkB,SAClB,kDACA,iBACA,CACA,CAAa,OACb,GACA,cACA,WACA,sBACA,YACA,EAKA,OAJA,aACA,2BAEA,8BACA,oCACA,CAAS,QACT,0BACA,mDACA,iBACA,CAAS,OACT,EAKA,uCAEA,GADA,mCACA,mBACA,IACA,oBACA,aAEA,uBACA,CAAU,SACV,WACA,CAEA,EAEA,sBACA,wBAEA,IACA,eACA,4BACA,6BACA,kBACA,EAEA,YACA,aACA,oBACA,UACA,kBACA,SACA,aACA,oBACA,QACA,aACA,EAcA,eACA,kCACA,oCACA,8CACA,gCAEA,yBAGA,yBAEA,aACA,0BACA,yBACA,wBAEA,wBACA,uBAEA,iBA95FA,MA+5FA,mBAIA,2DACA,uBACA,6CACA,uBACA,aACA,yDACA,iBACA,CAAK,CACL,CAEA,oCACA,mCACA,EAKA,oCACA,wBACA,EAEA,wCACA,+BACA,kEACA,MACA,CAEA,iDACA,iBA/7FA,QAg8FA,iBAh8FA,MAi8FA,eAj8F4C,iEAo8F5C,iDACA,iBAn8FA,MAo8FA,iBAp8FA,IAq8FA,MAr8F+C,KAq8F/C,iEAGA,0CACA,wCACA,yCAEA,sBAMA,oBAEA,qBAGA,yBACA,iCACA,2FACA,CAAK,OAEL,0CAgCA,GA/BA,oBACA,WAGA,uCACA,yBACA,wBArGA,wCAsGA,EAtGA,eAuGA,mFAEA,qBAEA,IAEA,CAAS,OACT,gDACA,gBACA,oDACA,gBACA,CAD4B,IAC5B,aACA,UACA,CAAS,CACT,iBACA,uDACA,6DACA,6CACA,UACA,SACA,CACA,CAAK,EAEL,wCACA,oEACA,yBACA,qBACA,CAD8B,KAE9B,CAEA,IAEA,qFACA,EAEA,sCACA,2BACA,IACA,qBACA,CAAU,SACV,oDACA,CACA,wBACA,CAEA,qBAEA,sBAGA,qBACA,qBAGA,iCACA,+BACA,EAEA,uCACA,mCAOA,mDACA,qDACA,EAEA,mCAEA,OACA,oBAEA,EAEA,4CACA,4BAIA,oCACA,aACA,yCAEA,GACA,SACA,wBACA,eACA,uCACA,CAAS,CACT,CAAK,OAEL,wGACA,cACA,SACA,yDACA,yCACA,CAAS,CACT,MACA,CAAK,mBACL,0BACA,MACA,CAAS,oBACT,GAAsB,QAAa,CACnC,CAAS,CACT,CAAK,oBACL,GAAkB,yBAAgC,CAClD,CAAK,CACL,EAEA,6CACA,eAEA,QACA,oBAEA,iBACA,uCAEA,gBACA,gHAGA,wBAEA,4CAEA,GACA,gCACA,4BACA,uBACA,qDACA,aACA,YACA,mBACA,2CACA,qCACA,gBAEA,mBAGA,4CACA,GACA,iBAEA,8CACA,GACA,eAGA,GAGA,aAFA,cAAqD,wBAAyB,WAC9E,6BAEA,OACA,yBACA,gBACA,0BACA,CAAiB,SAEjB,gBACA,2BAEA,CACA,CAAC,EAGD,uCACA,mCACA,IACA,uBACA,aAEA,qCACA,CAAM,SACN,WACA,CACA,EAEA,sBAMA,eACA,iBACA,yBACA,EAEA,wCACA,iEACA,kEACA,MACA,CAEA,yBACA,sDACA,qBACA,CAAK,OAEL,qBACA,4DACA,qBACA,CAAK,MAEL,8BACA,gCACA,gBACA,qBACA,mBACA,cACA,CAAK,EAEL,sCACA,EAEA,sCACA,uBACA,qCACA,0BAEA,EAEA,uCACA,qBACA,uBACA,EAEA,iDACA,6DACA,8BAEA,IAEA,EAIA,+CACA,eACA,+BACA,CACA,CAAC,EAED,oBAIA,gBACA,WACA,gBACA,uBACA,cAEA,eACA,YAEA,IACA,oBACA,oBACA,gBACA,oBACA,QACA,CACA,kBACA,mBACA,+BACA,IACA,kDACA,oCACA,CAEA,qBAGA,eAGA,QAFA,KACA,mBACA,IAAoB,WAAsB,KAC1C,WACA,GACA,SAEA,CACA,QACA,CAOA,eACA,2BACA,aACA,uBACA,SACA,uDACA,SACA,QACA,CACA,CAaA,yBACA,OACA,0BACA,iCACA,EACA,OACA,GACA,UAGA,aACA,iCACA,6BACA,wBACA,OACA,iBAEA,CACA,CAAS,EAMT,IAHA,QACA,IACA,IACA,EAnCA,YACA,4BACA,gCAEA,GACA,0BACU,WACV,QAEA,EA0BA,IACA,IACA,QAFmE,CAEnE,cACA,IAMA,OAHA,eACA,iBAEA,CACA,CAqIA,qBACA,SAgBA,OAdA,gDACA,iCACA,sBACA,2BAEA,mCAEA,4CAEA,iBAEA,CAAS,EAGT,UACA,CAwBA,qBACA,KACA,IACA,WACA,QAEA,CAAU,SAEV,OADA,sEACA,EACA,CAGA,aAEA,SAGA,YAAoB,WAA2B,KAC/C,WACA,IACA,gBACA,QAEA,CAAU,SACV,kDACA,CACA,CACA,QACA,CAEA,qBAGA,KACA,IACA,UACA,QAEA,CAAU,SAEV,OADA,sEACA,EACA,CAGA,eAEA,QAAoB,WAA2B,KAC/C,IAhBA,EAgBA,OACA,IACA,gBACA,QAEA,CAAc,SACd,kDACA,CACA,CAIA,YACA,QAAgB,YAA4B,IAC5C,YACA,SAIA,QACA,CAOA,eACA,aAAwC,CAAxC,WAaA,iBACA,8DACA,CAOA,eACA,aAAwC,CAAxC,WAgDA,qBAGA,gBACA,SAGA,QANA,EAMA,IAAyB,4BAA2C,gBACpE,YACA,QAAoB,YAAmC,IACvD,YACA,QAGA,CAEA,YACA,QAAgB,YAA2B,IAC3C,YACA,SAMA,GACA,eACA,gBACA,kBACA,2CAEA,SAIA,iBACA,eAAoC,KAApC,EACA,wBACA,aAEA,eADA,QAGA,CAIA,8BACA,qBAEA,0JAFA,CAQA,CASA,GAjBoC,MAiBpC,cACA,6BAIA,qBACA,aAIA,aAAmC,GAAG,SAAS,EAAE,iBAAiB,GAAG,kBAAkB,EAAE,OAAO,GAAG,cAAc,GAAG,8BAA8B,GAAG,wBAAwB,EAAE,OAAO,GAAG,KACzL,mCAKA,MAA6B,EAAE,KAAK,EAAE,KAAK,EAAE,IAC7C,SAMA,CAEA,qBAGA,cAKA,qBACA,uBACA,iBACA,4BACA,qBACA,uBACA,yBACA,0BACA,wBACA,sCACA,WACA,WACA,cACA,YACA,YAEA,MACA,UACA,UACA,UACA,YACA,UACA,UACA,UACA,UACA,UACA,sBACA,UACA,UACA,UACA,UACA,UAEA,QACA,kBACA,EAWA,eACA,SACA,EAEA,6BACA,IAjMA,WACA,IAEA,QADA,wBACA,QACM,SACN,QACA,CACA,IA0LA,CACA,kEACA,MACA,CAEA,4BACA,yBACA,yBACA,0BACA,yBACA,EAEA,sCACA,oCACA,EAGM,eACN,YAA0B,OAG1B,GALA,EAOA,EAEA,mCACA,gCAGA,0CAEA,IADA,EACA,uBAEA,yBACA,aAEA,SACA,QAAoB,WAA4B,KAChD,WACA,IACA,eACA,KACA,KACA,CACA,CAAc,SAEd,OADA,0DACA,EACA,CACA,CACA,MAEA,QAEA,CAEA,6BACA,iBACA,SAGA,QAAgB,WAA4B,IAC5C,IACA,iBACA,QAEA,CAAU,SAEV,OADA,6DACA,EACA,CAEA,QACA,EAEA,sDAEA,uBACA,mBAEA,mBAxIA,iBA0IA,EAGA,yCACA,8BAIA,eA3iBA,KACA,6BACA,uBACA,mBACA,yBACA,uBACA,2BACA,0BAGA,KACA,sBACA,OACA,CAAK,EAEL,WAEA,0CAKA,GAJA,OACA,OAD8B,QAC9B,EA+QA,cACA,4BACA,SAGA,OADA,yBAEA,WACA,kBACA,aACA,4DACA,mBAEA,kBAEA,cACA,eACA,kBACA,SACA,kBACA,CACA,EA/RA,MACA,aACA,aACA,CAGA,IAFA,UACA,IACA,6BACA,qBACA,eAGA,IACA,EADA,KACA,KAkBA,GAjBA,sBACA,iBAIA,yCACA,yBACA,eAGA,aACA,OAGA,uBACA,CAAS,OAET,IACA,yBAmCA,GAlCA,GACA,mBACA,uBACA,+BACA,YACA,iBACA,2DACA,uDACA,EACA,sBACA,6BACA,wBACA,OACA,qBAEA,CACA,CAAa,EAEb,GACA,iBACA,UACA,eAIA,cACA,uBACA,QACA,eAEA,CAAiB,EACjB,WAiEA,GAGA,QAFA,WACA,mBACA,IAAoB,WAAyB,KAC7C,WACA,GACA,WACA,gBACA,eACA,gBACA,kDACA,CACA,IACA,KACA,CACA,SACA,KAEA,CACA,QACA,EArFA,IAGA,GACA,kBACA,aACA,cAEA,CAEA,MAEA,GACA,cACA,YAEA,YAGA,qBACA,aAEA,yBACA,uCACA,aACA,yBACiB,EACjB,CACA,CACA,CAEA,QACA,EAqbA,GACA,oCA7IA,0BA8IA,kCACA,8BACA,wCACA,kCACA,qCACA,qCACA,CAAK,EACL,IACA,gBACA,oBAEA,EAEA,0CACA,8CAEA,qBAGA,sCAEA,uDACA,oBAGA,qBAjIA,YAkIA,EAAK,aACL,EAEA,0CACA,+CAEA,qBAGA,sCAEA,wDACA,oBAGA,qBAhJA,mBAiJA,EAAK,aACL,EAEA,6CAKA,GAJA,iDACA,mDACA,uDAEA,+BAGA,yCAEA,SACA,KACA,0BACA,+BAEA,GACA,yBAGA,wDACA,+BACA,CAAK,EACL,0DACA,+BACA,CAAK,EACL,2BACA,sBACA,sCACA,yBACA,+BACA,GAEA,8BACA,sBACA,yCACA,yBACA,+BACA,GAEA,kEACA,8BAIA,2BACA,KACA,gEACA,+BACA,QACA,QACU,qCACV,oCAhPA,kBAiPU,GACV,MAGA,IACA,4BAEA,MAEA,IACA,4BACA,kEAGA,EAAK,cACL,EAEA,2CACA,+CAEA,qBAGA,uCACA,4BAEA,0DACA,0BAGA,2BAIA,yBACA,2BACA,QACA,mBAAmC,WAAe,EAElD,aACA,aAA8B,cAAyB,KACvD,IACA,2BACA,uCAGA,GAFA,mBACA,uBACA,4BACA,YAAgC,WAA8B,KAC9D,WAEA,MACA,8BAEA,uBACA,4BACA,KAEA,CAEA,CAAU,SACV,0DACA,CACA,GACA,cAtQA,aAsQA,GAEA,EAAK,cACL,EAEA,2CACA,+CAEA,qBAGA,uCAEA,wDACA,oBAGA,qBAtRA,aAuRA,EAAK,aACL,EAl7HA,YACA,kBACA,eACA,yBACA,eAGA,EA86HA,IAQA,oBAIA,4CACA,wCACA,8CAEA,8BAEA,OADA,UACA,IACA,EAQA,qCACA,WACA,kBAEA,iBACA,sDACA,MACA,CAkBA,OAhBA,sBACA,oDACA,SACA,8BACA,yCAEA,0BAGA,gDAGA,uCACA,CAAS,CACT,CAAK,OAEL,EACA,EAOA,8CACA,QACA,WAEA,mBAGA,mBACA,CADsC,CACtC,kBAEA,gBAMA,6BACA,CACA,EAEA,6CASA,MANA,qBACA,KAEA,YAA2B,GAI3B,EAOA,kBACA,2BACA,EACA,kBAEA,6CACA,4DAIA,OAFA,QAAwB,eAExB,CACA,EAEA,2CACA,UACA,aACA,WACA,WACA,oBAEA,cAEA,WACA,kBAEA,EAEA,+CACA,WAEA,EAF2B,SAE3B,WACA,uBACK,GACL,EAOA,kBACA,4BACA,EACA,kBAEA,2CACA,YACA,kBACA,EAEA,+CACA,sBACA,kBACA,CAAK,GACL,EAIA,cACA,eACA,YACA,UACA,aACA,YACA,aAKA,IACA,yBACA,SACA,KAYA,OAXA,eACA,wBACA,+BACA,QAEA,CAAa,OAEb,OAGA,QACA,CACA,CAAK,CAEL,yBACA,SACA,KAYA,OAXA,eACA,QAGA,sBACA,+BACA,SAEA,CAAS,OAET,QACA,CACA,CAAK,CAEL,8BACA,SACA,KAWA,OAVA,eACA,wBACA,+BACA,QAEA,CAAa,OAEb,OAEA,QACA,CACA,CAAK,CAEL,2BACA,SACA,KAWA,OAVA,eACA,wBACA,+BACA,0BAEA,CAAa,OAEb,yBAEA,QACA,CACA,CAAK,CAEL,4BACA,SACA,KAWA,OAVA,eACA,wBACA,+BACA,QAEA,CAAa,OAEb,OAEA,QACA,CACA,CAAK,CAEL,4BACA,SACA,KAWA,OAVA,eACA,wBACA,+BACA,QAEA,CAAa,OAEb,OAEA,QACA,CACA,CAAK,CAEL,yBACA,SAEA,OADA,EAzGA,OAyGA,IACA,CACA,CACA,EAQA,gBAEA,2BAEA,mCACA,iBACA,kBACA,gBACA,EAoBA,oCACA,2BAIA,OAHA,gBACA,MAEA,uBACA,CAAC,EAsBD,yCACA,gCAIA,OAHA,gBACA,MAEA,uBACA,CAAC,EAYD,oCACA,2BACA,8BACA,CAAC,EAcD,sCACA,gBACA,MAEA,6BACA,8BACA,CAAC,EAWD,mCAEA,2BACA,8BACA,CAAC,EAaD,uCACA,8BACA,8BACA,CAAC,EAED,yCACA,6BACA,2BACA,mCAEA,wBACA,uCACA,cACA,OACA,gFACA,+CACK,GACL,EAEA,+CACA,uCACA,EAEA,qCACA,mCACA,EAEA,iCACA,6EACA,EAGA,wCACA,kCACA,4CACA,sCACA,sCACA,4CAQA,oBAEA,2BAEA,+BACA,gBACA,EAqBA,oCACA,2BAeA,OAdA,gBACA,MAGA,mCACA,mEAIA,gBACA,EAAU,CACV,4BACA,OAEA,uBACA,CAAC,EAuBD,yCACA,gCAIA,OAHA,gBACA,MAEA,uBACA,CAAC,EAeD,oCACA,2BACA,8BACA,CAAC,EA2BD,0CACA,SACA,KAuBA,OAtBA,gBACA,wBACA,mCACA,yBACA,2FACA,MACA,CACA,CADkB,CAClB,IAEA,CACA,CAAS,OACT,MAIA,mBACA,MAEA,QAEA,QAEA,uBACA,CAAC,EAqBD,uCACA,gBACA,MAEA,8BACA,8BACA,CAAC,EAaD,uCACA,gBACA,MAEA,8BACA,8BACA,CAAC,EA4BD,sCACA,gBACA,MAEA,6BACA,8BACA,CAAC,EAsBD,6CACA,oBAEA,MADA,iBACA,CACA,oFACA,MACA,CAGA,8CACA,SACA,CAAK,MACL,CAAC,EAaD,uCACA,qCACA,EAYA,oCACA,6BACA,gFACA,MACA,CACA,OAAgB,0CAChB,4BACA,EAEA,iCACA,0CACA,EAEA,yCACA,mCACA,gDACA,gDACA,0CACA,4DACA,GACA,iBAEA,GACA,eAEA,GACA,iCAGA,+BAEA,wBAYA,gCACA,cACA,OACA,gFACA,+CACK,KAhBL,iBACA,mBAEA,EADA,4BACA,CAA0B,qBAAwB,CAElD,IAGA,mBASA,EAEA,qCACA,mCACA,EAEA,yCACA,kDAIA,kCACA,QACA,sDACM,QACN,sDACM,QACN,sDACM,QACN,sDACM,QACN,sDACM,QACN,sDACM,QACN,sDAEA,yCAEA,EAEA,gDACA,WACA,cAAiC,2CACjC,GAEA,4DACA,oDACA,+BACA,GACA,SAEA,yBAEA,OACA,kDAEA,mBACA,MAEA,CAAS,EAET,EAIA,6BACA,eAEA,WAEA,qCACA,0CACA,kDAAuF,kBAAuB,EAC9G,2CACA,uCAIA,gDACA,+CAUA,QATA,EACA,gBACA,OACA,mDAEA,mBACA,MAEA,EACA,aAA+C,KAAQ,IAEvD,GADA,6CACA,MACA,+BACA,qBACA,cAMA,gDACA,+CAUA,QATA,EACA,gBACA,OACA,mDAEA,mBACA,MAEA,EACA,aAA+C,KAAQ,IAEvD,EADA,8CACA,MACA,+BACA,qBACA,aAIA,EAEA,+CACA,0GACA,EAGA,kCACA,4CACA,sCACA,8CACA,wCACA,wCACA,sCACA,oDACA,sDACA,kDACA,4CAOA,eACA,YACA,YACA,WACA,YACA,WACA,WAEA,yBACA,aACA,cACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,CAMA,eACA,cACA,8BAEA,mBACA,mCAEA,oCAGA,oBACA,mCACA,6CAA2E,yBAC3E,0BAGA,mDACA,6BAEA,uBAGA,YACA,sBACA,eACA,WACA,EAEA,mCACA,SAUA,OARA,YAGA,iCACA,kBACA,QAEA,CAAK,EACL,CACA,EAEA,6BACA,mBAEA,EAFyB,EAEzB,gCAEA,GACA,wBAAmC,KAEnC,EAEA,gCACA,MACA,CAIA,iCACA,6BAEA,4BACA,+BAEA,GACA,uBAEM,2BACN,mCAEA,kCAEA,GACA,sBAGA,EAEA,6BACA,eAEA,EAFyB,EAEzB,aACA,UACA,0BACA,iBACA,qBACA,YACA,gBACA,mBAEA,EAEA,mCAEA,OADA,YACA,aACA,EAEA,+BAEA,qDACA,oDACA,EAIA,8BACA,cACA,aACA,EAOA,iDACA,mBACA,aAAqD,UACrD,kDAEA,YAEA,wBACA,iDACA,iBAEA,CAAS,OAET,YAEA,GAGA,EAMA,0CACA,mBACA,kDAEA,YACA,wBACA,YAEA,GAGA,EAEA,oCACA,YACA,kBACA,qBACA,YAEA,EAEA,+CACA,oCACA,EAGA,8CAEA,oBACA,+BACA,+DACA,CAAK,IACL,EAEA,0CACA,kCACA,+CACA,+DACK,CACL,EAEA,uCACA,yDACA,yCACA,wCACA,yCACA,mDACA,gCACA,EAEA,sCACA,gBACA,cACA,cAEA,WAEA,EAEA,2CACA,yBACA,cACA,qBACA,YAEA,EAEA,wCACA,sBACA,kBACA,cACA,YAEA,EAEA,6CACA,2BACA,uBACA,cACA,YAEA,EAEA,4CACA,6BAGA,oCACA,kBACA,gBACA,cACA,YAEA,EAEA,gDACA,6BACA,OACA,gCACA,gCACA,gCACA,gCACA,gCACA,mCACA,kCAEA,SAEA,eAGA,kCAGA,kCACA,mCACM,QAEN,wBACA,QACA,QAEA,CAAS,EACT,mCACM,OACN,sBAGA,8BACA,QACA,YAEa,EACb,sBACA,QACA,YAEa,EAEb,OAEA,CAAS,EACH,QACN,wBAGA,OACA,SAIA,QACA,SAEA,QAEA,CAAS,OACT,mCACM,QACN,wBACA,gBACA,QACA,UAGA,sBACA,oBACA,YAEA,CAAiB,EAEjB,CAAS,EACT,mCACM,QACN,UACA,mCACM,SACN,UACA,mCAGA,8DACA,UAEA,WACA,EAEA,kDACA,yCACA,mBACA,wBACA,eAIA,sBACA,UACA,YAEiB,EAEjB,YAES,MAET,EAEA,oCACA,6CACA,EAEA,+CACA,OACA,GACM,OACN,GACM,OACN,GACM,OACN,GACM,OACN,GACM,OACN,GACM,OACN,QAEA,4BAEA,EAEA,gDACA,6BAEA,OADA,uBAAkD,EAClD,gCACA,EAEA,2CACA,4BACA,QACA,iBACA,WACA,EAEA,4CAEA,MADA,wBACA,IAKA,OAJA,oBACA,yBACA,aAEA,CACA,EAkCA,qBACA,8CACA,EAMA,eAAiC,UACjC,gBAEA,cACA,YAEA,cAQA,6DAKA,4DAGA,OACA,gBACA,eAEA,wCACA,GAGA,QACA,eACA,iBACA,iBACA,gBACA,EAKA,IACA,uCACA,cACA,kBACA,oBACA,sBACA,gCACA,eACA,4BACA,qBACA,0BACA,kBACA,qBACA,oBACA,iBACA,eACA,UACA,eACA,mBACA,kBACA,8BACA,gBACA,wBACA,iBACA,QACA,WACA,OACA,SACA,wBACA,sBACA,WACA,uBACA,kBACA,iBACA,MACA,+BACA,kCACA,iDACA,oCACA,sBACA,cAA2C,CAC3C,MADkD,KAClD,GACA,kBACA,cACA,4BACA,6BACA,mBACA,QAA2C,CAC3C,sFACA,mCACA,iBACA,wBACA,4BACA,8EACA,8BACA,cA7+KA,MA8+KA,gBACA,0BACA,kEACA,EAEA,MAMA,gBAWA,mBACA,MACA,kBAEA,aACA,QACM,CACN,sBACA,4CACA,MACA,CACA,QACA,CASA,GAPA,oBAEA,CAFkC,CAElC,aAEA,gBACA,kBAEA,6CAKA,mCACA,KACA,KACA,wBACA,kBACA,GACA,MAEA,CAAS,EACT,GACA,oBAEA,CAeA,OAXA,yCAIA,oCAGA,yCACA,qBAGA,CACA,EAoBA,kCACA,sBACA,+EACA,MACA,CACA,WACA,kHACA,MACA,CAEA,gBAIA,OAHA,QACA,YAEA,CACA,EASA,mCACA,QAEA,iBACA,eAEA,SA6BA,GA1BA,6BAEA,CADA,yBACA,0BACA,sBA/NA,MA+NA,EAIA,4BAA+B,SAC/B,OACA,QACA,uCACA,CAAK,GAEL,aAEA,2BACA,wBACA,0BACA,aACA,sBACA,kBACA,EAGA,yBACA,uDACA,sBACA,wCASA,IADA,qBACA,yBAYA,yBACA,sCACA,oCAA4D,aAAgB,CAE5E,CAAiB,OACjB,2CACA,aACA,GAEA,CAAiB,EACjB,kDACA,+BACA,GAEA,CAAiB,CACjB,OAnCA,wBACA,+CAAkE,qCAClE,+CACA,4CACA,mCACA,CAAa,EAkCb,iDACA,+BACA,kBAEA,gBACA,wBAIA,oBACA,iBACA,YACA,CAAS,KAGT,8BACA,wBAEA,6GACA,8BAEA,EAEA,mDACA,yBACA,wDAAuE,6BACvE,MACA,CAEA,yBACA,0DACA,+BACA,CAAK,OAEL,iCACA,sCAEA,GAEA,CAAC,EAED,+CACA,eACA,+BAEA,iDAEA,EAEA,yDACA,SACA,gCAIA,OAHA,GACA,oBAEA,CACA,EAEA,+CACA,WACA,gCASA,OARA,GAMA,oDALA,mBACA,YACA,mCACA,8BACA,CAAS,CACT,EAEA,CACA,EAEA,+CACA,WAIA,OAHA,gBACA,4BAEA,OACA,EAIA,gCAOA,GANA,gCACA,+BACA,2DAIA,0EACA,mCACA,yBAGA,kBACA,EAAS,YACT,CACA,EAGA,gDACA,oDAEA,2EACA,wCAEA,kCACA,kDAEA,EAEA,oCACA,4CACA,6BACA,CAAK,OAEL,+BACA,yCACA,gCACA,CAAS,OAGT,+BACA,6BAGA,sCACA,0BAEA,OADA,2EACA,GAGA,OAEA,OADA,oCACA,GAGA,yBACA,yBACA,EAWA,6CACA,qBACA,YAGA,MAIA,OAHA,YACA,MACA,EAMA,gBACA,mCACA,2CAKA,OAJA,iBACA,YACA,MACA,EACA,CAEA,EAEA,6CACA,SAEA,MAEA,OADA,qCACA,EAGA,OACA,qCACA,2CACA,kCACA,EACA,MAEA,8CACA,IACA,QAEA,mBAAqD,EACrD,IACA,iBAEA,wBACA,kDAGA,YACA,YAA2B,MAE3B,0BAAmC,UACnC,IAAwB,aACxB,yBAAkC,SAClC,MACA,EACA,aACU,8BAKV,0BAA6C,KAI7C,+BACA,oCAEA,IACA,qCACA,eAGA,4BAEA,WACA,cACA,6BACA,SACA,sBACA,EAAM,UACN,IACA,SACA,CAAU,SACV,kBACA,IACA,CACA,IACA,GACA,QAEA,CAAU,SACV,iBACA,CACA,EAAM,UACN,IACA,yBACA,sBAEA,qCAQA,GAPA,GACA,wDAEA,wBACA,uBACA,CAAa,EAEb,kCACA,uBACA,0BACA,CAIA,qBACA,gCACA,QAA4C,CAA5C,YACA,kBACA,OACA,MAEA,IACA,+BACA,CAAkC,SAElC,GADA,mBACA,qBAGA,OAFA,iBAKA,IACA,EAA8B,IAC9B,0BAEA,MAaA,GALA,EAJA,WACA,WACA,kCAEA,UAEA,8CAEA,kBACA,GACA,MACA,IA9BA,EAiBA,EAaA,wBACA,GAA0C,qEAAoG,CAC9I,EAA8B,IAC9B,MAKA,EACA,SACA,CAAU,SACV,kBACA,IACA,KACM,CACN,gCACA,0BACA,WACA,WACA,QACA,2CACA,8BACA,CAEA,QACA,EAcA,wCACA,qBACA,sBACA,IACA,OACA,cACA,UACc,IAD6B,QAC7B,SACd,aACc,2BACd,UACc,mEACd,UAEA,UAGA,CAAK,OAEL,oBACA,sBACA,qBAEA,QACA,sBACA,6BACA,CAAiB,CACjB,EAAc,IACd,iCAEA,CAAS,GACT,EAEA,UACA,UACA,SACA,EAIA,iDACA,sCAGA,4CACA,wCACA,gCAMA,OALA,8CACA,QAAiB,qDAAqF,CACtG,QAAiB,sDAAsF,CACvG,QAAiB,sDACjB,EACA,uBAGA,sCACA,qCACA,0BACA,cACA,YACA,CACA,sBACA,gDACA,wCACA,mBACA,uCACA,iCACA,EACA,4BAEA,CAAqB,OACrB,mCACA,8CACA,CAAqB,OACrB,0DACA,iBACA,EAEA,CAAS,OACT,4BACA,wBACA,mBACA,mBACA,kBACA,CACA,CACA,oCACA,0BAEA,EAEA,4CACA,+BACA,kCACA,wBACA,0CACA,SACA,CAAS,EAET,EAEA,2CACA,wBACA,0CACA,SACA,SACA,CAAK,CACL,EAcA,8BACA,wBACA,EAaA,iCACA,WACA,kCAEA,uDAEA,EAEA,kDACA,uBAIA,OAHA,4CACA,uBAEA,CAAY,OACZ,EAGA,2CACA,8BACA,aACA,YACA,4BACA,6BACA,QAEA,SACA,2BAIA,CAHA,cACA,4CAEA,IACA,4BACA,UACA,mBACA,EACA,iCACA,EACA,8BAGA,IAEA,CAAK,OAcL,OAZA,yBACA,8BACA,EACA,OAEA,GAEA,CAAS,EAET,MAGA,IACA,EAyBA,wCACA,0BACA,IACA,QAGA,MADA,UACA,UACA,CAD0C,EAE1C,gBAEA,CAFuC,GAEvC,qBAKA,GAJA,sBACA,OAGA,mBACA,8DACA,MACA,CAEA,+BACA,KACA,MACA,CAGA,eAA4B,KAC5B,+BAGA,6CACA,uBACA,4BACA,2CACA,CAEA,+BAEA,yCACA,0BACA,GAOA,YACA,EAAU,CACV,oBAA2B,uCAA0C,EACrE,EACA,8BACA,4BACA,wCACA,GAGA,4CACA,cACA,sBACA,YACS,EAET,qEAGA,OACA,QACA,YACA,EAUA,OATA,sBACA,cACA,OACA,6EACA,qCACA,0BACA,sBACA,CAAK,GAGL,CAAC,EAgBD,0CACA,eACA,QAEA,SAGA,OAFA,OACA,iBACA,sBACA,CAAC,EAaD,0CACA,2BACA,KAWA,OAVA,YACA,SACA,kBAEA,oBACA,UACA,OACA,kBAGA,wBACA,CAAC,EAaD,6CACA,2BAEA,eACA,mBACA,OACA,cACA,eAA2B,YAAqB,GAEhD,cACA,kBAEA,CACA,gCACA,CAAC,EAcD,oDACA,kBAAoC,MAAkB,EAMtD,OALA,8BACA,GACA,QAEA,CAAK,EACL,iBACA,CAAC,EAED,2CACA,8BACA,EAEA,oDACA,uDAcA,qCACA,gCACA,yBAMA,MALA,kDACA,WACA,gBACA,0BAEA,CACA,EA8CA,6CACA,oBACA,OAGA,OADA,SACA,gCAEA,YACA,+BACA,yBACA,uBAGA,YACA,EAAU,CACV,EACA,GAGA,sBACA,CAAC,EA8BD,oCACA,8CACA,EA6BA,oCACA,8CACA,EAmBA,oCACA,sBACA,mEACA,MACA,CAEA,4BAIA,wDACA,EAEA,QACA,aACA,EAOA,eACA,MAQA,OANA,EADA,eACA,EACM,kBAGN,GAFA,CAAmB,QAInB,YAAsB,MACtB,EAyBA,oCACA,WACA,cACA,oCAEA,wCAEA,EA6BA,2CACA,WACA,cACA,4CAEA,YACA,WAEA,wBACA,mFACA,kCAEA,CAAS,OAET,EASA,sCACA,UACA,WACA,+BAEA,uCAIA,4CACA,QACA,QACA,gBACA,EA0BA,+BACA,iBAUA,6BACA,aAGA,yCAEA,OADA,6DACA,GAEA,eAAuB,WAA4B,CACnD,CAEA,iCAIA,oBACA,8BACA,WAHA,CAIA,CAAS,KAKT,mCACA,oBACA,eAAuB,cAA+B,GAEtD,+BAEA,kCAIA,OACA,wBACA,cACA,mBACA,CAAS,EAAG,cAAiB,CAE7B,EAMA,8BACA,yBACA,+BACA,gBACA,oBACA,iBACA,YACA,CAAK,IACL,EAkBA,wCACA,uCACA,EAsCA,iCAIA,6BAEA,OADA,qFACA,GAGA,iBAIA,CAHA,mBACA,2BAEA,QACA,4BACA,4BACA,QACA,aACA,CAAS,EACT,aACA,CAAS,YAET,aACA,CAAS,IAET,4EACA,iBACA,GAEA,EAaA,kCACA,sCACA,EAuIA,oCACA,iBACA,yBAEA,cAEA,0CACA,kBACA,CAAa,EAGb,qCACA,uDAEA,wCACA,6DAGA,kBACA,4CAEA,4CAEA,qCACA,wBAGA,EAKA,oCACA,uBASA,mCACA,kEAKA,OAJA,aACA,oDACA,QAEA,CACA,EAoBA,sCACA,sCACA,EAEA,iCACA,8BAIA,OAHA,QACA,aAEA,CACA,EAEA,4CACA,2BACA,gCACA,oCACA,EAGA,mCACA,uEAGA,iCACA,2DAAyE,0BAA6B,GACtG,sBAAkC,sBAA4B,EAE9D,6DAA2E,0BAA6B,GACxG,uBAAmC,qBAA2B,EAE9D,gCACA,0BACA,qBACA,CAAS,GAIT,8BACA,+BAAuC,qBAA0B,EAK3D,+BACN,+EAEA,8BACA,uBACA,mEACA,CAAS,EAET,EAQA,kDACA,MACA,0BACA,UACM,6BAGN,OAFA,KAKA,uEACA,iCAGA,EACA,0BAIA,6BACA,0BAGA,EAGA,2CAkBA,OAjBA,aACA,+BACA,sEACA,gEACA,uDACA,uDACA,iEACA,+CACA,+CACA,wCACA,CAAK,IAGL,gCACA,8BAGA,4BACA,cACA,kCACA,mCACA,mCACA,kCACA,6BACA,qCACA,oCACA,8CACA,6BACA,uBACK,CACL,EAiCA,yCACA,aACA,qBACA,CAAK,IAEL,2BACA,gCACA,EA2BA,0CACA,cACA,qBACA,cACA,CAAK,KAGL,2DACA,0BACA,6BAGA,2BACA,gCACA,EAeA,+CACA,iCACA,EAeA,gDACA,iCACA,EA2BA,mDACA,aACA,qBACA,CAAK,IAEL,2BACA,gCACA,EAEA,wCACA,mCACA,IACA,uBACA,aAEA,sCACA,CAAM,SACN,WACA,CACA,EAKA,oCACA,sCACA,0CACA,gDACA,sCACA,kDACA,kDACA,wDACA,4CACA,sDACA,gDACA,4CACA,sCACA,4CACA,gDACA,gDACA,oDACA,0DACA,4CACA,4DACA,0DACA,wEACA,sEACA,8EACA,8CACA,8CACA,8CACA,oDACA,8DACA,kEACA,gEACA,0EACA,wEACA,4FACA,wEACA,mCAGA,gDACA,sEACA,oEACA,kEACA,sCAGA,UACA,cAEA,yBACA,SAA8C,QAC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,SACzC,sBAA2B,GAR3B,YACA,aACA,mBACA,EAAM,EAMN,CAAG,EAzBH,GADA,EA0BG,CACH,sCACA,MANA,cAAoD,EAOpD,oBACA,CAAG,EA7BH,MACA,uBACA,UACA,oBACA,UACA,OAAwB,eAAmB,SAC3C,sBACA,iDACA,iCACA,CAAK,mBACL,CAAG,GAoBH,CAIA,gBACA,OACA,eACA,eACA,YACA,8BACA,0EACA,OACA,CAAK,CACL,WACA,YACA,OACA,CAAK,EAEL,CACA,kBAEA,OACA,uBACA,SArBA,UAqBA,EArBA,2BAsBA,mBACA,kBACA,iBACA,EAEA,8BAGA,OADuB,EAAc,EAAa,EAAG,MAErD,CACA,SAHoC,EAAc,CAGlD,EACA,iBACA,eACA,oBACA,sBACA,0BACA,cACA,gBAAgD,EAChD,cACA,kBACA,oBACA,kBACA,cAEA,EADA,cAC+B,EAAa,EAAG,kBAAH,EAAG,aAE/C,GADA,kCAAgE,EAAkB,iCAA+C,EAAkB,MACnJ,MACA,IAFmJ,EAEnJ,SACA,iBACA,CAMA,OALA,KACA,SAAuB,EAAa,CACpC,cACA,CAAK,IAF+B,IAE/B,GAEL,CACA,eACA,eACA,aACA,UACA,CACA,CAqHA,cACA,aACA,eACA,oBACA,2BACA,OAAW,SFxKI,IEwKS,CFvKxB,aACA,eACA,UAEA,oBACA,QACA,eACA,SACA,YACA,UACA,cACA,SACI,MACJ,IA3BA,EA4BA,EADA,GA3BA,IACA,YAEA,OADA,KACA,oBACA,UACA,OACA,WAqBA,EApBA,gBAoBA,EAnBA,2CACA,CAAO,CACP,CAAK,CACL,GAkBA,KAIM,CACN,0CAIA,OAHA,iCACA,wBACA,CAAS,EACT,CACA,CAAO,KAGP,0DACA,uDACA,oBACA,CAAO,GACP,QAA4C,MAAiB,EAC7D,YAlDA,WAkDA,OACA,MA/DO,YACP,gEACA,yCAKA,MADA,CAdA,YACA,uCACA,IAlBA,EAkBA,cAIA,OAHA,MACA,MAnBA,KADA,EAoBA,EApBA,SACA,MAmBA,EAlBA,MAEA,CAgBA,CAhBA,IAgBA,CAhBA,cAgBA,CAhBA,gBAgBA,CAhBA,eAgBA,CAhBA,uBAEA,MACA,4EAaA,CAbA,eAaA,CAbA,gBAaA,CAbA,iEAaA,CAbA,gCAaA,CAbA,eAaA,CAbA,iDAaA,CAbA,oHAaA,CAbA,gBAaA,CAbA,eAaA,CAbA,iCAaA,CAbA,eAaA,CAbA,gBAaA,CAbA,uBAEA,KAGA,MAQA,CARA,2GAQA,CARA,kGAQA,CARA,gCAQA,CARA,gCAQA,CARA,eAQA,CARA,gCAQA,CARA,gBAQA,CARA,gDAQA,CARA,iDAQA,CARA,gBAQA,CARA,eAQA,CARA,iCAQA,CARA,eAQA,CARA,gBAQA,CARA,gBAQA,CARA,eAQA,CARA,gBAQA,CARA,kEAQA,CARA,gCAQA,CARA,gBAQA,CARA,eAQA,CARA,gBAQA,CARA,gBAQA,CARA,eAQA,CARA,iCAQA,CARA,eAQA,CARA,mFAQA,CARA,eAQA,CARA,gBAQA,CARA,gBAQA,CARA,eAQA,CARA,kEAQA,CARA,gBAQA,CARA,eAQA,CARA,iDAQA,CARA,gBAQA,CARA,gBAQA,CARA,eAQA,CARA,gBAQA,CARA,gCAQA,CARA,gBAQA,CARA,mGAQA,CARA,gBAQA,CARA,eAQA,CARA,gBAQA,CARA,gBAQA,CARA,gCAQA,CARA,kFAQA,CARA,iCAQA,CARA,gCAQA,CARA,iDAQA,CARA,iDAQA,CARA,iCAQA,CARA,gBAQA,CARA,eAQA,CARA,gBAQA,CARA,iDAQA,CARA,kEAQA,CARA,mFAQA,CARA,gBAQA,CARA,gCAQA,CARA,gBAQA,CARA,gBAQA,CARA,gBAQA,CARA,iDAQA,CARA,gBAQA,CARA,kEAQA,CARA,gCAQA,CARA,gBAQA,CARA,gCAQA,CARA,iCAQA,CARA,gCAQA,CARA,gBAQA,CARA,iCAQA,CARA,eAQA,CARA,kEAQA,CARA,gBAQA,CARA,gBAQA,CARA,gBAQA,CARA,eAQA,CARA,gBAQA,CARA,iDAQA,CARA,kDAQA,CARA,eAQA,CARA,iCAQA,CARA,mFAQA,CARA,eAQA,CARA,kDAQA,CARA,uLAQA,CARA,mFAQA,CARA,eAQA,CARA,iCAQA,CARA,6BAQA,EAEA,KACA,EAIA,qBACA,iBACA,CAAG,GAEH,qBACA,aAAyC,SACzC,CAAG,GACH,EAqDA,4BAAuE,SA/BvE,cAAuC,GA+BgC,EACvE,CAAO,CACP,MApBA,QAA4C,MAAiB,EAC7D,sBAlCA,SAmCA,CAAO,EAmBP,oBACA,OAAwB,eAAmB,GAAU,OAAQ,EAC7D,KACA,CAAK,MACL,CACA,EE6HwB,CACxB,OACA,aACA,kBACA,6BACA,CAAK,CACL,CAAG,CACH,CAGA,cACA,kDG9OA,KAA4B,SHoRH,ECxRV,CACf,MEG2B,CAAC,CAAS,EAAE,KAAY,YFHnD,CACA,cACA,kBACA,yBACA,uEACA,eACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,cACA,qBACA,yBACA,uEACA,eACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,cACA,gBACA,eACA,CAAG,CACH,2CACA,kBACA,oBACA,CAAG,CACH,4CACA,kBACA,oBACA,CAAG,CACH,4CACA,kBACA,oBACA,CAAG,CACH,6CACA,kBACA,oBACA,CAAG,CACH,sCACA,kBACA,oBACA,CAAG,CACH,uCACA,kBACA,oBACA,CAAG,CACH,uCACA,kBACA,oBACA,CAAG,CACH,wCACA,kBACA,oBACA,CAAG,CACH,wCACA,qBACA,eACA,oBACA,mBACA,CAAG,CACH,SACA,iBACA,CAAG,CACH,QACA,iBACA,CAAG,CACH,SACA,iBACA,CAAG,CACH,OACA,iBACA,CAAG,CACH,aACA,YACA,CAAG,CACH,WACA,YACA,CAAG,CACH,UACA,YACA,CAAG,CACH,KACA,YACA,CAAG,CACH,SACA,YACA,CAAG,CACH,QACA,YACA,CAAG,CACH,UACA,YACA,CAAG,CACH,QACA,YACA,CAAG,CACH,SACA,YACA,CAAG,CACH,UACA,YACA,CAAG,CACH,aACA,YACA,CAAG,CACH,QACA,YACA,CAAG,CACH,MACA,YACA,CAAG,CACH,SACA,YACA,CAAG,CACH,UACA,YACA,CAAG,CACH,UACA,gBACA,kCACA,CAAG,CACH,QACA,gBACA,mCACA,aACA,CAAG,CACH,KACA,gBACA,kCACA,CAAG,CACH,+BACA,gBACA,kCACA,CAAG,CACH,wBACA,gBACA,kCACA,CAAG,CACH,QACA,YACA,CAAG,CACH,cACA,YACA,CAAG,CACH,SACA,YACA,CAAG,CACH,UACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,OACA,YACA,CAAG,CACH,WACA,aACA,iBACA,CAAG,CACH,UACA,YACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CACA,CAAC,CD0FD,YACA,iBACA,aACA,UACA,iBACA,gBACA,gBAAsD,EACtD,iBACA,cACA,yCACA,MAAe,EAAc,EAAa,EAAG,gBAAjB,EAAc,YAAG,6CAC7C,EAAQ,EACR,oBACA,gBACA,oBACA,gBACA,0BACA,gBACA,uBACA,iBACA,6BACA,oBACA,gBAA8D,EAC9D,cACA,kBACA,gBACA,cAEA,aACA,WACA,qBACA,YACA,sBACA,SACA,6CACA,iBACA,Eb5TA,cACA,Ua2TqC,Cb3TrC,SACA,MACA,EACA,EAAQ,OAA4B,MACpC,iCACA,sCACA,QAAgB,WAAc,kCAAwC,4CACtE,CACA,QACA,EakTqC,KACrC,OACA,QAAwD,eAAmB,IAC3E,iBACA,qBAAyC,CACzC,cACA,qBACA,YACA,CAAK,OACL,yCACA,sBACA,EACA,wBACA,oBAAqD,IACrD,sBAA6B,KAC7B,CAAK,kBAAoB,IACzB,6DACA,sBAA6B,GAC7B,CAAK,EAUL,GATA,EACA,QAA2B,EAAa,CACxC,mBADwC,EAExC,CAAO,UAEP,QAA2B,EAAa,CACxC,gBACA,CAAO,EAFiC,CAEjC,OAEP,GACA,OAA0B,eAAmB,OAAgD,eAAmB,SAOhH,2BACA,OACA,QACA,YACA,OACA,CAAK,EACL,EAnHA,YACA,qBACA,aACA,SACA,qBAKA,SACA,MD5PA,KADA,OC6PsB,QD7PtB,GACA,QC4P4C,SAC5C,WACA,CACA,QACA,eACA,EACM,EACN,iBAEA,kBAEA,CAGA,IACA,sBACA,sBACA,EAAM,CACN,OACA,CACA,CAAI,SACJ,OACA,OACA,CACA,CACA,EAgFA,CACA,eACA,WACA,OACA,kBACA,CAAK,CACL,oBACA,YAIA,qBACA,iCAEA,wCAEA,WACA,YAvPA,mBAEA,IADA,EACA,EArBA,cAGA,QAFA,4DACA,4DACA,IAAkB,WAAiB,KACnC,WACA,mBACA,UACA,aACA,UAAmB,EAAkB,WACrC,CAAO,IAD8B,IAE/B,eACN,uCACA,oCACA,gBACA,CAAO,CACP,CACA,CACA,QACA,EAGA,SACA,KACA,KACA,IAuBA,gBACA,gEACA,8BAxBA,KACA,gEACA,UACA,WACA,aACA,kBACA,oBACA,wBACA,YACA,YACA,kBACA,gBACA,WACA,CAAK,CACL,EAUA,gBATA,KACA,YACA,eACA,iBACA,CACA,QACA,EAGA,IACA,CAqDA,kBACA,WApDA,WACA,sBAEA,GADA,EAzJA,SA0JA,CACA,oBACA,wBACA,oBACA,GACA,YACA,uBACA,EAGA,UAKA,QAJA,yBACA,aACA,gCACA,CAAW,GACX,GACA,SAGA,EAAU,uBACV,kDACA,GACA,YACA,kBACA,EACA,MACA,SACA,aACA,iCACa,EACb,iBACA,EAAY,IAEZ,QADA,IACA,0BACA,SACA,CAGA,EAAU,IAEV,QADA,IACA,0BACA,SACA,CACA,CAAO,EACP,GACA,CACA,GACA,IAIA,mBACA,4BACA,gBAEA,UADA,eAEA,SACA,CACA,CACA,mCACA,EAuJA,IApEA,cAAkD,EAoElD,cACA,OAAwB,eAAmB,KAAgC,eAAmB,cAC9F,QACA,aACA,iBACA,CAAK,GACL,GGzXA,qBDDe,ECCkB,MDDlB,aCCoC,SDDpC,45EAA8sF,gBEQttF,IAAM0B,EAAc,OAAC,MAAEC,CAAI,UAAE92C,EAAW,OAAO,OAAEjW,EAAQ,MAAM,CAAExD,SAAS,aAAa,CAAoB,SAChH,UAACwwD,EAAKA,CACJC,MADID,EDPkB,CCQb,SACT/wD,MAAOixD,EAAAA,EAAYA,CACnBC,YAAa,CACXntD,MAAOA,EACPxD,OAAQA,EACRy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ACdC,yBAA0BC,CAAkC,CAC7D,CFFc,YACf,IACA,KEAyBC,GFAzB,EAOA,UAA4B,CAC5B,iBAA4C,CAAwB,CACpE,wBAA0D,CAAgC,CAC1F,+BACA,qBACA,eACA,CAAI,EACJ,GACA,mBACA,mBACA,uBACA,wBACA,YACA,qBAA4B,CAC5B,cAAqB,CACrB,iBACA,EACA,EAA0C,eAAmB,SAK7D,KACA,KAmQA,+BACA,8BAQA,OACA,gBA5QA,YACA,IACA,WACA,QACA,mBACA,0BACA,8BACA,yDACA,4DACA,+EACA,0BACA,iCACA,uBACA,QACA,CAAM,EACN,EAAuB,QAAY,KACnC,EAAuB,IACvB,EAAgB,WADkB,CACF,IAChC,UACA,EAAyB,SAAa,KACtC,GAGA,6BACK,KACL,OACA,OACA,CACA,iBACA,eACA,eACA,CAAM,EACN,6CACA,EAA4B,SAAa,uBACzC,+BACA,8BACA,uEAGA,CACA,OACA,UACA,aACA,mBACA,kBACA,eACA,kBACA,CD1Ce,YACf,IACA,KCwC6B,ODxC7B,UACA,0BACA,yBACA,2BACA,iBAAqB,CAAwB,CAC7C,wBAA4B,CAAgC,CAC5D,yDACA,WACA,CAAI,EACJ,cACA,aACA,MAA4B,UAAc,MAC1C,aACA,OAAgD,EAAsB,WACtE,OAA+C,EAAsB,UACrE,OACA,OACA,gBACA,mBACA,iBACA,CACA,CAAG,EACH,MAAkC,UAAc,QAC9C,WAAe,MACjB,KACA,CAAG,IADoB,CAEvB,MAtDA,EAsDA,EAtDA,GACA,YAqDA,EApDA,iBAEA,WACA,0BAkDA,EAAkB,aAAiB,KACnC,MACA,cAEA,SAEA,WACA,IACA,yBACA,CAAQ,MAER,CACA,OACA,KACA,OACA,eACA,CACA,CAAK,CACL,CAAG,QACH,EAAyB,aAAiB,KAC1C,EAcM,mBACN,kBACA,mBAA2B,EAAM,+CAEjC,MACA,OACA,MAeA,OAbA,QACA,IACA,wBAAsC,EAAsB,GAAG,EAAK,IACpE,CAAc,MAEd,CACA,aACA,uBAEA,YACA,qBAEA,CAAW,EACX,CACA,CAAS,EAGT,MACA,OACA,MAEA,2BACA,yBACA,MACA,iBAEY,CACZ,qBACA,IACA,wBAAsC,EAAsB,UAC5D,CAAc,SAEd,CACA,MARA,mBAA+B,EAAoB,+CAUnD,MACA,iBAEY,CACZ,oBACA,IACA,wBAAsC,EAAsB,SAC5D,CAAc,SAEd,CACA,MARA,mBAA+B,EAAmB,+CAUlD,QACA,CAAO,EArEP,MACA,IACA,wBAAkC,EAAsB,WACxD,wBAAkC,EAAsB,SACxD,CAAU,MAEV,CACA,OACA,KACA,mBACA,iBACA,CACA,CAAO,CA2DP,CAAG,YACH,EAA2B,aAAiB,KAC5C,mBACA,MACA,uCAGA,iBACA,EAEA,CACA,KACA,YACA,CACA,CAAO,CAEP,CAAG,WAGH,EAAwB,QAAY,IAiDpC,OAhDA,YACE,WAAe,MACjB,4CACA,OAEA,8BAGA,oDAKA,OAFA,iBACA,KACA,KACA,mBACA,CACA,CAAG,MAGD,WAAe,MACjB,SACA,UACA,gBACA,iEAEA,yBACA,GACA,OACA,CAAa,EAEb,wBACA,GACA,MACA,CAAa,GAGb,wDACA,OAEA,EAGA,OADA,gCACA,KACA,kCACA,CACA,CAEA,CAAG,oBACH,CACA,KACA,qBACA,iCACA,uBACA,UACA,gBACA,CACA,EC3J6B,CAC7B,wBACA,0BACA,yBACA,iBACA,wBACA,cACA,gBACA,OACA,CAAK,EACL,KACA,MACA,IACA,UACA,kBAEA,OAAsB,SAAa,MAEnC,+BAGA,kCAGA,GACA,KACA,aACA,eACA,eACA,MACA,EAMA,GALA,sCACA,gCAIA,GACA,WACA,uBAEA,2BACA,4BAEA,MACA,QACA,SAGA,UAEW,CAEX,CACA,eACA,CAAK,eAIL,yBACI,OAAiB,MACrB,4BAEA,SAWA,GAVA,UAFA,IAGA,UAEA,SALA,IAMA,gBANA,IAQA,sBARA,GAQA,gBAEA,OAAqB,GAAS,SAE9B,kBACA,gEACA,qDACU,CACV,+CACA,MACA,yBACA,GAGA,cACA,kCACA,CAAe,EAEf,2CACA,EAAY,IACZ,oBAEA,CACA,CACA,CAAK,cAID,WAAe,MACnB,MACA,oBACA,+BACA,+BAtLO,GAAkC,kCAAkC,+BAA+B,6BAA6B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CACH,SACA,IACA,kBACA,+BACA,CAAG,CAEH,GACA,sBACA,oBACA,WACA,CAAG,CACH,IACA,sBACA,oBACA,CAAG,CACH,KACA,sBACA,oBACA,CAAG,CACH,MACA,sBACA,oBACA,CAAG,CAEH,aACA,aAEA,GACA,oBACA,oBACA,WACA,CAAG,CACH,WACA,GACA,oBACA,oBACA,WACA,CAAG,CACH,WAEA,GACA,sBACA,oBACA,WACA,CAAG,CACH,aAEA,GACA,sBACA,oBACA,WACA,CAAG,CACH,YACA,EACA,IACA,YACA,aACA,iBACA,eACA,oBACA,eACA,kBACA,cACA,cACA,aACA,aACA,aACA,cACA,iBACA,kBACA,oBACA,mCACA,cACA,sBACA,oBACA,wBACA,gCACA,6BACA,EACA,yLACA,oNACA,uCA0BO,UACP,aACA,SACA,UACA,CAAI,EAAI,EACR,qBACA,6BACA,iBACA,kBACA,mBACA,oBACA,wBACA,UACA,OACA,EACA,uBACA,0BACA,yCACA,eACA,EAEA,WACA,EACA,sBAAqD,SAAhB,OAAgB,CACrD,gCAAyD,IAAf,MAAe,CACzD,sBACA,8CACA,gCACA,EAIA,uBACA,UACA,cAEA,MAEA,cAEA,OAAmB,MAAe,QAElC,SAEA,QAEA,CACA,EACA,0BACA,kDACA,MAAyB,MAAe,SAIxC,aACA,OAAiB,MAAe,KAGhC,CACA,OAAa,IAAY,EACzB,EACA,WAFyB,OAEzB,KAEA,wBACA,gBAEA,OAAa,OAAgB,GAC7B,EACA,0BAEA,wBACA,gBAIA,6BACA,gBAEA,mCACA,OAAa,IAAY,8BACzB,EACA,2BACA,MAAsB,MAAe,CAErC,IADA,kBACA,CAQA,OAPA,YAKA,SAEA,WAQA,sBACA,6BACA,SAEA,0BACA,cACA,qCAIA,8BACA,QAMA,qBAEA,QACA,EACA,gCAIA,SAHA,SACA,MAIA,EADA,UACA,sBACQ,wDAGR,uBAFA,yBAIA,sBACA,EAEA,qBACA,EACA,wBAAgC,IAAY,0BAC5C,qBACA,6BAEA,sBACA,KACA,QAEA,QACA,+BACA,MAEA,QACA,EACA,yBACA,2BACA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M,wBAEA,2BACA,2BAEA,kDACA,8DACA,6BACA,gEACA,+BACA,iCACA,iCACA,kCAEA,YACA,cACA,UACA,mBACA,cACA,kBACA,kBACA,oBAEA,aACA,ED9DsB,OAAQ,GAAG,CCgES,IClEnC,YACP,MAAuB,YAAgB,CAAC,IACxC,YACA,QAFgE,IAEhE,kPAEA,kBACA,oLAEA,MAAqB,SAAa,KAAO,OAAQ,GAAG,CDyD7C,CCzD+C,EAAc,8BACpE,OAAS,SAAa,KAAO,OAAQ,GAAG,IACxC,YACA,CAAG,QACH,EACa,GAAQ,eACd,yBACA,OACP,MAAgB,KAChB,EAAc,QAAY,EADF,IACE,GAI1B,OAHA,oBACA,6BAEA,WCzBa,GAAa,OAC1B,SAD0B,EAC1B,UAGA,0BAEO,KACP,SACA,gBACA,QACA,eACC,QAED,EADA,WAEA,WACA,SACI,iBACJ,SACI,cACJ,YAEA,uEAEA,OACA,QACA,QACA,CACA,EC1BO,aACP,QAKA,OAJA,8BACA,kCACA,kCACA,2CAEA,EACO,KACP,OACA,gBACA,cACA,UACA,UACA,iBACA,QACA,WACC,IACD,+BACA,oBACA,MAEA,mBACA,MAEA,QACA,IAWA,IAVA,kBACA,IACA,QAEA,iBACA,GACA,MAEA,QAEA,OAOA,GANA,mBACA,SAEA,oBACA,SAEA,GACA,SACA,SAEA,gBACA,CACA,MACA,SACA,SAEA,iBACA,CACA,CACA,WACA,EAEO,YACP,sBAGA,EAFA,EAUa,GAAe,QAE5B,OADA,QAD4B,KAC5B,IACA,CACA,mBACA,oBACA,wBACA,CACA,QACA,EACO,uEAKP,0BACO,qBACA,OACP,SACA,QACC,MACD,WACA,SAEA,uBACM,GAAa,YACnB,IADmB,EACnB,CAEM,GAAa,aACnB,GADmB,IACnB,CAEM,GAAa,WACnB,KADmB,OACnB,CAEM,GAAa,oBACnB,GAAc,SAAe,EAAE,OAAa,EAEtC,GAAa,mBACnB,GAAc,SAAe,EAAE,aAAmB,EAElD,EAIA,yEAEA,gBAEO,WACP,uBACA,4CACA,EC1HO,eACP,MAAS,SAAoB,uBAC7B,CACqC,QAAsB,yCCF3D,IAA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CA,yBACA,oCACA,qBACA,qCACA,mBACA,qCACA,eACA,oCACA,eACA,SACA,WACA,CACA,EACA,gBAA4B,GCrCrB,SACP,UDoCkD,QCpClD,EACA,qBACA,oBACA,UACA,UACA,gBACA,cACA,WACC,IACD,MAAkB,KAClB,OAAS,UAD+B,GACd,IAavB,OAb+B,GAAY,CAC9C,QAD8C,EAE9C,QACA,WACA,OACA,oBACA,qBACA,oBACA,UACA,UACA,gBACA,aACA,CACA,CAAG,sBACH,ECrBO,oBACP,eACA,kBACA,MAAa,OAAQ,GAAG,IACxB,2BACA,wBACA,4BACA,CAAO,CACP,2BACA,CACA,oBACA,qCACA,SAEA,sCAIA,OAHA,4CACA,6CAEe,OAAQ,GAAG,IAC1B,cACA,CAAS,CACT,CACA,oCACA,MAAa,OAAQ,GAAG,IACxB,4BACA,CAAO,CACP,wBACA,CACA,kFACA,SAEA,0EACA,MAAe,OAAQ,GAAG,IAC1B,wBACA,mEACA,2DACA,2FACA,CAAS,CACT,CACA,QACA,8BACA,CACA,EACO,OACP,IACA,QACA,gBACA,gBACA,cACA,oCACA,UACA,UACA,gBACA,mBACA,oBACA,WACA,CAAI,EACJ,EAAgB,KAChB,EAAoB,QAAY,EADR,EACQ,kBAChC,EAAwB,SAAa,KAC1B,GAAsB,0BACjC,QACA,QACA,WACA,QACA,gBACA,YAAmB,GAAwB,GAC3C,CAAK,EAIL,OACA,MAAoC,EANO,UAMS,IACpD,6BACA,aACA,+BACA,qBACA,CAAG,EAID,WAAe,MACjB,GACA,2BACA,4BACA,CAAK,CACL,CAAG,QACH,MAA4B,aAAiB,KAC7C,EAAa,OAAQ,EACrB,kBACA,CAAK,KACL,GACA,aAEA,CAAG,MACH,EAAsB,aAAiB,KAEvC,cADA,EACA,iBAGA,GACA,wBALA,GAMA,uBANA,EAMA,8BACA,CAAK,CACL,CAAG,uBACH,EAAyB,GAAiB,CAC1C,aAD0C,KAC1C,EACA,UACA,UACA,gBACA,cACA,UACA,CAAG,EACH,EAAuC,aAAiB,MACxD,GACA,oCACA,CAAK,CACL,CAAG,KAUH,OACA,gBACA,gBACA,cACA,iBAb2B,QAAgB,SAC3C,MACA,GACA,wBACA,aACA,gCACA,CAAO,CAEP,CAAG,EAMH,iBACA,+BACA,mBACA,CACA,8BChJO,UAA0D,SAAoB,oCACpC,QAAsB,2CCMvE,IAAM,GAAiB,IACvB,IACA,UACA,CAAI,EAIJ,MAAS,QAAc,CAHvB,CACA,IALuB,CAKvB,UAE+B,GAAyC,EACxE,EACA,GAAuC,SAAM,CAAC,IAAe,EAC7D,eAHwE,sBAIxE,YACA,+BACA,CAAC,GACD,gBACA,mBACA,CAAC,EAKM,eACP,MAAgB,GAAa,CAC7B,QACA,eAF6B,qBAG7B,CAAG,EACH,CACA,WACA,YACA,mBACA,WACA,CAAI,EACJ,EAAkB,GAAiB,GACnC,EAAgB,QAAQ,UACxB,EACA,EAEsB,SAAI,KAC1B,UAAe,QAAI,WACnB,SAA2B,SAAI,CAAC,IAAI,EACpC,UACA,gBACA,iBACA,SACA,6CACA,4CACA,MACA,CAAO,CACP,UACA,CAAK,GACL,CAAG,CACH,iBE1DO,eACP,MAAS,SAAoB,mBAC7B,CACO,OAA0B,QAAsB,oHCAjD,GAAS,yTAWT,GAAiB,IACvB,IACA,WACA,MAHuB,QAGvB,EACA,wBACA,QACA,WACA,sBACA,8BACA,UACA,CAAI,EACJ,QAKA,MAAS,QAAc,CAJvB,CACA,qIACA,mDAE+B,GAAyB,EACxD,EACA,KACA,QACC,GAAK,EAJkD,CAIlD,IAAQ,GAAG,uBACjB,MFpCO,CEoCE,EACT,MADiB,CFpCV,CEqCG,EACV,MADkB,OAClB,MACA,UAEA,8BACA,oDACA,qCACA,CAAG,EACH,uCACA,0BACA,WACA,+BAA4C,oCAAwC,IAAI,mCAAuC,GAAK,SAAK,sDACzI,CACA,CAAG,CACH,WACA,+BAA0C,oCAAwC,IAAI,mCAAuC,GAAK,SAAK,uDACvI,MAAU,GAAiB,SAAU,IACrC,CAD2B,UAC3B,mBACA,gDACA,CACA,CAAG,CACH,MAAQ,GAAiB,SAAU,IACnC,CADyB,KACzB,yCACA,iDACA,yCACA,WACA,8BACA,iDAEA,CAAG,CACH,MAAQ,GAAiB,SAAU,KAAV,CAAU,EAAQ,GAAiB,SAAU,KAAV,MAC5D,kCACG,CACH,MAAQ,GAAiB,SAAU,IAAI,CAAd,EAA+B,SAAU,IAClE,CADwD,OACxD,EACA,CAAG,CACH,WACA,OACA,gBACA,CAAK,CACL,OACA,YAAmB,EACnB,CACA,CAAG,EACH,IAH6B,CAAC,CAG9B,CACA,uBACA,8BACA,CAAK,CACL,OACA,wCACA,CACA,CAAG,EACH,OACA,yBACA,QACA,CAAK,CACL,OACA,WAAiB,GAAiB,SAAU,KAC5C,oBAA6B,mCAA6C,EAE1E,CACA,CAAG,EACF,EACD,WACA,IACA,aACA,CAAI,EACJ,sPAEA,GAAuB,SAAM,CAAC,IAAU,EACxC,qBACA,YACA,oBACA,CAAC,MACD,GAAyB,SAAM,QAC/B,qBACA,YACA,oBACA,CAAC,IACD,QACC,GAAK,OAAQ,GAAG,KACjB,OACA,CAAC,GAED,UACA,oBACA,CAAC,GACD,UACA,GAAmC,YAAgB,eACnD,MAAgB,GAAa,CAC7B,QACA,eAF6B,KAG7B,CAAG,EACH,CACA,eACA,YACA,MACA,cACA,2BACA,mBACA,cACA,UACA,cACA,aACA,YACA,eACA,iBACA,kBACA,sBACA,cACA,iCACA,WACA,WACA,CAAM,EACN,EAAY,QAA6B,GAAQ,IACjD,EAAqB,OAAQ,GAAG,GAD0B,CAE1D,YACA,WACA,wBACA,gBACA,WACA,8BACA,OACA,CAAG,EACH,EAAkB,GAAiB,GACnC,EAAgB,KAChB,EAAc,QAAY,EADF,GADW,EAGnC,EAAoB,QAAU,aAI5B,OAAiB,OACnB,YAEA,iBAEA,CAAG,YAqBH,OACwB,SAAI,KAC5B,UAAiB,QAAI,oCACrB,aACA,YACK,EAEiB,SAAI,IAAiB,OAAQ,EACnD,UAAe,QAAI,WACnB,MACA,gBACA,WACA,gBACA,oBACA,kBACA,iBACA,uBACA,QA5BA,IACA,GACA,KAEA,GACA,wBAEA,GACA,IAEA,EAmBA,YAnCA,IACA,KACA,GACA,kBAEA,CA+BA,CAAG,IACH,aACA,oCACA,CAAG,EACH,CAAC,EAwJM,GAAgC,MAAU,qBGjXjD,iBACA,uGACA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U,EACrD,sBACA,oBACA,wCACC,IACD,QACC,KACD,SACA,UACA,eACA,mBACA,eACA,wBACA,oBACA,yCACA,CAAC,EACD,GAAuC,SAAM,CAAC,IAAU,EACxD,sBACA,uBACA,2CACC,IACD,QACC,KACD,SACA,UACA,eACA,mBACA,eACA,wBACA,oBACA,8BACA,CAAC,EACD,GAAkC,SAAM,CAAC,IAAU,EACnD,sBACA,kBACA,sCACC,IACD,QACC,GAAK,OAAQ,GAAG,uBACjB,MV5FO,CU4FE,EACT,MADiB,CV5FV,CU6FG,EACV,MADkB,EAClB,EACA,YAAe,GACf,OADyB,CACzB,sBACA,mBACA,oBACA,wBACA,qBACA,CAAC,GACD,GAAwC,SAAM,QAC9C,sBACA,wBACA,4CACC,GACD,eACA,wBACA,oBACA,UAxEA,GAyEA,CAAC,EACD,GAAuC,SAAM,CAAC,SFpBvC,GACP,MAAgB,GAAa,CAC7B,QACA,eAF6B,iBAG7B,CAAG,EACH,CACA,WACA,YACA,mBACA,WAEA,CAAM,EACN,EAAY,QAA6B,GAAQ,IACjD,EAAkB,GAAiB,GACnC,EAAgB,QAAQ,GACxB,KACA,CAJ0D,KAIlC,SAAI,QAC5B,UAAiB,QAAI,WACrB,UACA,CAAK,EAEL,OACA,YACA,0BACA,cACA,yBAEA,MAAsB,SAAI,KAC1B,UAAe,QAAI,WACnB,gBAA0C,cAAkB,IAC5D,YACA,CAAK,EACL,oBACA,SAA2B,SAAI,CF8RhB,GE9RgC,OAAQ,EACvD,CF6R4B,IE9RiB,QAC7C,GACA,iBACA,uCACA,YACA,CAAK,IACL,UACA,CAAK,IACL,CAAG,CACH,EEtBoE,CACpE,sBACA,uBACA,2CACC,GACD,UA/EA,CAA8B,EAgF9B,CAAC,EACD,GAAqC,SAAM,IAjFQ,GAiFR,CAC3C,sBACA,sBACA,0CACC,GACD,iBACA,CAAC,EACD,GAA4B,SAAM,QAClC,sBACA,qBACA,yCACC,GACD,UAAa,KACb,KADuB,CAAC,EACxB,OACA,uBACA,CAAC,EACD,eACA,IACA,cACA,MACA,eACA,eACA,iBACA,qBACA,gBACA,CAAM,EACN,EAAY,QAA6B,GAAO,IAChD,CACA,WACA,IAHyD,kBAGzD,EACA,4BACA,8BACA,QACA,YACA,WACA,CAAI,EACJ,EAAgB,KAChB,EAAc,GAAM,KACpB,EAFwB,KAExB,oBACA,8BACA,mBACA,UAA4B,GAE5B,EAAwB,KAFc,CAEd,EAAY,EACpC,cACA,yBACA,gBAAuB,OAAQ,EAC/B,wBACA,8BACA,gBACA,cAEA,wCACA,CAAO,IACP,WAAkB,OAAQ,GAAG,IAC7B,MACA,UACA,CAAO,CACP,CAAK,EACL,EAAe,QAA6B,OAC5C,EAAqB,SAAa,sBAClC,EAA8B,SAAa,gCAC3C,EAA6B,SAAa,MAC1C,6CACA,EAGA,gCAFA,gBAGA,CAAG,YACH,EAA4B,SAAa,MACzC,2CACA,EAGA,8BAFA,gBAGA,CAAG,YACH,MAAsB,SAAI,GAAM,OAAQ,GAAG,IAC3C,MACA,WACA,eACA,QACA,sBACA,qBACA,oBACA,WACA,gBACA,kBACA,8BACA,CAAG,EACH,CAKO,eACP,MAAgB,GAAa,CAC7B,QACA,eAF6B,MAG7B,CAAG,EACH,EAAgB,KAChB,CACA,WAFwB,QAExB,EACA,YACA,eACA,eACA,aACA,UACA,uBACA,+BACA,WACA,mBACA,oBAAuC,SAAI,SAC3C,cACA,CAAK,EACL,iBACA,kBACA,cACA,gBACA,UACA,UACA,oBACA,qBACA,oBACA,2EACA,WACA,sBACA,cACA,oBACA,kBACA,YACA,WACA,CAAI,EACJ,EAAc,GAAM,KACF,GAAiB,GACnC,EAAgB,OAAM,GACtB,EAAyB,GAAiB,CAC1C,KAHmC,QAEO,KAC1C,EACA,qBACA,oBACA,UACA,UACA,cACA,gBACA,UACA,CAAG,EACH,EAAuB,KACvB,MAAkD,QAAa,EAC/D,CAF6C,IAE7C,cACA,iBACA,aACA,aACA,CAAG,EACH,MAAsD,UAAc,WACpE,EAA0B,QAAgB,KAC1C,GAGA,IACA,CAAG,EACH,MACA,OACA,KACA,KACA,QACA,MAEA,EACA,EAAwB,QAAgB,SACxC,cACA,cACA,mBACA,mBACA,KACA,iBACA,kBACA,mBACA,KACA,iBACA,CACA,0BACA,wBASA,EARoC,GAAsB,CAC1D,QACA,OACA,GAH0D,KAG1D,sBACA,4BACA,iBACA,UACA,CAAW,GACX,GACA,mBACA,KACA,CACA,iBACA,CACA,0BACA,wBASA,EARoC,GAAsB,CAC1D,QACA,OACA,GAH0D,KAG1D,sBACA,4BACA,iBACA,UACA,CAAW,GACX,GACA,mBACA,KACA,CACA,WACA,oBACA,mBACA,KACA,WACA,kBACA,mBACA,KACA,cACA,oBACA,mBACA,KACA,gBACA,qBACA,kBAIA,CACA,CAAG,EACH,EAAsB,QAAgB,cACtC,EAAqB,QAAgB,SACrC,qBACA,OAEA,CAAG,EACH,gBACA,eACA,EAA4B,SAAa,qDAGzC,KAA2B,EAAkB,GAAG,EAAmB,EAEnE,EAAuB,SAAa,KAAoB,WAAe,QACvE,GAAuB,SAAa,MACpC,wBACA,yBACA,4CACa,GAAsB,CACnC,QACA,OACA,GAHmC,KAGnC,EACA,UACA,cACA,gBACA,iBACA,UACA,CAAO,EAEP,CACA,CAAG,kBACH,GAAyB,SAAa,MACtC,wBACA,mBACA,qBACA,wBACA,wCACA,2BACA,YACA,SAEA,CAAO,EACP,kBACA,CACA,QACA,CAAG,UACH,MAAsB,UAAK,KAC3B,YACA,oBACA,iBACA,UAA4B,UAAK,KACjC,WACA,mBACA,aAAmD,SAAI,KACvD,kBACA,oBACA,6CACA,4BACA,wCACO,EAAG,GAAW,gBAA8C,SAAI,KACvE,kBACA,oBACA,mCACA,yBACA,aACA,CAAO,iBACF,IAA0B,SAAI,KACnC,6BACA,YACA,CAAK,EAAiB,SAAI,IAAiC,OAAQ,EACnE,WACA,WACA,mBACA,iBACA,UAAiB,QAAI,qBACrB,CAAK,IACL,UACA,SAA6B,SAAI,KACjC,MACA,gBACA,2BACA,uBAAmE,UAAK,KACxE,WACA,0BAIA,oBACA,aAAuD,SAAI,KAC3D,uBACA,iBACA,sEACA,wDACA,CAAW,eAA4C,SAAI,KAC3D,cACA,MACA,eACA,gBACA,YACA,UACA,SACA,cACA,iBACA,qBACA,gBAGA,mBACA,CAAW,iBACF,SAAU,KAAQ,GAC3B,CAAO,CACP,CAAK,IACF,CACH,CC5cO,eACP,MAAS,SAAoB,qBAC7B,CACO,OAA4B,QAAsB,iECFnD,GAAS,sLAST,GAAiB,IACvB,IACA,WACA,QAHuB,CAGvB,EACA,UACA,CAAI,EAKJ,MAAS,QAAc,CAJvB,CACA,cACA,uDACA,EAC+B,GAA2B,EAC1D,EACA,GAAyB,SAAM,QAF2B,KAG1D,kBACA,YACA,kCACC,GACD,eACA,oBACA,wBACA,kBACA,WACA,OACA,cACA,CAAK,CACL,OACA,eACA,CACA,CAAG,EACF,EACD,GAA4B,SAAM,WAClC,uBACA,mBACA,yCACA,MAAU,GAAmB,SAAU,OAAV,MAC7B,CAAG,EACH,MAAU,GAAmB,SAAU,OAAV,MAAU,CACpC,EACF,IACD,QACC,GAAK,OAAQ,EACd,cACA,8BACA,SACA,SACA,CAAC,yBACD,eACA,UACA,SACA,gBACA,iBACA,WACA,+BAA0C,qCAAyC,IAAI,mCAAuC,GAAK,SAAK,uDACxI,CAAG,CACH,WACA,+BAA0C,qCAAyC,IAAI,mCAAuC,GAAK,SAAK,uDACxI,CAAG,CACH,cACA,cACA,oBACA,CAAG,CACH,MAAQ,GAAmB,SAAU,IACrC,GAD2B,GAC3B,mCACG,CACH,MAAQ,GAAmB,SAAU,IACrC,GAD2B,GAC3B,yCACA,iDACA,oBACA,iDAEA,CACA,CAAC,GAKM,GAAkC,MAAU,aACnD,MAAgB,GAAa,CAC7B,QACA,eAF6B,OAG7B,CAAG,EACH,CACA,YACA,YACA,WACA,WACA,WACA,QACA,WACA,UACA,YACA,UACA,SACA,iBACA,eAIA,QACA,YACA,CAAM,EACN,EAAY,QAA6B,GAAQ,IACjD,EAAc,QAAY,OADgC,EAExC,GAAiB,GAGjC,OAAiB,MACnB,GAEA,QANmC,CAMnC,SAEA,CAAG,MACH,yBACA,EAA2B,QAAY,EACvC,cACA,iCACA,iBACA,WACA,WACA,WACA,MACA,cACA,aACA,iBACA,iBACA,eACA,kBACA,oBACA,kBACA,gBACA,CAAK,CACL,aACA,wBACG,EACH,MAAsB,SAAI,IAAmB,OAA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CH,0BACA,oCACA,EAAwB,QAAgB,SACxC,cACA,cACA,OACA,mBACA,KACA,iBACA,OACA,mBACA,KACA,iBACA,OACA,mBACA,KACA,kBACA,OACA,kBAIA,CACA,CAAG,EACH,EAA0B,QAAgB,SAC1C,IACA,CAAG,EACH,EAAyB,QAAgB,SACzC,OACA,KAEA,CAAG,EACH,EAAsB,QAAY,OAClC,GAAoB,QAAU,MAC5B,WAAe,MACjB,uBACA,OAEA,gDACA,MACA,OAIA,qBACA,cACA,yBACA,sBAEA,UAIA,qBALA,IAKA,QACA,CAAG,MACH,6BAIA,MAHA,YACA,aAEsB,SAAI,IAAmB,OAAQ,EACrD,OACA,UAAe,QAAI,WACnB,WAxHA,EAyHA,kBACA,mBACA,CAAG,IACH,oBACA,mBAEA,UACA,MAA0B,SAAI,CAAC,GAAW,CAC1C,OAD0C,EAF1C,MAIA,QACA,UACA,YACA,mBACA,WACA,uBACA,UACA,SACA,mCACA,cACA,QACA,YACA,2BACA,CAAO,oBACP,CAAK,CACL,CAAG,EACH,CAAC,ECzQM,aACP,WACA,eACA,SACA,OACA,QACA,YACA,cACA,sBACC,EAaD,MAAyB,QAAY,IACrC,EAAwB,QAAY,IACpC,EAAsB,QAAY,uBAClC,MAA0B,QAAa,EACvC,gBACA,aACA,aACA,kBACG,EACH,EAA6B,QAAY,WACzC,MAAwC,QAAa,EACrD,gBACA,oBACA,aACA,kBACG,EACD,WAAe,MAEjB,2EACA,wBACA,YACA,YAEA,CAAG,YACH,mBACA,eACA,eACA,EAAkC,QAAgB,SAClD,EAEA,KAGA,mBAGA,QACA,CAAG,EACH,EAA2B,QAAgB,KAE3C,QACA,QAGA,KACA,GACA,KAEA,CAAG,EACH,EAAuB,QAAgB,MACvC,GACA,IAEA,CAAG,EACH,EAAkC,QAAgB,WAClD,mBACA,IAGA,4BAKA,GAHA,IADA,iBACA,GAGA,UACA,wBACA,GAEA,IAEA,EAAM,OACN,GAEA,CAAG,EACH,OACA,OACA,UACA,cACA,iBACA,WACA,eAEA,iCACA,eACA,yBACA,CACA,CCzGO,OAA0B,QAAa,CAAc,SAAI,SAChE,kBACA,CAAC,mBAKM,GAAsB,QAAa,CAAc,SAAI,SAC5D,4DACA,CAAC,eAKM,GAAuB,QAAa,CAAc,SAAI,SAC7D,0DACA,CAAC,gBCtBM,eACP,MAAS,SAAoB,6BAC7B,CDyB4B,QAAa,CAAc,SAAI,SAC3D,4IACA,CAAC,cAKwB,QAAa,CAAc,UAAK,CAAC,UAAc,EACxE,UAA0B,SAAI,SAC9B,mJACA,CAAG,EAAgB,SAAI,SACvB,4CACA,CAAG,GACF,WAK4B,QAAa,CAAc,SAAI,SAC5D,uKACA,CAAC,eAKuB,QAAa,CAAc,UAAK,CAAC,UAAc,EACvE,UAA0B,SAAI,SAC9B,mJACA,CAAG,EAAgB,SAAI,SACvB,4CACA,CAAG,GACF,UAKwB,QAAa,CAAc,SAAI,SACxD,yGACA,CAAC,WC9D0C,QAAsB,8HCFjE,IAAM,GAAS,yLACb,GAAU,eACZ,YADY,KACZ,CAYA,GAAiC,SAAM,QACvC,+BACA,YACA,gCACC,GACD,cACA,CAAC,EACD,GAAmC,SAAM,QACzC,+BACA,cACA,kCACC,IACD,QACC,KACD,kBACA,CAAC,GACD,GAAmC,SAAM,CAAC,IAAU,EACpD,+BACA,cACA,kCACC,GACD,WACA,OACA,SACA,CAAK,CACL,OACA,mBACA,CACA,CAAG,EACF,EACK,GAAiB,IACvB,IACA,UACA,CAAI,EAUJ,MAAS,QAAc,CATvB,CACA,cACA,kBACA,kBACA,0CACA,kCACA,gCACA,mCAE+B,GAAmC,EAClE,EACO,GAA0C,YAAgB,eACjE,MAAgB,OAAM,GACtB,EAAgB,GAAa,CAC7B,QACA,eAF6B,eAG7B,CAAG,EACH,CACA,WACA,YACA,QACA,YACA,iBACA,eACA,aACA,YACA,qBACA,mBACA,iBACA,gBACA,UACA,CAAM,EACN,EAAY,QAA6B,GAAQ,IAEjD,EAAkB,GADlB,GAcA,iBAf0D,QAe1D,GACA,EAAkC,EAdC,CAcD,KAAY,EAC9C,cACA,wCACA,iBACA,cACA,MARA,EASA,aATA,EAUA,SAbA,EAcA,WACA,QAbA,CAcA,CAAK,CACL,WAAgB,OAAQ,GAAG,CA1B3B,EA0B2B,CAC3B,OAjBA,CAkBA,CAAK,EACL,UAAe,QAAI,+BACnB,CAAG,EACH,wBACA,EAA8B,QAAY,EAC1C,cACA,oCACA,iBACA,cACA,MA/BA,EAgCA,aAhCA,EAiCA,SApCA,EAqCA,aACA,QApCA,CAqCA,CAAK,CACL,WAAgB,OAAQ,GAAG,CA3C3B,EA2C2B,CAC3B,OAxCA,CAyCA,CAAK,EACL,UAAe,QAAI,2BACnB,CAAG,EACH,oBAAgD,GAEhD,EAAwB,QAAY,EACpC,cACA,mCACA,iBACA,kBACA,CAAO,CACP,WAxDA,EAyDA,0BACK,EACL,EAAyB,QAA6B,GAAgB,IACtE,qBAAkD,GAElD,EAAyB,QAAY,CAF2B,CAGhE,cACA,oCACA,iBACA,kBACA,CAAO,CACP,WApEA,EAqEA,2BACK,EACL,EAA0B,QAA6B,OACvD,MAAsB,UAAK,IAA2B,OAAQ,EAC9D,MACA,UAAe,QAAI,WACnB,WA3EA,CA4EA,CAAG,IACH,UAA4B,SAAI,GAAqB,OAAQ,GAAG,IAChE,WAAqC,SAAI,GAAiB,OAAQ,GAAG,KAAuC,SAAI,GAAgB,OAAQ,GAAG,IAC3I,CAAK,KAA4B,SAAI,CAAC,IAAU,EAChD,oBACA,iBACA,KACA,UACA,CAAK,EAAiB,SAAI,KAC1B,mBACA,WAtFA,CAuFA,CAAK,EAAgB,SAAI,GAAiB,OAAQ,GAAG,IACrD,WAAqC,SAAI,GAAgB,OAAQ,GAAG,KAAsC,SAAI,GAAiB,OAAQ,GAAG,IAC1I,CAAK,IACF,EACH,CAAC,EE7KM,MAAqD,SAAoB,+BACzE,GAAqC,QAAsB,mGCE5D,GAAS,6MACb,GAAU,eAiBN,GAAiB,IACvB,IACA,EAnBY,MAmBZ,EACA,CAAI,EAQJ,MAAS,QAAc,CAXA,CAKvB,cACA,kCACA,gBACA,sCACA,mCAE+B,GAAoC,EACnE,EACA,GAAkC,SAAM,QACxC,SAHmE,uBAInE,YACA,gCACC,GACD,eACA,oBACA,aACA,eACA,eACA,gBAEA,aACA,YACA,CAAC,EACD,GAA4C,SAAM,QAClD,gCACA,sBACA,0CACC,IACD,QACC,GAAK,OAAQ,EACd,eACA,kBACA,oBACA,iBACA,kBACA,CAAC,qBACD,yCACC,GACD,GAAmC,SAAM,QACzC,gCACA,aACA,gCACA,CAAC,GACD,aACA,CAAC,EACD,GAA8C,SAAM,CAAC,IAAU,EAC/D,gCACA,wBACA,4CACC,GACD,mBACA,WACA,OACA,WACA,CAAK,CACL,OACA,KAAW,GAA4B,eAAgB,IACvD,MADuC,IACvC,gBACA,CACA,CACA,CAAG,EACF,EACD,GAA4C,SAAM,CAAC,GAAiB,CACpE,aADoE,mBAEpE,sBACA,0CACC,IACD,QACC,KACD,uBACA,6CACA,yBACA,CAAC,EAYD,GAA2C,YAAgB,eAC3D,MAAuB,KACvB,EAAgB,KAChB,EAAgB,GAAa,CAC7B,IAH6C,EACrB,EAGxB,eAF6B,gBAG7B,CAAG,EACH,CACA,QACA,YACA,eACA,WACA,gBACA,cACA,UACA,UACA,gBACA,eACA,OACA,mBACA,QACA,UACA,YACA,WACA,YAAkB,iBAAqB,EAAE,eAAmB,EAC5D,CAAM,EACN,EAAY,QAA6B,GAAQ,IAEjD,EAAkB,GAAiB,GACnC,kBAH0D,KAG1D,GACA,EAAgC,KAFG,CAEH,EAAY,EAC5C,cACA,sCACA,iBACA,aACA,sDACA,CAAK,CACL,WAVA,EAWA,6BACG,EACH,wBAEA,EAAwB,QAAY,EACpC,cACA,oCACA,WAlBA,EAmBA,2BACK,EACL,EAA0B,QAA6B,GAAgB,IAGvE,EAA8B,SF/JvB,GACP,QE8JkD,KAH+B,CF3JjF,EACA,UACA,WACC,EACD,MAAgB,KAChB,OAAS,KADe,IACF,MACtB,uBACA,yCACA,qBACA,CAAG,aACH,EEoJkD,GAClD,gBACA,UACA,UACA,CAAG,EACH,EFxJO,YACP,cACA,UACA,WACC,EACD,MAAgB,KAChB,OAAS,KADe,IACF,MACtB,uBACA,wCACA,sBACA,CAAG,aACH,EE6I0D,GAC1D,cACA,UACA,UACA,CAAG,EAeH,+BACA,YAEA,4BACA,MAAsB,UAAK,IAA4B,OAAQ,GAAG,IAClE,WArDA,EAsDA,UAAe,QAAI,WACnB,MACA,UAA4B,UAAK,KACjC,oBACA,QAxBA,KACA,wBAGA,gBACA,8BACM,CAEN,2BACA,OACA,EACA,EAcA,WA3DA,EA8DA,qBACA,2BACA,UAA8B,SAAI,CAAC,GAA0B,CAC7D,mBACA,GAF6D,MAE7D,EACA,SAA+B,SAAI,KACnC,KACA,WArEA,EAsEA,kBACA,UACA,CAAS,CACT,CAAO,kBAAiD,SAAI,GAAmB,OAAQ,GAAG,IAC1F,SAA+B,SAAI,GAAiB,OAAQ,GAAG,IAC/D,CAAO,IACF,EAAgB,SAAI,CAAC,IAAI,EAC9B,aACA,UACA,SACA,SAA6B,SAAI,CAAC,GAAoB,CACtD,QACA,QAFsD,EAEtD,EACA,eA5DA,iCA6DA,qBACA,8BACA,WAhEA,+BAiEA,iBACA,sBACO,CACP,CAAK,GACF,EACH,CAAC,ECpOM,GAAuB,SAAM,SACpC,kBACA,M3BFO,C2BEE,GACT,SADqB,C3BAd,C2BCM,GACb,QADwB,OAExB,uBACA,eACA,CAAC,iBCLD,6FACA,qCACA,qCACO,4BACA,OACkB,QAAa,CARtC,0CAQsC,CACtC,iBACA,CAAG,GACH,GCXO,MAA4C,SAAoB,sBACpC,QAAsB,uDCEzD,IAAM,GAAS,kiBAuBT,GAAiB,IACvB,IACA,UACA,CAAI,EAKJ,MARuB,CAQd,OAAc,CAJvB,CACA,cACA,qDAE+B,GAA2B,EAC1D,EAuBA,GAAyB,SAAM,CAAC,GAAc,CAC9C,GAzB0D,EAyB1D,KAD8C,aAE9C,YACA,gCACC,GACD,eACA,uBACA,O9B9DO,C8B8DG,EACV,CAAC,EACD,GAA4C,SAAM,CAAC,GAA0B,CAC7E,sBAD6E,CAE7E,+BACA,mDACC,IAAI,EAYE,GAAkC,YAAgB,eACzD,MAAgB,KAChB,EAAa,QAAK,EADM,CAExB,EAlDA,cACA,MAAgB,KAChB,EAAuB,KACvB,EAAkC,GAFV,EAGxB,EAAqB,CAFiB,EAEJ,CAClC,QACA,MACA,CAJ4D,EAK5D,MAAS,OAAQ,GAAG,IACpB,sBACA,8BACA,kCACA,uBACA,8BACA,uCACA,oCAAmE,SAAI,SACvE,cACA,EAAK,EACL,QAAa,GAAgB,uBAC7B,QAAa,GAAgB,sBAC7B,CAAG,CACH,EA6BA,qBACA,CACA,YACA,eACA,QACA,eACA,gBACA,gBACA,cACA,WACA,eACA,gBACA,mBACA,oBACA,qBACA,oBACA,OACA,QACA,SACA,YACA,WACA,WACA,UACA,UACA,wBACA,cACA,sBACA,8BACA,kBACA,qBACA,QACA,YACA,UACA,gBACA,oBACA,aACA,cACA,eACA,WACA,CAAM,EACN,EAAY,QAA6B,GAAQ,IACjD,CACA,QACA,QAH0D,UAG1D,EACA,WACA,CAAI,GAAgC,CACpC,oBACA,MAFoC,GAEpC,EACA,QACA,eACA,gBACA,WACA,aAAkB,EAClB,CAAG,EACH,CACA,OACA,SAJwC,CAKxC,cACA,iBACA,eACA,2BACA,CAAI,GAAU,CACd,IADc,CACd,EACA,QACA,SACA,WACA,eACA,YACA,cACA,qBACA,CAAG,EACH,CACA,iBACA,iBACA,oBACA,eACA,qBACA,kBACA,gCACA,CAAI,GAAkB,CACtB,QACA,IAFsB,UAEtB,EACA,mBACA,gBACA,UACA,UACA,oBACA,cACA,gBACA,UACA,CAAG,EAGH,WACA,WACA,MAAyB,EAAG,aAC5B,YACA,sBAAkD,GAClD,GAA8B,QAAY,EAC1C,KAFuE,OAEvE,GACA,oCACA,iBACA,QACA,OACA,6BACA,eACA,yBACA,WACA,WACA,CAAO,EACP,WACA,WACA,WACA,cACA,gBACA,mBACA,WACA,UACA,CAAK,CACL,YACA,CAAG,EACH,GAAgC,QAAgB,KAChD,wBACA,kBACA,QAAyD,GAAsB,CAC/E,QACA,OACA,GAH+E,KAG/E,oBACA,2BACA,cACA,gBACA,kBACA,UACA,CAAK,IACL,GACA,eACA,SAEA,IACA,OAEA,QACA,CAAG,EACH,GAA+B,QAAgB,KAC/C,uBACA,iBACA,QAAyD,GAAsB,CAC/E,QACA,OACA,GAH+E,KAG/E,oBACA,2BACA,cACA,gBACA,kBACA,UACA,CAAK,IACL,GACA,eACA,SAEA,IACA,OAEA,QACA,CAAG,EACH,GAAkC,QAAgB,IAClD,EAEA,EAA+B,GAAgB,uBAE/C,iBAEE,WAAe,MACjB,uBACA,KAEA,CAAG,MAGH,CAHe,GAGf,GAAkB,GADlB,GAEA,IACA,cACA,MAHmC,QAGnC,EACA,UACA,SACA,EACA,IACA,wBACA,WACA,WACA,WACA,eACA,QACA,WACA,EACA,GAA0B,QAAY,IACpC,WAAe,MAGjB,iBAGA,gBACA,QAEA,aACA,CAAG,UACH,OAAuB,SAAa,cACpC,MAAsB,UAAK,IAAmB,OAAQ,EACtD,MACA,UAAe,QAAI,YACnB,WAjCA,CAkCA,CAAG,IACH,UAA4B,SAAI,IAAiB,OAAQ,GAAG,KAC5D,QACA,WACA,CAAK,GAAiB,SAAI,KAC1B,mBACA,qCACA,WACA,WA1CA,EA2CA,SAA6B,UAAK,QAClC,sBAAmD,SAAI,CAAC,GAAc,OAAQ,EAAV,CAAa,QACjF,QACA,YACA,oBACA,YACA,mCACA,aACA,cACA,gBACA,CAAS,gBAAqC,SAAI,CAAC,GAAe,OAAQ,GAAG,QAC7E,YACA,YACA,QACA,YACA,qBACA,oCACA,eACA,gBACA,CAAS,cAAmC,SAAI,CAAC,GAAa,OAAQ,GAAG,WACzE,gCACA,sBACA,mBACA,gBACA,wBACA,oBACA,qBACA,oBACA,YACA,kCACA,8BACA,kBACA,qBACA,oBACA,UACA,eACA,CAAS,GACT,CAAO,CACP,CAAK,GACF,EACH,CAAC,ECxVM,KACP,OACA,eACA,QACA,cACA,sBACA,QACA,eACA,gBACA,WACA,YACA,UACA,gBACA,cACA,UACA,UACA,oBACA,qBACA,oBACA,mBACA,gBACA,eACA,eACA,aACA,cACA,QACA,YACA,UACA,gBACA,wBACA,WACA,WACA,8BACA,qBACA,KACA,YACA,kBACA,oBACA,WACC,GAAkB,SAAI,CAAC,GAAY,CACpC,OACA,CAFoC,YAEpC,EACA,eAAsB,IACtB,YADsC,GACR,GAAgB,UAC9C,GAD8C,iBAC9C,EACA,QACA,eACA,gBACA,WACA,YACA,UACA,gBACA,cACA,UACA,UACA,oBACA,qBACA,oBACA,mBACA,gBACA,eACA,eACA,aACA,cACA,QACA,YACA,UACA,gBACA,wBACA,WACA,WACA,8BACA,qBACA,KACA,YACA,kBACA,oBACA,UACA,CAAC,ECjFM,KACP,OACA,SACA,UACC,IACD,MAAgC,QAAY,8BAC5C,MAAsC,UAAc,KAuBpD,OAnBE,WAAe,MACjB,MACA,uBACA,kFAEA,IACA,CACA,CAAG,QAYH,CACA,SACA,UAboB,aAAiB,KACrC,GACA,KAEA,MACA,IAEA,OACA,GAEA,CAAG,SAIH,CACA,EEvBA,OACA,IACA,SACA,aACA,YACA,eACA,CAAI,EACJ,yCAGA,+BAGA,8BAGA,4DAGA,yBAEA,2DAQA,kCALA,MAGA,uBADA,EAYA,EAOA,OACA,IACA,SACA,aACA,YACA,eACA,gBACA,CAAI,EACJ,yCACA,8BAGA,4DAGA,wBAEA,4DAGA,KAGA,wBAEA,iCACA,sDAGA,EAKA,OACA,IACA,SACA,gBACA,CAAI,QACJ,gCAGA,4BACA,+BAEA,iCACA,8BAGA,EAKO,KACP,QACA,eACA,YACA,iBACA,YACC,IACD,IACA,WACA,WACA,QACA,eACA,8BACA,WACA,gBACA,CAAI,EACJ,CACA,UACA,CAAI,EAAE,MAAY,IAClB,CACA,UACA,CAAI,EAAE,MAAY,aAClB,MAA0D,UAAc,IAiBxE,EAAgB,KAChB,EAAkB,KAClB,CACA,IAHwB,GAGxB,EACA,OAHwC,GAGxC,EACA,CAAI,GAAc,GAClB,CACA,KAFkB,IAElB,EACA,QACA,oBACA,CAAI,GAAsB,CAC1B,WACA,KAF0B,CAE1B,EACA,eACA,gBACA,WACA,cACA,CAAG,EACH,MAAoC,UAAc,MAClD,MAQA,OACA,MAPA,EADA,WACA,EACM,WACN,EAEA,aAIA,qBACA,qBACA,sBACA,4BACA,CACA,CAAG,EACH,2BACA,QACA,KACA,aACA,KAA2B,OAAQ,GAAG,IACtC,gCACA,CAAO,IAGP,IACA,gCACA,CDlLO,YACP,CCiLmB,EDjLnB,CACA,QACA,YACA,QACA,WACA,UACA,CAAI,EACJ,EAAkB,KAClB,EAAqC,QAAY,OADT,QACS,oBACjD,KACA,UACA,QACA,WACA,OACA,CAAG,EACH,6BAeA,OAdE,WAAe,MACjB,6CACA,OAEA,WACA,CAAG,YASH,CACA,kBACA,qBACA,8BAXwC,QAAgB,IACxD,GACA,UACA,QACA,WACA,OACA,CAAK,EAML,CACA,EC8ImB,CACnB,QACA,YACA,WACA,cACA,kBACG,EACH,EAAqB,QAAgB,KACrC,OACA,SACA,YACA,6CACA,eACA,eACA,EACA,QACA,QACA,QACA,KAAyB,OAAQ,GAAG,IACpC,cACA,kDACA,kDACA,4BACA,CAAK,GACL,WACA,OACA,IAEA,GACA,gBAFA,iEAGA,EACA,iCACA,yBAGA,GAEA,GACA,eAEA,MACA,eAEA,GACA,KAEA,CAAG,EACH,8BACA,oCACA,KAAyB,OAAQ,GAAG,IACpC,qBACA,CAAK,MAAgC,CACrC,qBACA,qBACA,QACA,4BACA,CAAK,EACL,CACA,MAAsB,QAAgB,MACtC,GACA,mBACA,0BACA,oBACA,CAAK,CACL,CAAG,EACH,EAAuB,QAAgB,MACvC,GACA,2BACA,0BACA,qBACA,CAAK,CACL,CAAG,EACH,EAAwB,QAAgB,MACxC,GACA,2BACA,0BACA,sBACA,CAAK,CACL,CAAG,EACH,EAAuB,QAAgB,MACvC,GACA,2BACA,0BACA,qBACA,CAAK,CACL,CAAG,EACH,EAAyB,QAAgB,MACzC,GACA,6BACA,0BACA,oBACA,CAAK,CACL,CAAG,EACH,EAAqB,QAAgB,KACrC,mBACA,KACA,CAAG,EACH,EAAsB,QAAgB,KACtC,oBACA,KACA,CAAG,EACH,EAAuB,QAAgB,qBACvC,wBACA,QACA,gBACA,CAAG,GACH,EAA+B,QAAgB,aAC/C,4BACA,QACA,mBACA,UACA,CAAG,GACH,EAAgC,QAAgB,WAChD,yBACA,QACA,SACA,CAAG,GACH,GACA,UACA,WACA,YACA,WACA,aACA,SACA,SACA,EACA,GACA,cACA,UACA,EACA,EAAoB,SAAa,4CAgBjC,EAAyB,OAAQ,GAAG,IACpC,QACA,WACA,mBACA,QAbA,IACA,SACA,UACA,QACA,WACA,OACA,CAAK,EACL,oBACA,CAMA,CAAG,EACH,EAAuB,SAAa,OACpC,SACA,UACA,MACA,EAAG,UACH,OACA,OACA,aACA,UA7BA,CACA,QACA,WACA,UACA,MACA,EAyBA,cACA,UACA,cACA,CACA,ECtWM,GAAS,mBAyBR,CAzBQ,EAyBR,EACP,QACA,uBACA,sBACA,gBACA,sBACA,WACC,IACD,IACA,WACA,OACA,UACA,CAAI,EACJ,CACA,OACA,QACA,SACA,eACA,gBACA,WACA,CAAI,EACJ,EAA+B,QAA6B,GAAQ,IACpE,CACA,OACA,UACA,CAJ6E,WAI7E,EACA,cACA,iBACA,0BACA,CAAI,GAAU,CACd,IADc,CACd,EACA,QACA,SACA,WACA,eACA,WACA,CAAG,EACH,CACA,YACA,iBACA,CAAM,SAAa,sBACnB,MAUA,OARA,EADA,WACA,KAEA,QAEA,sBACA,UACA,iBAEA,CACA,CAAG,EACH,aACA,iBACA,CAAG,SACH,EAAyB,SAAa,qBACtC,YAAgD,GAAU,GAC1D,IAD0D,EAIvD,UACH,OACA,EAA6B,QAAgB,eAC7C,MAAsC,UAAc,yBACpD,oBACA,KAEE,OAAiB,MAEnB,iBACA,IACA,gBACA,mCAGA,yBACA,CAAO,EAEP,CAAG,MAED,CAFY,EAEZ,IAAiB,MACnB,MACA,OAEA,OAGA,uBACA,MAIA,iCACA,MAEA,OACA,KAEA,OACA,CAAG,MAOH,CAPc,UAQd,EACA,qBACA,YARA,CACA,QACA,OACA,cACA,EAKA,uBACA,WACA,YAEA,WACA,WACA,YAEA,MAA4B,OAAQ,GAAG,QACvC,QACA,WACA,WACA,OACA,eACA,cACA,sBACA,qBACA,gBACA,CAAO,SACP,EACA,SAEA,IACA,CACA,CACA,EEhKA,oBACA,2BACA,WAEA,0EACA,sEAIA,oBACA,gEAGA,CACO,eACP,SAAwC,UAAc,WACpD,OAAiB,MACnB,WACA,OACA,EAEA,OADA,+CACA,KACA,iDACA,CACA,CAAG,MACG,SD3BC,IC2BY,QD1BnB,iBACA,8BAEA,iBACA,ECsBmB,kCAKnB,cADA,MAEA,ECtBO,KACP,QACA,uBACA,uBACA,iBACC,IACD,IACA,cACA,CAAI,EACJ,EAAsB,GAAc,WACpC,EAAgB,OAAM,GAQtB,OACA,Y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AY,OAAQ,GAAG,SAOlF,CACA,EC5HM,GAAiB,IACvB,IACA,cACA,MAHuB,EAGvB,EACA,CAAI,EAKJ,MAAS,QAAc,CAJvB,CACA,6BACA,mCAE+B,GAA4B,EAC3D,EACO,GAA0B,SAAM,QACvC,CAH2D,IAG3D,mBACA,YACA,gCACC,GACD,eACA,+CACA,4CACA,OAAS,GAAoB,UAAW,IACxC,GAD6B,QAC7B,QACA,SACA,CAAG,CACH,WACA,OACA,cACA,CAAK,CACL,OACA,OAAa,GAAoB,QAAS,IAC1C,KADiC,MACjC,EACA,eACA,CAAO,CACP,KAAW,GAAoB,UAAW,IAC1C,GAD+B,QAC/B,QACA,SACA,CACA,CACA,CAAG,EACH,OACA,eACA,QACA,CAAK,CACL,OACA,OAAa,GAAoB,QAAS,IAC1C,KADiC,MACjC,CACA,CACA,CACA,CAAG,EACH,OACA,cACA,CAAK,CACL,OACA,OAAa,GAAoB,QAAS,IAC1C,KADiC,MACjC,QACA,SACA,CAAO,CACP,OAAa,GAAoB,UAAW,IAC5C,GADiC,QACjC,EACA,eACA,CACA,CACA,CAAG,EACH,OACA,eACA,QACA,CAAK,CACL,OACA,OAAa,GAAoB,UAAW,IAC5C,GADiC,QACjC,CACA,CACA,CACA,CAAG,EACF,EACM,GAAoC,SAAM,QACjD,wBACA,sBACA,0CACC,GACD,aACA,UACA,eACA,sBACA,CAAC,EAUD,GAAmC,YAAgB,eACnD,MAAgB,GAAa,CAC7B,QACA,eAF6B,QAG7B,CAAG,EACH,CACA,UACA,UACA,OACA,YACA,YACA,CAAI,GAAiB,GACrB,CACA,KACA,YACA,KAJqB,OAIrB,EACA,iBACA,CAAI,EACJ,EAAkB,GAAiB,GACnC,MAAsB,UAAK,KAC3B,MACA,KACA,UAAe,QAAI,WACnB,aACA,sBAAkG,SAAI,KACtG,2BACA,uBAA4D,UAAK,CAAC,UAAc,EAChF,eACO,EAAiB,UAAK,CAAC,UAAc,EAC5C,eACO,CACP,CAAK,KACF,CACH,CAAC,ECrIK,GAAS,gBASf,GAA2B,EATZ,CASY,MAAM,CAAC,IAAa,EAC/C,OAD+C,CAE9C,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A,CAiDA,QACA,SACA,UACA,OACA,QACA,OACA,WACA,UACA,OACA,OACA,OACA,OACA,UACA,UACA,OACA,aACA,OACA,OACA,OACA,OACA,OACA,UACA,OACA,OACA,SACA,OACA,UACA,MACA,EACA,IACA,gBACA,qBACA,YACA,mBACA,cACA,eACA,gBACA,UACA,sBACA,QACA,iBACA,cACA,mBACA,gBACA,kBACA,iBACA,aACA,qBACA,iBACA,iBACA,YACA,SACA,aACA,iBACA,cACA,YACA,cACA,gBACA,iBACA,kBACA,gBACA,eACA,aACA,gBACA,gBACA,cACA,eACA,eACA,WACA,gBACA,gBACA,gBACA,gBACA,gBACA,kBACA,kBACA,kBACA,kBACA,gBACA,iBACA,mBACA,aACA,gBACA,aACA,WACA,eACA,aACA,iBACA,gBACA,iBACA,eACA,cACA,eACA,gBACA,mBACA,iBACA,oBACA,aACA,cACA,eACA,mBACA,cACA,cACA,cACA,cACA,gBACA,gBACA,gBACA,eACA,eACA,iBACA,aACA,YACA,iBACA,aACA,gBACA,eACA,oBACA,SACA,eACA,gBACA,gBACA,cACA,iBACA,aACA,kBACA,oBACA,iBACA,kBACA,iBACA,oBACA,UACA,gBACA,cACA,iBACA,eACA,iBACA,cACA,mBACA,gBACA,eACA,oBACA,mBACA,iBACA,cACA,aACA,cACA,iBACA,eACA,qBACA,YACA,kBACA,eACA,mBACA,eACA,mBACA,eACA,iBACA,eACA,gBACA,eACA,aACA,cACA,cACA,cACA,gBACA,gBACA,aACA,WACA,eACA,gBACA,YACA,eACA,aACA,cACA,mBACA,YACA,cACA,EAiCA,0GAiCA,uDACA,qDAaA,mBACA,MACA,WACA,oDACA,EAjUA,MAiUA,EAlUA,eAmUA,SACA,SACA,SAEA,CACA,iBACA,4BAAsC,KACtC,CACA,eACA,OAAW,mBAYX,OAXA,iBACA,cACA,GAAW,4BACX,YACA,gBAIA,SAAsB,iBAAuB,EAC7C,UAEA,CACA,CAOA,SACA,mBAKA,EAJA,mBACA,SAEA,cAEA,cACA,QACM,cACN,GAjcA,YACA,IACA,EADA,WAmBA,MAjBA,aACA,aACA,GACA,kBACA,kBACA,kBACA,uBACA,EACM,gBACN,IACA,uBACA,uBACA,uBACA,gCACA,IAGA,CACA,EA4aA,IAzGA,YACA,GAEA,CADA,kBAhBA,UAHA,SACA,kBACA,kBAEA,QAAc,WAAiB,KAE/B,QADA,SACgB,WAAkB,IAClC,OACA,qBAEA,qBACA,gCAEA,QACA,GAKA,EACA,uBAEA,yBACA,WACA,OACA,OACA,OACA,uBACA,CACA,EA6FA,aAhBA,SACA,kBA3EA,gBAGA,MAFA,iBACA,MAEA,MAGA,aACA,YACA,4BACA,CAOA,OANA,QACA,QACA,QAIA,CACA,EAJA,+BAKA,EAJA,+BAKA,EAJA,+BAKA,GACA,EACA,EAqDA,GAhVA,gBAGA,EAFA,iBACA,MAEA,MACA,MAEA,WACA,6BAEA,gBACA,YACA,YAQA,OACA,GAPA,EADA,aArBA,MAsBA,OACI,aApBJ,MAqBA,OA3BA,MA6BA,OAGA,IACA,OACA,OACA,GACA,CACA,EAwTA,EACA,EAWA,IAEA,YACA,eACA,CACA,YACA,mBAEA,UACA,oBAIA,OAHA,GACA,cAEA,CACA,CACA,WACA,eACA,CACA,gBApFA,EAqFA,mBApFA,CADA,EAqFA,YAnFA,SACA,QAAgB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,QAAS,GACjD,OAAe,IAAI,IAAI,IAAI,IAAI,IAAI,IAiFnC,MACA,CACA,gBA/bA,EACA,EA+bA,oBA/bA,KADA,EAgcA,WA/bA,MACA,EACA,mCACA,QA4bA,MACA,CACA,YACA,4BApVA,GACA,MACA,OAEA,YACA,OACA,WACA,WACA,eACA,QAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,QAAS,GAC3C,OAAa,EAAE,IAAI,EAAE,KAAK,EAAE,KA0U5B,iBACA,CACA,SACA,UAGA,EAFA,eACA,QAEA,aACA,QACA,UACA,kCACA,MACA,uBACA,uBACA,uBACA,oBACA,UACA,CACA,YAEA,iBAIA,OAHA,GACA,oBAvGA,OACA,kBACA,cACA,cACA,OACA,8BACA,8BACA,8BACA,iBACA,CACA,EA6FA,qBAEA,KAEA,QACA,uBACA,CACA,SAEA,OADA,kBACA,KAEA,WACA,gBAEA,OADA,SACA,KAEA,YACA,gBACA,EAAgB,GAAK,wBAErB,OADA,cACA,KAEA,WACA,gBAEA,OADA,SACA,KAEA,SACA,gBAIA,OAHA,YACA,YACA,YACA,KAEA,WAEA,OADA,kBACA,KAEA,UAEA,OADA,mBACA,KAEA,YAEA,OADA,kBACA,KAEA,cAEA,OADA,mBACA,KAEA,cApaA,EACA,EAqaA,MApaA,CADA,KADA,EAqaA,WAnaA,YAmaA,GAlaA,EAzCA,MAyCA,EA1CA,eA2CA,SACA,SACA,SAgaA,KAEA,CC1jBA,SAAa,KACb,CAGA,aACA,CALiB,GAKjB,IACA,aACA,CAAC,IAKD,eACA,cACA,CAKA,eACA,mCACA,SAEA,8CACA,gDAIA,CAKA,eACA,sEACA,CAIA,eACA,6DACA,CAKA,iBACA,gBACA,CAKA,iBACA,qBACA,CACA,yEACA,qEAOA,mBACA,gCACA,mBAEA,CACA,qBACA,UACA,UAEA,GADA,WACA,EACA,UAA6B,KAAQ,IACrC,sBAGA,QAAuB,IAAS,IAChC,sBAGM,SAGN,QADA,EADA,mBACA,OACmB,IAAS,IAC5B,sBAGA,CAMA,iBACA,YACA,+BACA,SAEA,mBAAiC,IAAU,IAG3C,GAFA,OACA,OACA,mDACA,SAGA,QACA,CAIA,SAAa,GAAK,GAClB,SACA,MAFkB,CAElB,MAA0B,IAE1B,UACA,OAH+B,MAG/B,aACA,iBACA,WACA,IACA,KAAc,IAAU,IACxB,QAA8B,GAAK,SAEnC,QACA,CACA,QACA,CACA,eACA,aACA,YACA,YACA,cACA,WACA,CAKA,qBACA,UACA,OAEA,WACA,OACA,aAEA,UAEA,KAAsB,GAAK,EAE3B,CACA,eAH2B,CAG3B,OAUA,EATA,eACA,EACA,CACA,WACA,UACA,SAGA,OADA,SACA,WAEA,YAAmB,IAAU,KAE7B,OADA,QAEA,SAEA,qBACA,uBAA2C,IAAU,IACrD,aAEA,CACA,QACA,CACA,iBAEA,eACA,SACA,CAAK,CACL,CAIA,mBACA,UACA,OAEA,WACA,OACA,aACA,QACM,2CACN,MAAsB,GAAK,GAE3B,CASA,QAEA,MAb2B,EAe3B,SACA,UA+BA,iBAEA,MADA,wBAbA,GACA,eAhBA,GACA,mBACA,KACA,KACA,eAEA,CADA,MACA,eACA,qBAEA,UACA,MAGA,QACA,EAEA,GACA,WACA,gBACA,UACA,MAEA,UAEA,QACA,CACA,EAEA,KACA,EACA,CAGA,eACA,2CACA,CACA,qBACA,2BAEA,WACA,mBACA,SAEA,eACA,aACA,SAGA,QACA,EAWA,WACA,QACA,SACA,4BACA,UACA,QACA,QACA,UACA,cACA,aACA,mBACA,sBACA,CAGA,eACA,oBAEA,4BADA,uBAEA,MAEA,MADA,0BACA,CACA,CAoBA,eACA,wCACA,CAOA,mBACA,UACA,mBAAoC,IAAU,IAE9C,MADA,aAEA,wBACA,wBAGA,CACA,eACA,eACA,CACA,eACA,eACA,CAOA,eACA,UACA,OAEA,QACA,IACA,4BACA,MACA,IAEA,QACA,CAEA,iBACA,cACA,UACA,qBACA,kBAIA,OAHA,UACA,QAEA,CAFsB,MAGtB,EACA,UACA,CACA,CACA,iBACA,yDACA,CAIA,iBACA,oBACA,CAIA,eACA,kBACA,CAGA,qBACA,YACA,QACA,QACA,UACA,UACA,UACA,UACA,uCACA,CAOA,mBACA,gCACA,CAaA,0BACA,6CACA,CAEA,uBAIA,EAHA,iBACA,iBACA,IAEA,YAEA,EADA,UAEA,IAEA,IAGA,OACA,KACA,IACA,CACA,CAQA,+BACA,cACA,gCACA,EAAM,cAON,kCAkBA,IACA,OACA,MACA,QACA,SACA,UACA,CAiCA,iBACA,iBACA,MACA,OAEA,kBACA,cACA,SACA,cAEA,aAGA,eACA,YACK,EACL,kBACA,CAGA,eACA,wBACA,kBACA,EAEA,aACA,CAOA,OACA,2BACA,YACA,UACA,EAEA,6BAKA,iBACA,SACA,KACA,sBAEA,IACA,IACA,KACA,oBACA,KACA,YACA,CAAa,EAEb,CACA,CAkBA,wDAIA,8CAIA,cAEA,IADA,mBACA,yBAKA,mBACA,eACA,IACA,IACA,cACA,WAAgB,aAAoB,EACpC,SACA,KAAgB,mCAAuC,kBACvD,GACA,eACA,aACA,8CAGA,EADA,EACA,YACA,uBACA,kDAEA,GAEA,CACA,OACA,QACA,OACA,CACA,CAMA,eACA,IAAY,kCAAkC,EAC9C,GACA,WACA,WACA,WACA,YAEA,MAEA,OADA,iBACA,GAEA,qEAEA,OADA,mBACA,CACA,CAEA,uBACA,0DACA,qDAKA,IACA,YACA,kBACA,wBACA,oDACA,qBACA,6BACA,uDACA,uBACA,kCACA,4DACA,yBACA,iCACA,+DACA,gCACA,8BACA,wCACA,2CACA,4CACA,wFACA,2CACA,qCACA,iFACA,uCACA,wCACA,oBAGA,uBAFA,MACA,KACA,eAFA,MACA,KAGA,cAEA,eADA,OACA,EAEA,eAEA,oBADA,OACA,IAEA,iBACA,oBACA,UACA,8BAEA,oCACA,CAAK,CACL,wCACA,iBAGA,qBACA,WAEA,oBALA,OAMA,6BAEA,oBARA,OASA,+BAEA,wCAEA,6EACA,EAEA,eACA,0BACA,mBACA,iEACA,CACA,QACA,CACA,eACA,mBAAoD,GAAK,GAEzD,eACA,mBAAoD,GAAK,sCACzD,CAEA,QACA,IACA,IACA,cACA,SACA,UACA,CACA,IACA,QACA,cACA,kBACA,CA+EA,WAWA,mBACA,OAXA,cAEA,uBADA,SAEA,YAKA,OAJA,IACA,6BACA,aAEA,EACA,EAEA,cACA,CAEA,QACA,UACA,aAEA,mBAKA,EAJA,SACA,UAEA,gCAEA,IACA,mBAoCA,EAnCA,mEACA,kBACA,iBAkCA,SADA,EA/BA,EA+BA,SA/BA,CA+BA,UA/BA,CA+BA,kCACA,kBAhCA,IAiCA,GAjCA,EAiCA,WAjCA,EAiCA,EAjCA,EAmCA,CAlCA,CACA,sBACA,uDACA,GACA,WACA,wBACA,uBACA,EAEA,OADA,2CACA,SACA,CAAK,CACL,0BACA,MACA,IAGA,CACA,EACA,EACA,EACA,EACA,GACA,GACA,UARA,qDAQA,cACA,4BAEA,EACA,CACA,EAQA,QACA,aACA,EA0EA,2BACA,uBACA,iBACA,MACA,SAEA,mBACA,uBAAoC,IAAO,KAC3C,WACA,kCACA,CACA,QACA,CACA,yBACA,mBACA,cAEA,cACA,CACA,SACA,iBACA,sBACA,uCACA,mCACA,kBACA,iBACA,gEACA,iBACA,aACA,YACA,WACA,QACA,aACA,YACA,CACA,WACA,4DACA,QACA,eACA,eACA,WACA,EACA,cACA,uDACA,+CACA,mCACA,mBACA,kBACA,eACA,aACA,mBACA,EACA,4BACA,kBACA,kBACA,gBACA,gBACA,mBACA,kBACA,eACA,iBACA,gCACA,iBACA,aACA,CACA,SACA,mBACA,CACA,OACA,iBACA,CACA,cACA,iBACA,CACA,cACA,iBACA,CACA,eACA,iBACA,aACA,QACA,2BACA,KACA,WACA,WACA,CAAa,CACb,KACA,cACA,MACA,cACA,cACA,MACA,gBAA+C,MAE/C,OACA,CAAiB,CACjB,OACA,SACA,CACA,CACA,CAAS,CACT,CACA,SACA,qBACA,CACA,CACA,eACA,mCACA,2BACA,OACA,uBACA,CAAK,CACL,aACA,eACA,aACA,CACA,CAAC,EAlVD,YACA,mBACA,aACA,aACA,sBACA,UACA,YACA,YACA,UACA,WACA,CAAK,EACL,wBACA,aACA,cACA,2DACA,CAAK,EACL,oBACA,QACA,aACA,aACA,CAAS,CACT,SACA,cACA,aACA,CACA,CAAK,EACL,yBACA,qBACA,CAAK,EACL,qBACA,QACA,WACA,YACA,CACA,CAAS,CACT,QACA,WACA,UACA,CACA,CAAS,CACT,MACA,YACA,QACA,kBACA,CAAiB,CACjB,SACA,eACA,UACA,CACA,CACA,CAAS,CACT,MACA,YACA,QACA,gBACA,CAAiB,CACjB,SACA,eACA,gBACA,SACA,CACA,CACA,CACA,CAAK,CACL,EAEA,YACA,gBACA,eACA,SACA,MACA,QACA,SACA,MACA,CACA,CAAK,CACL,EA0EA,YACA,eACA,WACA,UACA,WACA,eACA,eACA,QACA,QACA,MACA,WACA,YACA,mBACA,aACA,aACA,6BACA,yBACA,SACA,CAAS,CACT,QACA,WACA,QACA,aACA,OACA,CAAS,CACT,OACA,WACA,QACA,SACA,MACA,QACA,CACA,CAAS,CACT,OACA,cACA,eACA,UACA,kBACA,mBACA,UACA,WACA,YACA,kBACA,cACA,8BACA,QAAqB,CACrB,QAAqB,CACrB,eACA,kBACA,qBACA,0CACA,iBACA,CACA,CAAK,EACL,0CACA,+CACA,iDACA,0CACA,oBACA,aACA,6FACA,gEACA,CAAK,EACL,qBACA,iBACA,CAAK,EACL,0BACA,qDACA,mCACA,CAAK,CACL,EA0HA,EAeA,uBACA,WAQA,OAPA,IACA,8BACA,WAEA,KACA,MAEA,CACA,CAoDA,mBACA,gCACA,2BACA,8BACA,CAGA,iBACA,SAIA,CADA,yBACA,OAGA,mBACA,kCACA,YACA,CACA,qBAEA,gBACA,CAEA,2BACA,gBACA,mBACA,aACA,WACA,YACA,0BAEA,+BADA,kBACA,mCACA,SACA,iBACA,YACA,uDACA,YACA,MACA,CAEA,uBAIA,OADA,cACA,GAEA,QACA,EACA,4BAEA,kBAEA,cACA,KACA,gBACA,UACA,0CACA,MACA,0CACA,MACA,0CACA,cACA,KACA,mBAQA,SAEA,iBADA,QAEA,6BACA,mBACA,6BACA,2BACA,wBACA,wBACA,2BACA,cACA,KACA,YACA,OACA,iBACA,UACA,wBACA,KACA,CACA,KACA,eACA,wBACA,gBACA,gBACA,wBACA,kBACA,kBACA,kBACA,kBACA,cACA,KACA,gBACA,KACA,aACA,wBACA,gBACA,gBACA,wBACA,kBACA,kBACA,kBACA,kBACA,KACA,YACA,wBACA,gBACA,gBACA,wBACA,kBACA,kBACA,kBACA,kBACA,MACA,wBACA,gBACA,gBACA,wBACA,kBACA,kBACA,kBACA,kBACA,KACA,YACA,sBACA,gBACA,kBACA,kBACA,KACA,YACA,cACA,kDACA,KACA,QACA,aAEA,CACA,SACA,iBACA,WAEA,CAOA,mBAEA,OADA,QACA,EAD4B,EAC5B,2DACA,CACA,iBACA,SACA,cACA,mDACA,QACA,CACA,eACA,WACA,CAGA,uBACA,MACA,yBAEA,iBACA,kBACA,gBACA,eACA,EAAM,oBACN,kBAEA,kBAEA,iBACA,CAGA,qBACA,MACA,yBAEA,wFACA,CAgDA,0BAAwD,MAKxD,IAJA,eACA,EACA,CACA,sCAKA,IAHA,SACA,gBACA,EAtDA,aACA,+CAEA,gBACA,qBAEA,SACA,aA+CA,EA/CA,OA+CA,EA7CA,WACA,0BAEA,gBACA,CAyCA,EAzCA,6BA0CA,IAAe,WAAkB,IACjC,OACA,YACA,SApBA,KACA,kBACA,oBACA,0CACA,aACA,EAeA,cAEA,IACA,eACA,8BAEA,mBACA,4BAEA,gCAEA,6BArDA,oBACA,iCAOA,uBACA,4BACA,6BACA,8BACA,+BACA,2BACA,2BACA,cACA,iCACA,cACA,cACA,UACA,CACA,EAiCA,WACA,wBAEA,WACA,CAKA,iBACA,MAAY,wBAA0B,EAEtC,sDAEA,6BAEA,6DAEA,gCAEA,iEAEA,2BAEA,uDAEA,uBACA,CAEA,8CACA,2EA0BA,YACA,iBACA,SACA,QACA,qBACA,4CACA,eACA,cAEA,QACA,CAQA,eACA,aACA,QACA,UACA,WACA,QACA,CAAK,CACL,CAOA,eACA,aACA,UACA,WACA,aACA,cACA,CACA,CAQA,eACA,YAGA,OAFA,uBACA,wBACA,CACA,CAOA,iBACA,QACA,aACA,uBACA,qBACA,mBAEA,0BACA,uBACA,sDACA,UAEA,OACA,6BACA,WAxFA,cACA,uBACA,uBACA,aAGA,OADA,QACA,MACA,SACA,QACA,SACA,MAEA,CACA,UACA,EA0EA,iCACA,OACA,QACA,6BACA,SACA,EAEA,OADA,SAxdA,CAwdA,GAxdA,yBACA,KAEA,mCAqdA,EArdA,eAqdA,EArdA,oBAsdA,CACA,CAWA,qBACA,IACA,MADA,KAEA,mBAAqC,IAAU,IAE/C,YADA,WAIA,mCACA,OACA,MAEA,oBACA,gBACA,MAEA,YAIA,OAHA,OACA,iBAEA,CAGA,CAeA,iBACA,wCACA,CAWA,iBACA,GACA,iBACA,WAgBA,OAfA,YACA,sBAcA,UAZA,CACA,8BACA,cACA,UACA,cACA,YACA,aACA,gBACA,KACA,EACA,OACA,EACA,CAGA,uBACA,YACA,CADiC,MACjC,QACA,CADiC,MACjC,QACA,CADoC,GAKpC,WACA,qBAyOA,SACA,MACA,eAEA,YADA,kBAEA,4BAGA,GAjPA,UAKA,gCACA,iDAIA,mBACA,6BAIA,WACA,kBAIA,WACA,MAIA,WACA,mCAGA,OAFA,YACA,KADkD,EAClD,QACA,CADiC,CAEjC,CACA,CAAK,CACL,CAQA,qBAWA,iBAVA,CACA,cACA,SACA,WACA,YACA,eACA,qBACA,0BACA,mCACA,EACA,CAGA,uBACA,YACA,CADiC,MACjC,KACA,CADgC,GAKhC,aACA,YA6DA,gBACA,WAAY,yCAA6D,EACzE,OAYA,CAZ8B,MAE9B,0BACA,GAWA,kBACA,WAAY,mCAA0C,EACtD,YACA,oEAEA,SACA,gBAMA,OALA,YACA,SAEA,wBAEA,CACA,EAxBA,UAEA,iBACA,GAsBA,kBACA,WAAY,yCAA6D,EACzE,0BACA,2BACM,aAEN,QACA,6BAEA,aADA,KACA,IACA,kBACA,yBACA,CACA,CACA,QACA,EArCA,sBAEA,SAEA,sBAEA,EACA,EA5EA,QAKA,gCACA,yCACA,cACA,eACA,EAAc,6CAId,mBACA,0BAIA,WACA,iBAIA,YACA,mBAIA,cACA,OACA,KADiC,EACjC,KACA,CADiC,EAGjC,CAAK,CACL,CAGA,iBACA,cACA,YACA,CAAC,EACD,gBAAY,8DAAkG,EAC9G,OACA,UACA,aACA,YACA,2BACA,yBACA,CACA,CACA,0BACA,2FACA,mBACA,gEACA,YAEA,UAGA,OADA,OACA,CACA,CAkDA,yDAoBA,yBAvBA,EAwBA,oBACA,EAxBA,GADA,EAyBA,aAxBA,EAwBA,KAxBA,EAyBA,MACA,KACA,EACA,CACA,UACA,SACA,8BACA,UAGA,oBAEA,OADA,iBADA,GAMA,kBACA,GACA,UAQA,gBACA,qBACA,QACA,UAEA,kBACA,aAEA,EAEA,MACA,EAnBA,OACA,CACA,uBACA,QACA,WA5CA,WACA,gBACA,cACA,UAPA,EAQA,SACA,MARA,GADA,EASA,aARA,EAQA,KARA,EASA,4BAGA,QAEA,EAAU,iCAGV,WAEA,CACA,QACA,EA0BA,WAEA,QACA,CAsBA,iBACA,gBACA,MACA,SAEA,WACA,cACA,QAEA,CACA,CACA,eACA,cAIA,OAHA,GACA,oBAIA,GACA,cACA,eACA,0DACA,SAGA,oBACA,EAZA,YAEA,CACA,CAUA,yBAIA,MAHA,WAAY,GAAU,EACtB,KAAY,OAAY,cACxB,WAEA,QAA6B,EAA7B,EAAuC,IAEvC,IADA,MACA,CACA,MACA,oBACA,EAEA,QACA,CAEA,6BACA,uCACA,sBA+GA,mBACA,gCACA,CAyDA,cACA,8DACA,CAGA,eACA,mBAIA,OAHA,yCACA,WAEA,CACA,CAIA,mBACA,MAUA,MATA,oBACA,iBACA,qBAEA,2BAGA,IAEA,CACA,CACA,+DAIA,IACA,MACA,QACA,SACA,OACA,CACA,mBACA,SACA,aACA,YAAmB,IAAO,KAC1B,YACA,gCACA,CAGA,OAFA,uBACA,wBACA,CACA,CACA,gDA+BA,iBACA,gBACA,SAEA,WAAY,6BAAoC,EAChD,QACA,6BACA,kBACA,yBACA,GAAY,aAnCZ,kBAKA,IAJA,gBACA,qBACA,SAAY,aAAqB,EACjC,KAEA,oBACA,IACA,QACM,CACN,gCACA,mBACA,kBACA,IACA,CACA,OACA,IACA,IACA,KACA,CACA,EAe2B,KAC3B,qBACA,mBACA,CAAU,kBAAkB,EAK5B,OAJA,IACA,mBACA,sBAEA,CACA,gCACA,gCACA,CACA,CA0BA,8BAuCA,mBACA,WACA,yBACA,uBACA,+BACA,4BACA,sBAIA,gDACA,kBAAiC,SAAa,IAC9C,iBAAgC,QAAY,KAE5C,6DACA,4BACA,WACA,UACA,gCACA,GAGA,CAKA,kBACA,SACA,IACA,OACA,cAEA,OADA,KACA,EACA,CACA,EACA,OACA,uCACA,0CAEA,CAAM,SAEN,CACA,QACA,CAAC,GASD,iBACA,MA9LA,GA8LA,GA9LA,iBA8LA,GACA,kCACA,qBACA,CAIA,qBACA,OACA,kBACA,iBACA,CACA,CAGA,qBACA,OACA,kBACA,+DACA,CACA,CAGA,qBACA,OACA,SACA,UAEA,GACA,SACA,QACA,EACA,YACA,YACA,YACA,YACA,YACA,gBACA,CAyCA,uBAvCA,EAwCA,UAxCA,EAwCA,EAvCA,CACA,KACA,EAqCA,EArCA,IAEA,YACA,GACA,CAAS,CACT,aACA,aACA,EAEA,2BAEA,aACA,IAEA,kBACA,GAEA,GAGA,CACA,KACA,EAEA,aAAuB,CACvB,aACA,EAEA,aACA,IAEA,kBACA,CAEA,CAIA,CACA,iBACA,QACA,yBAEA,GADA,mBAEA,8BACA,mCACA,CACA,yCACA,sBAEA,CACA,iBACA,aACA,2BACA,kDAEA,CAEA,qBACA,YACA,CACA,WACA,WACA,YACA,EAEA,CACA,WACA,mBACA,cACA,CACA,CACA,mBAA4B,+BAAqC,EACjE,OACA,UACA,QACA,qBACA,OACA,CACA,CA8BA,uBAaA,MAZA,MACA,OACA,EACA,CAEA,IAAY,0BAAgD,EAC5D,WACA,SAAY,yBAAiC,MAC7C,OAAY,wBAtCZ,oBAKA,EAJA,aAAY,iBAAgD,EAC5D,CAAY,uBAAuB,MACnC,WACA,OAAU,gBAAsB,EAEhC,MAGA,IAFA,KACA,KACA,IAAiC,EAAjC,GACA,oBAD2C,IAI3C,IACA,IAEA,KACA,IACA,CAIA,OAHA,KACA,OAEA,CACA,QACA,MACA,OACA,cAEA,EAU0C,OAC1C,KACA,KACA,OAEA,2BACA,2BACA,aACA,cACA,gBAAqC,KAAU,IAE/C,CADA,UACA,MAGA,cACA,IAGA,WACA,eACA,mBAEA,gBACA,WACA,QACA,MACA,OACA,QACA,OACA,CAAa,GACb,QAEA,IACA,KAWA,OATA,UACA,WACA,QACA,MACA,OACA,QACA,OACA,CAAS,GAET,CACA,CACA,iBACA,SACA,aACA,YAAmB,WAAqB,KACxC,yBACA,WACA,YAEA,CACA,QACA,CAkFA,4BACA,mBAGA,SAEA,SACA,4BACA,gBACA,CAAY,kCAAyC,IAAe,EACpE,WACA,KACA,IACA,aACA,IACA,oBACA,aACA,UAIA,IADA,KACA,aACA,KAEA,kBACA,KAEA,WACA,QACA,UACA,QACA,OACA,OACA,CAAa,EACb,IACA,OAEA,CACA,oBAGA,EADA,SADA,eACA,GAEA,UAA2B,SAAkB,KAC7C,aASA,CAuBA,cACA,MACA,SAEA,SACA,uBACA,OAGA,eACA,UAEA,cALA,CAMA,EACA,iDACA,EA9CA,wBACA,eACA,KACA,KACA,oBACA,gBACA,cACA,CAAa,IACb,IACA,kBAEA,IACA,GACA,CACA,OACA,iBAEA,CACA,QACA,EA3DA,SAFA,CAGA,CA2DA,eACA,OACA,kCACA,gCACA,wBACA,oCACA,kCACA,0BACA,0BAEA,CChqFA,SACA,cACA,mBACA,qBACA,iBACA,qBACA,CACA,iBACA,qBACA,aACA,gBACA,QACA,kBACA,WACA,iCACA,CAAa,EACb,CACA,WACA,gBAGA,iBACA,cAAwB,GAAgB,iBACxC,eACA,mBACA,eACA,eAEA,CAAS,EACT,CACA,sBACA,QACA,iCAOA,EANA,+BACA,OAEA,cACA,aACA,KAEA,KAAkB,KAAQ,IAC1B,SACA,SACA,qBACA,sBAEA,UACA,OAEA,mBACA,SAGA,IACA,SACA,gCAEA,WACA,aACA,+BACA,cAEA,YACS,EACT,iBACA,OACA,kBAEA,CACA,aACA,mBACA,WAaA,OAZA,IACA,GACA,WACA,WACA,SACA,WACA,YACA,YAEA,EACA,YAEA,CACA,CACA,cACA,sCACA,CACA,SACA,aAGA,kCACA,CACA,OACA,uCACA,CACA,SACA,0BACA,IAGA,aACA,mBACA,4DACA,gBACA,CACA,WACA,kBACA,SAEA,gCACA,kCAIA,CACA,QACA,0BACA,uBACA,OAEA,cACA,aACA,KAAc,KAAQ,IACtB,aAEA,YACA,uCACA,CACA,UACA,6BACA,CACA,CACA,cAEA,qBACA,IACA,iBACA,SAEA,aACA,MAAmB,GAAK,OACxB,WAA+B,GAAK,OACpC,0CACA,CAAK,CACL,gBACA,SAEA,CACA,UACA,qBACA,WACA,EAAa,GAAO,CACpB,GADoB,CACpB,CACA,EACA,EACA,OACA,EACA,MAAqB,GAAO,CAC5B,GAD4B,GAC5B,CACA,EACA,EACA,CACA,iBACA,oCACA,aAAuB,EAAO,YAAgB,GAAO,OACrD,gDACA,kDACA,oBACA,eACA,aACA,aACA,WACA,qBACA,CACA,SACA,oBAEA,cACA,iBACA,iBACA,+BACA,gBACA,kBACA,eACA,kDACA,eACA,oBACA,SAAuB,GAAO,CAC9B,GAD8B,CAC9B,CACA,EACA,EACA,OACA,EACA,WAAyB,GAAO,CAChC,GADgC,GAChC,CACA,EACA,EACA,CACA,CACA,CACA,SACA,eACA,sBACA,gBACA,iBAEA,CACA,YAOA,EANA,oBACA,iBACA,aACA,aACA,aACA,WAGA,GADA,6BACA,eACA,kBACA,iBACA,MACA,CACA,QACA,kBACA,MACA,CACA,QACA,eACA,0CACA,+BACA,CACA,OACA,0CACA,2BACA,QACA,MACA,KACA,CAAa,CACb,CAAS,CACT,CACA,WACA,oBACA,qBACA,YAAuB,WAAqB,IAC5C,SAEA,CACA,CAEA,SACA,iBACA,cACA,yBACA,iBACA,CACA,aACA,IAAa,GAAQ,GACrB,EADqB,KAGrB,kBAA6C,GAAQ,WACrD,mBACA,0CACA,WACA,IAAiB,GAAQ,GACzB,EADyB,KAGzB,SACA,eACA,UAEA,CAAa,GAAO,8BACpB,EACA,cACA,iBACA,UAEA,CAAa,CACb,CAAS,CACT,CACA,qBACA,gBACA,WAwEA,KACA,MACA,OAEA,gBACA,OACA,YACA,MACA,CAOA,OANA,WACA,6BAAmD,IACnD,WACA,cACA,EAAS,EAET,CACA,EAxFA,KACA,MACA,SAEA,kCAOA,OANA,WACA,CAuDA,cACA,SACA,iBACA,YAAmB,WAAiB,KACpC,cACA,eACA,gBAEA,CACA,sBACA,EAjEA,mCACA,WACA,CAAa,MACb,CAAa,EAEb,CACA,CACA,2BAMA,EALA,uBACA,KACA,mCAAsE,CACtE,iBACA,aAEA,iBAAkC,KAAQ,KAC1C,WACA,qBACA,SAEA,kBACA,qCACA,QACA,CACA,WACA,OACA,WACA,MACA,kBACA,gBACA,QACA,CACA,CADkB,CAClB,QAEA,CACA,oBACA,OACA,QACA,CACA,uBACA,SACA,CACA,QACA,CACA,YACA,8BACA,mBACA,MACA,CACA,kCACA,YAEA,OADA,sBACA,EAEA,CACA,CA8BA,iBACA,uBACA,YACA,qBACA,qBACA,OACA,YACA,SACA,CACA,CAgCA,qBAGA,IAFA,SACA,8BAEA,mBAAuC,IAAU,IACjD,mBAEA,QACA,CACA,sBAAuD,MAGvD,QAFA,aACA,oBAEA,YACA,OAEA,SACA,mBAAmC,IAAU,KAE7C,GADA,YACA,GAEA,GADA,KACA,MACA,SAEA,KACA,CAEY,GADZ,gBAC0B,WAA8C,GAAI,KAAY,GAAI,KAC5F,MAEA,QACA,SAGA,EAFA,CAGA,CAiBA,iBACA,2BACA,uCAgBA,qBACA,qDACA,iBACA,mBACA,eAGA,WACA,CACA,qBAQA,EAPA,UAAY,iBAA6B,EACzC,2BAAuD,CACvD,QAAY,oBAAyC,EACrD,SACA,SACA,GA5BA,EA4BA,EA5Bc,GAAc,GAAG,KAAc,GAAG,SA4BhD,EA5BgD,KAAwB,EA6BxE,WAEA,YAAmB,IAAU,KAC7B,WACA,CAAgB,aAAmC,CAGnD,CADA,IADA,yBAA6D,CAC7D,IA1BA,gBACA,qBAA+D,CAC/D,sBAA6D,EAwB7D,OACA,MACA,yBACA,4BACA,sCAA6E,CAC7E,KACA,CACA,CACA,iBACA,eACA,sDACA,CAuBA,iBACA,yBACA,0BACA,KAIA,aADA,eACA,CACA,gBACA,uCACA,MAEA,gBACA,6DACA,6BAGA,CACA,kCACA,8BAA6E,IAC7E,uCACA,cACA,WACA,CACA,UACA,0BACA,+BACA,iCACA,KACA,aACA,gBACA,aACA,wBACA,gCACA,iCACA,oBACA,iBACA,kBACA,wBACA,2BACA,uBACA,uBACA,4BACA,2BACA,qBACA,kBACA,sDACA,gDACA,iBACA,CACA,aACA,uBACA,iBACA,kBACA,0BACA,mBACA,0DACA,kLAEA,CACA,eACA,gBACA,qBAEA,YACA,CACA,aACA,iBACA,mBACA,oBACA,mCACA,YAAmC,GAAc,qBACjD,YAAmC,GAAc,qBACjD,YAAmC,GAAc,qBACjD,cACA,uBACA,sBACA,gCACA,+BACA,+BACA,+BACA,8BACA,CACA,aACA,4CAEA,UACA,4CACA,CACA,iBACA,4BAEA,kBACA,uBACA,sCAEA,QACA,qBACA,CACA,WACA,uBACA,YACY,GAAmB,iBAE/B,YACA,KAEA,CACA,aACA,wBACA,sBACA,aACA,GAAY,GAAQ,IACpB,CADoB,GACpB,mBACA,oBA5MA,SAMA,MALA,WAAY,YAAmB,EAC/B,uBACA,uBACA,iBACA,kBAEA,mBAAmC,IAAU,IAC7C,OACA,MACA,MACA,UAGA,QACA,EA6LA,IACA,EAAU,cACV,MACgB,GAAmB,QACnC,QADmC,EACnC,aACA,MACA,aAEA,2BACgB,SDhLhB,KACA,eACA,6BACA,MACA,CACA,oCACA,gBACA,cACA,OACA,WACA,EACA,CAEA,CAAK,EACL,eACA,sBACA,OACA,2BACA,gBACA,cACA,YACA,sBAMA,OALA,iCACA,yBACA,UAEA,CAAiB,EACjB,CACA,CACA,CAAS,CACT,CAAK,CACL,ECiJiC,QAEjC,kBACA,YACA,CACA,CACA,cACA,uBACA,kBACA,yBACA,uCAEA,CACA,yBACA,uBACA,oBACA,KACA,kBACA,iBACA,0BACA,oBACA,KACA,MACA,iBAEA,wBACA,sBACA,mBACA,0BAEA,CACA,YACA,wBACA,iCACA,2CACA,oDACA,mCACA,uBACA,CACA,eAMA,MALA,IAAgB,uBAAmC,KACnD,QAAgB,cAAqB,EACrC,SACA,iCACA,sBAEA,sBACA,YACA,aACA,QACU,CAEV,EADgB,GAAO,MACvB,6BACuB,GAAQ,MAC/B,8BAEA,iCAEA,oCACA,QAAuB,IAAW,IAClC,sBACA,IACA,KACA,OAEA,IAGA,YACA,CACA,GACA,UAEA,CACA,gCAOA,IANA,WAAgB,YAAmB,EACnC,SACA,SACA,gBACA,QACA,WAEA,QAAiC,EAAjC,EAA2C,IAC3C,MACA,MACA,uBACA,mBACA,EAEA,QACA,CACA,4BAGA,MAFA,WAAgB,YAAmB,EACnC,WAEA,QAAiC,EAAjC,EAA2C,IAE3C,IADA,MACA,CACA,MACA,kBACA,iBACA,EAEA,QACA,CACA,6BAIA,MAHA,WAAgB,YAAmB,EACnC,UAAgB,sBAAiC,cACjD,WAEA,QAAiC,EAAjC,EAA2C,IAE3C,IADA,MACA,CACA,MACA,UAAgC,GAAgB,QAChD,KADgD,IAChD,CAAgC,GAAgB,OAChD,EAEA,IAHgD,GAGhD,CACA,CACA,aACA,kCACA,CACA,kBACA,gCAEA,kBACA,iBACA,mBACA,YAKA,UAJA,CACA,cACA,wCAEA,WACA,MACA,CAAS,CACT,CACA,+BACA,gBACA,iBACA,uBACA,OACA,WACA,kCAEA,wBACA,uBACA,CACA,mBAYA,IAXA,uBACA,YACA,0BACA,WACA,yBACA,qBACA,GACA,6BACA,8BAEA,CAAgB,aA9VhB,YACA,QAAY,mCAAuC,kBACnD,OACA,iCACA,iCAEA,EAwViD,GAEjD,aAEA,MADA,QACA,SACA,OAAoB,GAAc,oBAClC,CACA,QAAmB,MACnB,MAGA,qCACA,IAL6B,KAS7B,KACA,WAA8B,KAAQ,IACtC,SAGA,oCACA,MACA,CAEA,QACA,CACA,0BAGA,MAFA,+BACA,KAEA,mBAAyC,IAAU,IAEnC,GADhB,WAC8B,EAD9B,IAEA,UAGA,QACA,CACA,iBACA,QACA,CACA,oBACA,uBACA,WACA,WACA,oBACA,OACA,4CACA,2CACA,CACA,CACA,eA/dA,MACA,QA+dA,uBACA,0BACA,SAheQ,GAFR,EAke4B,GAheZ,IAge0B,cA/e1C,gBACA,UACA,SAEA,cACA,UACA,OACA,UACA,YACA,eACA,aAEA,EAme0C,4CA/d1C,QACA,UACA,WACA,UAEA,UAEA,CACA,MACA,QACA,SACA,OACA,eACA,EAmdA,CACA,WACA,WAUA,EATA,gBACA,aACA,mBACA,aACA,cACA,KACA,qBACA,8BACA,uCAKA,IAHA,WACA,wBAEA,IAAuB,MAAmB,KAC1C,WACA,WAGA,YACA,UAEA,YAEA,CACA,QAAmB,WAAmB,IACtC,cAEA,CACA,cACA,2BACA,uHACA,CACA,sBA5YA,MA8YA,EADA,wBAEA,yCACA,+BACA,2BAtYW,GAsYX,UAtYwB,KAsYxB,GAtYwB,CACxB,UACA,UAoYA,EAnYA,cACA,WACA,QAiYA,EAhYA,MAgYA,EA/XA,eACA,WACA,CAAK,CA6XL,GACA,yBACA,gBACA,qBACA,EAAU,GACV,iCArZW,GAqZX,wBArZwB,CACxB,UACA,eACA,aAJA,EAsZA,WAjZA,QACA,eACA,cACA,CAAK,CA8YL,GACA,UACA,kCAIA,OAFA,aACA,SACA,CACA,CACA,gCACA,gEACA,CACA,+BACA,+DACA,CACA,wCACA,mBACA,uBACA,UACA,OACA,4BAAoD,GAAO,GAC3D,CAD2D,EAC3D,EACA,eAEA,wBACA,0CACA,KACA,GAAe,EAAY,OAC3B,QACA,EACA,GACA,EACA,EACA,GACA,CACA,yCACA,cAAkC,GAAQ,aAE1C,4BADA,2BACA,GAKA,OAJA,YACA,YACA,6BAEA,CACA,CACA,8BAQA,EAPA,iBACA,uBACA,eAAsC,EAAW,EACjD,OACA,KACA,SAGA,6BACA,wBACA,4CACA,yCACA,4CACA,CACA,gCAIA,OAHA,iBACA,wBAEA,CACA,CACA,oBACA,aAGA,iEAA6E,IAC7E,CACA,oBACA,gDAEA,uBACA,0CACA,sBACA,2BACA,kCAEA,OADA,gCACA,CACA,gBACA,gBACA,CACA,CACA,uBACA,MACA,mBAEA,wCAEA,CACA,2BACA,WACA,6CAEA,CACA,mBACA,WACA,yBACA,yCACA,uCACA,CAAS,CACT,CACA,wBACA,+BACA,CACA,qBACA,+BACA,CACA,2BACA,+BACA,GACA,oCAEA,CACA,wBACA,+BACA,GACA,oCAEA,CACA,mBACA,iBACA,wBACA,gCACA,YAEA,mBACA,eACA,WACA,gBACA,GACA,gBAEA,IACA,8BACU,KACV,2BAEA,CACA,8BAIA,EAHA,uBACA,SACA,MAEA,MAEA,IADA,YACA,aAAoC,KAAU,IAC9C,aAIA,IADA,KACA,IAAuB,IAAS,IAChC,8BAEA,eACA,aAEA,gBACA,GACA,kCAEA,CACA,yBACA,qBACA,uBACA,kBACA,2BACA,aACA,OAEA,CACA,kBACA,CACA,SACA,iBACA,2BACU,CACV,aACA,YACA,CACA,8BACA,cACA,EACA,CACA,CACA,cACA,uBACA,YACA,kBACA,gCACA,EACA,CACA,CACA,aACA,YACA,kBACA,+BACA,EACA,CACA,CACA,eACA,YACA,kBACA,EACA,EACA,CACA,CACA,mBACA,GACA,YACA,kBACA,EACA,EACA,EAEA,yBACA,GACA,YACA,kBACA,EACA,EACA,CAEA,CACA,iBACA,YACA,kBACA,EACA,iBACA,CACA,CACA,CA+FA,qBAMA,OALQ,GAAO,GAtBf,CAsBe,QAtBf,SACA,sBACA,kBACA,gBACA,gBACA,IACA,IACA,0BACA,IACA,KAEA,YACA,WACA,WACA,SACA,QACA,MACA,MACA,KACA,CACA,EAGA,SAEA,uBAEA,CACA,CACA,yBAMA,QALA,eACA,WACA,gBACA,QACA,KAEA,cAAyC,IAAU,IACnD,OAEA,CADA,KACA,4BACA,oBAEA,QACA,CACA,eACA,iDAiEA,yBASA,EAFA,OAJA,EAFA,EAEA,GADA,EAQA,CADA,EAPA,SAQA,IARA,IAQA,EAPA,KAEA,SAGA,CAIA,mBACA,iCACA,CAIA,oBACA,uBACA,UACA,sBACA,sBACA,sBACA,iBACA,WACA,YACA,SACA,cACA,YACA,IACA,IACA,OACA,QACA,SACA,CAEA,CACA,SACA,WACA,QACA,SACA,gBACA,UACA,MACA,SACA,CACA,CAAa,CACb,SACA,cACA,cACA,CACA,CACA,EACA,4BACA,kBACA,CACA,wBACA,kBACA,CACA,6BAMA,QALA,WAAgB,YAAmB,EACnC,UAAgB,sBAAiC,cACjD,mBACA,mBACA,KAEA,cAA6C,IAAU,IACvD,OAEA,CADA,KACA,iBAA6C,GAAgB,QAC7D,KAD6D,CAC7D,IAAmC,GAAgB,aAEnD,QACA,CACA,+BACA,qCACA,gBACA,iCACA,4BACA,4BAEA,CACA,iBACA,QACA,CACA,oBAEA,WAAgB,YADhB,iBAEA,oBACA,YACA,oEACA,OACA,uCACA,OACA,CACA,CACA,aACA,4BACA,mBACA,iBACA,8BAEA,UACA,uBACA,6CACA,CACA,wBACA,kBACA,OAAgB,sBAAuB,IAAa,KACpD,mBACA,mBACA,mBACA,eAAgB,oBAAkC,4BAClD,YAA2B,MAAmB,KAC9C,wBACA,KAAqC,GAAa,YAClD,OACA,MACA,EAAc,iCACd,qCACA,iBAA+C,SAC/C,GACA,aACA,YACA,gEACA,oBACA,oBACA,iCACA,iCAEA,GACA,wEAEA,+BArKA,kBACA,IA1BA,UA0BA,kBACA,KACA,OACA,kBACA,MACA,CACA,WACA,iBACA,OACA,SACA,UACA,OACA,EACA,MACA,CACA,UAAY,kCAAwC,CAxCpD,cACA,EAuCoD,EAvCpD,SACA,SACA,YAEA,aACA,WACA,SAEA,GACA,QACA,YAEA,UACA,SAEA,CACA,QACA,MACA,UACA,MACA,QACA,EAmBA,mBACA,wBACA,gBACA,IACU,mBACV,KAEA,kBACA,MAGA,kBACA,iBACA,EAwIA,SAxHA,YAAwC,gBAAgB,IACxD,wCACA,EAuHA,aACA,8BACA,CACA,CACA,gBACA,WAAgB,GAAU,iBAC1B,gFACA,oBACA,KACA,2CACA,eACA,MACA,uCACA,sBACA,GAAgB,GAAa,aAC7B,QAEA,EACA,eACA,yBAGA,iEACA,gBAEA,aACA,MAMA,OAHA,UACA,eAEA,CACA,CACA,kBACA,wCAEA,sBACA,2BACA,6BACA,0BACA,CACA,gBAKA,IAJA,mBACA,mBACA,WACA,KAEA,wBAA4C,IAAU,IACtD,wDAEA,qBAEA,OACA,IAFA,GAvWA,gBAIA,QAHA,eACA,EAbA,cACA,mBACA,mCACA,KACA,uBAAmD,IAAU,IAC7D,iDAEA,eAA4B,GAAY,mBACxC,CACA,sBAIA,UACA,YAEA,OACA,wBAGY,GAAO,KACnB,gCAEA,IACA,EACA,mBAAqC,IAAU,IAC/C,2BACA,IAGA,QADA,SACA,iBAA0C,IAAU,IACpD,uBACA,IAEA,QACA,EA+UA,GAGA,SACA,oBACA,gBACA,iCACA,QACA,kBACA,+CAEA,CACA,gCASA,IARA,IAAgB,aAAe,6BAA2C,SAAa,wBAAqC,KAC5H,OACA,oBACA,YACA,QACA,YACA,IACA,6BAEA,QACA,MACA,KAEA,IACA,aACA,sBACA,OAA+B,GAAI,KAAY,GAAI,WACnD,MAEA,MAEA,SAAyC,YACzC,sBAOA,YADA,GAJA,EADA,gCACA,wBAEA,GAEA,GACA,OArSA,EAsSA,EArSA,MADA,EAsSA,GApSe,GAAI,GAEnB,gCAkSA,EAlSA,KADA,EAmSA,EACA,OACA,SAEA,8BACA,0BACA,gBAGA,EADA,uBADA,eACA,IACA,EACA,OACA,gFAEA,CACA,8BACA,MAA6B,GAAI,+BACjC,KACA,IACA,CACA,OACA,OACA,OACA,OACA,YACA,CACA,CACA,kCAKA,IAJA,cACA,eACA,aACA,EAAgC,GAAc,uBAE9C,cACA,4CACA,mCA3YA,SACA,eACA,OACA,kBACA,2BACA,8BACA,GACA,mCAEA,UACA,UAEA,8BAEA,OACA,WAFA,aAEA,EACA,sBACA,OACA,CACA,EAwXA,SA3ZA,sBAEA,IADA,qBASA,OAPQ,GAAa,IACrB,MADqB,CACrB,sBACA,oBAEA,MACA,KAEA,CACA,UACA,QACA,qBACA,CACA,EA4YA,SACA,oEACA,8BACA,6BACA,EAAU,IACV,kDACA,4BAEA,OACA,WACA,WACA,SACA,MACA,CACA,CACA,OACA,uBACA,WACA,SACA,WACA,IACA,KAAc,IAAU,IACxB,+CACA,oBAGA,CACA,CAEA,MAAM,WAAgB,GACtB,QADsB,EACtB,gBACA,UACA,sBACA,wBACA,YACA,SACA,cACA,YACA,IACA,IACA,cACA,SACA,CAEA,CACA,SACA,WACA,QACA,GACA,aACA,CAAa,CACb,GACA,aACA,CACA,CACA,EACA,aACA,4BACA,kBACA,CACA,4BACA,wCACA,YAAuB,WAAmB,IAC1C,wDAEA,QACA,CACA,wBACA,oCACA,YAAuB,WAAmB,KAC1C,aACA,aAAgC,GAAc,gDAC9C,CACA,QACA,CACA,yBACA,qCACA,YAAuB,WAAmB,KAC1C,aACA,aAAgC,GAAc,wDAC9C,CACA,QACA,CACA,iBACA,4BACA,IACA,qBAAqC,KAAQ,IAC7C,6DAEA,aACA,CACA,oBACA,uBACA,6BACA,QAAgB,YAAmB,EACnC,oBACA,0BACA,0BACA,YACA,OACA,eACA,oCACA,CACA,CACA,UACA,4BACA,mCACA,CACA,wBACA,kBACA,QAAgB,YAAmB,iBACnC,eAAgB,oBAAkC,4BAClD,SACA,SACA,YAA2B,MAAmB,KAC9C,WACA,wBACA,KACA,2DACA,kDACA,2BACA,IACA,mEACA,GACA,sBAGA,2BACA,CACA,CACA,+BACA,wBACA,sCACA,YACA,mBAAqC,IACrC,UACA,EAAa,EAEb,eAKA,MAJA,cACA,aAEA,UAAyB,GAAc,gBACvC,CACA,CACA,CAgCA,oBACA,4BACA,UACA,sBACA,sBACA,WACA,iBACA,eACA,CAAS,CACT,YACA,SACA,cACA,YACA,gBACA,WACA,cACA,cACA,aACA,IACA,IACA,SACA,cACA,UACA,CAEA,CAAS,CACT,aACA,WACA,kBACA,cACA,UACA,aACA,SACA,aACA,6BACA,0FACA,SACA,WACA,cACA,SACA,QACA,QACA,kBACA,aACA,uCACA,IAAoC,mBAAU,YAAyB,iBACvE,4BAEA,MADA,oBACA,uBACA,OACA,OACA,4BACA,0BACA,YACA,wBACA,aACA,+BACA,OACA,CACA,CAA6B,CAC7B,CACA,SAEA,CAAiB,CACjB,eACA,sCACA,gBACA,CACA,CACA,CACA,cACA,KACA,WACA,4BACA,wBACA,wBACA,oBACA,mBACA,CACA,cACA,WACA,6BACA,mBACA,sBACA,gBACU,CACV,IAKA,IALA,WACA,GAAgB,GAAQ,OACxB,QAAwB,WAAgB,cACxC,MAA+B,GAAgB,OAC/C,CAEA,KAH+C,CAG/C,QAAiD,IAAU,IAC3D,iBAEA,CACA,CACA,eACA,OAAe,GAAS,yBACxB,CACA,oBACA,OAAe,GAAS,2BACxB,CACA,sBACA,MAAkB,GAAG,EACrB,CAAmB,GAAG,IACtB,QAAuB,kCAAqC,IAC5D,mFACA,8CACA,mBACA,wBACA,gBACA,iBACA,CAEA,OACA,WACA,iBACA,CACA,CACA,UAEA,cAAgB,GAAa,IAD7B,OAEA,mBACA,SACA,qEACA,+CACA,WAAgC,GAAY,0BAC5C,kCACA,CAAgB,4BAA4B,2BAC5C,QAAgB,gCAhKhB,gBACA,QACA,IACA,IACA,IACA,KAAwB,GAAG,CAE3B,MADA,EACA,EACA,WAFA,GAGA,WAHA,GAIA,cACA,cACA,WAAuC,GAAa,EANpD,EAMoD,8BACpD,WAAuC,GAAa,EAPpD,EAOoD,+BACpD,WACA,IAA6B,GAAO,KACpC,IAA6B,EAAE,MAC/B,IAA6B,EAAE,CAAG,GAAO,KACzC,UACA,UACA,WACA,UACA,CACA,OACA,SACA,SACA,UACA,SACA,CACA,EAmIuD,OAGvD,oBAFA,cACA,gBACA,KACA,EAA4B,GAAW,uBACvC,kBACA,4CACA,kBACA,iBACA,8BACA,2DACA,kDACA,mCACA,CACA,oBACA,mBACA,mBACA,kCACA,sGACA,EAEA,2CAA6E,GAAG,CAEhF,4BAaA,EAZA,kBACA,aACA,cAEA,EADA,UACA,UACA,qBACA,qBACA,oBACA,uBACA,uBACA,eAAgB,oBAAkC,4BAClD,sBAEA,QAAmB,IAAW,IAC9B,4BAEA,QAAuB,MAAmB,KAC1C,+BACA,OACA,GACA,iBACA,iBACA,aACA,aACA,gBACA,cACA,aACA,EACA,GACA,qEAEA,KACA,2BACA,CACA,CACA,qBAIA,EAHA,uBACA,SACA,IAEA,QAAmB,WAAqB,KACxC,0BACA,6DACA,gBAEA,CACA,QACA,CACA,0BACA,oCACA,eACsB,cAAH,GAAG,CAGtB,CACA,oBACA,uBACA,aACA,oBACA,EAAsB,GAAY,+BAClC,OACA,eACA,OACA,CACA,CACA,qBACA,IAEA,UAFA,IACA,aAEA,MACA,kCAA0D,IAAU,IACpE,0BAEA,EADA,wBACA,KACA,eACA,KACA,CACA,CAEA,MACA,SAEA,mBAAuC,IAAU,IAEjD,WADA,kCACA,aACA,uDAGA,QACA,CACA,gBACA,QACA,uBAA2C,IAAU,KACrD,wCACA,0CACA,CACA,QACA,CACA,wBACA,QACA,YAAuB,IAAkB,IACzC,gCACA,4BAGA,QACA,CACA,kBACA,gBAAwB,GAAc,wCACtC,CACA,gCACA,oEACA,CACA,CAEA,oBACA,gBACA,kBACA,0BACA,wBACA,YACA,WACA,SACA,WACA,QACA,SACA,eACA,CAAa,CACb,SACA,aACA,CACA,CACA,EACA,aACA,4BACA,2BACA,kBACA,CACA,UACA,uBACA,CAAgB,gCAAgD,EAChE,iCACA,OAAc,WAAiB,GAAkC,MACjE,mBACA,kBACY,GAAmB,KAC/B,IACA,OAF+B,GAE/B,EAEA,oBACA,2BACA,4BACA,WACA,0CACA,wBACA,kBAEA,+BACA,6BACA,YACA,SACA,CAAS,IACT,4BACA,CACA,wBACA,kBACA,QAAgB,kCAAyC,iBACzD,eAAgB,oBAAkC,4BAClD,SACA,SACA,UAAgB,aAAsB,aACtC,EAA6B,GAAQ,8BACrC,gDACA,MACA,WACA,2BACA,YAAuB,IAAiB,KACxC,WACA,SACA,cACA,UACA,QACA,CACA,wBACA,EAA6B,GAAa,MAC1C,kCACA,gFACA,8BACA,kCACA,IACA,WACA,iBAEA,GACA,qEAEA,GACA,4BAEA,GACA,CACA,CACA,iBACA,uBACA,YACA,sCACA,oBACA,SAKA,WAFA,6CACA,gEACA,EAJA,CAKA,CACA,OACA,uBACA,kEACA,YACA,CACA,CAEA,MAAM,WAAmB,GACzB,WADyB,UACzB,QACA,UACA,sBACA,WACA,iBACA,eACA,CAAS,CACT,YACA,SACA,cACA,YACA,IACA,IACA,aACA,WACA,cACA,cACA,CAEA,CAAS,CACT,cACA,YACA,SACA,WACA,cACA,SACA,QACA,QACA,kBACA,aACA,uCACA,IAAoC,mBAAU,YAAyB,iBACvE,4BAEA,MADA,oBACA,uBACA,OACA,OACA,4BACA,0BACA,YACA,wBACA,aACA,+BACA,OACA,CACA,CAA6B,CAC7B,CACA,QACA,CACA,CAAiB,CACjB,eACA,sCACA,gBACA,CACA,CACA,CAAS,CACT,QACA,GACA,oBACA,YACA,UACA,CAAiB,CACjB,eACA,MACA,WACA,CAAiB,CACjB,aACA,UACA,CAAiB,CACjB,YACA,CACA,CACA,CACA,kBACA,WACA,wBACA,uBACA,CACA,oBACA,uBACA,aACA,oBACA,EAAsB,GAAY,iCAClC,OACA,eACA,OACA,CACA,CACA,yBACA,OAAe,GAA2B,mBAC1C,CACA,IAF0C,GAE1C,GACA,4BACA,qBACA,mCACA,CACA,YACA,uBACA,GACA,6BACA,8BAaA,OAXA,uBACA,2BACA,4CACA,SACA,UAEA,SACA,UAGA,CAAS,EACT,CACA,CACA,gBACA,iBACA,cACA,YAEA,WADA,wCACA,KACA,4DACA,kCACA,iCACA,mCACA,CACA,4BAUA,EATA,kBACA,aAEA,EADA,UACA,UACA,0BACA,YACA,YACA,wBAAiE,EAAE,CACnE,IAEA,kCACA,QAAmB,IAAW,IAC9B,6BAEA,QAAuB,MAAmB,KAC1C,WACA,IACA,8BACA,gFACA,IACA,IACA,gBACA,MAEA,iBACA,SAGA,OACA,IACA,IACA,cACA,cACA,aACA,WACA,6DACA,EACA,2BACA,CACA,CACA,uBACA,uBACA,IAMA,OALA,uBACA,8DACA,GAEA,CAAS,EACT,CACA,CACA,qBACA,uCAAqD,GAAS,+CAC9D,CACA,CAEA,MAAM,WAAa,GACnB,KADmB,EACnB,gBACA,UACA,SACA,WACA,kBACA,aACA,EAGA,MAAM,WAAe,GACrB,yBACA,UACA,0BACA,wBACA,cACA,YACA,UACA,MACA,YACA,CACA,CACA,SACA,WACA,cACA,QACA,GACA,mBACA,CACA,CACA,EACA,oBACA,8BACA,oBACA,OACA,uBACA,sCACA,CACA,CACA,yBACA,OAAe,GAA2B,mBAC1C,CACA,IAF0C,GAE1C,GACA,uBACA,YACA,aACA,uBAEA,GADA,WACA,cACA,0CACA,wBACA,kBAEA,OACA,SACA,8BACA,SACA,EACA,gCACA,CACA,mCACA,CACA,wBACA,8BACA,cACA,YAA2B,MAAmB,KAC9C,WACA,wDACA,oDACA,kBACA,kBACA,GACA,IACA,IACA,cACA,wBACA,SACA,EACA,2BACA,CACA,CACA,CAEA,MAAM,WAAiB,GACvB,SADuB,CACvB,iBACA,UACA,sBACA,wBACA,YACA,OACA,SACA,WACA,aACA,YACA,CAAS,CACT,QACA,GACA,aACA,CAAa,CACb,GACA,aACA,CACA,CACA,EACA,oBACA,uBACA,6BACA,CAAgB,mBAAmB,EACnC,oBACA,0BACA,0BACA,OACA,eACA,sBACA,CACA,CACA,UACA,uBACA,CAAgB,WAAqB,EACrC,iCACA,OAAc,WAAiB,GAAkC,OAOjE,GANA,kBACA,CAFiE,GAEjE,cACY,GAAmB,KAC/B,IACA,OAF+B,GAE/B,EAEA,uBACA,yBACA,mBAEA,IAAoB,sBAA4B,CAChD,qBACA,2BACA,4BACA,WACA,0CACA,gCACA,6BACA,YACA,SACA,CAAa,GACb,EAAU,8BACV,iBACA,4BAEA,4BACA,CACA,cACA,IAAgB,YAAY,cAC5B,4BACA,iEAEA,mBACA,CACA,wBACA,kBACA,QAAgB,kCAAyC,iBACzD,sCACA,2BACA,2BACA,SACA,SACA,UAAgB,aAAsB,aACtC,EAA6B,GAAQ,8BACrC,gDACA,2BACA,YAA2B,MAAmB,KAC9C,WACA,oBACA,SACA,EAA6B,GAAa,MAC1C,IAD0C,EAC1C,4BACA,gFACA,8BACA,kCACA,IACA,WACA,iBAEA,GACA,qEAEA,GACA,4BAEA,GACA,CACA,+BACA,CACA,iBACA,uBACA,aACA,2BACA,QACA,qBAAyC,KAAQ,IACjD,6DAEA,aACA,CACA,gBACA,6CACA,SAKA,WAFA,6CACA,gEACA,EAJA,CAKA,CACA,CAkBA,SAAa,KACb,SADqB,GACrB,kFACA,CAMA,SAUA,mBACA,6BACA,CACA,oBACA,GACA,kBACA,CAEA,QACA,UACA,OAAe,IACf,CACA,QACA,CAHuB,MAGR,IACf,CACA,SAFuB,OAGR,IACf,CACA,MACA,GAHuB,IAGR,IACf,CACA,OACA,EAHuB,KAGR,IACf,CACA,SAFuB,CAGvB,OAAe,IACf,CACA,QACA,CAHuB,MAGR,IACf,CACA,CACA,QAHuB,MAIvB,EACA,EA2BA,uBACA,uCACA,OACA,uBAA2C,IAAU,KACrD,UAAgB,UAAgB,KAChC,IAAgB,QA9BhB,kBACA,eAAY,oBAA+B,EAC3C,uBACA,wCACA,uBAAqD,GAAgB,GACrE,MACA,CAFkE,EAAe,IAEjF,SACU,qBACV,WACA,+CACA,MACA,iBACA,aACA,OACA,QACA,QAEA,CACA,CACA,CACA,OACA,KACA,aACA,CACA,EAM2B,YAC3B,YAAwB,KAAS,KACjC,WACA,QACA,QAEA,CACA,CACA,CAUA,uBACA,eACA,yBAeA,SAZA,gBACA,IAAkC,GAAc,mBAGhD,sBACA,QACA,UACA,eACA,OACA,CAAa,CAEb,EACA,IAdA,CAgBA,CA0DA,6BAxDA,SAyDA,sBAGA,WAvCA,sBACA,SACA,WArDA,GACA,0BACA,sBACA,qBAGA,0BAFA,sBAEA,YADA,sBACA,GACA,CACA,EA6CA,GACA,2BA8BA,OADA,SA5BA,gBACA,2BACA,SACA,OAEA,0BAEA,IADA,yBACA,GACA,OAEA,YACA,MACA,GACA,CACA,UACA,eACA,OACA,EACA,CACA,KACU,OACV,QACA,UACA,eACA,OACA,CAAa,CAEb,GAEA,CACA,EAKA,cA5DA,KAkBA,GA0CA,MA3DA,gBACA,eAAgB,cAAyB,YACzC,aACA,WACA,CAuDA,GAtDA,OAAgB,GAAW,GAAiB,GAC5C,MACA,KAF4C,CAGnC,EACG,GAAa,QACzB,EADyB,IACzB,EACA,UACA,eACA,OACA,CAAa,CAEb,GAEA,GAuCA,GAIA,uBACA,SACA,gCACA,WAWA,CAVA,mBACA,qBACA,QACA,UACA,eACA,OACA,CAAa,EACb,0BAEA,CAAK,EACL,OACA,GAEA,CACA,CACA,QAEA,OACA,eACA,MAA6B,GAAmB,KAChD,WADgD,GAEhD,yBACA,6CACA,YACA,UAGA,6CACA,iBACA,YACA,YACA,QACA,UACA,qBACA,OACA,CAAqB,CAErB,CAAa,EACb,GAbA,EAcA,CAAS,CACT,iBACA,MAA6B,GAAmB,KAChD,WADgD,IAEhD,yBACA,6CACA,eACA,wBACA,2BACA,KACA,YAA+B,WAAiB,IAChD,QACA,aACA,eACA,OACA,CAAqB,CAErB,CACA,QACA,CAAS,CACT,eACA,MAA6B,GAAmB,KAGhD,WAHgD,CAGhD,EAFA,aAEA,EADA,uBAEA,CAAS,CACT,iBACA,MAA6B,GAAmB,KAChD,WADgD,IAEhD,yBACA,gCACA,CAAS,CACT,WACA,MAA6B,GAAmB,KAChD,WADgD,CAChD,oBACA,CAAS,CACT,WACA,MAA6B,GAAmB,KAChD,WADgD,CAChD,oBACA,CACA,CACA,EAEA,QACA,OACA,MACA,QACA,SACA,CACA,iBACA,6BACA,CACA,iBACA,0DACA,CACA,iBACA,sBACA,YACA,QACA,6DACK,CACL,CA0EA,qBACA,8CACA,CACA,iBACA,4BACA,+BACA,qCACA,iCACA,CAmEA,yBAEA,YADA,SAEA,uBAA+C,IAAU,KAEzD,GADA,SACA,KACA,2CA5BA,KACA,mBAaA,OAZA,YACA,OACA,OACA,MACA,QACA,QACA,EAIA,OAHA,cACA,wBACA,CAAS,EACT,CACA,EACA,GACA,OACA,QACA,EACA,MACA,SACA,CACA,EAOA,iBACA,SAAgB,WAAgB,SAzEhC,SACA,QAAY,SAAa,EACzB,eACA,IAAS,GAAQ,IACjB,CADiB,CACjB,MACA,eAEA,mBACA,OACA,OACA,CACA,uDACA,sBACA,aAEA,cACA,qBAEA,sDACA,mDACA,UACA,UAGA,OAFA,MACA,MACA,cACA,OACA,OACA,EAAM,CACN,OACA,OACA,CACA,EA0CgC,SAChC,eACA,OACA,YACA,SAEA,CACA,wBACA,CACA,uBACA,QACA,SACA,YACA,aACA,UACA,UACA,CACA,qBACA,gBACA,GAAU,OAAS,EACnB,gBACA,YACA,eACA,QACA,SACA,QACA,EACA,4BACA,iBACA,YACA,mBACgB,GAAO,UACvB,YAEA,WACA,6CAEA,4BAEA,UACA,YACA,YACU,IACV,YACA,kBACgB,GAAO,UACvB,YAEA,WACA,6CAEA,2BAEA,UACA,YACA,UAEA,CACA,MACA,KACA,CACA,QACA,YACA,SACA,aAEA,0BACA,6BACA,qBACA,gCACA,OACA,CACA,IACA,QACA,SACA,CACA,EACA,EAEA,eACA,CAAK,CACL,eACA,mCACA,SACA,mBAEA,CAAK,CACL,iBACA,sBACA,sBACA,kBACK,CACL,gBACA,MACA,OAEA,MAAwB,GAAS,0BACjC,wBACA,yBACA,EAvMA,YACA,MAxDA,gBAEA,YADA,SAEA,yBAA4C,IAAU,IACtD,OACA,EAAW,0BAA2B,oBAA6B,GACnE,QACA,QACA,MACA,MACA,4BACA,gBACA,aACA,aACA,CAAS,EAET,QACA,EAuCA,GACA,qCACA,sBACA,oBACA,qBACA,qBACA,YACA,YACA,OACA,WACA,uBACA,+CACA,4BACA,+BACA,gCACA,CACA,EAsLA,SACA,aACA,eACQ,GAAI,YACZ,mCACA,gBAEA,CAAS,EAET,qBACA,aACA,cACA,UACA,iBACA,kBACA,iBAPA,wEAQA,iBACA,CAAS,EACT,kBAA2C,IAC3C,KAAqC,GAAS,IAC9C,EAD8C,EAC9C,iBACA,aACA,IACA,IACA,SACA,QACS,IACT,EArPA,kBAGA,MAFA,eAnBA,GACA,SACA,gBACA,UAAgB,uBAA6B,EAC7C,uBACA,SAEA,mBACA,QACA,SACA,SACA,MACA,EAAS,CACT,UACA,WACA,CACA,QACA,EAEA,GACA,cAAY,mBAAgC,EAE5C,mBAAsC,IAAU,KAEhD,aAAgB,GAAY,CAD5B,QAC4B,IAC5B,aACA,4BACA,cACA,kCACA,aAEA,UACA,oCAEA,CACA,QACA,EAmOA,eACA,qBACA,YACA,aACA,YA3KA,YACA,mBACA,cACA,4BAEA,OADA,QACA,CACA,CACA,cACA,eACA,WACA,WACA,EAkKA,GACA,uBACA,SACA,SACA,2BACA,aACA,YACA,UACA,iBACA,iBACA,WACA,SACA,EACQ,GAAI,gBACZ,YACA,6BACA,kBACA,OACA,MACA,QACA,QACA,CAAa,CACb,CAAS,CACT,CACA,CAEA,UACA,qBACA,kBACA,QACA,CACA,yBACA,4BACA,sBACA,QACA,CACA,wBAGA,OAFA,yBACA,cACA,CACA,QACA,sCACA,CACA,CACA,cACA,QACA,CACA,gBACA,CACA,CAEA,oBACA,kBACA,gDACA,CACA,gBACA,sBACA,CACA,CAEA,kBACA,IACA,uBACA,sBACA,mBACA,0BACA,wBACA,wBACA,oBACA,wBACA,qBACA,EACA,uBAoCA,KAA6B,IAA4B,CACzD,UACA,EAsBA,WAxByD,CAwBzD,KACA,eACA,wBACA,QAGA,CACA,mBACA,eACA,2BACA,SACA,eAEA,EADA,2BACA,sBAEA,GACA,GAEA,CAAK,EAKL,OAJA,oBACA,aACA,UACA,CAAK,EACL,CACA,CACA,mBACA,eACA,2BACA,SACA,eAEA,EADA,6BACA,oBAEA,GACA,GAEA,CAAK,EAKL,OAJA,oBACA,aACA,UACA,CAAK,EACL,CACA,CACA,eACA,KACA,cACA,8BACA,SAGA,KACA,mBACA,+BACA,GAEA,CAAK,EACL,CAaA,mBACA,eACA,KAAgC,GAAc,GAC9C,MACA,EAF8C,KAI9C,MAAmB,GAAS,QAC5B,oBACA,OACA,iBACA,GAEA,CAAK,SACL,yBACA,WACA,sBACA,uBACA,gBAGA,MACA,CAAK,EAGL,OAFA,aAjCA,SACA,qCAEA,OA+BA,KACA,CACA,CACA,mBACA,GACA,eAEA,eAnCA,UAoCA,GAnCA,SACA,wCAoCA,CACA,mBACA,eACA,EAAkB,GAAS,IAC3B,EAD2B,KAC3B,OACA,EAtHA,cACA,yBACA,GAAY,OAAS,GAAqB,KAC1C,OACA,IAF0C,CAE1C,EACA,QACA,SACA,oBACA,mBACA,CACA,EA4GA,KAEA,CAAK,IAEL,OADA,GAjIA,mBAiIA,IAjIA,IAkIA,CACA,CACA,oBACA,oBACA,iDACA,kBA/KA,cACA,cACA,2BACA,0BAcA,GAbA,OACA,SACA,SACA,QACA,OACA,kBACA,gBACA,cAEA,CACA,EACA,6BACA,sCACA,OACA,MAA6B,GAAY,UACzC,aACA,WAEA,CACA,UACA,uBACA,4BACU,CACV,MAAkC,GAAY,WAC9C,aACA,YAEA,EAGA,EA8IA,KACA,GAEA,IACA,CACA,kBACA,eACA,UACA,SAEA,oBACA,CACA,SACA,QACA,aACA,WACgB,GAAa,GAC7B,OAD6B,UAC7B,IAEA,mBAEA,CAAS,EACT,kBAMA,OALA,2BACA,gBACS,EACT,gBACA,aACA,EACA,CACA,wBACA,8BACA,iCAA8D,CAM9D,EALA,CACA,UACA,UACA,SACA,CACA,OACA,cACA,CACA,yBACA,iCAA8D,CAC9D,OACA,IASA,CANA,EACA,UACA,UACA,SACA,EACA,KAzLA,gBACA,aACA,oCAEA,CAqLA,EACA,OACA,YACA,CACA,sBACA,+BAEA,wBACA,OD7qCA,kBACA,YACA,iBACA,qCACA,uCACA,WAhCA,OACA,QACA,2BACA,eACA,KAGU,CACV,gCACA,CAD4D,CAC5D,MACA,yBACA,kBACA,0BACA,6BACA,iCACA,kCACA,MAXA,gBACA,gBAWA,CACA,OACA,QACA,SACA,eACA,eACA,CACA,EAQA,OACA,OAAU,YAAkB,EAC5B,gCACA,6BACA,kBACA,mBACA,oBACA,CAeA,OAdA,wBACA,+BACA,+BACA,gCACA,OAGA,YAEA,0BACA,yBAEA,iBADA,aACA,KAEA,CACA,QACA,QACA,CACA,EC8oC6B,QAC7B,CACA,cACA,SAAoC,GAAc,GAClD,QADkD,CAClD,iBACA,CACA,CASA,SACA,0BACA,qBACA,EACA,EACA,UACA,QACA,YACA,mBACA,MAAgB,OAAS,eACzB,IACA,IACA,IACA,OACA,IACA,GACA,CACA,CACA,WACA,OAAe,GAAQ,SAAY,GAAQ,OAC3C,CACA,cACA,uBACA,UAEA,YAEA,SAIA,OAHA,cACA,0CACS,EACT,CACA,CACA,CA0EA,2BAIA,MAHA,MAAkB,GAAc,KAChC,MADgC,CAChC,IAAyB,GAAc,sBACvC,IAQA,IANA,eACA,GAEA,GADA,QACA,iBAEA,IACA,KAEA,uBAEA,oBAAgC,IAAS,IACzC,QACA,aAEA,uBAGA,CAeA,kDACA,gDACA,2BACA,iBACA,SACA,aACA,WACA,IACA,KAAU,IAAS,KACnB,yBAEA,QACA,CAqCA,eACA,iCACA,CACA,iBACA,cACA,SAEA,MAAiB,GAAM,UACvB,EAAoB,GAAS,WAE7B,MADkB,IAAO,yBACzB,sBA6DA,oBACA,eACA,QACA,aACA,iBACA,oBACA,eACA,mBACA,gBACA,mBACA,iBACA,kBACA,kBACA,mBACA,eACA,OACA,QACA,MACA,QACA,EACA,qBACA,sBACA,uBACA,0BACA,wBACA,yBACA,iBACA,0BACA,gBACA,gBACA,mBACA,cACA,yBACA,sBACA,sBACA,eACA,kBACA,0BACA,wBACA,sBACA,uBACA,qBACA,qBACA,0BACA,0BACA,oBACA,oBACA,eACA,0BACA,oBACA,CACA,QACA,6CACA,iBACA,gCACA,gCACA,8CACA,6CACA,CACA,WACA,QACA,CACA,gBACA,aAAc,8CAAuD,KAKrE,OAJA,EAAmB,GAAe,4BAClC,EAAmB,GAAe,4BAClC,EAAwB,GAAe,4BACvC,EAAwB,GAAe,4BACvC,CACA,IAAiB,GAAe,KAChC,IAAiB,GADe,EACA,GAChC,OADgC,IACR,GAAc,GACtC,QADsC,GACd,GAAc,EACtC,CACA,CACA,OAHsC,GAGtC,GACA,IACA,EADA,KAAc,mCAAuC,qBAErD,QACA,OACA,MACA,KACA,EAEA,qCACA,uBAA4C,IAAU,IACtD,oCACA,GACA,sBAEA,GACA,sBAKA,OAFA,aACA,aACA,CACA,IAAiB,GAAe,EAAM,GAAe,MACrD,CADgC,GACf,EADoC,CACrB,EAAM,GAAe,KACrD,CACA,CAFgC,KAAqB,OAGrD,CACA,OACA,yBACA,uBACA,2BACA,4BACA,CACA,CACA,WACA,kBAEA,YACA,sBACA,oFAEA,sCAEA,OADA,+DAEA,CACA,eACA,eACA,yBACA,CACA,eACQ,GAAQ,2BAChB,KACA,CACA,CACA,cACA,IAAgB,+BAAyC,aACzD,eACA,oBACA,gBACA,iBACA,+BACA,OACA,QACA,MACA,QACA,CAAS,IACT,gBACA,sBACA,yBACA,sBACA,2BACA,qBACA,0BACA,yFACA,yBACA,wBACA,2BACA,uBACA,YD3tEA,SC2tEmC,CD3tEnC,MACA,QAAY,SAAa,EACzB,gBACA,wBACA,OACA,sBACA,UACA,CACA,ECmtEmC,UACnC,2BAEA,wBACA,iCACA,uBACA,0BACA,0DACA,iBACA,oCACA,8BACA,mCACA,6CACA,oBA3YA,KACA,sBACA,WAyBA,GACA,uBACA,gBAGA,2BAFA,oBACA,gBAEA,EA/BA,GACA,iCACA,kBA6CA,gBAEA,IADA,SAEA,mBAAoC,IAAU,IAC9C,YACA,UAGA,QACA,EAtDA,MACA,WACA,OACA,SACA,KACA,OAEA,OADA,SAiDA,SACA,IAEA,EAFA,IACA,OAGA,QADA,eACe,WAAkB,IACjC,QACA,aAEA,WAGA,EA7DA,WACA,EAEA,eAqBA,OACA,eA4DA,OAEA,IADA,eAEA,OACA,SAEA,eAA8B,IAAS,IACvC,mBACA,SAGA,QACA,EAxEA,GACA,aACA,MACA,qBAEA,MDzqGA,UCyqG8B,MDtqG9B,EAFA,SACA,eAEA,QAAe,IAAU,IACzB,SACA,UACA,aAOA,OAJA,WACA,UAEA,yBACA,CACA,EC0pG8B,GAC9B,yBAA8C,IAAU,KACxD,WACA,OACA,QAEA,CACA,oBACA,EAnCA,OACA,YACA,IACA,uCAEA,OADA,MAAuC,GAAa,YACpD,UAA+C,IAAU,IACzD,sBAGA,OADA,WAA6C,GAAa,iBAC1D,CACA,CAEA,OADA,UACA,CACA,EAiXA,iBACA,sBACA,sBAEA,GACA,uCAEA,iBACA,WACA,gBACA,kBACA,CACA,YACA,IACA,IADA,uBAEA,qBACA,YACA,eAEA,WACA,cACA,MAEA,mBACA,iBACA,sBACA,iBACA,+CAEA,cACQ,GAAQ,0BAChB,KACA,CACA,CACA,sBACQ,GAAQ,kCAChB,KACA,CACA,CACA,gBACA,qBACA,yBACA,YACA,wBAEA,2BACA,WACA,yBAEA,mBACA,kBACA,oBACA,oBACA,CACA,qBACQ,GAAQ,iCAChB,KACA,CACA,CACA,cACA,8CACQ,GAAQ,iBAChB,KACA,CACA,CACA,mBACA,mCACA,CACA,uBACA,kBACA,kCACA,CACA,mBACA,mCACA,CACA,aACA,SAEA,kBACA,kCACA,CACA,8BACQ,GAAQ,0CAChB,KACA,CACA,CACA,0BAEA,MADA,yBAEA,mBAAwC,IAAU,IAClD,SACA,MAAyB,GAAQ,YACjC,QACA,EACA,EACA,MAEA,CACA,6BACQ,GAAQ,yCAChB,KACA,CACA,CACA,+BACQ,GAAQ,2CAChB,KACA,CACA,CACA,6BAOA,MANA,mBACA,UACA,8CACA,mBACA,gBACA,IAEA,qEACA,qBACA,MACA,CACA,4BACA,iBACA,mBACA,EAAyB,GAAW,oCAEpC,IADA,uCAEA,wBACA,0EACA,qBAEA,wBADA,EAA4B,GAAS,mBAAoB,GAAW,wCAAiE,GAAW,qBAAmD,GAAW,gBAG9M,oBACA,CACA,8BACQ,GAAQ,0CAChB,KACA,CACA,CACA,iBACA,YACQ,GAAQ,wBAChB,KACA,CACA,CACA,MACA,OACA,QACA,QACA,EACA,OAAgB,WAAmB,yBAA0D,KAC7F,oBACA,sBACA,MACA,2BAQA,GAPA,GACA,sBACA,mBAEA,wBACA,iBAEA,8BACA,UAAwB,6BAAmC,sBAC3D,cACA,EAAqC,GAAS,oBAC9C,cACA,cACA,MACA,sCACA,8CACA,EAAkB,IAClB,sCACA,2CACA,CACA,+BACA,CACA,CACA,sBACA,GACA,uEACA,uBAEA,mBACA,yEAEA,CACA,2BACA,IAAgB,aAAS,aAAmB,YAAc,aAC1D,yBACA,6BACA,wBACA,wCACA,uDACA,IACA,IACA,EACA,GACA,YACA,eAEA,aACA,aAEc,YACd,UACc,UACd,UACc,cACd,YACA,aAEA,+DACA,+DACA,EAAU,IACV,iBACA,YACA,cACA,IACA,YACc,YACd,WACA,KAEA,oBACA,sBACA,CACA,CACA,iBACA,gBACA,iEACA,8DACA,oEACA,uEAEA,CACA,WACQ,GAAQ,uBAChB,KACA,CACA,CACA,eACA,SAAgB,cAAmB,aACnC,sCACA,CACA,aACA,6BAEA,6BAGA,IACA,IAHA,mCACA,2BAEA,eAAwC,IAAU,IAClC,GAAa,cAC7B,cACA,IACA,KAGA,iCACA,CACA,iBACA,uBACA,OACA,oCACA,aACA,YACA,YAEA,uFACA,CACA,QACA,CACA,8BAOA,sBANA,QAAgB,uBAAmC,KACnD,KACA,KACA,wBACA,IACA,IAEA,QAAmB,IAAY,MAU/B,GATA,aACA,kCACA,kBACA,cACA,OAAwB,CACxB,OAEA,eACA,MACA,GAA8B,IAAY,GAAO,GAAnB,CAAmB,GAG1B,GAAO,GAC9B,CAD8B,GAC9B,eAAgD,IAAU,IAEjC,GADzB,SACwD,CAAlB,EAAyB,KAC/D,EAAgC,GAAY,mBAC5C,KAGA,MAVA,EAAwB,GAAY,mBACpC,IAUA,UACA,UACA,gBACA,eACA,CA5iBI,GA6iBJ,CA7iBQ,SAGR,EAFA,WACA,aAEA,KAyiBA,EAziBA,CACA,QAAuB,IAAW,IAClC,oBAEA,aACA,CACA,CAAK,EAoiBL,mBACA,eACA,OACA,cACA,cACA,EAAa,CACb,OACA,WACA,YACA,YACA,aACA,SACA,SACA,CACA,CACA,oBACA,QACA,CACA,sBACA,UACA,CACA,qBACA,mBACA,wBACA,kBACA,KAEA,iCACA,CACA,sBACA,qBACA,QAEA,sCACA,OAAe,GAAW,oBAAuB,GAAW,kBDlvH5D,aCmvHA,CACA,sBACA,wCACA,gCACA,CACA,eACA,iDACA,CACA,eACA,QAAgB,SAAa,KAC7B,8BACA,CACA,cACA,qBACA,qBACA,WACA,+BAlkBW,GAkkBX,UAlkBwB,KAkkBxB,GAlkBwB,CACxB,KAikBA,EAhkBA,MAgkBA,EA/jBA,WACA,CAAK,CA8jBL,CACA,CACA,qCA1kBW,GA0kBX,wBA1kBwB,CACxB,MAykBA,KAxkBA,YACA,CAAK,CAukBL,CACA,CACA,YACA,yBACA,EAAoB,GAAS,oBAC7B,wBACA,wBACA,wBACA,uBACA,uBACA,yBACA,0DACA,CACA,aACA,iCACA,WACA,IAEA,uCACA,CACA,6BAiBA,QACA,gBAjBA,gBACA,aACA,eACA,MAAgB,uBAA4B,EAC5C,WACA,sBAEA,MADA,OACA,eACA,QACA,KACA,kCACA,sBACA,MACA,cACA,OAAmB,GAAW,MAC9B,EAD8B,GAI9B,UACA,iBACA,gBACA,MACA,aACA,gBACU,gBACV,cACA,QACA,gBACA,MACA,kBACU,cACV,gBACA,eACA,MACA,cACA,eACU,eACV,eACA,SACA,eACA,MACA,mBACU,YACV,gBACA,gCACc,GAAS,GAAQ,IAC/B,CAD+B,GAC/B,oBACA,OACA,6CACA,CACA,QACA,WAEA,EADA,QACA,CACA,EAAU,gBACV,gBACA,6BACc,GAAS,GAAQ,IAC/B,CAD+B,GAC/B,oBACA,OACA,6CACA,CAEA,EADA,QACA,EACA,SACA,UAEA,MAAsB,GAAc,yBACpC,6BACA,QAAmB,IAAiB,MACpC,yBACA,kBACA,kBACA,cACA,UACA,aACA,eACA,cACA,cACA,uBACA,8BAEA,IADA,GAjuBA,oBAOA,EANA,qBACA,kBACA,gBACA,cAEA,uBAEA,QAEA,EADA,MACA,kBACU,MACV,2BAEA,6BAGA,GADA,aACA,EAZA,IAYA,SAZA,IAYA,GAIA,QACA,EA2sBA,aAIA,EAA+B,GAAW,OAC1C,CAD0C,CAE1C,UAEA,UAEA,QACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,QACA,QACA,aACA,mBACA,YACA,YACA,iBACA,sBACA,CAAa,EACb,CAGA,OAFA,oBACA,oBACA,CACA,CACA,0BAYA,sBAXA,gBACA,eACA,CAAgB,oBAAiC,EACjD,sBACA,aACA,OAAgB,mCAAyC,EACzD,aACA,MACA,SACA,GAA0B,GAAS,oBACnC,KAEA,WACA,aACA,gBACA,sCACU,gBACV,aACA,sCACU,eACV,sCACA,cACA,OACU,oBACV,sCACA,cACA,OACU,gBACV,gBACA,4BACc,GAAS,GAAQ,IAC/B,CAD+B,GAC/B,oBACA,OACA,4CACA,CACA,gCACA,EAAU,gBACV,gBACA,4BACc,GAAS,GAAQ,IAC/B,CAD+B,GAC/B,oBACA,OACA,0CACA,CACA,4CAEA,UACA,YACA,QACc,WACd,cAGA,4BACA,mBAAwC,IAAU,SAmDlD,EAjDA,GADA,IACA,MACA,uCACA,wCAEA,GADA,mCACA,WAEA,OADA,EAAwB,GAAO,eAC/B,EACA,UACA,oBACA,oBACA,IAwCA,GAvCA,GACA,IACA,cAEA,EADA,QACA,oCACsB,MACtB,oCAEA,UAKA,EAFA,UACA,kBACA,SACsB,aACtB,0BAEA,sBAGA,kBACA,IACsB,aACtB,uBAEA,qBAGA,GACA,QAEA,4BACA,uBAGA,IACA,aAGA,qBACA,MAAqC,GAAS,mBAC9C,eACA,cACA,UACA,WACA,UACA,aACA,OACA,KACA,cACA,IAEA,CACA,UACA,aACA,OACA,KACA,aACA,KACA,KACA,aACA,QACA,KAC0B,KAC1B,QAGA,CACA,GACA,OACA,MACA,gBACA,kBACA,sBAEA,CACA,QACA,QACA,OACA,aACA,SACA,WACA,QACA,cACA,cACA,YACA,eACA,aACA,EACA,EACA,CACA,UACA,CACA,CAAa,CACb,CACA,QACA,CACA,0BACA,aAAgB,WAAoB,aAEpC,GADA,CAA0B,GAAS,oBAEnC,+BAEA,eAQA,MAPA,kBACA,SACU,gBACV,UACU,mBACV,YAEA,CACA,CACA,+BAKA,EACA,EALA,aAAgB,oBAAoB,uBAAoC,aACxE,wBACA,MACA,iBAsDA,MAnDA,WACA,GACA,eACA,WACA,SACkB,cAClB,WACA,SAEA,UACA,QAGA,eACA,WACA,UACkB,cAClB,WACA,SAEA,SACA,cAGU,YACV,GACA,cACA,WACA,UACkB,cAClB,WACA,SAEA,SACA,QAGA,cACA,WACA,SACkB,cAClB,WACA,SAEA,UACA,eAIA,UAEA,CACA,YACA,GACA,CACA,CACA,oBACA,6BACA,OAEA,iBACA,8BACA,wBACA,CACA,MACA,eACA,gBACA,kBAGA,wBACA,CACA,aACA,OACA,mBACA,qBAGA,CACA,iBACA,QAAgB,2BAAiB,GAAmB,+BAAiC,KACrF,IACA,SACA,cACA,oBACA,YAEA,CACA,wBACA,wBACA,kCACA,SAGA,MADA,WACA,iCACA,KACA,iCACA,UAEA,CACA,CACA,gBAIA,IAHA,wBACA,WACA,2EAEA,YACA,mBAGA,SACA,oBACA,sBACA,gCACA,oCACA,cACA,kBACA,kBACA,WACA,YACA,EACA,aACA,mBAA4C,IAAU,KACtD,WACA,mBACA,GACA,OACA,MACA,CAAqB,EACrB,OACA,OACqB,IAErB,aACA,GACA,QACA,QACqB,EACrB,QACA,OACA,CAAqB,EACrB,kBACA,kBACA,4BACA,wCACqB,CAErB,CAEA,CACA,iBASA,QARA,UAAgB,wBAAyB,WAAoB,KAC7D,kCACA,sBACA,MACA,OAEA,iDACA,oBAEA,qBACA,EAAiB,GAAW,mBAC5B,EAAiB,GAAW,oBAC5B,QAEA,EAAiB,GAAW,kBAC5B,EAAiB,GAAW,qBAC5B,OAEA,SACA,oBACA,sBACA,cACA,cACA,cACA,WACA,WACA,CACA,cAEA,IADA,mBACA,QACA,OAEA,eACA,2BAKA,aAJA,GACY,GAAQ,KAEpB,uBACA,CACA,gBACA,SAGY,GAAU,EAFtB,KAEsB,EAFtB,CAEsB,EADtB,aACsB,IACtB,CACA,GACY,GAAU,EAEtB,CACA,IAHsB,OAGtB,KAxkCA,EAykCA,QAAgB,WAAiB,+BAAiC,KAClE,cACA,OAEA,MAAqB,GAAM,QAC3B,EAAwB,GAAS,WACjC,UACA,gBACA,6BAA8D,GAAQ,IACtE,CADsE,EACtE,SACgB,GAAO,SACvB,qCAGA,SAEA,WAAgB,kCAAyC,SAnlCzD,aAIA,MAHA,QAAY,mCAAuC,EACnD,WAAY,YAAsB,EAClC,IAEA,MACA,MACA,qBAEA,GADA,EAAiB,GAAc,OACnB,GAAQ,CADW,EACX,CACpB,CADoB,GACpB,oBACA,OACA,8BACA,EAAU,IACV,EADU,aACV,uBAEA,UAEA,KACA,EAAM,IACN,GAAY,GAAQ,IACpB,CADoB,GACpB,oBACA,OACA,8BACA,EAAU,IACV,EADU,aACV,uBAEA,UAEA,EAAiB,GAAc,OAC/B,IAD+B,OAC/B,GAA0C,GAAU,EACpD,CACA,CAFiD,GAAU,EAE3D,CACA,SACA,SACA,WACA,UACA,CACA,EA6iCyD,YACjD,GAAU,gBAClB,cACA,WACA,WACA,WA9lCA,EAAe,GA8lCf,GA7lCA,CA6lCA,GA7lCA,QADiC,EA8lCjC,GA7lCA,CA6lCA,GA7lCA,UA6lCA,CA7lCA,GACA,UAEA,GA2lCA,sBACA,aACA,EACA,EACA,CACS,CACT,CACA,QACA,oBAGA,sBACA,iBACA,kBACA,iBACA,mBACA,CACA,UACA,mBACA,wBACA,EAAmB,GAAc,qBACjC,EAAmB,GAAc,+BACjC,iDAUA,CACA,CACA,IACA,SACA,sBACA,iBACA,gBACA,CACA,CAAa,CACb,CACA,IACA,UACA,iBACA,CACA,CAAa,CACb,CACA,IACA,SACA,kBACA,CACA,EACA,CA9BA,CACA,CACA,IACA,SACA,YACA,CACA,EACA,CAyBA,+BAIA,IAHA,gDACA,qBACA,KAEA,mBAAwC,IAAU,KAClD,WACA,+BACA,SAEA,CACA,QACA,CACA,2BAEA,OAAe,GADf,GACqB,CADrB,8CACqB,KACrB,CACA,aACA,iDACA,oDACA,CACA,CAEA,SACA,mBACA,YACA,aACA,gBACA,8BACA,CACA,aACA,2EACA,CACA,gBAEA,EADA,8BAmEA,QAjEA,GAiEA,aAjEA,GACA,qBAEA,iBACA,OACA,mBACA,MACA,iDAEA,SAGA,OAyBA,gBACA,MAAyB,GAAK,qBAC9B,EAAsB,GAAQ,SAAsB,CAC5C,GAAQ,OAChB,WACA,EACI,GAAQ,SACZ,iBACA,SAMA,KACA,2BACA,mBACA,UACA,GACA,EACA,qBACA,kBACA,UACA,cACQ,GAAQ,cAChB,CAAK,CACL,EAlBA,mBAEA,eACQ,GAAQ,yBAEhB,EArCA,OACA,eACY,GAAQ,4BALpB,CAQA,CACA,OACA,qBAEA,cACA,iBACA,OACA,aACA,QACA,YAEA,QAA2B,EAAQ,MACnC,OAAmB,EAAQ,OAC3B,eACA,OAAuB,EAAS,IAGhC,CACA,CAgCA,SACA,cACA,0CACA,oCACA,sCACA,gCACA,uBACA,iBACA,YACA,cACA,CAEA,UACA,wBACA,CACA,aACA,0BACA,CACA,qBACA,yCACA,CACA,kBACA,sCACA,CACA,iBACA,qCACA,CACA,gBACA,oCACA,CACA,iBACA,iDACA,CACA,cACA,2CACA,CACA,aACA,yCACA,CACA,YACA,uCACA,CACA,wBACA,2CACA,CACA,qBACA,wCACA,CACA,oBACA,uCACA,CACA,mBACA,sCACA,CACA,aACA,IACA,EACA,aACA,oCACA,2CACA,kBAEgB,GAAI,MACpB,qCACA,iBACA,CAAiB,CAEjB,CAAS,CACT,CACA,aACA,MAA4B,GAAW,GAC/B,GAAQ,EADuB,GACvB,eAChB,QACQ,GAAQ,kBAChB,CACA,uBACA,YAAuB,+BAAkC,KACzD,+BACA,kBACA,QAEA,CACA,oBAEA,YACA,eACA,cACA,kDAEA,QACA,CACA,CACA,aAEA,UACA,cACA,aACA,CACA,gBACA,mBACA,yCACA,sCAEA,4DACA,wBAKA,MAJA,qBACA,yBACA,wCAEA,CACA,CACA,iBAEA,aADA,QACA,IACA,eAOA,GAAwB,KAAR,GANhB,KACA,CACA,EACA,EACA,UACA,CACwB,iBACxB,QAEA,CACA,QACA,CACA,aACa,GAAa,eAC1B,2BACA,mBAEA,CACA,gBACA,eACA,mBAEA,6CAEA,OADA,4BACA,CACA,CACA,wBACA,kBACA,EAAwB,GAAc,+BAA6C,EACnF,EAWA,YACA,SACA,KACA,gCACA,YAAmB,WAAiB,IACpC,2BAEA,oBACA,YAAmB,WAAkB,KACrC,WACA,oBACA,UACA,WAEA,CACA,OACA,UACA,UACA,CACA,EA9BA,GACA,yBAuCA,WAAoC,aAAqB,MACzD,SACA,iBACA,oBAZA,EAaA,WACA,GAdA,EAcA,QAbA,OAGA,OACA,GAEA,EALA,KAaA,WAGA,QACA,SACA,iBAQA,UAA8B,UAAiB,MAC/C,2BACA,yBAIA,OAHA,eACA,mBAEA,sBACA,GACA,EACA,cACA,aACA,UACA,CAAK,CACL,EArBA,UACA,SACA,WACa,KACb,CAAS,CACT,CACA,QACA,EAzDA,WACA,CACA,uBACA,yBACA,cACA,4DACA,8BACA,8BACA,CACA,CAgEA,iBACA,MAA4B,GAAQ,gBAEpC,MADA,iBAAkD,SAClD,wCACA,CAaA,eACA,6BACA,QAEA,CASA,oBACA,SACA,SAEA,oBAZA,EAaA,cAZA,UADA,EAaA,aAZA,aACA,IAEA,wBACA,UAFA,GAUA,mCACA,KACA,QAEA,CACA,yCAAiD,EAAG,qDACpD,CACA,mBACA,qBACA,OACA,MACA,CAEA,CAgEA,eACA,+BAA0D,CAC1D,UAAsB,GAAc,YAAoB,EACxD,SAzDA,cACA,MAA0B,EAAS,WACnC,SACA,EACA,eACA,eACA,sBA8CA,OA7CA,2BACA,WACA,IAAa,GAAQ,GACrB,EADqB,KACrB,wDAA2E,EAAG,GAE9E,YACA,sEAAkF,EAAG,GAErF,sBAxBA,KACA,4BACA,8DACA,YACA,qCAEA,CACA,QACA,EAgBA,KAAwF,GAAQ,gBAChG,EA3DA,IA2DA,EA3DA,oBA4DA,cACA,MAAqB,GAAO,qBAC5B,CACA,MACA,CAAa,CACb,EACA,KACA,KACA,CACA,CAAK,EACL,4BACA,qBACA,uBAEA,GADgC,EAAS,SACzC,WACA,+BApFA,EAqFA,OArFA,EAqFA,EApFA,YAoFA,EAnFA,EAmFA,EAlFM,YAkFN,GAjFA,SAiFA,EAjFA,SAEA,GAgFA,kBACA,gCACY,GAAO,MACnB,CACA,MACA,CAAiB,CACjB,KACA,KACA,CACA,CAAS,CACT,CAAK,EACL,2BACA,WACQ,GAAO,GACH,CADG,EACK,eACR,GAAQ,MACpB,CACA,CAAK,EACL,CACA,EAIA,IACA,CACA,eAIA,MAHA,UACA,wBACA,sBACA,CACA,CAOA,eACA,WACA,iBACA,gBAMA,OALA,IACA,MACA,YACA,WAEA,CACA,CACA,iBACA,MAAiB,GAAgB,IACjC,SADiC,CACjC,GACA,QAEA,CACA,UACA,eACA,sBAzBA,GAIA,MAFA,CADA,SACA,gBACA,MACA,CACA,EAoBA,GACA,yBACA,2BACA,CACA,eACA,6BAEA,WACA,yBAEA,YACA,mBACA,CACA,WACA,yBAEA,YACA,uBACA,CACA,cACA,2BACA,CACA,eACA,sBACA,CACA,cACA,4BAEA,SACA,mBACA,kBACA,KACA,CACA,aACA,yBACA,2BACA,CACA,oBACA,iBACA,CACA,YAAgC,EAAY,EAC5C,GACA,CACA,CACA,CACA,+BACA,aAA6B,EAAY,cAAc,EAAW,OAClE,CACA,YAAgC,EAAY,eAAe,EAAW,EACtE,eAAmC,EAAW,EAC9C,CACA,CACA,YAAgC,EAAY,EAC5C,GACA,CACA,CACA,CACA,6BACA,aAA6B,EAAY,GAAG,EAAY,OACxD,CACA,YAAgC,EAAY,YAAY,EAAY,EACpE,YAAgC,EAAY,EAC5C,YAAgC,EAAY,EAC5C,GACA,CACA,CACA,CACA,mBACA,WACA,YACA,aAA6B,EAAK,UAAU,EAAG,OAC/C,CACA,WAA+B,EAAG,KAClC,6BACA,CACA,CACA,CACA,mBACA,uBACA,WAKA,MAJA,UACA,UACA,YAEA,CACA,CACA,uBACA,YAAgB,UAAkB,KAClC,0BACA,WACA,KACA,SAEA,cACA,cACA,IACA,SACA,yBAEA,wBACA,kBAAmD,EAAS,OAAY,KACxE,kBAAmD,GAAQ,IAC3D,CAD2D,CAC3D,gBAAmD,GAAW,GAC9D,CAAS,EACT,EAF8D,EAE9D,gBAOA,OANA,cACA,4BAEA,WACA,WAEA,CACA,CACA,oBACA,YAAgB,UAAkB,KAClC,OACA,EACY,EAAS,OAAY,CACrB,GAAQ,eAAqB,CACzC,CACA,MACA,CAAa,CACD,GACA,GACZ,CAEA,CAJoB,MACG,aAGvB,SACA,GACA,EACA,OACA,UACA,EACA,UAAgB,iBAA0B,4BAC1C,IACA,YAqCA,KACA,iBAAY,iBAA8B,GAAc,GACxD,MADwD,EACxD,QACA,WACA,OACA,eACA,OAA2B,GAAU,eAA+C,GAAO,GAC3F,CAD2F,KAC3F,EAEA,CACA,QACA,EAhDA,MACA,aACA,EAAsB,GAAU,SAChC,iCACA,EAAsB,GAAc,MACpC,CACA,IAFoC,IAEpC,OACA,UAEA,QACA,CACA,sBACA,GACA,IACA,aAAgB,GAAY,4BAC5B,OAAe,GAAQ,GAAY,EAAZ,CAA0B,eACjD,CACA,CACA,mBACA,eACA,IACA,UACA,YAEA,eACA,WASA,OARA,IAEA,GACA,SAFyB,GAAe,KAGxC,OAHwC,KAGxC,+CACA,EACA,YAEA,CACA,CACA,UAA6B,GAAQ,0CAAyD,GAAU,UAgBxG,CACA,MACA,SACA,OACA,QACA,YACA,CACA,iBACA,0DACA,CACA,iBACA,qBACA,uCAEA,CACA,eACA,cACA,sBACA,+BACI,GAAQ,iBACZ,EACA,GACA,CACA,eACA,cACA,sBACI,GAAQ,iBACZ,EACA,GACA,CACA,eASA,OARQ,MAAe,mBACvB,6BACM,aACN,SAEA,aACA,aAEA,CACA,CACA,UACA,OACA,YACA,sDACA,EAuBA,mBACA,gCAcA,SACA,gBAAsB,EAAQ,QAC9B,oBACA,UAAuB,EAAS,QAChC,mBACA,QA1FA,OA0FA,QACA,mBACA,eACA,aACA,IACA,CACA,wBACA,gBACA,IACA,CACA,iBACA,4BACA,QACA,QACA,KACA,+IAEA,+DACA,gCAjnEA,CAAS,MAAe,kEACxB,GAEA,GA8mEA,EACA,8BACA,oDACA,cACA,cACA,aA6BA,GA5BA,QAAkB,GAAG,EACrB,WACA,cACA,aACA,cACA,gBACA,mCACA,gBACA,kBACA,oBACA,cACA,oCACA,sBACA,gBACA,uBACA,mBACA,iCACA,wBACA,eACA,qBACA,iBACA,uBACA,iBACA,gCACA,qBACA,eDl9JA,QCk9JiC,CDl9JjC,KACA,MACA,sBAOA,OANA,GACA,gBACA,qBAEA,gBAEA,CACA,CACA,ECu8JiC,oCACjC,qBACA,iBACA,QACA,mFACA,MACA,CACA,8BACA,8BACA,mBACA,eACA,aAEA,CACA,kBACA,IAAgB,qBAAW,yBAAqC,iCAAmC,YACnG,GAA0B,GAG1B,KACA,EAJ0B,EAM1B,SALA,CAMA,CACA,WACA,uBACA,CACA,YACA,kBACA,CACA,cACA,qBAEA,eACA,qBACA,CACA,eACA,SACA,CACA,cASA,OARA,iCACA,wBACA,cAEY,GAAW,oCAEvB,kBACA,gCACA,IACA,CACA,QAEA,OADQ,GAAW,sBACnB,KAEA,OAEA,OADA,cACA,KAEA,YACA,iBAGA,wBACA,QACA,QACA,EALA,iBAOA,CACA,aACA,mBACA,cACA,0CACA,wCACA,0DACA,8BACA,oBACA,qBACA,mCACa,GAAW,aAGxB,6BACA,MACA,CAAS,EACD,GAAQ,YAChB,KACA,EACA,OACA,eACA,mBACA,cAGA,CACA,sBAGQ,GAFR,CAEY,GAFZ,SACA,WACY,QACZ,MACA,CAAS,CACT,CACA,sBACA,mBACA,WACA,cACA,gCACA,QACA,GACS,EAAI,EACb,KACA,GACA,mCACA,WACA,UACA,UACA,UACA,OACA,UACA,0CACA,4CACA,CACA,CAAa,IAEL,GAAI,MACZ,gBACA,OACA,UACA,EAA8B,GAAc,gBAC5C,2DACA,yBAEA,QACA,UACA,uBACA,OASA,EANA,MADA,iBACA,CACA,KACA,OACA,aACA,YACiB,EACjB,MAEA,WACA,CAAS,EACD,GAAI,UACZ,GACA,YAES,EACD,GAAI,MACZ,+BACA,iBACA,CAAS,CACT,CACA,kBACA,qBACA,4BACA,WAEA,GADA,+BACA,KACA,YAAiC,IAAa,IAC9C,4BAEA,eACA,CACA,yDACA,CACA,8BACA,IAAgB,2BAA8B,IAAe,KAC7D,mBACA,oBAEA,kBACA,wCACA,2BAEA,CAAS,CACT,CACA,+BAGA,IAFA,SACA,qBAGA,IADA,mCACA,eAA2C,IAAU,KACrD,WACA,yBACA,2BAWA,GAVA,qBACA,4BACA,0BAEA,SACA,4CACA,mBACA,UACA,mBACA,mCACA,aACA,4BACA,8BACc,CACd,0BACA,oBAAwB,qBAAwC,GAAU,YAC1E,iBACA,iCACA,sCACA,CAAiB,EACjB,2BACA,oBACA,CACA,CAEA,OADA,uBACA,CACA,CACA,iBACQ,GAAI,2BACZ,yCACA,CAAS,MACT,CACA,QACA,sBACA,2BACA,CACA,UACA,kBACA,WACA,8EACA,wCAKA,GAJA,qBACA,2BACA,4BACA,2BACA,CAGS,IAHT,mCACA,OACA,aACA,CAAS,EACT,OAEA,sCACA,2CACA,QACA,wCAAyD,IAAU,KACnE,IAAoB,cAAc,uBAClC,wBACA,2BACA,iCACA,CACA,4CACA,sBACA,GACY,GAAI,MAChB,SACA,CAAa,EAEb,wBACA,kCACA,MACA,CAAS,EACT,kCACA,YAAgB,gBAAwB,KACxC,EACA,yBACU,UACV,gCAEA,aACA,CACA,gBACQ,GAAI,gBACZ,oBACA,CAAS,EACT,2BACA,0BACA,CACA,sBACA,mBAGa,GAFb,MAEsB,EAFtB,8BACA,oBACsB,6CACtB,oBACA,kBAEA,CACA,uBACA,mBAAgB,GAAkB,KAElC,eAAqB,mBAA0B,EAD/C,mCA3XA,gBAEA,aADA,eACA,CACA,SACA,SACA,kBACA,KACA,YACA,UAEA,CACA,CACA,EAkXA,IADA,2BAGA,CACA,yBACA,wBACA,iBACA,MAEA,sBACA,gCACA,4EACA,OACA,YAAuB,IAAkB,IACzC,IAAiB,GAAS,QAC1B,OAGA,mDACA,YACA,YACA,YACA,CAAa,CACb,CACA,iBACA,IAES,IAFT,mCACA,aACA,CAAS,EACT,OAEA,yCACA,qBACA,yBACA,iBACQ,GAAI,eACZ,8BAGA,aACA,cAEA,kCACA,CAAS,OACT,6BACA,QACA,CAAS,EACT,iCACA,CACA,mBACA,IAGS,IAHT,2CACA,OACA,aACA,CAAS,GAGT,wCAAyD,IAAU,IACnE,8CAEA,wCAAyD,IAAU,IACnE,sBAAmC,GAAU,MAC7C,CAD6C,YAC7C,CACA,CAAa,KAEb,0CACA,MACA,CAAS,EACT,CACA,oBACA,6BACA,GACA,OACA,QACA,OACA,aACA,CACA,oDAGA,wBACA,gBACA,2CACA,CACA,SAGS,KAFT,mCACA,aACA,CAAS,IAGT,aACA,kCACA,gBAGA,YACA,IACA,WACa,GAEb,CACA,WACA,EACA,2BACA,UAAoB,YAAkB,uBACtC,4BACA,iBACA,CAEA,GADA,aACA,+BAGA,CAES,IAFT,iCACA,aACA,CAAS,EAJT,OAOA,mBACA,QAAmB,sBAAuC,IAC1D,0BAGA,IADA,qBACc,WAAmB,IACjC,0BAEA,+BACA,CACA,8BAGA,IAFA,2BACA,KAEA,mBAA2C,IAAU,KACrD,WACA,iBACA,SAEA,CACA,QACA,CACA,+BACA,sCACA,CACA,gBACA,IAES,IAFT,yCACA,aACA,CAAS,EACT,OAEA,0CACA,qBAAyC,KAAQ,IACjD,wBAEA,uCACA,CACA,gBACA,eACA,UACA,cACA,EAhgBA,cACA,WAAY,YAAmB,SAC/B,KACA,CACA,oBACA,sBACA,kBACA,uBACA,EAEA,CACA,EAqfA,kBACA,GACA,OACA,cACA,aACA,CACA,kDAGA,GACY,GAAQ,GACpB,EADoB,GACpB,4BACA,8CACA,6BACA,mDACa,EAEb,oBACA,GACY,GAAU,GAEtB,IAFsB,QAEtB,IACA,yCACA,CACA,iBACA,OAAe,GAAc,kCAC7B,CACA,mCACA,wBACA,qBACA,cAEA,GAEA,kBACA,4BACA,iBACA,uCAkBA,OAjBA,IACA,GACA,UACA,QACA,aACA,gBACA,YACA,aACA,aACA,oBACA,QACA,WACA,WACA,UACA,EACA,WAEA,CACA,CACA,aACA,qCAAiD,GAAa,MAC9D,IAD8D,EAC9D,KACA,YACA,EAAS,CACT,CACA,yBACA,kDAEA,oBACA,4BACA,MACA,SAEA,6BACA,qDAEA,0BAEA,IADA,mBACA,SACA,CACA,wBACA,+CAEA,qBACA,6BACA,CACA,yBACA,sBACA,yBACA,4CACY,GAAO,MACnB,kBACA,gBAEA,+BACA,YACA,SACA,CAAa,EACb,4CAEA,CACA,UACA,8BACA,CACA,UACA,8BACA,CACA,uBACA,wBACA,iBACA,wBAEA,yBAEA,QACA,QAGA,IAFA,YACA,gBACA,gCAAqD,IAAU,IAC/D,2BAEA,CACA,UACA,oCACA,WAAgB,SAAgB,KAChC,aACA,yBACA,IACA,oBACY,GAAW,KACvB,GADuB,CACvB,4BACA,iBACA,eAEA,mBACA,kCACA,CACA,oBACA,kCACA,CACA,aACA,sBACA,wBACA,4BAEA,gBAEA,CACA,iBACA,sBACA,gBACA,UACA,6BACA,MACA,EACA,YACA,YACA,YACA,qBACA,EACQ,GAAI,8BACZ,CACA,2BAqBA,CApBA,4BACA,+BAEA,gCACA,gBACA,UACA,6BACA,MACA,EACA,UACA,OACA,gCACA,YAEA,EACA,UACA,aACA,gBAEA,EAEA,OACA,cACA,iBACA,cACA,cACA,aACA,EACA,OACA,iBACA,cACA,aACA,kBACA,aACA,EACA,0BACA,IAEA,GAEA,CACA,eACQ,GAAI,wBACZ,2CACA,CAAS,EACT,mBACQ,GAAI,kCACZ,2CACA,CAAS,EACT,gCACA,CACA,4BAEA,MADA,uBAMA,IAJA,eACA,uCACA,wCAEA,eAAwC,IAAU,KAElD,MADA,UACA,+CACA,GACA,mDAEA,CACA,CACA,oBACA,wBAEA,qBACA,uBACA,uBAA6C,UAAuB,IACpE,6BACA,MACA,4CAEA,OACA,eACA,kBACA,OACA,CACA,CAAS,EACgB,GAAc,OAEvC,IAFuC,CAEvC,UACA,qBACA,6BAEA,CACA,qBACA,uCACA,CACA,mBACA,kEAEA,0BACA,yBACA,qFACA,SACA,YACA,WACA,mCAEA,kBACA,kCAEA,CACA,mBACA,OACA,QACA,SACA,cACA,iCACA,EACA,qEACA,8CACA,OAEA,2CAMA,OALA,gBACA,qCACA,gBACA,cAEA,KAEA,wBA3yBA,EA4yBA,IAAgB,wBAAsC,KAEtD,gCADA,GAEA,EDz+LA,QCy+LwB,IDz+LxB,SCy+LqC,SDz+LrC,+BC0+LA,GAhzBA,EAgzBA,gBA/yBA,uBA+yBA,EA3yBA,EA2yBA,EA9yBA,MA+yBA,IACA,qBACY,GAAQ,WACpB,EACA,EACA,KACA,OACA,GACgB,GAAQ,WACxB,EACA,EACA,KACA,QAGA,OAAyB,GAAc,KAMvC,MANuC,CACvC,QACA,eACA,gCAEA,kBACA,CACA,CACA,4BACA,uBACA,SAEA,MACA,SAEA,yBACA,mDACA,CACA,CACA,cACA,OAAW,GAAI,wCACf,CAoDA,qBACA,OACA,kBACA,iBACA,CACA,CAcA,yBACA,MAAY,gDAAiE,EAC7E,kCACA,gBACA,IACA,MACA,MAKA,gBACA,IAFA,WAEA,KAEA,KADA,mBACA,GACA,CACA,0BAAgE,EAAE,IAClE,UACA,QACA,QACA,YAAY,sCAAiD,SA/D7D,SACA,MAVW,GAUX,cAV4B,QAU5B,CAV4B,CAC5B,aACA,WACA,aACA,WACA,EAMA,UACA,oBAQA,MACA,4BACA,OAAe,GAAW,kBAC1B,EACA,OACA,2BACA,uBACA,WAAoB,GAAW,kBAC/B,SAAkB,GAAW,eAC7B,CACA,EA0C6D,WAC7D,MACA,MACA,QACA,QACA,MACA,MACA,QACA,QAEA,GADA,cACA,GAEA,cAIA,GAHA,iBACA,iBAEA,KACA,kBACA,oBAAsF,GACtF,CAEA,GAH6F,CAG7F,cAGA,GAFA,kBAEA,KACA,kBACA,kBAA+D,GAAO,UACtE,CAEA,wBAIA,GAHA,wBACA,wBAEA,KACA,kBACA,4BAAsG,GACtG,CAEA,GAH6G,CAG7G,cAGA,GAFA,kBAEA,KACA,kBACA,kBAAmE,GAAO,EAC1E,CACA,CAF0E,CAEpE,IACN,cACA,sBACA,kBACA,cACA,sBACA,kBACA,aACA,CACA,aACA,CAmDA,oBACA,uBACA,UACA,qBACA,mBACA,cACA,mBACA,uBACA,eACA,cACA,SACA,UACA,aACA,WACA,SACA,eACA,iCACA,SACA,aACA,eACA,8BACA,EACA,cACA,SACA,YACA,YACA,YACA,WACA,wBACA,GACA,QACA,oBACA,0BACA,uBACA,qBACA,wBACA,wBACA,mBACA,mBACA,GACA,qBAEA,CACA,eAKA,UAAgB,cAAoB,GAJpC,eACA,IACA,IACA,IACuD,CACvD,IACA,GACA,CAAS,EACT,YAAgB,0DAAqE,eACrF,aACA,WACA,cACA,cACA,gBACA,IACA,oDACA,EAA+B,GAAc,OAC7C,EAA+B,EADc,CACD,cAC5C,KAAgD,GAAG,GACnD,EAA6B,GAAU,WACvC,WACA,CACA,kBACA,IAAgB,6DAA6D,eAC7E,IACA,IACA,aACA,WACA,cACA,cACA,IACA,QAAgB,aAAoB,aACpC,UACA,cACA,OACA,kBACA,iBACA,CACA,CACA,mBACA,6BACA,CACA,QACA,YAAgB,mBAA2B,KAC3C,kBACA,mBACA,aAGA,GAFA,+CACA,mBAA2C,GAAG,aAA8B,GAAG,GAC/E,8CACA,OAEA,SACA,wCACA,yCAEA,QADA,qBAA0C,EAAE,QAE5C,+BACA,4BACA,SAzJA,WACA,gBAAY,gCAA4C,EACxD,aACA,MACA,gBACA,YAAuB,IAAiB,IACxC,SAEA,UACA,QAAqD,GAAG,CAAI,GAAG,CAE/D,CACA,gBACA,QAEA,EA0IA,cAzIA,oBACA,gBAAY,0CAAsD,EAClE,aAAY,qDAAiE,EAC7E,0BACA,MACA,OAEA,qBACA,mBACA,GACA,gBACA,wBAEA,cACA,uBAEA,iBACA,MACA,gBACA,YAAuB,IAAiB,IACxC,WAEA,UACA,QAAqD,GAAG,CAAI,GAAG,CAE/D,CACA,GACA,SA5LA,OACA,eAAY,qDAAgE,EAC5E,MAGA,cACA,qBACA,KACA,MACA,yBAEA,cAA8C,GAAO,EAAe,EAAf,EAErD,GAF2E,QAE3E,GACA,QACA,EA6KA,OAEA,IACA,gBACA,WAEA,EAyGA,cACA,WACA,CACA,CAEA,qBACA,UAAkB,GAAc,mCAChC,cAAoB,GAAc,4BAClC,iBAAyB,GAAc,uCACvC,WAAmB,GAAc,qCACjC,YAAoB,GAAc,6BAClC,cAAsB,GAAc,4BACpC,CACA,mBACA,iBACA,CAUA,oBAA8C,EAC9C,eACA,CAAY,qBAAuD,EACnE,CAAY,eAAyC,EACrD,gBACA,gBAEA,OACA,QACA,QACA,YACA,WALA,qBAKA,SACA,CACA,CACA,yBAKA,MAJA,WAAY,aAAoB,EAChC,OAAY,yBAA+B,UAC3C,EAzBA,UACe,GAEf,WAF6B,aAwB7B,EAtBA,uBACe,GAEf,GAoBA,MAAU,gBAAwB,MAElC,QAAe,KAAW,IAC1B,uBACA,OAEU,GACV,kBACA,MAEA,qBAEA,KAMA,OAJA,GAEA,MADA,mBACA,aAEA,GACA,CACA,yBAMA,YALA,eACA,OAAY,kBAAwB,UACpC,CAAY,qBAAwB,MACpC,IACA,IAEA,qBACA,OACA,QACA,cACA,cACA,cAEA,EAKA,IAJA,IACA,UACA,mBAEA,IAAe,KAAW,KAE1B,GADA,YACA,KACA,SAEA,UACA,MACA,KACA,QACA,IACA,IACc,KACd,MAEA,gBAEA,IACA,cACA,IACA,IACA,OAEA,GACA,CACA,GACA,CACA,eACA,gBACA,oCAEA,OADA,sFACA,KACA,CAoCA,gCAQA,qBACA,wBACA,UACA,sBACA,cACA,mBACA,wBACA,cACA,mBACA,iCACA,QACA,YACA,WACA,SACA,SACA,eACA,kCACA,yBACA,SACA,aACA,eACA,0CACA,cACA,GACA,QACA,iBACA,oBACA,mBACA,kBACA,sBACA,kBACA,oBACA,sBACA,mBACA,uBACA,0BACA,GACA,qBAEA,CACA,yBACA,mBACA,yFACA,4CACY,SDruJZ,WACA,MCouJsC,EDpuJtC,IAKA,GAHA,YACA,yBAEA,uCACA,SA1DA,aAMA,MALA,YACA,WACA,mBACA,WAGA,UACA,QAAe,IAAe,IAI9B,GAHA,IACA,IACA,YACA,GAGA,MACA,gBAEA,0BACA,CACA,6DAEA,CA9EA,oBAEA,UADA,eAEA,UACA,YAAmB,MAAmB,IAGtC,GAFA,IACA,YACA,MAGA,kBACA,cACA,QACA,CAGA,YAFA,YAEA,YADA,cACA,KACA,IAGA,iBACA,cACA,kBAEA,EAsDA,OACA,SAtDA,eAGA,MAFA,YACA,WAEA,UACA,YAAmB,IAAe,KAIlC,GAHA,IACA,IACA,YACA,GACA,SAEA,WACA,OACA,IACA,aACA,QAA+B,EAAU,OACzC,QAA+B,EAAU,aAEzC,IACA,aACA,QAA+B,EAAU,OACzC,QAA+B,EAAU,YAEzC,CACA,EA6BA,MACA,EAkCA,SACM,CACN,2BACA,mBAAyC,IAAU,IAEnD,WApJA,SAIA,iBAEA,aACA,KAFA,EAEA,GACA,OAHA,GAIA,UACA,UAEA,eACA,eACA,UACA,GADwB,CACxB,EACA,OACA,UACA,EAbA,EAaA,cACA,EAdA,EAcA,aACA,CAAS,CACT,MACA,kBACA,EAlBA,EAkBA,aACA,CACA,CACA,EA0HA,EADA,OACA,wCACA,oBACA,oBACA,gBACA,gBACA,GAEA,CACA,mBA3CA,kBACA,UACA,iBACA,mBAAqC,IAAU,IAC/C,IACA,IACA,sBACA,IAGA,OACA,IACA,iCACA,kCAEA,IACA,iCACA,kCAGA,EAwBA,IAEA,EC8sJsC,sBACtC,sBACA,CACA,CACA,cACA,eACA,sBACA,kBACA,sBACA,CACA,aACA,oBAEA,eACA,uCDjuIA,cACA,ECguImE,EDhuInE,WACA,qBACA,WACA,MACA,SAEA,gBACA,OAAY,SAnEZ,kBACA,QACA,MACA,SACA,sBACA,IAGA,qBACA,IAMA,IAJA,KACA,GACA,OAEA,kBACA,IAGA,OACA,QACA,IAHA,IAIA,CACA,EA4C2B,SAC3B,UACA,aACA,CACA,QACA,MACA,MACA,EACA,MAEA,gBACA,gCACA,qBAvDA,aAKA,EAJA,eACA,KACA,IACA,OAEA,UAAyB,KAAY,KACrC,aACA,eACA,SACA,KACA,QACA,UACA,YACA,MACA,CAAiB,EACjB,oBAGA,IACA,QACA,OAGA,GACA,CAQA,OAPA,UACA,QACA,UACA,QACA,MACA,CAAS,EAET,CACA,EAqBA,aACA,EC4sImE,2BACnE,CACA,QACA,oBACA,cACA,+BAEA,OACA,oBACA,cACA,WACA,wBAEA,qBAcA,IAbA,mBACA,OACA,cACA,EAAyB,GAAc,MACvC,KADuC,IACvC,EACA,QACA,KACA,CAAS,EACT,aACA,OAEA,SACA,EA9HA,UACe,GA6Hf,EA3HA,gBAFoC,MAEpC,yBACe,GAEJ,GA0HX,SA1HuB,CA0HvB,IA5HmC,IA4HnC,CAA2C,IAAU,KACrD,UAAoB,SAAe,KACnC,OACA,OACA,UACA,UACA,QACA,CACA,qCACA,oBACA,WACA,SACA,CACA,0BACA,CACA,mBAEA,OADA,SACA,WACA,CACA,YACA,oBACA,WACA,aAGA,aAFA,OACA,0BACA,GACA,eACA,QACA,SACA,CAAa,EAEb,SACA,CACA,cACA,sBAEA,CADA,kBACA,wBACA,SACA,SAnIA,SACA,+BA3BA,gBAEA,EA0BA,EA1BA,iBACA,SAyBA,MAxBA,eAGA,GAqBA,EArBA,WAqBA,EApBA,SAqBA,EAAM,IAnBN,kBACA,aAAY,aAAsB,EAClC,QACA,eACA,gBACA,cACA,SACA,QACA,SACA,CAAS,GACT,cAEA,UAEA,EAMA,QAEA,EA6HA,YACA,aAEA,gBACA,uBACA,kBAEA,CACA,CAEA,qBACA,gBACA,CAAY,OAAiB,YAC7B,EACA,IACA,0CAEA,oBACA,kBACA,OACA,KACA,YAGA,UACA,cACA,YACA,mBACA,cACA,oBACA,SACA,UACA,SAGA,eACA,kCACA,yBACA,cACA,GACA,QACA,oBACA,mBACA,iBACA,iBACA,GACA,qBAEA,CACA,eACA,mBACA,GAAgB,OAAS,eACzB,IACA,IACA,IACA,uEACA,CACA,cACA,uBACA,CACA,cACA,uBACA,CACA,kBACA,MAAgB,OAAS,eACzB,IACA,IACA,IACA,OACA,IACA,GACA,CACA,CACA,QAEA,MADA,wBACA,UAEA,EADA,qCACA,iBACA,aACA,CACA,UACA,oBACA,2BAAkD,GAAc,yBAGhE,4BACA,0BACA,8BACQ,GAAS,mBACjB,CACA,WACA,uBAEA,4BAEA,CAEA,qBAQA,UAPA,MAAY,+BAAiC,YAC7C,IACA,IACA,OACA,QACA,SACA,IAeA,OAbA,cACA,MACA,gBACA,gBACA,MACA,QAGA,IADA,QAEA,MACA,gBACA,iBAEA,CACA,OACA,MACA,QACA,QACA,CACA,CACA,qBACA,WAAsB,GAAW,MACjC,CAwDA,CAzDiC,QAyDjC,YACA,eACA,WAEA,MADA,QACA,QACA,cAA+B,GAAU,wBAA6C,GAAU,kBAChG,CAIA,iBACA,uBACA,CACA,oBAA+C,EAC/C,qBACA,iBACA,4BACA,4BACA,OACA,QACA,QACA,QACA,QACA,gBAEA,CACA,oBACA,uBACA,UACA,sBACA,cACA,eACA,qBACA,iBACA,SACA,eACA,kCACA,yBACA,cACA,GACA,QACA,oBACA,uBACA,iBACA,kBACA,mBACA,0BACA,GACA,qBAEA,CACA,YA5CA,EA6CA,kBAAgB,uBAA2B,sBAAoC,KAC/E,OAAgB,WAjFhB,YACA,YACA,iBACA,iBACA,WA/BA,OACA,4BACA,kBACA,EAAc,GAAM,SACpB,CACA,sBACA,0BACA,4BACA,uBACA,CACA,EAqBA,WACA,EArBA,gBACA,uBAAY,GAAsB,YAClC,qBACA,EACA,yBACA,EAAc,GAAa,GAC3B,OAD2B,GAC3B,MACA,kBACA,KAA+C,GAAQ,GACvD,EADuD,IACvD,CACA,4CACA,+CACA,qDACA,uDACA,CACA,EAMA,WACA,OACA,OACA,SACA,QACA,IACA,IACA,QACA,CAAS,CACT,OACA,aACA,YACA,YACA,YACA,QACA,gDACA,kDACA,sDACA,uDACA,CACA,CACA,CACA,EAsDiC,MACjC,EA9CA,CADA,EA+CA,UA9CA,iDA8CsD,GAAkB,GACxE,SACA,yBACA,cACA,eACA,SACA,gBACA,cACA,mBAEA,cACA,aACA,cACA,SACA,WACA,CACA,eACA,qBACA,CACA,cACA,wBACA,CACA,cACA,wBACA,CACA,kBACA,MAAgB,2BAA6B,eAC7C,IACA,IACA,OACA,aACA,IACA,OACA,cACA,aACA,CACA,CACA,YACA,wCACA,CACA,CA2UA,qBACA,KACA,OAEA,WACA,OAKA,MAJA,cACA,EAAgB,GAAe,GAC/B,EAAc,GAAe,IADE,CAI/B,OAH6B,EAG7B,EACA,QACA,KACA,CACA,CA+BA,mBACA,KAAU,IAAa,KACvB,WACA,4BACA,KAEA,CACA,QACA,CACA,4BACA,KACA,aAEA,eACA,CAEA,iBACA,SACA,KAOA,OANQ,GAAO,IACf,KACA,KAEA,EArDA,cACA,MAAY,iBAAqB,MACjC,WACA,KAyBA,OAxBA,2BAA6B,QAAc,IAC3C,YACA,WACA,cACA,GACA,QACA,MACA,GACA,CAAa,EACb,QACA,MACA,GACA,CAAa,GACH,WACV,QACA,IACA,MACa,EACb,QACA,IACA,MACa,EAEb,CAAK,EACL,CACA,EAwBA,KAEA,iBACA,SACA,SACA,SACA,CAAS,CACT,QACA,WACA,CAAK,MACL,CACA,eACA,sBAxYA,kDA0jBA,UACA,eACA,WACA,WACA,qBAEA,mBACA,MAAgB,gBAAkB,KAMlC,OALA,MACA,QACA,IAAiB,EACjB,CADoB,CAEpB,8BACA,UAEA,eACA,MAAgB,gBAAkB,KAClC,UACA,OACA,kBACA,kBACA,OACA,CACA,CACA,CAgEA,mBACA,MA/DA,YACA,UAAY,iBAAuB,EACnC,GAAQ,GAAc,GACtB,QADsB,QAetB,KACA,0BAEA,UADA,sBACA,cACA,EAlBA,KAEA,eACA,gBAjHA,GACA,UAAY,kBAAwB,EACpC,KACA,aACA,WACA,WAgBA,KACA,SACA,oCACA,YAAmB,WAAkB,KACrC,WACA,eACA,KAEA,WACA,oBAEA,CACA,QACA,EA7BA,KACA,WACA,OACA,WACK,KACL,YAAmB,WAAqB,KACxC,WACA,kBAAmC,SAAkB,KACrD,SAsBA,OACA,SACA,YAAmB,WAAuB,KAE1C,UAAgB,kBAAwB,SAexC,OACA,sBAhBwC,KAiBxC,MACA,SAEA,QApBwC,CAoBxC,CACA,aACA,WACA,KACA,KACA,YAAmB,WAAqB,KACxC,WACA,gBACA,cACA,GAAY,GAAU,QACtB,QACA,QACA,KACA,CACA,CACA,OACA,QACA,OACA,OACA,CACA,EAzCA,KACwC,OACxC,gBAGA,KACA,kBAGA,GADA,UACA,GACA,MAGA,CACA,YACA,EAxCA,SAEA,CACA,eACA,SACA,UACA,CAAK,CACL,EA6FA,GAEA,eACA,SAEA,MAYA,CAZA,EAYA,WACA,yBACA,SAgBA,GACA,IAAY,gBAAgB,EAC5B,YACA,uBACA,wBACA,EApLA,UAoLA,IAlLM,QAkLN,IAjLA,gBAiLA,EAjLA,IAiLA,EAjLA,IACe,GAgLf,KA/KA,MAEA,iBA8KA,KACA,oBACA,sCACA,eACA,MACA,MACA,yCACA,CAAS,CACT,CACA,YAAmB,IAAY,IAC/B,wCAEA,QACA,EAjDA,GAgBA,SAEA,OAjLA,EAkLA,UAAY,KAAU,QAAU,EAChC,GAnLA,OACA,UAkLA,EAjLA,EAiLA,EAjLA,OACM,QAgLN,EA/KA,QACe,GA8Kf,GA7KA,EADuB,EACvB,0BACM,gBACN,qBAEA,GA0KA,GAAQ,GAAc,IACtB,OADsB,CACtB,eACA,OACA,WACA,UACA,CACA,CACA,WACA,EA7BA,UACA,gBACA,EAEA,OACA,EA+CA,GACA,CAAY,uBAAuB,EACnC,YACA,SACA,oBACA,OAAY,eAA+B,MAC3C,qBACQ,GAAQ,KAChB,SAYA,KACA,IAAY,gDAAgD,EAC5D,yBACA,SACA,iBACA,cACA,MACA,OACA,SACA,QACA,QACA,UACA,CAAS,EACT,YACA,SACA,kBAEA,MACA,OACA,SACA,QACA,QACA,UACA,CAAK,EACL,WACA,EArCA,GACA,OACA,SACA,QACA,QACA,OACA,QACA,MACA,CAAS,EACD,GAAU,GAElB,CA2BA,GA7BkB,MA6BlB,UACA,aAAY,YAAqB,EACjC,KACA,KAEA,aADA,cACA,IACA,UAAgB,SAAe,EAC/B,OACA,eACA,GACA,kBACA,OAEA,gBACA,mBAEA,wBACA,MACA,EAAS,EAET,cAEA,eAEA,CACA,wBACA,cACA,QACA,CACA,iBACA,SAAY,uCAA4C,EAExD,QAAiB,iCAA2C,EAhd5D,gBACA,iBACA,WACA,WACA,KACA,gBACA,UAAc,SAAe,EAC7B,YACA,6BACA,gBACA,QACA,SACA,SACA,WACA,QACA,CAAa,EACb,QACA,CAEA,aAD+B,GAAc,KAC7C,CACA,KAF6C,CAE7C,iCAEA,aADgC,GAAa,OAE7C,GAF6C,GAE7C,EACA,SACA,SACA,OACA,4BACA,CAAqB,CACrB,KACA,0BACA,CACA,CAAiB,CAEjB,CACA,CACA,QACA,EA0aA,OAC4D,KAQ5D,EAPA,IAAgB,uBAAS,KAA0B,IAAQ,EAC3D,SACA,SACA,cAyBA,gBACA,QAAY,YAAgB,kBAC5B,UAAY,iBAA0B,KACtC,WACA,cACA,oBACA,SAEA,EAhCA,kBACA,cACA,2BAEA,MACA,EACA,cAEA,YAEA,2BACA,OACA,UACA,CAAa,EACb,UAEA,WAEA,CACA,cACA,8BACA,WACA,CACA,CAUA,qBACA,yBACA,GACA,iBAEA,CA0EA,eACA,cAAU,kBAA4C,EAKtD,OAJA,kBACA,gBACA,oCAEA,CACA,WACA,YACA,wBACA,CACA,EACA,uFACA,cACA,eACA,QACA,eACA,uBACA,uBACA,qBACA,mBACA,uBACA,eACA,wBACA,wBACA,uBACA,sBACA,qBACA,gBACA,mBACA,iBACA,kBACA,mBACA,kBACA,qBACA,qBACA,mBACA,oBACA,CACA,cACA,gBACA,iBACA,gBACA,qBACA,mBACA,UACA,CACA,gBACA,qBACA,yBACA,6BACA,wBAEA,2BACA,2BACA,wBAEA,CACA,cACA,8BACA,EAA0B,GAAQ,kBAClC,WACA,WACA,UACA,6CAEA,QACA,+CAEA,sBACA,YAEA,kBACA,CACA,UAWA,IAVA,YAAgB,SAAiB,KACjC,eACA,yBACA,MACA,CACA,eACA,EAA0B,GAAM,QAChC,SACA,6BACA,UAAgB,gBAAyB,OAEzC,iBACA,qBACA,gBACA,8BAEA,iBACA,6BAEA,iDACA,mDACA,CACA,kBACA,QAAgB,sBAA4B,gBAAU,KAAiB,KACvE,yBACA,mBACA,EACA,CACA,MACA,GACA,oBACA,wBACA,SACA,KAkBA,OAjBA,iCACA,wCACA,iCACA,KACA,wBACA,KACA,KAEA,MACA,OACA,MACA,MACA,QACA,QACA,EACA,kBACA,CAAS,EACT,CACA,CACA,kBACA,QAAgB,uBAA6B,gBAAU,KAAiB,KACxE,yBACA,sBACA,MACA,IACA,IACA,IACA,IACA,IA4BA,OA3BA,qCAqSA,MANA,EAOA,EArSA,cAAoB,gBAA0B,CAyR9C,YAKA,EA9R8C,EA8R9C,OACA,oBACA,2CAEA,mCARA,YAUA,EApS8C,EAuR9C,WAcA,EArS8C,EAsS9C,iBAtS8C,EAsS9C,MACA,MAvS8C,EAuS9C,IAEA,IAxSA,iBACA,OACA,QACA,QACA,QACA,CAAiB,EACjB,OACA,IACA,OAEA,MACA,OACA,MACA,MACA,QACA,QACA,EACA,gBACA,MACA,CAAS,EACT,KACA,QACA,QACA,QACA,CAAS,EACT,CACA,CACA,iBACA,yBACA,OAEA,iCACA,CAAgB,gCAAsC,kBAAkB,GAAW,QAAY,KAC/F,EAA0B,GAAa,wBACvC,wBACA,QACA,EAAuB,GAAc,6CACrC,eACA,YACA,QACA,EAA2B,GAAc,8CAEzC,oBACA,oCACA,YAEA,EAAU,IACV,QACA,EAAsB,GAAc,uDACpC,eACA,YACA,QACA,EAA0B,GAAc,wDAExC,QACA,oBACA,yCACA,aAEA,CACA,CACA,eACA,sEAEA,OACA,yBACA,eACY,GAAQ,QACpB,aACY,GAAU,EACtB,CACA,CACA,GAHsB,IAGtB,KASA,EARA,IAAgB,4CAAkD,KAClE,CAAgB,kBAA6B,EAC7C,EAA6B,GAAQ,MACrC,EAA0B,GAAa,4BACvC,EAA0B,GAAM,QAChC,SAAgB,GAAW,EAC3B,SACA,MAEA,iBACA,gCACA,wBACA,eACA,gBACA,aAAgB,4BAAqC,QACrD,kBACA,iCACA,OAEA,SACA,MAA8B,GAAc,eAQ5C,GAPA,YAA4B,GAAc,eAC1C,UAA0B,GAAc,kBACxC,iBAAiC,GAAc,oBAC/C,WAA2B,GAAc,oBACzC,cACA,cAA8B,GAAc,iBAC5C,cAA4B,GAAc,gBAC1C,gBASgB,GAAe,EAR/B,CACA,sBACA,wBACA,oBACA,aACA,EACA,eACA,IAC+B,0BACjB,CACd,4BACA,oBACA,EAAqC,GAAa,gBAClD,cACA,gCACoB,GAAkB,GACtC,IACA,IACA,IACA,IACA,QACA,CAAqB,EAErB,gBAEA,SACA,OACA,UAEA,CACA,WACA,EACA,kBACY,GAAU,oBACtB,uBACA,kCACA,CAAa,CACb,EACA,sBACA,6BAEA,EADA,EACA,CACA,EAAmB,GAAc,+BACjC,eACA,MACA,EAEA,CACA,cACA,EAAmB,GAAc,wCACjC,MACA,EAEQ,GAAqB,0BAC7B,UACA,iCACA,0BACA,wBACA,kCACA,sDACA,QACA,MACA,MAiBA,GAhBA,uBACA,EACA,wBACA,SACA,SACA,MAAmC,GAAc,qCAEnC,uBACd,0BACA,SACA,MAA+B,GAAc,8CAG7C,EADA,OACA,KACA,EAAgB,GAAM,gCACtB,cACA,EACA,cACc,4BACd,mBACA,cACA,EAAc,IACd,MAEA,CAAS,EACD,GAAoB,yBAC5B,CACA,gBAaA,EAZA,mBACA,UACA,EAA0B,GAAM,QAChC,EAA6B,GAAS,WACtC,cACA,OAEA,MAA0B,GAAa,4BACvC,WACA,aACA,WACA,UAEA,YACA,aACA,uBACA,+BACA,aACA,EAAmB,GAAc,4BACvB,CACV,6DACA,IAA6C,GAAc,2EAC3D,CACA,MAAkB,GAAc,QAChC,GADgC,SAChC,aAA4C,GAAkB,IAC9D,WAD8D,GAC9D,UACA,sBACA,oBACA,gBACQ,GAAU,eAClB,CACA,sBACA,yBACA,EAA0B,GAAM,QAChC,EAA6B,GAAS,WACtC,wCACA,CACA,sBACA,UACA,GAAY,GAAU,yBAA8B,GAAU,wBAE9D,SADA,sBACuB,WAAe,IAEtC,GAAoB,GAAU,GAD9B,IAC8B,EAD9B,EAC8B,sBAAgD,GAAU,wBACxF,2BAIA,WACA,CACA,mBA2DA,EA1DA,mBACA,GA0DA,gBADA,EAzDA,SA0DA,iBA1DA,EA0DA,UA1DA,EA0DA,UAGA,EA7DA,EA6DA,qCA5DA,OAEA,qCACA,8CACA,wBACA,UACA,OACgB,GAAQ,WACxB,EACA,EACA,KACA,OAEA,oBACA,OACgB,GAAQ,WACxB,EACA,EACA,KACA,MAEA,EAAU,OACE,GAAQ,WACpB,EACA,EACA,KACA,MAEA,CACA,CAuBA,iBAEA,SADA,wBAEA,CAUA,QACA,YACA,YACA,aACA,uBACA,UACA,UACA,OACA,CAAS,EACT,oBACA,cACA,CAAK,CACL,QACA,yBACA,gBACK,CACL,oBACA,eACA,oBACA,WACA,CAAK,CACL,eACA,eACA,gBACA,kBACA,CAAK,CACL,gBACA,UACA,6BAEA,CAAK,CACL,UACA,WACA,eACA,eACA,YACA,WACA,WACA,eACA,qBACA,UACA,uBACA,UACA,cAEA,UACA,YAEA,CAAS,CACT,aACA,aACA,QACA,+BACA,YACA,WACA,kBACA,sBACA,CAAwB,sBAAU,sEAAsF,iBACxH,0CACA,wCACA,EAAwC,GAAS,eACjD,OACA,sBACA,4BACA,YACA,kBACA,yBACA,sBACA,kCACA,2BACA,+BACA,0BACA,2BACA,oBACA,yBACA,oCACA,oBACA,CACA,CAAiB,MACjB,CACA,CAAS,CACT,OACA,+BACA,WACA,kBACA,OACA,CACA,CAAK,CACL,aACA,mCACA,QACA,iBACA,iBACA,SACA,OACA,YACA,CACA,CACA,CAEA,qBACA,eACA,QACA,mBACA,uBACA,eACA,qBACA,gBACA,mBACA,iBACA,kBACA,kBACA,mBACA,qBACA,mBACA,oBACA,CACA,YACA,mBAGA,GAFA,YACA,WACA,YACA,gDACA,MACA,CACA,wBACA,0BACA,MAA0B,GAAO,uBACjC,eAAwB,GAAS,WACjC,QAAqC,GAAM,wCAC3C,oBACA,cAEA,YAEA,CACA,eACA,4BACA,6BACA,CACA,iBAIA,MAHA,QAAgB,qCAAyC,KACzD,UACA,IAkBA,OAhBA,qBACA,EAAqB,GAAc,OACnC,IADmC,EAEnC,QAEA,qBACA,MACA,EAAyB,GAAc,OACvC,EAA6B,EADU,EACZ,EAAE,GAE7B,MACA,EAAyB,GAAc,OACvC,EAA2B,EADY,KAGvC,OAEA,CACA,SACA,SACA,WACA,UACA,CACA,CACA,OACA,eACA,eACA,cACA,OAEA,MAAyB,GAAM,QAE/B,EADA,aACA,oBACA,CAAgB,yCAAyC,kBACjD,GAAU,gBAClB,cACA,WACA,WACA,UAAuB,GAAkB,SACzC,MADyC,OACzC,SACA,aACA,EACA,EACA,CACS,CACT,CACA,CAWA,QACA,WACA,YACA,cAbA,cACA,cACA,UACA,UACA,OACA,CAAK,EACL,oBACA,eACA,cACA,EAKA,IACA,CAAK,CACL,QACA,mBACA,kBACA,mBACA,CAAK,CACL,oBACA,mBACA,oBACA,WACA,CAAK,CACL,UACA,eACA,WACA,MACA,aACA,CAAS,CACT,YACA,WACA,eACA,QACA,UACA,CAAK,CACL,eACA,aACA,CAAK,CACL,aACA,eACA,aACA,CACA,EAES,YAAT,IA2CA,EA3CM,CA2CN,CACA,OA5CS,CA4CT,OAIA,IAHA,aACA,SAGA,cACA,IACA,IACA,mBAAuC,IAAS,KAChD,mBACA,oBACA,0BACA,WACA,OACA,GACA,CACA,QACA,mBAMA,CACA,EAJA,IACA,EACA,2BAGA,KACA,CACA,CAAK,CACL,iBAOA,MANA,aACA,SAEA,UACA,MACA,2BAEA,mBAAuC,IAAS,KAChD,mBACA,oBAEA,MAA0B,GAAqB,EAD/C,oBAEA,MACA,IACA,IAEA,CACA,CACA,MACA,0BACA,MACA,MAEA,OACA,IACA,GACA,CACA,CACA,EACA,iBAQA,OAPA,IACY,GAAO,GACnB,CADmB,KACnB,0BAEA,WAGA,CACA,CACA,qBACA,8DACA,cAEA,CACA,CAiBA,iBACA,kBACA,MAAY,oBAAyB,EACrC,UAAY,eAAwB,EACpC,EAAqB,GAAM,YAC3B,EAAsB,GAAM,aAC5B,EAAuB,GAAM,cAC7B,WACA,WACA,WACA,EAAoB,GAAS,WAC7B,WACA,IACA,qEACA,0CACA,GACA,6DAEA,GAEA,MADA,wDACA,wCAEA,GACA,4DAEA,QACA,cACA,sCACA,EAiBA,OAhBA,SACA,gBACI,GAAI,WACR,gBACI,GAAI,oCACR,qCACI,GAAI,MACA,GAAI,YACJ,GAAI,WACJ,GAAI,UACZ,CAAK,EACL,IACA,gBACI,GAAI,YACR,YAEA,CACA,MAFA,WAGA,QACA,CACA,CAoCA,mBACA,mCApCA,KACA,MAAY,YAAc,SAC1B,MACA,MACM,eACN,SAEA,QACA,EA4BA,KACA,OACA,2BAnBA,kBACA,MAAY,WAAa,EACzB,CAAY,wBAAiC,YAAmB,EAChE,WAWA,MAVA,aACA,4BACM,OACN,SACM,UACN,YAEA,SArBA,SACA,MAAY,WAAa,EACzB,6BACA,8BAGA,qBAFA,QAKA,EAYA,UACA,aAEA,CACA,EAIA,SACA,QACA,CACA,CAqBA,qBACA,cAAY,iCAA2C,EACvD,CAAY,mBAAmB,EAC/B,MACA,SAAY,yCAAiD,GAAe,GAC5E,EAzBA,KAwB4E,IAxB5E,KACA,IAAU,aAAa,EAMvB,MALA,YACA,KACM,cACN,SAEA,CACA,EAiBA,KACA,EAjBA,gBACA,MAAU,YAAc,EAQxB,MAPA,UACA,KACM,aACN,OAEA,OAEA,CACA,EAOA,OAYA,MAXA,aACA,WACA,KACU,aACV,OAEM,WACN,mBACM,aACN,qBAEA,CACA,EAAW,GAAW,qBACtB,EAAW,GAAW,sBACtB,CACA,CACA,mBACA,MAAoB,GAAS,WAC7B,4EAYA,iBACA,mEACA,wBACA,CACA,QACA,YAAiB,GACjB,SACA,QAFqB,GAErB,IACA,WACA,sBACA,eACA,qDACA,2BACc,WACd,eACc,sBACd,qBAEA,CACA,QACA,CAAK,CACL,WAAgB,GAChB,WAAgB,GAChB,GAFoB,SAEH,GACjB,EAFoB,IAEpB,GACA,QAFqB,CAErB,4CACA,uDAEA,0BACA,GACA,UAEA,uBAIA,OAHa,GAAa,IAC1B,MAD0B,CAG1B,CACA,CAAK,CACL,cAEA,MADA,uCACA,iCACA,OACA,0BACA,kCACA,0BACA,wBACA,oCACA,cACA,CACA,CAAK,CACL,iBACA,8BACK,CACL,mBAEA,QADA,qCACA,iCACA,OACA,wBACA,oBAEA,CAAK,CACL,WAAgB,GAChB,UAAe,GACf,IAFoB,SAEF,GAClB,CAFmB,MAEP,GACZ,OAFsB,KAEL,EACjB,EACA,CAHgB,QAGhB,YACA,4BACA,WACA,gBAEA,CACA,CACA,MAAM,WAAO,GACb,kCACA,GACA,QACA,eACA,gBACA,2BACA,kBACA,8BACA,sBACA,wBACA,qBACA,mBACA,uBACA,uBACA,kBACA,uBACA,iBACA,sBACA,mBACA,mBACA,mBACA,cACA,cACA,mBACA,kBACA,mBACA,mBACA,wBACA,6BACA,2BACA,CACA,cACA,eACA,8BACA,oBACA,CACA,qBACA,6BACA,KACA,SAEA,iBACA,6CACA,+CACA,uBAIA,OAHA,cACA,0CAEA,CACA,CACA,aACA,qCApIW,GAoIX,UApIwB,CAoIxB,aApIwB,CACxB,QAmIA,KAlIA,aAkIA,mBAjIA,cACA,CAAK,CAgIL,CACA,CACA,cACA,cAAgB,GAAa,EAC7B,6BACA,uBACA,4BACA,KAIA,OAHA,cACA,cACA,aAEA,CACA,mBACA,OArJA,SAqJA,qCACA,CACA,aACA,cAAgB,GAAa,EAC7B,KAaA,OAZQ,GAAI,MACZ,OACA,UACA,SACA,UAEA,UACA,4CACA,iCACA,0CACA,SACA,CAAS,EACT,CACA,CACA,kBACA,OAzKA,SAyKA,oCACA,CACA,eACA,cAAgB,GAAa,EAC7B,8BACA,wBACA,6BACA,KAIA,OAHA,cACA,cACA,aAEA,CACA,oBAOA,IANA,mBACA,kBACA,KACA,KACA,KACA,KAEA,mBAAwC,IAAS,IACjD,gBA3VA,KACA,IAAY,kCAAkC,EAC9C,iCACA,OAAY,WAAiB,sBAC7B,OACA,QACA,QACA,sBACA,+BACA,iBACA,uBACA,YACA,eACA,SACA,CACA,EA4UA,kBAkBA,OAhBA,UACA,yCAEA,YACA,qCAEQ,GAAI,MACZ,wBACA,kCACA,uCACA,qCACA,CAAS,EACT,mBACA,wBACA,uBACA,kBACA,CACA,CACA,gBAGA,EAFA,iDACA,eAEA,KACA,YAMU,CACV,sDACA,uBACA,8BACA,wCACA,4BACA,sCACA,gCACA,4BACA,kBAAoD,MACpD,qBACA,sBACA,sBACA,qBACA,GACA,UACA,MACA,MACA,cACA,gBACA,WACA,WAEA,MA5BA,kBACA,IACA,SACA,EA0BA,sBACA,qBACA,GACA,yCAEA,eACA,sBACA,iBACA,aACA,QACA,CAAa,CAEb,CACA,mBACA,mCACA,oBACA,oBACA,mBACA,CACA,4BAMA,YALA,WAAgB,YAAmB,KACnC,WAAgB,kBAA4B,EAC5C,SAAgB,yCAAiD,GAAe,GAChF,CAAgB,SAAmB,EACnC,OAAgB,YAAkB,EAqClC,MAnCA,cACA,QACA,YAEA,EADA,MACA,EACA,MACA,QAGA,GADA,OACA,EACA,MACA,OAEA,MAGA,EADA,WACA,kBACc,YACd,oBAEA,YAEA,WAEA,EADA,MACA,EACA,MACA,QAGA,GADA,OACA,EACA,MACA,OAEA,KAEA,CACA,KACA,KACA,KACA,KACA,KACA,IACA,CACA,CACA,qBAGA,MAFA,iBACA,WAEA,MACA,MAA8B,GAAa,yBAQ3C,QAPA,4BACA,sCACA,wBACA,EAAwB,GAAM,aAC9B,iBACA,yBACA,gBACuB,IAAY,IACnC,6CACA,oBACA,SACA,4BAGA,CACA,CACA,yBACA,0BACA,2BACA,WAAgB,cAAwB,EACxC,EAAyB,GAAM,YAC/B,oBACA,SACA,sCACA,QACA,oBACA,OACA,uBACA,wBACA,oBACA,aACA,EACA,wBACA,OACA,oCACA,iCACY,GAAS,SACrB,4BACA,8BACY,GAAS,QACrB,EAAU,IACV,YAA4B,GAAQ,0EACpC,4BACA,gCACA,uCACA,wBACA,iCACA,EAAiC,GAAa,gBAC9C,iCACA,cACA,iCACgB,GAAkB,GAClC,IACA,IACA,IAHkC,EAIlC,EACA,QACA,CAAiB,EACjB,SACA,WACA,8BACA,cACgB,GAAkB,GAClC,IACA,MACA,MACA,MACA,QACA,CAAiB,EACjB,WAEA,iCACA,oBACA,sBACA,8BACA,0BAEA,CACA,oCAEA,oBAYA,cAXA,SAAgB,GAAQ,KACxB,aAAgB,mEAA+E,EAC/F,EAAyB,GAAM,YAC/B,eACA,IACA,EAA0B,GAAa,yBACvC,cACA,iCACA,QACA,EACA,iBASA,IAPA,cACA,wBACA,gBACA,iBACA,wBACQ,GAAI,mBACZ,4CACA,eAAuC,IAAU,KAUjD,IATA,OACA,0BACA,cACY,GAAI,YAChB,UACA,cACA,8BACA,4BAEA,eAA4C,IAAU,IACtD,QACA,eAEY,GAAI,UAChB,CACA,IACA,eACQ,GAAI,kBACZ,MACA,CACA,sBAGA,IAFA,kBACA,WAEA,MACA,MAA8B,GAAa,yBAQ3C,IAPA,6BACA,uBACA,uCACA,wBACA,EAAyB,GAAM,cAC/B,0BACA,gBACA,IAAuB,IAAY,IACnC,6CACA,kCAGA,CACA,wBACA,WAAgB,YAAmB,KACnC,GAAgB,OAAS,EACzB,OAAgB,YAAkB,EAClC,SAAgB,yCAAmD,GAAa,eAChF,+BACA,4BACA,0BACA,cACA,gBACA,WACA,wBAEA,kBACA,kCACA,2BACA,wBAEA,oBACA,sCACA,cACA,wBAEA,kBACA,kCACA,0BACA,wBAEA,gBACA,8BACA,cACA,SACA,iBACA,UAEA,CACA,0BACA,iBACA,mBACA,SACA,SACA,SACA,iEACA,MACA,OAEA,4BACA,kBAAoD,eACpD,YACA,cACA,6BACA,qBACA,qBACA,mBACA,qBACA,gBACA,gBACA,yCAEA,CACA,CACA,cACA,qBAEA,QACA,iDACA,eACA,MACA,OAEA,+BACA,OACA,iBACA,kBACA,EACA,GACA,SACA,UAEA,uBACA,MAAwB,GAAS,WACjC,yGACA,eACA,SACA,gBACA,6BACY,GAAqB,mBACjC,WACA,sBACA,qBACA,uBACY,GAAoB,mBAChC,YAEA,CACA,oBACA,wBAEA,uBACA,mBACA,uBAA6C,UAAuB,IACpE,mCACA,MACA,iDAEA,OACA,eACA,kBACA,OACA,CACA,CAAS,EACT,GAAyB,GAAc,KACvC,6BACA,SACA,eACA,sBACA,4BACA,gBAEA,CACA,sBACA,+BACA,QAEA,6BACA,mBACA,mBACA,mCACA,6BACA,MAAmC,GAAc,QAWjD,GAXiD,IACjD,IACA,eACA,0BACA,qBACA,MACA,OAEA,oBAGA,CACA,CACA,4BACA,mBACA,uBACA,SAEA,MACA,+IAEA,yDAIA,OAHA,WACA,YAEA,CACA,CACA,sBACA,WAAgB,sBAA6B,KAC7C,gCACA,gCACA,CACA,CACA,QACA,aACA,SAAc,GACd,UADqB,EACrB,GACA,iBACA,GACA,eAAgC,GAAO,CACvC,QACA,CAFuC,OAEvC,CACA,EAAa,CAEb,CAAK,CACL,oBACA,WACA,uBAEA,CAAK,CACL,aACA,WACA,uBAEA,CAAK,CACL,aACA,gBACA,uBACA,OACA,SACA,EACA,IAGa,IAHb,qCACA,KACA,aACA,CAAa,EACb,OAEA,cACA,qCACA,CACA,CAAK,CACL,gBACA,cACA,eACA,gDACA,cAEA,CACA,CAAK,CACL,UACA,WACA,cACA,mBACA,kCACA,kBACA,WACA,aACA,CAAS,CACT,eACA,oBACA,kBACA,iBACA,cACA,WAAoB,CACpB,iBACA,mBACA,gBACA,kBACA,YACA,aACA,CAAS,CACT,mBACA,UACA,eACA,YACA,eACA,iCACA,gCACA,0BACA,iBACA,aACA,4BACA,cACA,WACA,aACA,qBACA,CAAS,CACT,YACA,SACA,cACA,YACA,IACA,IACA,QACA,SACA,SACA,SACA,CACa,CACb,SACA,gBACA,YACA,CACA,CAAS,CACT,YACA,CAAK,CACL,eACA,gBACA,kBACA,gBACA,CAAK,CACL,aACA,4DACA,cACA,WACA,eACA,aACA,CAAS,CACT,WACA,YACA,CAAS,CACT,YACA,qBACA,CACA,CAAK,CACL,wBACA,cACA,EAcA,mBACA,oBACA,cACA,WACA,QACA,OACA,CAAS,GACH,UACN,SAEA,GAUA,wBAAyD,GAAW,mBACpE,eACA,8BACA,iBACA,KAEA,CACA,CACA,oBACA,oBACA,kBACA,OACA,WACA,CACA,cACA,GACA,SACA,wBACA,mBACA,qBAEA,QACA,wBACA,aACA,uBACA,cAAyB,WAAiB,IAC1C,UACA,aAGA,sBAEA,aACA,CACA,WACA,GAAY,GAAa,GACzB,OADyB,KAGzB,uBAEA,UADA,0BA/CA,kBACA,0BACA,OACA,YAGA,IADA,iBACA,GACA,EAwCA,IAA+F,GAAc,wBAC7G,WACA,CACA,sBACA,eAAgB,gBAA2B,qBAC3C,KAAc,SAAa,kBAC3B,iCACA,GACA,MAEA,GACA,+BAGA,WACA,UACA,CACA,aACA,eACA,WACA,sBACA,KACA,mBACA,yCACA,8CACA,mCACA,YAA6B,KAAc,IAC3C,QACA,OACA,CAAa,EAEb,QACA,CACA,oBACA,sBACA,CACA,YACA,kBACA,qBACA,0CAEA,CACA,oBAIA,MAHA,oBACA,kBAEA,2EACA,CACA,mBACA,wBACA,kBACA,KAEA,iCACA,CACA,oBACA,+EACA,CACA,eACA,kBACA,CACA,CAsGA,4BAAgD,gBAA2B,EAC3E,MAAgB,GAAS,GACzB,GADyB,EACzB,+BACA,sBACA,sBACA,CACA,oBACA,eACA,SACA,kBACA,gBACA,wBACA,sBACA,kBACA,CACA,kBACA,GAAyB,IAGzB,MAHyB,KAGzB,8CAFA,KAKA,EACA,CACA,yBACA,gBAAgB,GAAe,aAC/B,YAAgB,gBAA2B,qBAC3C,KAAc,SAAa,KAC3B,aACA,aACA,MACA,MAA4B,GAAI,GAChC,EAA4B,GAAI,EAChC,UACA,KACc,UACd,IAEA,CACA,UACA,8BACA,OACA,GACA,MAEA,CACA,WACA,UACA,CACA,mBAGA,EADA,kBAAc,cADd,mBAgBA,OAbA,EACA,mDACA,MACA,uBAAuC,QAAQ,mBAAmB,GAAU,gCAAgC,GAAU,2BACtH,QAGA,0BACA,SAEA,GACA,kBAEA,CACA,CACA,mBACA,gCAEA,aACA,mBACA,UACA,sBAgBA,WA9LA,SAYA,QAXA,SAEA,QAAY,iFAAwF,EACpG,OACA,MACA,CAAY,aAAyB,EACrC,GAAwB,GAAa,GACrC,GAAwB,GAAa,CADA,EAErC,GAA0B,GAAa,CADF,EAErC,OADuC,CACvC,MACA,EAAkB,GAAO,aAEzB,KAXA,OAWA,OACA,OACA,CACA,OACA,CAAa,CACb,CACA,OACA,EACA,CAEA,mCACA,GACA,GAAkB,GAAO,YAEhB,GAAa,IAEtB,MAFsB,EAEtB,OADA,oBACA,GAEA,aACA,oBACA,qBAEA,IACA,KAEA,SAA4C,SD//S5C,EC+/SuD,CD//SvD,EACA,oBACA,qBACA,EC4/SuD,gBACvD,kCACA,UACA,IACA,KACM,GACN,QAGA,IAFA,SAEA,GADA,SAKA,EADY,GADZ,SACwB,sBACxB,cAEA,aAGA,eAAmC,GAAc,GAAW,GAAc,IAE1E,CAFiD,CAEjD,aADA,eAA0B,GAAa,UACvC,EACA,oBACA,QAgBA,IAfA,IACA,UACA,QACA,OACA,CAAa,EACb,KACA,IAEgB,GAAY,sCAC5B,KAEU,KACV,KAGU,IAAe,KACzB,8BACA,UACA,MAEA,QACA,OACA,CAAS,CACT,CAcA,OAbA,YACA,UAA4B,GAAY,iCACxC,sBAEA,QACA,OACA,CAAa,EAEP,UACN,QACA,OACA,CAAS,EAET,CACA,EA6EA,CACA,SAFA,gBAGA,gBACA,UACA,UACA,sBACA,gBACA,cACA,4BACA,+BACA,6BACA,oCAEA,mBAaA,MAXA,oBACY,GAAkB,gBAE9B,WACA,YACA,oBACA,oBAEA,oBACA,mBAEA,CACA,CACA,YACA,iBACA,WACA,WAEA,GADA,kBACA,+BACA,qCACA,KACA,IACA,CACA,mBACA,iBACA,oBACA,CACA,oBACA,OAAe,GAAY,sDAC3B,CACA,CAEA,oBACA,0BACA,UACA,OACA,SAAsB,GAAK,mBAE3B,EACA,sBACA,QAAgB,SAAa,kBAC7B,UAAmB,GAAc,OACjC,IADiC,CACjC,IAAmB,GAAc,OACjC,IADiC,CACjC,wBACA,CACA,mBACA,0BACA,2BACA,EAA4B,GAAS,gCACrC,oCAEA,mCADA,4BACA,cACA,CACA,oBACA,kFACA,CACA,oBACA,oEAEA,CAEA,qBAAmC,GAAK,IACxC,+BACA,eAEA,UADA,oBAEA,CACA,mBACA,qBACA,kBAEA,OADA,eACA,CACA,CAkDA,oBACA,+BACA,UACA,OACA,SAAsB,GAAK,uBAC3B,OACA,UACA,CACA,CACA,cACA,GACA,SACA,kBACA,gBACA,wBACA,kBACA,CACA,WACA,qCACA,EACA,EACA,EACA,UACA,cACA,MACA,CACA,OAAe,GAAc,cAC7B,CACA,sBACA,QAAgB,SAAa,kBAC7B,UAAmB,GAAc,sBACjC,SAAmB,GAAc,sBACjC,0BACA,gBAEA,4CAA8D,GAAc,gBAC5E,6DAEA,6BACA,CACA,yBACA,IAAgB,2BAA2B,qBAC3C,WACA,WACA,aACA,aACA,QACA,MACA,KACA,QAEA,YACA,aAGA,MACA,YAEA,MACA,WAEA,WACA,UACA,CACA,aACA,mBAKA,WA5GA,OAA6C,QAAY,EACzD,EAAU,GAAe,SACzB,GADyB,CACzB,KACA,QACA,EAfA,cAEA,SADA,KAEA,mBACA,IAEA,mBACA,IAEA,wBACA,EAKA,KACA,iCACA,iBACA,uBACA,wBACA,8BACA,mCACA,EAAgB,GAAe,8CAC/B,UACA,QACA,QACA,YACA,aACA,CAAS,EACT,MACA,aAEA,IAEA,QAEA,IACA,cAEA,yCAEA,MAAqB,GAAe,SAMpC,GANoC,IACpC,QACA,QACA,YACA,aACA,CAAK,EACL,CACA,EAmEA,CACA,kBACA,mBAEA,MAYA,MAXA,oBACY,GAAkB,gBAE9B,WACA,YACA,oBACA,oBAEA,oBACA,mBAEA,CACA,CACA,oBACA,sBAA2C,GAAY,sDACvD,CACA,YACA,eACA,kBACA,iBAA2B,GAAK,GAChC,iBAA2B,GAAK,UAAa,GAAK,EAClD,CACA,0BAIA,CAHA,qBACA,aAEA,oBACA,IAEA,wCAAiE,GAAK,sCACtE,CACA,oBACA,iCACA,uDACA,CACA,CAEA,eACA,cACA,yBACA,MAAwB,GAAS,mBACjC,OAAe,GAAc,oBAAsC,GAAQ,oBAE3E,QACA,CAUA,8BACA,aACA,CACA,YACA,SACA,EACM,SACN,CACA,UACA,KACA,EAEA,CACA,QACA,OACA,CACA,CAqLA,qBACA,QAAY,GAAO,EACnB,KACA,8BAAyD,GAAG,KACtD,CACN,8BACA,kBACA,YAAuB,IAAgB,IACvC,0BACA,iBAEA,CACA,CA0BA,oBACA,wBACA,kBACA,WACA,WACA,qBACA,YACA,WACA,YACA,cACA,kBACA,CAAS,CACT,MACA,WACA,CAAS,CACT,aACA,OACA,qBACA,SAAsB,GAAK,mBAClB,CACT,aACA,qBACA,kBACA,WACA,MACA,OACA,CAAa,CACb,YACA,EAEA,UACA,oBACA,CACA,SACA,eACA,iCACA,4BACA,qBACA,SACA,aACA,YACA,gBACA,CACA,cACA,GACA,SACA,oBACA,oBACA,wBACA,qBACA,yBAEA,gBACA,oBAAwC,GAAS,oBACj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C,EAAwB,GAAS,kBACjC,eACA,eACA,UACA,cACA,eACA,iCACA,cACY,GAAkB,GAC9B,IACA,IACA,IAH8B,EAI9B,EACA,QACA,CAAa,EACb,UAEA,mBAEA,CACA,EASA,OACA,MAAuB,GAAM,QAC7B,GAAgB,mBAAqB,EAC7B,GAAU,0CAClB,cACA,YACA,qBACA,CAAS,CACT,CACA,EA2MA,QAEA,WACA,2BACA,6BACA,8CACA,yBACA,kBACA,mBArMA,oBACA,YACA,aACA,OAAY,eAAqB,EACjC,uBAGA,SACA,gBACA,cACA,0BACA,8BACA,cACA,YACA,cACA,WACA,YACA,EAqLA,aACA,CACA,CAAa,EAEb,WAEA,IADA,SACA,MAAoC,KAAQ,KAC5C,iDACA,OAAwB,eAAqB,EAC7C,OAGA,cACA,gBACA,4BACA,oCACA,kEACA,6BACA,cACA,oCACA,kBACA,WACA,CACA,WACA,CACA,CACA,cACA,iBAQA,IAPA,eACA,eACA,UACA,cACA,OAEA,4BAEA,SACA,uCACA,YACA,qBACA,wBACA,2BACA,kCACA,OAEA,uCACA,EAA6B,GAAM,QAEnC,GADA,0DACA,qBACA,gBACA,+BACA,4BACA,MAAgC,GAAS,mBACzC,mEACA,CACY,GAAU,kBACtB,cACA,8BACA,8BACa,CACb,CAAS,EACT,WACA,CACA,aACA,CAEA,QACA,aACA,UACA,OACA,SACA,CAAK,CACL,QACA,UACA,SACA,QACA,CAAK,CACL,QACA,UACA,SACA,QACA,CAAK,CACL,MACA,UACA,UACA,QACA,CAAK,CACL,KACA,UACA,WACA,QACA,CAAK,CACL,MACA,UACA,YACA,OACA,CAAK,CACL,OACA,UACA,YACA,QACA,CAAK,CACL,SACA,UACA,YACA,OACA,CAAK,CACL,MACA,UACA,WACA,CACA,EACA,mBACA,iBACA,UACA,CACA,iBACA,GAAQ,GAAa,GACrB,OADqB,KAGrB,iBACA,QAAY,wBAA+B,aAC3C,UAOA,CANA,sBACA,SAES,GAAc,IACvB,OADuB,MACvB,kCAEA,UACA,MAEA,GACA,gBAAqC,GAAQ,qDAE7C,GACA,CACA,qBACA,gBACA,wBAAwC,MAAc,KACtD,gBACA,0CACA,4CACA,aAGA,eAkBA,mBACA,KAEM,cACN,OAAgB,QAAW,GAAS,KAEpC,EADA,kBACA,GACA,OALA,OAMA,CAcA,uBAIA,IAHA,SACA,KACA,WAEA,QAAe,IAAU,IAEzB,EADA,OACA,GACA,QACA,QACA,QACA,CAAS,EAET,yBA1BA,aAIA,IAHA,iBACA,2BACA,sBAEA,QAAuB,KAAe,gBACtC,UACA,GACA,gBAGA,QACA,EAcA,UACA,CACA,oBACA,wBACA,UACA,cACA,WAAoB,CACpB,MACA,UACA,QACA,SACA,cACA,sBACA,iBACA,CAAS,CACT,OACA,cACA,YACA,OACA,UACA,CACA,CACA,cACA,GACA,SACA,aACA,QACA,UACA,MACA,EACA,iBACA,uBACA,iBACA,oBACA,sBACA,CACA,WAA6B,EAC7B,yBAA2D,CAC3D,8CACA,UACQ,GAAO,8BACf,iBACA,gBACA,cACA,yBAEA,cACA,8BAEA,kBACA,WACA,KAEA,UACA,CACA,eACA,qBACA,aACA,QACA,UACA,OAEA,CACA,sBACA,mBACA,gBACA,qBACA,KAAc,mCAAuC,qBACrD,cACA,iBACA,sBAEA,iBACA,qBAEA,CACA,OACA,0BACA,iDACA,uBAGA,EAAc,GAAc,yCAC5B,EAAc,GAAc,yCAC5B,yBACA,wBACA,CACA,kBACA,gCACA,2BACA,2BAKA,OAJA,WACA,OACA,iBAEA,CACA,MACA,KACA,CACA,CACA,aACA,mBACA,SACA,UACA,gEACA,gCACA,6BACA,uCAEA,eAEA,EDz8UA,gBACA,QACA,WACA,kBACA,IAEA,oBACA,IAEA,qCACA,EC+7UoC,IADpC,UAQA,OANA,kGAnKA,WACA,sBAAkC,iBAA6B,KAC/D,YACA,6CACA,QAEA,CACA,4BACA,EA2JA,4CACA,qDA3JA,YACA,sCAA8D,IAAU,IACxE,oBACA,YAGA,EAqJA,mBACA,oBACA,WACA,YAEA,0BACA,CACA,gBACA,kCACA,6CAEA,CACA,kBACA,IAEA,IAFA,IACA,GAEA,iCACA,gCAEA,EADA,aACA,IAEA,oCAEA,yCAEA,EADA,aACA,EAEA,8CAGA,wBACA,EAAgB,GAAW,OAC3B,CAD2B,CACb,GAAW,OACzB,CADyB,GACzB,WACA,QACA,MACA,gBACA,CACA,CACA,gBAYA,IAXA,oBACA,WACA,WACA,eACA,SACA,sDACA,EAAyB,GAAc,oBACvC,2BACA,EAA2B,GAAQ,WACnC,KACA,IAMA,GAJA,GACA,8BAEA,0BACA,oBACA,wEAEA,wDACA,YAAqC,IAAY,oBACjD,UAKA,MAHA,oCACA,UAEA,kCACA,CACA,oBACA,oBACA,2BACA,gBACA,4BAEA,qCACA,CACA,YAEA,MADA,aACA,oBACA,aACA,UACA,gCACA,CACA,6BACA,mBACA,mBACA,KACA,OAAmB,GAAQ,GAC3B,EAD2B,EAG3B,EACA,OAEA,4BACA,aACA,kBACA,UACA,UACA,OACA,mBACA,yCACA,CACA,sBACA,UACA,mBAAwC,IAAU,IAElD,CADA,QACA,2CAEA,CACA,sBACA,oDACA,CACA,oBACA,oBACA,6BACA,oDACA,CACA,oBACA,oBACA,4CACA,qCACA,CACA,iBACA,yBACA,gCACA,EAAsB,GAAS,iDAC/B,cACA,cACA,uCACA,OACA,UACA,SACA,CACA,CACA,qBACA,wBACA,mBACA,2BACA,wCACA,EACA,qBACA,wBACA,mEACA,cACA,CACA,oBACA,IACA,IADA,uBAEA,YACA,SAEA,qCACA,8BACA,iEAEA,mBAAwC,IAAU,IAClD,qDAEA,yCACA,CACA,yBAEA,IADA,6BAEA,YACA,SAEA,uBACA,mBAAyC,IAAU,IACnD,sBAEA,8DACA,CACA,aACA,OAAe,GAAY,WAC3B,CACA,CAEA,SAAS,GAAW,OACpB,IAEA,GAHoB,CAGpB,IAFA,IACA,aAEA,GACA,0BACA,KAAe,QAAa,GAAY,YAExC,CAAW,cAAsC,KACjD,CAAW,cAAsC,OAEjD,4BACA,KAAe,QAAW,GAAc,aAExC,CAAW,cAAsC,KACjD,CAAW,cAAsC,MAEjD,UACA,0BACA,CACA,oBACA,8BACA,iCACA,GACA,SACA,eACA,oBACA,uBACA,CACA,cACA,oCACA,sCACA,cAAuB,GAAW,YAClC,EADkC,EAClC,aAA2B,GAAW,yBACtC,oBACA,CACA,wBAIA,MAHA,QAAgB,SAAa,KAC7B,KACA,KAEA,mBAA6C,IAAU,IACvD,UACA,SACA,UAGA,cACA,OACA,CACA,OACA,KACA,CAAiB,CACjB,CACA,OACA,KACA,EACA,CAEA,mBAAwC,IAAU,IAIlD,YAHA,OACA,MAEA,OADA,UAEA,QACA,OACA,WACA,CAAiB,EAGjB,QACA,CACA,YACA,eACA,WACA,4BAOA,OANA,yBACA,gBAEA,6BACA,UAEA,kBACA,CACA,yBACA,0BACA,YACA,SAEA,+BACA,4BAOA,OALA,EADA,mBACA,4BAEA,aAEA,mBAEA,CACA,sBACA,MAAgB,IAAW,8CAE3B,oBACA,oBACA,4CACA,OAAe,GAAW,+CAC1B,CACA,CClsWA,eACA,iBACA,qBACA,KACM,GACN,aAEA,CAUA,iBACA,gEACA,KACA,qBAEA,4CAEA,2BACA,CACA,OAGA,UACA,mBACA,EACA,CAAK,CACL,CA2HA,IAAM,GAAsB,OAAjB,QAAiB,CAAU,CAjFtC,cACA,WAAY,uHAA0I,EACtJ,EAAsB,YAAM,OAC5B,EAAqB,YAAM,OAC3B,OACA,YACA,cAA+B,GAAO,WACtC,OACA,KAjDA,gBApBA,EAqBA,gEACA,GACA,UACA,WACA,EAGA,OA5BA,EA0BA,SAzBA,WA0BA,mBACA,CACA,EAwCA,KACA,YACA,KACa,CACb,SACA,CAAS,EACT,gBACA,EACA,OACA,WACA,YACA,oBACA,eAEA,EAmDA,MAlDI,eAAS,MACb,kBACA,SA5FA,KACA,gBACA,MACA,kBAEA,EAuFA,YAEA,CAAK,EACL,EACA,EACA,EACI,eAAS,MACb,sBA7FA,MA8FA,sBA9FA,EA8FA,SA7FA,UA8FA,CACA,CAAK,EACL,EACA,SACA,EACI,eAAS,MACb,2BACA,sCAEA,CAAK,EACL,EACA,WACA,EACI,eAAS,MACb,YACA,GACA,IACA,eAEA,oBAEA,CAAK,EACL,EACA,EACA,SACA,WACA,EACA,EACI,eAAS,MACb,YACA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,oBACA,EAEI,OACJ,QAEA,SA2BA,OACA,MAAiB,GAAQ,SAAiB,+BAA2B,SACrE,OACA,QACa,GAAQ,GACrB,EADqB,MAGrB,EAlCA,OAJA,MAKA,CAQA,mBACA,SASA,OARA,cACQ,GAAU,SAClB,GACA,WACe,GAAO,OACtB,YAEG,EACH,CACA,CAEA,iBAEA,UADA,eACA,GACA,CAWA,eACA,qBACA,6BAEA,OADA,UAEA,CAAC,KAcD,eACA,0BACA,mBACA,uEACA,CACA,CAQA,iBAAyB,MAAK,IAC9B,IACA,iBACA,SAAe,GAAS,IACxB,EADwB,SACxB,QAEA,CAOA,iBACA,oBAOA,OANA,mCACA,4BACA,oCACA,sCACA,0BACA,4BACA,EAEA,CAMA,iBACA,sCACA,0BACA,gCACA,gCAQA,SAAS,GAAgB,KACzB,gBACA,SAKA,MAJA,CACA,0BACA,4BACA,EAGA,YACA,oBACA,EAAgB,GAAO,SACvB,mDAIA,OAHA,WACA,kBAgMA,SACA,SACA,eACA,IACA,IACA,YAAkB,IAAW,KAC7B,gCACA,gBACA,WACA,uCACA,gBAGA,OADA,YACA,OAAU,WACV,EA9MA,UAEA,SACA,CAOA,mBACA,MAAS,wBAAqB,EAC9B,SACA,QACA,aACA,+BACA,cACE,GAAkB,GACpB,YADoB,EACpB,EACA,gBAlZA,OACA,4BACA,KAAe,GAAK,KAgZc,EAhZd,GAEpB,QACA,EA6YqB,GAAa,SAhZd,CAgZc,wBAClC,CAAG,EACH,cACA,SACA,IACA,kCACA,YAEA,WACA,CAQA,qBACA,gBACA,UACA,SACA,uBAoMA,KACA,MAAkB,GAAQ,OAC1B,OAAS,GAAQ,GAAY,EAAZ,CAAiB,QAClC,EAvMA,sBAsMkC,GAtMlC,EACA,wCACA,YACA,MACA,CACA,MAAiB,GAAO,SACxB,UACA,UACA,EAAiB,GAAO,SACxB,EAxRA,cACA,MAAS,WAAU,EACnB,oBACA,aACA,MACI,uBACJ,IAEA,CACA,EA+QA,KACA,0BACA,SACA,wBACA,wBACA,SAOA,KACA,uBAMA,OAJA,mBACA,eACA,8BACA,gCACA,EAEA,EAhBA,MACA,SAyJA,KAAoC,MAAK,MACzC,cACA,QACA,wBACA,gCACA,eACA,gBACA,0BACA,IACA,CAAG,EACH,UACA,EApKA,KAA+B,MAAK,MAEpC,SAoKA,KAAiC,MAAK,UAAW,WAAc,EAC/D,QACA,wBACA,gCACA,4BACA,eACA,cACA,gBACA,cACA,wBACA,KACA,QACA,CAAG,CACH,EAjLA,GAA0B,QAAK,UAAW,WAAc,EACxD,WACA,CAsLA,IAAM,GAAS,gCAqIf,IACA,UAAa,0EAAqF,CAClG,UAAa,0EACb,EAmBA,mBAEA,OAAS,GADT,WACiB,CADjB,uBACiB,uBACjB,CASA,mBACA,WACA,oBACA,SAEA,kBACA,wDACA,SACA,QAEA,CACA,CAOA,iBACA,MACA,wBAGA,OACA,MAHA,4BAIA,IAHA,2BAIA,CACA,CACA,CAOA,iBACA,cAAS,YAAmB,EAC5B,wBACA,wBACA,YACA,aASA,OAPA,GACA,oCAGA,GACA,oCAEA,GAAU,MACV,CAOA,iBACA,eACA,wBACA,wBAEA,UACA,SAGA,IAAO,gBAAoB,eAC3B,CAAO,gBAAoB,eAC3B,QAAiD,oCAAwD,EACzG,UACA,QACA,YAAiD,oCAAwD,EAIzG,OACA,IACA,EALA,UAMA,KACA,GANA,QAOA,UACA,WACA,kBACA,kBAEA,CAOA,iBACA,WACA,cACA,WACA,iBACA,+BACA,YAEA,UACA,sBACA,sBACA,OACA,MACA,MACA,OACA,OACA,UACA,UACA,QACA,SACA,QACA,CACA,CACA,gBAsCA,KACA,cACA,aACA,OACA,yBACA,yBACA,0BACA,0BACA,sBACA,sBACA,gBACA,QACA,QACA,CACA,EApDA,IACA,CAyBA,iBACA,cAQA,OAPA,2BACA,aACA,aACA,oBACA,WAiFA,gBACA,cACA,gCACA,qBACA,qBACA,EAAkB,GAAS,WAC3B,EAAoB,GAAgB,SACpC,WAlCA,CAAqB,uBAAoB,QACzC,IAAS,kBAAgC,EACzC,iBAA4B,yCAAmD,EAC/E,aACA,SAAc,yBAAwC,CACtD,uBACA,aACG,CACH,EA0BA,YAAwB,YAAoB,QAC5C,WAzBA,YAAqB,YAAoB,QACzC,IAAS,mBAAiC,EAC1C,WAA4B,+CAAmD,EAC/E,aACA,SAAc,yBAAwC,CACtD,uBACA,cACG,CACH,EAiBA,YAAwB,YAAoB,QAC5C,kBACA,oBACA,OACA,IACA,IACA,OACA,OACA,QACA,SACA,cACA,cACA,oBAGA,EAxGA,OACA,gCACG,EACH,CACA,CAkBA,iBACA,iBACA,OACA,8BACA,2BACA,CACA,CA8CA,iBACA,UAAS,uBAAyB,EAClC,UAAS,WAAoB,cAA6B,WAAU,EACpE,mBACA,eAA4C,GAAmB,IAC/D,CA2BA,yBAOA,gBAnC+D,MA4G/D,mBAA6B,UAAa,QAC1C,MACA,eACA,gBACA,4CAGA,QACA,CAYA,mBACA,MAAiB,KAAR,GAAQ,iBACjB,CAQA,kCA6BA,mBACA,YAEA,OAAW,GADX,KACmB,IADnB,gBACmB,aAEnB,CAgCA,yBAQA,EAPA,GAAM,GAAQ,QAQL,GARK,CAQE,CADhB,EAPc,UAQE,CARF,EAQE,GAAyB,GAAO,EARlC,EAQkC,GARlC,CACd,kBAEA,OADA,UACA,CACA,CACA,CA8CA,SAAS,GAAY,SACrB,gBACA,WACA,GAAQ,GAAO,IACf,gBACA,yBACA,uBACA,CACA,CACA,CAEA,iBAA4B,GAE5B,IAFmC,IAEnC,SACA,MAAW,OAAM,IAAW,QAAqB,wBAAyC,GAAS,yBACnG,aAAuB,MAAK,qDAC5B,CAEA,kBACA,iBACA,CAEA,QACA,SACA,kDACA,wBACA,WACA,CAEA,YACA,sCACA,CAEA,8BACA,cACA,CACA,CAEA,sBAEA,aACA,oBACA,oCACA,sBACA,cACA,mBACA,wBACA,eACA,gCACA,cACA,WACA,YACA,eACA,OACA,8BACA,cACA,SACA,UACA,CAAK,CACL,cACA,aACA,WACA,gBACA,MACA,cACA,kBACA,YACA,aACA,aACA,CAAK,CACL,cACA,oBACA,eACA,UACA,kBACA,gBACA,kBACA,uBACA,kBACA,aACA,UACA,UACA,QACA,CAAG,CACH,WACA,aACA,gBACA,gBACA,YACA,YACA,gBACA,YACA,YACA,gBACA,GACA,EAEA,kBACA,oBACA,uBACA,EAEA,gBACA,OACA,YACA,CACA,CAEA,kBAAsC,GAEtC,IAF6C,IAE7C,SACA,UACA,CAAO,QAAqB,CAC5B,CAAO,wEAA6G,CACpH,EACA,CAAO,6EAEP,CAEA,kBACA,iBACA,CAEA,QACA,kBACA,wBAGA,SA6JA,KACA,aAAS,gFAAiF,EAC1F,SACA,aACA,+BACA,cACA,mBACA,cACA,SACA,GACA,WAEA,WACA,EA1KA,QACA,SACA,0CACA,4BACA,YACA,CAEA,8BACA,QAmEA,oDACA,0BACA,aAA8B,IAC9B,SASA,OACA,eACA,SAEA,YAAkB,WAAqB,IACvC,wCACA,QAGA,EAxFA,IAsEA,SACA,8CACA,4BACA,EAEA,CACA,CAAG,SA3EH,MACA,SAEA,mBAAW,oBAA+B,SAsF1C,WAA4B,EAAU,MACtC,IAAS,+BAA0B,EACnC,aAAS,uBAA+B,aACxC,YACA,YACA,GACA,qBACA,sBACA,oBACA,sBACA,EACA,GACA,qBACA,oBACA,EACA,4BACA,MACA,QAEA,WAoBA,SAGA,WAEA,kBADA,eAHA,gBACA,aAEA,EAEA,QACA,OACA,cACA,UAAiB,EACjB,CADoB,CAGpB,0BACA,sBACA,OACA,YAAiB,GAAiB,CAAE,QAAuB,EAAG,GAA5B,CAA4B,IAAY,QAC1E,UAAe,GAAiB,CAAE,QAAuB,EAAG,GAA5B,CAA4B,IAAU,OACtE,CACA,EAvCA,UACA,OAQA,OACA,eARA,CACA,WACA,WACA,UACA,oBACA,MAIA,QACA,4DACA,CACA,EAtH0C,OAC1C,EAAoB,GAAgB,SACpC,WAsHA,OAAsB,WAAc,IAEpC,CAzHoC,MAyHpC,IADA,sCAEA,EAzHA,KACA,SACA,IAAmB,oCAEnB,aAAW,uBAA4B,EACvC,UAA6D,6CAA2C,EACxG,OACA,yBACA,KACA,KACA,oBACA,WACA,CACA,CACA,CAEA,gCAEA,aACA,WACA,YACA,8BACA,oCACA,0BACA,cACA,mBACA,wBACA,gCACA,cACA,cACA,aACA,WACA,MACA,cACA,kBACA,YACA,aACA,aACA,CAAG,CACH,cACA,eACA,YACA,eACA,kBACA,WACA,aACA,gBACA,gBACA,UACA,mBACA,uBACA,kBACA,aACA,UACA,SACA,EAEA,kBACA,CAoGA,kBAA8B,GAE9B,IAFqC,IAErC,SACA,UACA,CAAO,QAAqB,CAC5B,CAAO,wEAA6G,CACpH,EACA,CAAO,oGAEP,CAEA,kBACA,iBACA,CAEA,QACA,mBACA,GAAqB,GAAO,8BAC5B,0BAGA,SACA,0CA/7BA,cACA,IAAS,6BAAyB,EAClC,YACA,yBA2EA,KACA,wBACA,GAAe,YACf,EAEA,SAGA,KACA,MAAS,EAPM,EAON,+EAAyE,EAClF,GAAkB,SAClB,UACA,UACA,UACA,gBACA,cACA,KACA,YAAsB,IAAW,KACjC,UAAkC,cAAqC,GAAU,GAAS,IAC1F,EAD0F,IAC1F,EACA,SAAgB,EAAS,IACzB,SAAgB,GAAqB,GAAgB,QAAqB,CAC1E,CAAK,CACL,CACA,GAHqC,IAGrC,kDAnBA,IACA,EAjFA,KACA,gBAqGA,OACA,WAAS,YAAgB,EACzB,WACA,IACA,IAUA,MATA,WACA,KACI,YACJ,KACI,UACJ,KACI,cACJ,OAEA,cACA,EApHA,OACA,OAMA,GAHA,SACA,cAEA,CADA,QAEA,mBAEA,mBAAS,kBAA8B,SAcvC,SAGA,IAFA,MAAS,iBAAc,EACvB,WAaA,KACA,UAAS,sBAAwB,EACjC,yCACA,YACA,IACI,aACJ,IAEA,EACA,EAtBA,KAUA,OANA,EAFA,wBAEA,CAAoB,GADpB,GAAsB,YACF,OAIpB,CAAoB,MADpB,IAAsB,YACF,GAEpB,CAAU,gCACV,EA3BuC,KACvC,WAAS,aAAoB,SAuC7B,WAIA,IAHA,MAAS,8BAA2B,EACpC,kBACA,EAaA,cACA,mBACA,sBACA,GAEA,CACA,EAnBA,aAUA,OANA,EAFA,wBAEA,CAAe,GADf,GAAiB,oBACF,WAIf,CAAe,EADf,IAAiB,sBACF,WAEf,WAAU,YACV,EArD6B,OAC7B,kCACA,kBACA,mBAEA,kBACA,kBACA,UAAgC,QAAqB,oBAA4B,GAAS,cAC1F,kBACA,WACA,WACA,EAs6BA,QACA,aACA,cA4FA,GAAuB,iCAA6B,EACpD,sBACA,EAAkB,GAAS,WAC3B,OACA,aACA,YACA,qCACA,qCACA,CACA,EArGA,SACA,YACA,CAEA,kCACA,EACA,SAIA,cAJA,CACA,IAAa,qBAAkB,QAC/B,GAAe,QACf,CAGA,CAHM,GAGN,EAAoB,GAAS,WAE7B,OADsB,GAAgB,SACtC,KACA,OACA,sBAHsC,GAItC,WACA,WACA,KACA,oBAEA,CACA,CAEA,wBAEA,aACA,oBACA,8BACA,oCACA,sBACA,cACA,mBACA,wBACA,eACA,gCACA,cACA,SACA,sBACA,mBACA,cACA,mBACA,wBACA,cACA,WACA,SACA,gBACA,OACA,WACA,CAAG,CACH,cACA,aACA,WACA,MACA,cACA,kBACA,YACA,aACA,aACA,CAAG,CACH,cACA,eACA,YACA,eACA,UACA,kBACA,WACA,aACA,gBACA,gBACA,mBACA,uBACA,kBACA,aACA,UACA,YACA,YACA,gBACA,cACA,UACA,YACA,YACA,gBACA,cACA,GACA,EAEA,kBACA,mBACA,EAaA,kBAAqC,qCAAyD,CAC9F,kDACA,kDACA,UACA,WAAqC,gBAAa,cAA2B,+CAA6D,CAAG,+CAE7I,8CACA,gBAA8C,yCAAmF,CACjI,sCACA,kEAAwJ,EAAE,OAE1J,WAA6B,GAE7B,IAFoC,IAEpC,SACA,6DACA,qBACA,cAAqB,YACrB,MAAa,SAAW,KACxB,MACA,mBACA,uCACA,UAAe,GAAO,cACtB,8BACA,8BACA,yCAEA,OADA,YACA,CACA,CAEA,gBA8NA,UAA8B,WAAe,GA/6DhC,IA+6DmD,IAAP,IAQzD,IANA,IAAS,mBAAsB,kCAC/B,MACA,MACA,cACA,+BAaA,OAVA,KACA,IACA,KACI,KACJ,IACA,MAEA,QACA,SAEA,kBACA,EAlPA,OADA,MACA,gBACA,CACA,gBAoLA,UAA+B,WAAe,YAAS,qBAA0B,EAEjF,UADA,4CACA,iBAAwD,WAAe,KACvE,EAvLA,aAA8B,WAAe,YAAS,qBAA0B,CAChF,CAEA,kBACA,iBACA,CAEA,QACA,IAAW,kCAA2B,KAGtC,GADA,SACA,SAEA,mBAEA,QAEA,iDACA,cAEA,OADA,SAiZA,SACA,MAAS,2BAAuB,EAChC,WAAS,uCAA4C,MACrD,KAAc,OACd,GAAc,SACd,cACA,cAAiD,EAAE,CACnD,gBACA,kBAEA,aACA,cACA,kBACA,oCACA,kCACA,YACA,SACA,QACA,QAAiC,iBAAuC,IACxE,QAAiC,iBAAmC,GACpE,EAraA,YACA,YAEA,cAAW,uCAA4C,SACvD,sBACA,iBACA,YACA,cACA,gBACA,gBACA,kCACA,WACA,YACA,aACA,WACA,CAEA,YACA,sCACA,CAEA,8BACA,eA31BA,KACA,IAAS,sBAAmB,EAC5B,eACA,GAAgB,yCAOhB,OALA,EACA,SAiDA,OACA,wBACA,qBACA,kBACA,MACA,SAEA,MACA,OAEA,EA3DA,OAEA,SA2DA,OACA,8BACA,mBACA,MACA,QAAa,6CAA0C,MACvD,QAA8C,sCAA2E,CACzH,cACA,WAEA,CACA,EArEA,OAEA,CACA,EAg1BA,KACA,GAAW,iBAAc,EACzB,WA8IA,GAAuB,gBAAa,MAAG,0BAAyB,EAChE,OACA,WACA,UACA,UACA,SAEA,EArJA,eACA,IACA,SAyKA,OACA,MAAS,OAAM,UACf,CAAS,SAAc,UACvB,SAAU,yDACV,EA7KA,GAAyB,MAAK,EAAG,QAAa,cAC9C,GAAS,0DAIT,GAHA,kBACA,kBACA,2BACA,SACA,OAAkB,aAClB,GAAkB,cAClB,eAyVA,OACA,MAAS,qCAAgC,EACzC,sBACA,uBAKA,UAJA,CACA,iBACA,gBACA,EACA,CAAyB,QAAuB,GAChD,EAlWA,IAA2D,GAAqB,KAChF,CACA,MAgMA,MAlMgF,GAkMhF,OACA,oBACA,EAAkB,GAAS,WAC3B,EAAmB,GAAgB,SAGnC,gBAUA,SACA,SAdmC,CAc1B,sBAAwB,EACjC,SAAS,aAAkB,EAC3B,GAAc,aACd,GAAc,eACd,sBAZA,YACA,IAAS,mBAAc,EACvB,sBAEA,SAAoB,EAAE,KAAkB,EAAE,KAAc,EAAE,MAAmB,EAAE,EAC/E,EAOA,GAAmF,GAAS,YAC5F,WAsBA,OACA,kBACA,cACA,OACA,8BACA,6BACA,CACA,EA7BA,OACA,WA8BA,SAEA,eAoBA,KACA,MAAS,iBAAc,EACvB,sBACA,uBACA,yBACA,wBACA,OACA,gBACA,gBACA,aACA,YACA,CACA,EAhCA,KAQA,MAPA,qBACA,IAA0B,sBAAiE,QACvF,mBACJ,MAA8B,sBAAiE,QAEvF,GAAmB,aAG3B,EAzCA,KAA2C,sBAAyB,IAsCzC,EArC3B,8BACA,GAA4B,gDAC5B,GAA4B,+CAC5B,cACA,cACA,OACA,QACA,QACA,SACA,SACA,UACA,UACA,WACA,WACA,QACA,SACA,SAAc,GAAS,EACvB,CACA,EApCA,CAkCuB,CAlCvB,GAAsD,MAFtD,kBAEsD,OADtD,oBACsD,UAAuB,aAC7E,EAvMA,aAUA,OARA,aAEA,aACA,aACA,oBACA,aACA,gCACK,EACL,CACA,CACA,CAEA,uBAEA,QACA,uBACA,6BACA,mBACA,kBACA,wBACA,yBACA,mBACA,eACA,YACA,cACA,kBACA,qBACA,qBACA,YACA,EA4GA,aAA2B,QAAK,QAAO,0BAAyB,EAiBhE,OAhBA,MACA,UAA4B,MAAK,IACjC,KAEA,MACA,UAA6B,MAAK,IAClC,KAEA,MACA,UAA2B,MAAK,IAChC,KAEA,MACA,UAA8B,MAAK,IACnC,KAEA,GAAU,MACV,CA8BA,sBAA6B,WAAe,MAC5C,cACA,4CACA,CAoEA,qBACA,cAAS,aAAoB,EAC7B,WACA,WAGA,OAAS,GAAK,SAFd,uBAEc,CAFd,EACA,0BACc,MACd,CAgBA,iBACA,SAAS,yBAAyB,EAClC,aACA,MAEA,SAEA,UACA,UAEA,UACA,UAEA,EACA,CAEA,eACA,gBACA,mCACA,iCACA,OACA,YACA,UACA,oBACA,iBACA,CACA,CAEA,iBACA,kBACA,SAEA,WAAS,WAAe,EACxB,0BAGA,qBAFA,CAAc,WACd,CAAc,UAEd,CAEA,qBACA,kBACA,OAEA,WAAS,kDAAmD,EAC5D,kBACA,cACA,QACA,QACA,eACA,gBACA,cACA,QACA,iBACA,cACA,SACA,6BAEA,kCAEA,UACA,CAaA,iBAAoC,MAAK,QAAG,WAAc,IAC1D,eAGA,SACA,iBACA,YACA,aACA,YACA,CA1UA,aACA,oBACA,YACA,WACA,oBAAyB,KACzB,QACA,UACA,sBAA2B,KAC3B,OACA,CAAG,CACH,cACA,mBACA,gCACA,cACA,SACA,cACA,QACA,CAAG,CACH,WACA,gBACA,YACA,eACA,OACA,kCACA,oCACA,sBACA,oBACA,cACA,mBACA,wBACA,eACA,gCACA,cACA,wBAA6B,sBAC7B,aACA,aACA,WACA,gBACA,MACA,cACA,kBACA,YACA,aACA,aACA,CAAK,CACL,cACA,oBACA,eACA,UACA,kBACA,WACA,aACA,gBACA,gBACA,mBACA,uBACA,kBACA,aACA,UACA,UACA,QACA,CAAG,CACH,eACA,aACA,gBACA,gBACA,aACA,YACA,YACA,gBACA,YACA,YACA,gBACA,GACA,EAEA,gBACA,YACA,OACA,YACA,CAAK,CACL,KACA,YACA,CAAK,CACL,YACA,CACA,EAEA,kBACA,mBACA,CAwQA,kBAAgC,GAEhC,IAFuC,IAEvC,SACA,4BACA,yDACA,oBACA,OA4EA,kBACA,UAAS,gCAAiC,EAC1C,MACA,MAEA,cACA,SAGA,MAAgB,GAAS,QACzB,YACA,cAGA,OAFA,gCAEA,gBADA,gCACA,uBACA,EA3FA,CAA6B,QAAqB,8DAElD,MAAW,iBAAc,qCACzB,WAAkC,eAAmB,CAAG,eACxD,MAAkC,QAAqB,wBAAyC,GAAS,KACzG,CADyG,MACzG,gBAxpEa,MAwpEmD,cAxpEnD,IAypEb,CAEA,GAHgH,YAGhH,GACA,EAJgE,KAIhE,UACA,CAEA,IAPuH,CAOvH,GACA,UAAW,0CAA0C,KACrD,SACA,uCACA,mBACA,cACA,8BACA,cACA,sBAAyD,EAAE,OAAa,EAAE,EAC1E,SACA,IACA,kCACA,YAEA,WACA,CAEA,YACA,sCACA,CAEA,8BACA,cACA,CAEA,CAEA,0BAEA,aACA,oBACA,oCACA,cACA,mBACA,gCACA,cACA,WACA,eACA,YACA,sBAAyB,oBACzB,WACA,aACA,gBACA,gBACA,YACA,YACA,gBACA,YACA,YACA,gBACA,GACA,EAEA,kBACA,oBACA,uBACA,EAEA,gBACA,OACA,YACA,CACA,CAmBA,kBAA8B,GAE9B,IAFqC,IAErC,SACA,MAAW,yBAAqB,6CAChC,yDACA,yBAvtEA,MAwtEA,OAxtEA,EAwtEA,CAA2B,QAAqB,CAxtEhD,EAwtEgD,uBAxtEhD,EAwtEgD,IAvtEhD,mBAGA,oDAotEgD,EAptEhD,EAqtEA,CAEA,UADA,SAAkC,uBAAkC,CAAG,uBACvE,EACA,CAEA,kBACA,iBACA,CAEA,QACA,mBACA,gBACA,eACA,OAEA,SACA,8BACA,QACA,eACI,SA7yDc,SAClB,WAAS,UA4yDI,CA5yDJ,EAAiB,EAC1B,IAFkB,UAElB,CACA,aACA,SAA8B,GAE9B,QAFyC,CAEzC,CACA,SACA,iBACA,YACA,uDACA,YACA,MACA,CACA,OAGA,SAGA,KAA8B,wCAAmC,EACjE,YAGA,OAFA,cAEA,GAEA,QACA,cAA6B,GAAG,CAChC,cACA,KACA,gBACA,0CACA,GAAW,GACX,UADwB,CACxB,+BACA,GAAW,GACX,UADwB,CACxB,+BACA,cACA,KACA,mBAQA,SAEA,aAA6B,IAD7B,QAEA,aAA6B,IAAU,EACvC,IADuC,CACvC,aAA0D,EAAE,GAAQ,IACpE,GAD2E,EAC3E,aAA0D,GAAO,GACjE,CADiE,CACjE,kBAA+D,IAC/D,GADsE,EACtE,aAA0D,GAAO,EAAQ,EAAE,EAC3E,cACA,KACA,YACA,OACA,iBACA,wBACA,KACA,CACA,GAAW,EAEX,QAFqB,OAGrB,gBACA,gBACA,kBACA,kBACA,kBACA,kBACA,cACA,KACA,gBACA,GAAW,EAEX,QAFqB,KAGrB,gBACA,gBACA,kBACA,kBACA,kBACA,kBACA,KACA,YACA,gBACA,gBACA,kBACA,kBACA,kBACA,kBACA,GAAW,GACX,OADqB,GACrB,MACA,gBACA,kBACA,kBACA,kBACA,kBACA,KACA,YACA,gBACA,gBACA,kBACA,kBACA,KACA,YACA,cACA,yCAEA,CAEA,QACA,EA/FA,KAAuB,wCAAmC,CAC1D,EA2xDa,kCACb,uBACA,kCACA,YAEA,YACA,eACA,CAEA,8BACA,cAEA,OADA,2BACA,CACA,CACA,CAEA,wBAEA,aACA,oBACA,oCACA,cACA,mBACA,gCACA,cACA,WACA,eACA,YACA,oBACA,UACA,WACA,aACA,gBACA,gBACA,UACA,YACA,YACA,gBACA,cACA,UACA,YACA,YACA,gBACA,cACA,GACA,EAEA,kBACA,oBACA,uBACA,CAEA,kBAAgC,GAEhC,IAFuC,IAEvC,SACA,oBACA,iEAmHA,SACA,SACA,wCACA,gBACA,+BACA,0DACA,OAEA,GACA,CACA,QACA,EA9HA,qBAEA,UAAkC,QAAqB,wBAAyC,GAAS,yBACzG,0CACA,iBACA,iBACA,uBACA,CAEA,kBACA,iBACA,CAEA,QACA,aAAW,aAAmB,KAC9B,SACA,cACA,8BACA,QACA,cACA,KACA,eACA,GACA,kBACA,MAEA,kBAGA,cACA,SAEA,IACA,kCACA,YAEA,WACA,CAEA,8BACA,cACA,OAAW,cAAiB,EAC5B,KACA,IAAuB,EAAE,GACzB,IAAyB,GACzB,QADoC,EACpC,EAAoB,IAAW,UAC/B,eAkDA,SAA4B,YAAiB,SAAG,+BAAkC,IAClF,cACA,cACA,cACA,GAAiB,iBACjB,OACA,aACA,oBACA,YACA,MACA,MACA,YACA,YACA,aACA,YACA,CACA,CACA,EAnEA,MACA,4BACA,SACA,CAEA,OADA,aACA,CACA,CACA,CAEA,0BAEA,aACA,oBACA,oCACA,sBACA,cACA,mBACA,wBACA,gCACA,cACA,WACA,eACA,YACA,OACA,QACA,CAAG,CACH,UACA,WACA,aACA,gBACA,gBACA,QACA,UACA,YACA,YACA,gBACA,cACA,UACA,YACA,YACA,gBACA,cACA,GACA,EAEA,kBACA,oBACA,uBACA,EAkCA,QACA,OACA,iBACA,WACA,SACA,QACA,SACA,UACA,EAUA,4BACE,GAAQ,qBAAsB,SAAwB,GACxD,qCACA,CAAG,CACH,CAAC,EAED,QACA,sBAGA,iBACM,GAAO,OAAuB,GAAQ,aAa5C,WAba,KAab,cAOA,6BACA,MACA,GAEA,0CAA4C,EAAK,0BACjD,OACA,CAoEA,qBACA,gBACA,OAKA,OAJA,mBAEA,cADA,aA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ACA,SACA,SACA,SACA,WACA,aACA,SA9hBA,mBA+hBA,oBACA,eACA,aACA,UACA,MAhaA,aACA,IAAS,YAAU,kBACnB,KACA,UACA,kBACA,eACA,eACM,KACN,SAAkC,IAC5B,KACN,eAEA,MAEA,EAEA,+BAAwC,IAAO,IAC/C,gCAEA,QACA,EA6YA,OAjYA,mBAAgC,EAAW,GAAI,IAC/C,YACA,QACA,KAAe,EAAI,KAEnB,MAEA,CAAG,EAAG,aAAW,EACjB,GA0XA,KA7fA,UACA,4DA6fA,SAjXA,IACA,yBACA,eAEA,GA8WA,SAlWA,YACA,yCACA,0BACA,iCACA,kBACG,EACH,+BACA,EA4VA,aAjVA,gBACA,EACA,EACA,EACA,SAIA,GAFA,QAEA,iBAEA,GAGA,IADA,GADA,iCACA,OACA,QACA,OACA,wBACA,UACA,SAGA,cACA,EAAI,4CAEJ,QACA,EA0TA,SACA,aACA,SAjTA,UACA,YACA,0BACA,aAEA,YACA,qBACA,oBACA,EA0SA,QAhSA,IACA,kBACA,iBACA,eACA,qBACA,eACA,aACA,UAEA,QACA,EAuRA,aA7PA,YAKA,EAFA,MAFA,wBAEA,QAIA,6BACA,cACA,mBACA,CACA,EAmPA,SAzOA,YACA,EACA,SAEA,2BACA,UAGA,QACA,EAiOA,aACA,cAAgB,GAChB,WAAc,EACd,kBAD4B,EAE5B,cAzLA,IACA,YAEA,yDACA,SAKA,KAFA,OAMA,GAFA,gBAEA,gBACA,cACA,MACA,CAEA,OACA,YACA,uDACA,GAEA,CAAG,CACH,EAkKA,YAhKA,QACA,SAUA,MARA,KACA,cACA,OACA,CAAK,CACL,GAEA,2BAEA,CACA,EAqJA,YAlOA,GACA,gDACA,gBACA,wBACA,GA+NA,KApJA,OAqJA,eAnJA,OACA,mCAmJA,UACA,SACA,mBACA,WACA,eA1IA,yBACA,SACA,QAAS,GAAQ,EACjB,UACA,wBAGA,QACA,EAmIA,oBA1HA,YACA,gFACA,EAyHA,aAvHA,IACA,gBAEA,UAEA,SACA,mBACA,OAGA,oBACA,OACA,iBASA,OAPA,YACA,cACA,eACA,CAAS,EAET,YAEA,CACA,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I,CACd,MACA,MACA,CAAO,EACP,CACA,CAEE,GAAK,iBAEL,GAAK,yBACP,CAAC,CC3ND,UACA,mBAKA,EAJA,wBACA,+CAKA,sCACA,GACA,CAAK,EAEL,WAGA,sBACA,wBAEA,0BAEA,aACA,kBAEA,kBACA,CAAK,EAGL,0BACA,EAEA,sBACA,eACA,GACA,CAAO,UAMP,OAJA,oBACA,gBACA,EAEA,CACA,EAEA,kBACA,WAKA,aAAyB,GAAa,OACtC,GtBpC4B,CsBoC5B,CtBpC6B,KsBoC7B,EACA,CAAK,CACL,CAKA,mBACA,eACA,iBAEA,CAMA,aACA,gBACA,eACA,MACA,CAEA,gBACA,wBAEA,oBAQA,eACA,oBACA,OAEA,gCACA,SACA,2BAEA,CAEA,gBACA,0BAEA,MACA,UACA,EAMA,OAJA,kBAEA,6CAEA,SAOA,gBACA,MAIA,OACA,MAJA,mBACA,GACA,CAAK,EAGL,QACA,CACA,CACA,CGpIA,QACA,aACA,uBACA,eACA,eACA,OACA,YACA,aACA,gCACA,cACA,iBACA,mBACA,gBACA,oBACA,WACA,oBACA,qBACA,UACA,aACA,gBACA,aACA,WACA,sBACA,sBACA,eACA,iBACA,oBACA,cACA,aACA,qBACA,kBACA,gCACA,mBACA,aACA,SACA,mBACA,uBACA,oBACA,eACA,yBACA,wBACA,sBACA,cACA,uBACA,wBACA,WACA,qBACA,aACA,oBACA,yBACA,oBACA,gCACA,+BACA,wBACA,mBACA,eACA,uBACA,mBACA,4BACA,0BACA,wBACA,iBACA,gBACA,iCACA,EAEA,qCACA,OACA,CAAC,ECtBD,gBAnBA,KACA,CAkB6B,GAlB7B,MAAsB,GAAK,GAC3B,EAAmB,EADQ,EACJ,CAAM,qBAa7B,OAVE,EAAK,SAAkB,GAAK,aAAsB,cAAiB,EAGnE,EAAK,iBAAkC,cAAiB,EAG1D,qBACA,SAA0B,GAAW,KACrC,EAEA,CAHqC,MAUrC,SLuLe,EKvLD,CAGd,QLoLoB,CKvLD,CLuLE,MKpLrB,GAAsB,CACtB,eJiFe,EIjFK,CACpB,CAFmC,EAEnC,KJgF0B,EAAC,CIhF3B,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,ODTupC,GCUvpC,CDV2pC,KCU3pC,QACA,YACA,IDZwrC,CCYxrC,OACA,CDbisC,KCajsC,OACA,EAUO,WACA,MACP,MD1BsuC,CC0BtuC,6BACA,YACC,EACD,8BACO,IACP,2BACA,uBACA,yBACA,yBACA,0BACA,EACO,gCACA,iEACA,mBCtCA,iBACP,kBAEA,QADA,KACA,IAAyB,mBAAuB,IAChD,kBAEA,IACA,wBACA,CACA,SACY,GAAO,UACnB,CACA,CACA,CCdA,OAAiC,cAAZ,EACrB,OADyB,EACzB,EAD6B,QAC7B,CADiC,KACjC,0BAA6E,IAAO,KACpF,YACA,yCACA,WAGA,iDACA,EAGA,MAIO,eACP,IACA,CAgBO,eACP,kBAEA,2BACA,CACA,CACO,CAFA,QAEA,UACP,IAEA,mBACA,CACA,SAEA,GADA,MACA,EACA,IACA,IACA,CACA,SACA,KACA,CAEA,CACA,CACO,cAEP,QADA,KACA,IAAqB,mBAAuB,IAC5C,kBAEA,IACQ,GAAO,YAAa,GAAO,uBAEnC,CChEO,iBACP,wBACA,CACO,SAAS,GAAS,GACzB,cACA,qBAEA,SACA,oBACA,sBAA4C,iBAA0B,OAGtE,YAAwB,WAAsB,IAC9C,aAGA,QACA,CACO,iBACP,YAAoB,WAAkB,MACtC,WACA,UACA,QAEA,CAEA,CAaO,eACP,sCAAoD,YAAqB,CACzE,CACO,eACP,sCAAoD,eAA4B,CAChF,CACO,iBACP,8BACA,CAIO,SAAS,GAAM,GAEtB,QADA,EADsB,EACtB,CACA,IAAqB,mBAAuB,IAC5C,oBASA,OAPA,sBACA,eACA,2CACA,WAGA,CAAK,EACL,CACA,CE7DO,cACP,+BACA,kBAEA,oDACA,eACA,YACS,CACT,eACA,CAAK,EAEL,gBAgBA,OAdA,kCACA,qBAGA,sBACA,OAGA,EADA,wBACA,OAGA,IAGA,CACA,CC9BO,IAEP,sBACO,sBAEP,WAGA,4BACA,mCAEA,mBALA,SCOO,iBACP,IACA,EADA,EAAwB,KAQxB,OANA,GAFuC,GAEvC,wCACA,4BAEA,GACA,SAEA,CACA,CCrBO,SAAS,GAAU,KAC1B,OAAW,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A,OANA,OAEA,UACA,CADgC,CAChC,QACA,CADgC,CAChC,SAAgC,CAGhC,iBACA,yBACA,WA9CA,IA+CA,uBACA,mBAEA,EAxCA,IA0CA,YACA,iBACA,KAGA,OACA,QACA,yBACA,KA5DA,IA6DA,uBACA,QACA,CACA,EAtDA,aAwDA,GACA,iBACA,KAGA,OACA,QACA,yBACA,WA1EA,IA2EA,WACA,SAEA,EApEA,aAuEA,GACA,iBACA,MAGA,uCACA,gBAOA,OANA,OAEA,UACA,UACA,aAEA,CACA,OAH8B,EAG9B,oBACA,yBACA,WAjGA,IAkGA,uBACA,UAEA,EA3FA,GACA,IACA,iBACA,QAbA,GAaA,EAEA,UAEA,CAAS,EAET,CACA,wBACA,kBACA,OACA,CACA,CACA,iHACA,iBACA,sFACA,uDAuBA,0EAcA,mHAcA,+IACA,mDAsBA,iBACA,kCAGA,WACA,kCACA,CAWA,sHCpHO,cAQP,IACA,EADA,UAGA,YACA,IACA,OACA,CACA,SAEA,CAOA,OALI,GAAa,WACjB,MAAyB,GAAiB,EAC1C,YAD0C,IAC1C,OAdA,GAeA,OACA,CAAK,EACL,CACA,CACO,eACP,YAQA,OAPA,4BACA,wCACA,+DACA,+BACA,2CACA,wEACA,CAAK,EACL,CACA,CACO,eACP,uDACA,CC5CO,uDACA,eACP,kHACA,QACA,EAuBA,OAvBA,EAuBA,0BAvBA,EAuBA,eACA,UAxBA,EA2BA,gBADA,UA1BA,EA0BA,YAAoD,GAAc,GA1BlE,KA0B0E,EAI1E,SA7BA,OAqCA,8CArCA,EAqCA,eApCU,GAAkB,GAC5B,GACA,SAF4B,GAE5B,OACA,kBACA,QACA,OACA,cACA,SACA,WACA,gBACA,gBACA,OACA,UACA,QACA,SACA,aACA,CACA,CAqBO,eACP,kEACA,CAKO,eACP,+EACA,CACO,iBAGP,IAFA,QACA,KACA,0CACA,MAAyB,GAAiB,SAC1C,KAD0C,CAC1C,EACA,wBACA,SACA,2BACA,SAAiC,GAAkB,EACnD,CAAS,EACT,UAEA,wBACA,EC1DA,YACA,wDACA,8CACA,8CACA,oDACA,4CACA,wDACA,uDACA,CAAC,UAAkD,EACnD,eAaO,eACP,gBACA,CCtCO,qBAEA,mBAIA,yBCFA,eACP,kCACA,CACO,iBACP,mBACA,CAIO,eACP,wBACA,CCTO,mBAOP,EANA,OAAa,qBAQb,CAFA,0BAEA,KACA,WAqCA,EA9Ca,GA2Db,gBA3Da,GACb,CAeO,sBACP,GAAiB,GAGN,EAHM,CAGD,SAFhB,CAGA,CACO,cAMP,2BACA,CACO,cACP,WACA,CACO,cACP,wBACA,CACO,cACP,OAAa,6BACb,CACO,cACP,OAAa,0BACb,CA2BA,cAIA,OAHA,YACA,uCAEA,CACA,CChFO,iBACP,6CACA,GACA,GAAmB,iBAA8B,CAEjD,CCLO,cAEP,IADA,EACA,mBACA,OACA,4CACA,sEACA,0EAEA,CCFO,iBACP,mBACA,MACA,aAEA,CCTO,SAAS,KAChB,SAcA,OACA,IAdA,QAFmC,CAEnC,GACA,UAJA,KAMA,aAEA,EAUA,OATA,YACQ,GAAU,IAClB,EAQA,CATkB,KAElB,YACA,sBAA6C,YAAuB,EACpE,UACA,CAKA,CACA,CCtBO,QACP,UACA,8BACA,aACA,ECaA,IACA,0CACA,wCACA,wCACA,wCACA,mBACA,cACA,CACA,IRrBO,eQqB4C,CAEnD,GAFmD,KAGnD,eACA,aAFiD,KAEH,aAA6C,CAC3F,EAiFO,iBACH,GAAsB,GAAc,cACP,CADR,EACc,CACvC,KAAc,GAAa,IADY,MACZ,EAC3B,EACA,cACA,CAAK,IACL,CACO,iBACP,GAAiC,GAAM,CACvC,KAAc,GAAa,IAC3B,MAD2B,CAC3B,OACA,CAAK,UAcE,GACP,GAAQ,GAAO,IACf,MAAyB,GAAiB,GAC1C,OACA,IAF0C,EAE1C,CACA,YACA,MAAuB,IAAkB,EAazC,YAbyC,CAazC,oBAAkE,kCAA0E,OAAO,GAAU,SAA+B,EAAI,EAbvJ,GACzC,CAAa,CACb,kBAEA,CACA,OACA,OACA,MAAmB,EACnB,CAAS,CACT,0BAFiD,GAEjD,YAAiF,GAAa,GAC9F,CACA,EA/BK,IA6ByF,EA5B9F,CAOO,eACP,IACA,KAAc,GAAa,MAC3B,IAD2B,EAC3B,CACA,CAAK,CACL,CChIO,eAEP,MAAe,GAAM,EAAG,IAQxB,MAPA,CADqB,KACrB,gBACA,oBACA,QAEA,mBAEA,CAAK,EACL,CACA,CClBO,iBACP,sBACQ,GAAO,8CAEf,CEDO,eACP,SAEA,iEACA,oGACA,CACA,2BAAoD,MAC7C,iBAGP,IAFA,iBAEA,CACA,iBACA,KACA,aACA,WACA,MAGA,KAEA,CACA,CAgBO,mBACP,aAA6B,MAC7B,wBAEA,EADA,mBACA,aACA,YACA,EAEA,iCACA,CCvBO,mBACP,gDACA,QAA8B,MAC9B,OACA,OACA,YAAqB,KACrB,IAD8B,IAC9B,UACA,2BAGA,GAAsB,yBAItB,OAHA,WAEA,WACA,CACA,CACO,qBACP,IAcA,MACA,EXVO,EWLP,4CACA,QAA8B,MAC9B,2CACA,IAGA,GAQA,EARA,cAQA,EARA,EAQA,EARiF,KAUjF,CACA,GAX0F,EAA1F,EAWA,KACA,gBACA,cACA,UAAkB,EAAO,wBXdzB,GWeA,QAAiB,GAfjB,EAewB,mBACxB,oEAfA,mBACA,YAGA,YAEA,CCvDO,cACP,MAoCW,KAAe,mBAnC1B,KAGA,OACA,2BACA,MACA,oFACA,CAAS,CACT,2BACA,MACA,gEACA,CAAS,CACT,kCACA,6CACA,CAAS,CACT,qBAEA,uBAAoD,yBADpD,GAAkC,MAAa,MACK,CAAgD,EACpG,CAAS,CAET,CACO,eACP,WACA,WAAuB,GAAQ,sBAC/B,CACO,eAEP,aAAkC,EAAmC,OAAnC,GAAoB,KAAe,yCACrE,IAFA,EAEA,OACA,WACA,EACA,yBACA,qBrCYO,IqCZoC,erCYpC,EqCZkF,ErCYlF,EqCZkF,KAAR,KAAQ,IrCazF,uBqCbyF,CAAyC,CAClI,CCDO,qBACP,IAAgC,EAAhC,eAAgC,wBAChC,OACA,yBACA,aAAyC,GAAU,SAInD,OAAqB,KAAM,EAAI,EAH/B,EAAuB,EAKvB,CACA,CAN2B,GAM3B,KACA,aACA,KAEA,+BAEA,IACA,EADA,EAAyB,GAAS,WAE1B,GAAa,EAFa,KAEb,CACrB,CACA,CAFqB,MAErB,KACA,aACA,uBACA,GACA,CAAiB,CACjB,gBAAsD,KAAmB,MACzE,CAAa,CACb,EAEA,IAJyE,EAIzE,gBAKA,OAJA,GACY,GAAa,YAGzB,CACA,EAEA,OADA,OACA,CACA,gBACA,KAEA,UACA,QAEA,CACA,CACA,CACO,mBACP,2CACA,+BACA,OAAiB,KAAM,EAAI,MAG3B,gBAEQ,GAAU,WAClB,EADkB,EAHe,IAAI,EAKrC,IAEA,CAAS,GACT,EACA,cACA,mBACA,SACA,EAIA,OAHA,2BACA,KACA,CAAK,EACL,CACA,gBACA,MACA,gFACA,6BAEA,IACA,CAAS,CAET,CCjHO,eACP,gCAcO,iBACP,iBA2BA,cACA,IACA,iCACA,8BAEA,SACA,IACA,CAEA,kBACA,IApCA,KACA,IACA,qCACA,CACA,SACA,qEAA0F,GAAa,CAAG,SAAH,EAAG,EAAsB,GAChI,CAEA,4BACA,4CAEA,eACA,uBACA,eAEA,OADA,kDACA,qBACA,UACA,sBACA,qBACA,CAEA,OADA,SACA,CACA,CACA,WClCO,cAIP,OAHA,GACA,GAQA,IAAe,GAAU,YACzB,gBAMA,OAHmB,GAAgB,+BAOnC,MACA,IACA,EAIA,EACA,EAEA,EAhBuE,OAOvE,iBAPuE,EAOvE,aAPuE,EAOvE,cACA,OAEA,UADA,GADA,SACA,WACA,sBACA,aAEA,2CACA,6BAAqD,GAAY,WAEjE,GACA,cACA,OACA,QACA,SACA,YANsB,KAOtB,MACA,eACA,OACA,YAEA,aACA,YACA,cAA4C,gBAE5C,OAEA,cADA,EAEA,gBACQ,GAHR,EAGc,GACd,QADc,CAHd,EAKA,CACA,OAAyB,GAAO,YAChC,GACA,WACA,oBACA,gBACA,YACA,CAAS,CACT,CAAK,EAAG,GAAO,YACf,QACA,GACA,SACA,8JACA,OACA,CAAS,CACT,CAAK,EACL,EArDuE,EA6B3B,KAAyD,EA7B9B,CAAsC,EAC7G,uBACA,CAAS,OAEJ,CAhBL,EAEA,CACA,CCTO,qBACP,aAAkC,KAClC,eACA,yBACA,yCACA,iCACA,gBAA+C,6BAC/C,gBAA+C,WAC/C,qBAAyD,eACzD,6CAA2D,cAAqB,OAAO,mDACvF,CACO,eAC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,GACzN,mBAAgD,oBAAmD,GACnG,GAEA,CAAS,4BACT,cAGA,YACA,mBAEA,KACA,IACA,CAAS,4BACT,aACA,YAEA,mBAGA,KACA,IACA,CAAS,GACT,WACA,sBAAiD,uBAAyB,CAC1E,EACA,aACA,UAAgC,WAAkC,CAClE,CACA,CAAK,CACL,CACA,iBACA,OAAW,GAAS,yBACpB,CC7GO,sBACP,8BACA,qBAGA,8EACA,EAEA,SACA,IAGA,gFAGA,cACA,CAAK,CACL,CACO,wBACP,UACA,eAGA,qBACA,sBAGA,CAMO,eACP,mBACA,uBAEA,oBACA,6CACA,oBAEA,eAEA,WACA,EFtCA,YACA,gBACA,4BACA,sDACA,8BACA,uBACA,8CACA,0BACA,gBACA,qBACA,CAAC,SAA0D,GE8C3D,IAAI,GAAO,WACX,GADW,MACX,KACA,WACA,qBACA,GACA,sBAAqD,mBAPrD,EAOqD,CAA2C,CAEhG,CAWA,OAVA,4BAEA,OADA,eAXA,GAYA,MAEA,+BACA,yBACA,EACA,4BACA,sBACA,EACA,CACA,CAAC,GClFM,eACP,mCAKO,eACP,sCAEO,eACP,6BAEO,eAEP,gBADA,EACA,kDACA,CAIO,iBAEP,IADA,mBACA,GACA,KACA,gBAEA,OACA,eAEA,CAIO,eACP,iCC9BO,QACP,gBACA,gBACA,MAAW,GAAmB,MAC9B,KAAU,GAAmB,EADC,EACD,CAC7B,WAD6B,KACR,GAAmB,iBAEjC,qBAUA,mBAAwC,qEACxC,IACP,SACA,UACA,YACA,UACA,UACA,YACA,WACA,EAQO,mBACP,eACA,gBAEA,MAAqB,GAAa,GAClC,IACA,UACA,EAEA,KADA,MACA,GAIA,OAHA,GACA,WAEA,CACA,CAIO,iBACP,UAEA,eACA,eACA,QACA,CACA,UACA,cACA,aACA,wBACA,eACA,eACA,QACA,SACA,QACA,CACA,CAIO,eAEP,GAAS,GAAa,IAItB,MAJsB,MAItB,UACA,gBAGA,wBAEA,gBADA,EACA,wCAGA,WAJA,EAIA,KAFA,eAKA,MAPA,EAOA,6BAEA,qDACA,sBAIA,GAAsB,iBACtB,UAEQ,GAAc,eACtB,QAEQ,GAAc,0BACtB,mBAEQ,GAAc,gBACtB,UAEA,SA6FO,GACP,yBACA,SAEA,wBACA,eACA,MAEA,iDAEA,qBACA,UACA,CACA,wBACA,gBACA,WACA,gBACA,MAEA,6CACA,wBACA,YACA,wBACA,qBAEA,gBACA,mBAEA,6BACA,0BACA,iBAEA,cACA,iBACA,eAGA,8BAEA,cACA,iBACA,iBACA,iBACA,cACA,qBACA,qBAEA,gCACA,2BACA,kBACA,uBACA,iBACA,oBACA,gCACA,CACA,cACA,2CACA,CACA,QACA,EAxJA,UACA,UAEA,CAYO,iBACP,UACA,aACA,eACA,eACA,QACA,yBACA,OAAmB,GAAU,yBAC7B,SACA,QACA,CACA,CACA,eACA,mCACA,SAGA,aADA,EACA,QACA,OAFA,EAEA,MACA,aACA,YACA,YACA,aACA,QACA,CAEA,sBAOO,mBAIP,IAHA,EAGA,0DACA,oBACA,iBAKA,GADA,aAGA,EA3JO,WA6JP,GANA,IAMA,UAEA,EA/JO,WAiKP,QAVA,IAWA,GAEA,gBACA,cACA,eACA,cACA,MACA,MAIA,EAFA,aA3KO,MA6ImC,gBAlI1C,KAwKA,SACA,CAmEO,eACP,mDA1PO,eA0PP,SACA,CCrQO,6BAsBP,iBAMA,GAwNA,YACA,sCAEA,EA1NA,oCAIA,IADA,IATA,EASA,IACA,IACA,sBACA,IACA,KACA,CACA,EAAsB,GAAgB,EACtC,CAEA,KAIA,KAPsC,EAOtC,MADA,kBACA,QACA,CACA,QAEA,gBAGA,GAmLA,YACA,0CAEA,EArLA,8CACA,wBACA,MAEA,SACA,uBACgB,GAAI,sDAAqE,wBAAsC,EAC/H,mBACA,CACA,CAAK,CAEL,YACA,yBAEA,MADA,EACA,qBACA,2CACA,OAAyB,uCAEzB,CACA,CAAK,CAEL,gBACA,kFACA,gBAEA,CAAK,CACL,YAAyB,0BAAmE,CAE5F,gBACA,wCACA,KACA,OACA,OACA,aACA,gBAAyC,SAkEzC,cAlEyC,EAkEzC,6BAlEyC,GAkEzC,IAlEyC,CAAqC,EAC9E,mBAA+C,UAAwB,EACvE,gBAA8C,iBAAyF,EACvI,UACA,yBACA,CAEA,CAAK,CACL,YAAyB,mBAA4D,CACrF,YAAyB,oBAA6D,CACtF,YAAyB,qBAA8D,CACvF,YAAyB,2BAAoE,CAE7F,cACA,qCACA,yBAEA,CAAK,CACL,CACA,IACA,gBACA,gBACA,CAAK,CACL,CAMA,qBAGA,IAFA,QACA,IACA,GAJA,IAKA,GACA,qBACA,qBACA,sBACA,YAAoD,WAA0B,KAE9E,MADA,SACA,OACA,MACA,4BACA,cACA,KACA,OAA6B,4BAE7B,CACA,CAGA,uBACA,MAEA,EAAkB,GAAgB,GAClC,IACA,CACA,CACA,IAJkC,KAIlC,MACA,4BACA,CACA,eACA,8BAAsC,GAAY,kBAClD,CAMA,iBACA,OACA,2BACA,+BACA,CACA,CACA,mBACA,OACA,mBACA,yBACA,CACA,CACA,mBACA,yBAGA,oBACA,kBACA,cAEA,QADA,wBACA,IAAgC,WAAqB,MACrD,WACA,oBACA,kBACA,sBACA,mBAEA,CACA,CACA,EAeA,OlD7MA,UkDkMA,mBAGA,sBACA,GACA,qBAEA,GAEA,YAA6C,GAAmB,GAAgB,YAAjB,CAAiB,QAAuB,GAAmB,GAAgB,QAE1I,CACA,CACA,EAJyH,CAAiB,IAI1I,cACA,CC1MO,QACH,GAEJ,cACA,YACA,UACA,GAL8C,OAM9C,eACA,aACA,eAEA,iBACA,eACA,mBACA,CAIA,OAuCA,YACA,mBACA,iBAA0B,GAAS,QAzCnC,CAIA,IACA,GAuCA,YACA,sBAIA,QADA,EJpBO,YACP,eACA,mBAEA,2CACA,0BACA,EIcgC,GAChC,IAAoB,WAAsB,MAC1C,WACA,UAGA,gBAAyB,GAAS,uBAA+B,GAAS,GAC1E,CACA,EAF0E,SAG1E,GACA,OAAW,GAAS,UACpB,EAnDA,CACO,iBACP,GA6MA,gBA7MA,IAgNA,YAhNA,EAkNA,uCAlNA,IAOA,IADA,IADA,EACA,IACA,yBACA,sBACA,KACA,SAGA,EADA,iBAEA,YAwDA,GAGA,IAFA,MAAkB,GAAgB,qBAClC,IACA,UACA,uBACA,OAEA,uBAEA,gBAAqB,GAAS,yCAC9B,EAlEA,MACA,EAAyB,GAAgB,EACzC,CACA,SACA,CAHyC,SAIzC,MAQA,qBACA,CAsBA,iBACA,MACA,WACA,KACA,QAEA,CACA,YAA8D,EAA9D,GAA8D,OAAiC,KAE/F,QAFA,EACA,KAEA,KACA,QAEA,CACA,cACA,qBACA,gBAA6B,GAAS,sCAA4D,GAAS,wBAE3G,CACA,CAYA,uBACA,YAA0D,WAA+B,KAEzF,MADA,SACA,KACA,MAGA,SACA,cAEA,CACA,CAIA,mBACA,4DAgEO,mBAEP,cAIA,cAAiD,OAAO,GAAc,UAEtE,CAFsE,IALtE,EAQA,cAoBA,cACA,IACA,iCACA,IACA,CACA,SACA,IACA,CAEA,QACA,IA5BA,QADA,4BAEA,cAAiD,iCACjD,CAGA,IADA,SADiC,GACjC,UADiC,OACjC,CACA,IACA,eACA,SAEA,uBAEA,QACA,CACA,iBACA,qCACA,CE9KA,cACA,4BACA,wBAEA,eACA,oCAGA,iBCFO,qBACP,6EAGA,CAAY,GAAc,eAhB1B,oNAiBA,CCzDO,IACA,WAMA,iBACP,YACA,yBACuC,KAApB,EAVZ,IAU2C,CAClD,UAXsD,EAatD,CAAK,CACL,CEQA,iBACA,YACA,CACA,QACA,QACA,aAA8B,GAAwB,GAAgB,iBAAjB,QACrD,CACA,wBACiB,CACjB,OACA,0BACiB,CACjB,WACA,6BACiB,CACjB,UACA,6BACiB,CACJ,CACb,KACA,QACA,gBACA,oBACA,YAAiC,GAA6B,EAAmB,qBACjF,EAD6D,UAC7D,CACA,MACA,CAAiB,CACJ,EAEb,OACA,yBACA,EAAsB,GAAO,CAC7B,GAD6B,IAC7B,CACA,GAAgB,KAChB,OAD4B,CAE5B,YACa,CACb,YACS,CACT,6BACA,cACA,MAAgB,kEAAgH,CAC3H,IACL,SAAiD,iBAAwB,GAIzE,MAHA,yBACA,kCAEA,CACA,kBACA,cACA,iCACA,eACA,CACA,CACA,eACA,wBEpEA,UEHO,IACP,4BAEA,4BACA,EA6DA,eACA,OAAW,GAAM,CACjB,YADiB,KAEjB,IAD8B,GACd,GAAW,OAC3B,CAD2B,QAC3B,WACA,CAAK,GACL,CACA,uBACA,SACU,GAAkB,CAC5B,O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A4CA,YA5CA,GA8CA,OA9CA,EA+CA,CAAS,GAIT,GADA,cAlDA,GAmDA,OAnDA,EACA,EACA,OACA,iBACY,GAAqB,oBACjC,CAAS,CAKT,wBACA,SAIA,OAEA,GADA,qCAEA,IACA,0BAEA,GADA,+BAEA,MAEA,CACA,SASA,KACA,MACQ,GAVR,GACA,CAGA,GADA,iBACA,OACA,EApBA,MACA,CAAS,CAET,CAkBA,UA+BO,mBACP,yBACA,oBACA,mBAIA,0CAEI,GAEJ,CAAM,YAFc,SAEd,GAA4B,wBAClC,YAA6E,gBAAwB,CACrG,CAAK,EAGL,OACA,CAAK,EACL,SACA,CM7CA,eAGA,gFACA,CETA,cACA,mBAGI,GAAiB,4BACrB,KACA,CACA,cACA,OAAa,oBACb,CACA,iBACA,SACA,wBACA,uBACA,CACA,iBACA,aACA,4BACA,2BACA,CACA,cACA,GACA,aACA,qBACA,wBACA,wBACA,sBACA,qBACA,CACA,CACA,cACA,KACA,GACA,wBACA,sBACA,qBACA,CACA,CCEA,oBACA,oCACA,SAEA,oBACA,SAEA,SACA,CE9DA,iBACA,MAA8B,GAAuB,mBACrD,CADqD,CACrB,GAAW,WAC3C,GAD2C,CAC3C,EAA0B,GAAuB,mBACjD,CADiD,GACjD,GACA,IAEA,CAAK,C3H9BE,K2H+BP,kBACQ,GAAa,EACrB,CACA,CCjCO,YD+Bc,qCMbrB,mBAIA,EAeA,OAlBA,GACA,YAGA,SACA,YAGA,GACA,gBACA,iBACA,yBACA,EACA,WACA,OAnCO,IAoCP,WAMA,MAGA,WACA,4BACA,GACA,WAEA,KACA,CAEA,SACA,wBACA,IACA,YACA,KAEA,CAAS,CACT,EACA,KAtBA,CACA,CCtCA,mBACO,eACP,gBACA,CAWO,eACP,gBACA,CASO,iBAOP,gBACA,UACA,GAAQ,GAAc,MACtB,KADsB,CACtB,OACA,0DAGA,SAEA,oBAEA,OAEA,M/D5BO,C+D4BQ,IACf,OACA,SAFmC,EAEnC,gBACA,QAEA,4BAGA,QACA,CACO,sDACA,uBACA,gBAmBP,iBACO,eACP,oCACA,WAIA,MAEA,CACA,CACO,iBA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EA,EADA,8CACA,2BAEA,EADA,8CACA,6BACA,4BACA,4BACA,8BACA,yBACA,yBACA,2BACA,+BACA,+BACA,wBACA,yBACA,uBACA,wBACA,aACA,0DACA,+BACA,6FACA,8DAEA,mGACA,mBACA,KACA,wCAEA,6EACA,gCACA,YACA,oBAAgC,IAEhC,EAGA,gBACA,GACA,SACA,UACA,MACA,kBACA,cAEA,SAEA,wBAAqC,EAAE,eACvC,uBACA,sBACA,GADyD,IACzD,GACA,gBACA,uBACA,qDAA2G,EAAE,mBAC7G,CACA,CACA,wBACA,CAEA,MAAkB,EAAQ,KAAgB,EAC1C,WACA,cAEA,GACA,eACA,WACA,UACA,EACA,GACA,eACA,kBACA,iBACA,EAuMA,kBAEA,QADA,gBACA,CACA,YACA,CAMA,cACA,wDACA,CACA,cAAwB,oCAExB,cAAyB,qCAOzB,cACA,KACA,kDAEA,sBACA,SAEA,8BACA,SAEA,IAEA,OADA,UACA,EACA,CAAM,UACN,QACA,CA1OA,8BACA,YAEA,yCACA,oEAEA,GACA,4DACA,6CACA,0BAGA,0GAEA,6CACA,qCACA,iGAGA,GACA,eACA,iBACA,gBACA,gDAEA,4EAEA,iEACA,qFAEA,yBAEA,cACA,kBAEA,YACA,aAEA,uBACA,wBAGA,sBACA,OAuTA,gBACA,+BACA,iCAEA,0CADA,uCAEA,CACA,gCAIA,OAHA,cAGA,EADA,4CACA,WACA,EAlUA,KAEA,uBACA,SACA,wBAEA,gBACA,iBACA,CACA,uBACA,oBACA,iBACA,CAEA,iCAEA,GADA,aAAwC,KACxC,8BACA,iCAGA,eAmVA,KACA,MACA,kBACA,WACM,4CAGN,YAFA,gCAIA,OACA,OACA,yBACA,CACA,EAhWA,KAEA,cACA,UACM,aACN,mBAGA,kBAKA,GAJA,GACA,cACA,QAEA,GACA,OACA,eAKA,OAHA,mBACA,4BAEA,YACA,CACA,mBACA,CAEA,gCACA,CADuD,GACvD,GAuKA,YACA,UAAkB,cAClB,sDACA,EAAa,KACb,IACA,EA5KA,GACA,WACA,mEAAkG,qBAAgC,KAClI,CACA,SACA,mEACA,oCACA,CACA,GA0PA,eAAuC,KA1PvC,IA2PA,iCA3PA,aA2PA,aAGA,gDA9PA,EA8PA,cA9PA,CAGA,QAuGA,GAzGA,kCACA,oBACA,KAAwB,aAAkB,KAC1C,2BAsGA,GAtGA,aAuGA,8BAAiD,IAvGjD,YAKA,OAHA,QACA,mCAAuD,YACvD,uCAEA,CACA,SACA,gBAAgC,WAChC,sBACA,aA0RA,GACA,YAAoB,WAAe,IACnC,mBACA,SAGA,QACA,EAjSA,IACA,gBAEA,yBACA,CACA,GAiGwB,qBAjGxB,IAiGwB,EAjGxB,IACA,qBACA,6DAGA,KAAkC,EAAlC,OAAkC,kBAClC,GAAkB,qCAAuD,EAHzE,GAAsB,oEAAuG,CAI7H,CACA,0BACA,iCACA,YAAsC,UAAyB,EACrD,8CACV,kBAEA,CACA,YA4IA,GACA,8BACA,SAEA,IACA,UACA,IACA,SACA,CAAU,SACV,QACA,CACA,uBACA,CAAM,CAD2B,KAC3B,IACN,QACA,EA1JA,IACA,UAMA,OALA,GACA,uBACA,gCACA,CAAa,EAEb,uBACA,CACA,GA8KA,YACA,8BACA,SAEA,IACA,UACA,IACA,SACA,CAAU,SACV,QACA,CACA,uBACA,CAAM,CAD2B,KAC3B,IACN,QACA,EA5LA,IACA,UAMA,OALA,GACA,qBACA,eACA,CAAa,EAEb,uBACA,CACA,YA0IA,GACA,8BACA,SAEA,IACA,YACA,IACA,WACA,CAAU,SACV,QACA,CACA,2BACA,CAAM,CAD+B,KAC/B,IACN,QACA,EAxJA,GACA,oBAEA,YAkLA,GACA,8BACA,SAEA,IACA,YACA,IACA,WACA,CAAU,SACV,QACA,CACA,2BACA,CAAM,CAD+B,KAC/B,IACN,QACA,EAhMA,GACA,oBAEA,YAoJA,GACA,8BACA,SAEA,IAEA,OADA,UACA,EACA,CAAM,UACN,QACA,EA7JA,GACA,oBAEA,GAyDyB,sBAzDzB,IAyDyB,EAzDzB,GACA,uBAEA,YA2EA,GACA,8BACA,SAEA,IAEA,OADA,UACA,EACA,CAAM,UACN,QACA,EApFA,GACA,uBAEA,GAoD0B,uBApD1B,IAoD0B,EApD1B,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,aACA,UAsDA,cACA,mDACA,EAvDA,YACA,0BACA,aACA,sBACA,WACA,cACA,eACA,eACA,cACA,eACA,iBACA,kBACA,iBACA,eACA,iBACA,sBACA,eACA,aACA,cACA,kBACA,aACA,iBACA,sBACA,eACA,iBACA,YACA,cACA,YACA,gBACA,sBACA,qBACA,WACA,qBACA,eACA,cACA,eACA,kBACA,eACA,sBACA,eACA,eACA,cACA,eACA,cACA,cACA,eACA,eACA,eACA,mBACA,SACA,CACA,CAAC,gCC5DD,MAAY,EAAQ,KAAc,EAClC,EAAa,EAAQ,KAAe,CADjB,CAEnB,EAA+B,EAAQ,KAAmC,CADtD,CAGpB,UAFsC,CAEtC,CACA,sBACA,eACA,WACA,mBACA,mBAEA,aACA,aACA,YACA,+BACA,kBACA,cACA,sBACA,CAAG,CACH,YACA,0DACA,YAEA,UACA,SACA,gBACA,YACA,YACA,WACA,kBACA,sBACA,iBACA,SACA,QACA,QACA,oBACA,eACA,YACA,WACA,UACA,aACA,UACA,UACA,YACA,OACA,aACA,aACA,kBACA,WACA,eACA,WACA,iBACA,UACA,cACA,cACA,UACA,QACA,SACA,aACA,WACA,WACA,YACA,aACA,kBACA,UACA,gBACA,iBACA,gBACA,iBACA,gBACA,UACA,SACA,SACA,OACA,UACA,cACA,UACA,YACA,QACA,gBACA,cACA,eACA,eACA,QACA,QACA,YACA,WACA,UACA,YACA,WACA,UACA,WACA,UACA,cACA,UACA,aACA,OACA,MACA,cACA,SACA,YACA,WACA,YACA,SACA,YACA,WACA,QACA,UACA,WACA,WACA,aACA,aACA,kBACA,gBACA,mBACA,oBACA,YACA,cACA,eACA,sBACA,cACA,aACA,aACA,mBACA,YACA,iBACA,WACA,gBACA,YACA,eACA,iBACA,gBACA,iBACA,gBACA,iBACA,YACA,sBACA,eACA,aACA,aACA,aACA,gBACA,kBACA,aACA,eACA,eACA,gBACA,aACA,sBACA,YACA,kBACA,sBACA,eACA,iBACA,eACA,oBACA,iBACA,kBACA,kBACA,iBACA,gBACA,iBACA,eACA,eACA,cACA,gBACA,gBACA,aACA,aACA,YACA,eACA,gBACA,gBACA,kBACA,wBACA,aACA,cACA,cACA,+BACA,cACA,eACA,cACA,kBACA,eACA,eACA,cACA,eACA,kBACA,cACA,0BACA,cACA,oBACA,eACA,aACA,OACA,UACA,aACA,OACA,iBACA,cACA,YACA,aACA,WACA,oBACA,MACA,WACA,WACA,OACA,UACA,UACA,WACA,SACA,WACA,WACA,WACA,OACA,WACA,UACA,OACA,aACA,SACA,YACA,aACA,SACA,QACA,UACA,WACA,WACA,YACA,WACA,eACA,UACA,gBACA,YACA,QACA,QACA,UAIA,WACA,WACA,UACA,UACA,aAHiD,GAIjD,GAJuD,KAIvD,KACA,SACA,iBACA,eACA,iBACA,iBACA,UACA,aACA,aACA,WACA,UACA,cACA,cACA,WACA,UACA,UACA,WACA,UACA,WACA,iBACA,SACA,aACA,UACA,cACA,YACA,KAH8C,QAG9C,CAHuD,CAIvD,cACA,WACA,SACA,UACA,SACA,YACA,aACA,YACA,SACA,cACA,WACA,YACA,YACA,aACA,aACA,UACA,YACA,eACA,aACA,YACA,WACA,SAGA,uBACA,EALkD,MAAM,IAKxD,KACA,cACA,0BACA,wBACA,YACA,cACA,UACA,cACA,iBACA,CACA,CAAC,gCClTD,MAA6B,EAAQ,KAA4B,EAEjE,UAFoC,SAIpC,KACA,2BACA,0BCNA,UAEA,cACA,oBACA,gCCJA,MAAgB,EAAQ,IAAiB,EACzC,EAAa,EAAQ,KAAU,EAC/B,EAAkB,EAAQ,KAAgB,CADtB,CAGpB,UAFyB,SAIzB,GACA,IAOA,EACA,EARA,UACA,wBACA,mBACA,eACA,cACA,KACA,KAIA,WACA,QACA,EACA,OACA,KACA,GAGA,mBACA,uBAGA,OAEA,UACA,oBAGA,mBACA,gCCpCA,MAAW,EAAQ,KAAQ,EAC3B,EAAY,EAAQ,KAAS,CADX,CAGlB,UAFmB,EAInB,kBACA,uBAEA,OACA,UACA,aACA,oBACA,SACA,iBACA,iBACA,wBACA,CACA,WAEA,oBACA,IAaA,IAZA,EADA,KAOA,IAJA,GAYA,CAZA,UAYA,CAZA,CAYA,EAVA,iBAEA,OAMA,EALA,QAKA,EAJA,kBAMA,CANA,KAMA,KAJA,0BC/BA,YAEA,kBAeA,gBACA,gBACA,gBACA,CAhBA,aACA,iBACA,gBACA,aACA,gBACA,uBACA,YACA,oBACA,oBACA,2BACA,qBACA,2CCfA,MAAY,EAAQ,KAAO,EAC3B,EAAa,EAAQ,KAAU,CADZ,CAGnB,UAEA,YAQA,IAPA,IAIA,EACA,EALA,WACA,KACA,KACA,KAIA,OACA,OACA,mBACA,iBACA,UAGA,aACA,gBACA,gBACA,EAEA,0BCzBA,YAEA,kBAMA,kBACA,gBACA,cAEA,GACA,cAEA,CAXA,aACA,YACA,0CCNA,QAUA,aACA,sBACA,CAVA,SAAe,KACf,YAAkB,KAClB,mBAAyB,KACzB,QAAc,KACd,gBAAsB,KACtB,gBAAsB,KACtB,uBAA6B,mCCR7B,MAAa,EAAQ,KAAe,EAEpC,UAFoB,EAEpB,CACA,cACA,UAYA,cACA,uCACA,EAbA,YACA,kBACA,kBACA,eACA,eACA,eACA,gBACA,cACA,CACA,CAAC,gCCdD,MAAa,EAAQ,KAAe,CAEpC,WAFoB,EAEpB,CACA,YACA,UAQA,cACA,qCACA,EATA,YACA,aACA,aACA,aACA,CACA,CAAC,gCCVD,MAAa,EAAQ,KAAe,EACpC,EAA+B,EAAQ,KAAmC,CADtD,CAGpB,UAFsC,EAEtC,CACA,cACA,YACA,wBACA,CAAG,CACH,YACA,YACA,WACA,eACA,CACA,CAAC,yBCbD,UAEA,YACA,sBACA,0BCJA,+BACA,SAEA,GACA,kBACA,iBACA,EAEA,WACA,kBACA,YACA,oBACA,sBACA,CAAS,CACT,oBACA,gBACA,CACA,CAAK,CACL,kBACA,iDCnBA,MAAgB,EAAQ,KAAa,EACrC,EAAY,EAAQ,KAAS,CADN,CAEvB,EAAc,EAAQ,KAAW,CADd,CAGnB,UAFqB,CAGrB,UACA,QACA,WACA,gCCRA,MAAY,EAAQ,KAAS,EAE7B,UAFmB,QAEnB,gBACA,gBAEA,GACA,aACA,oBACA,mBACA,eACA,cACA,gBACA,mBACA,SACA,mBACA,iBACA,cACA,QACA,qBACA,qBACA,4BACA,mBACA,eACA,gBACA,eACA,sBACA,uBACA,EAQA,kBACA,qDACA,oBAGA,2CACA,0HAGA,QACA,EAYA,gBACA,OAAgB,gBAEhB,4CACA,8CAEA,qDACA,UACA,YACA,8BAGA,sCACA,8FAGA,SAGA,CAHwB,CAGxB,UACA,qBACA,QAAoB,WAAkB,IACtC,4BACA,kBAzBwC,CAyBxC,KACA,UA7BA,uBAAyC,CA8BvB,MAClB,iBAEA,IACA,GAlCwE,CAkCxE,QAAkC,IAKlC,IAAgB,WAAkB,IAClC,UAGA,IArBA,EA0BA,EACA,EANA,OAEA,kBACA,2BAIA,SACA,iCACA,iCAEA,4CAEA,aACA,EACA,aACA,EACA,uBAEA,YACA,uCACA,IAIA,iDACA,aA3FA,iBAAgC,iBAChC,0CACA,CAAK,CAyFL,EAGA,qBACA,eAGA,iBACA,6BACA,uBACU,0BACV,SAIA,QACA,EAEA,oBACA,QACA,qCACA,6BACA,sCACA,CAIA,QAFA,eAEA,aAAmC,KAAQ,KAE3C,IADA,EACA,OAEA,2BACA,+DACA,GACA,oBACU,CACV,kBAA2C,gBAAkB,GAC7D,oEACA,4CACA,gBACA,uBAGA,WACA,OACA,eACA,MACA,+BAEA,MACA,MACc,iBACd,SAXA,GAAwB,IAaxB,CAEA,GACA,CAEA,QACA,EAEA,oBACA,MAKA,oDAKA,kBAIA,oCACA,yBAIA,KACA,MAEA,gDACA,mBACA,OAIA,SACA,CAKA,IADA,QACA,6CAEA,GADA,KACA,4DACA,mBACA,OAGA,YACA,CAIA,MACA,sBACA,6FAEA,gCACA,CAEA,kBACA,EAEA,cACA,MACA,SAGA,qEACA,0FAGA,mEACA,yFAGA,sEACA,iDAGA,qEACA,qFAGA,6EACA,mEAGA,6CAEA,kDAEA,0CACA,gFAKA,OACA,UAHA,uEAIA,8FACA,wFACA,wEACA,mEACA,UACA,wFACA,gDACA,wFACA,yDACA,wFAEA,8DACA,aACA,2CACA,4HACA,mFACA,+BACA,4EACA,0EACA,oGACA,sFAEA,EAEA,wBACA,WAEA,mBACA,uBAAwC,gBAAkB,GAS1D,QANA,8BACA,kBAAuC,gBAAkB,GAIzD,iBACA,IAAoB,WAAiB,KACrC,WACA,iCACA,gBACA,OAEA,mBACA,EAGA,YACA,gCCrUA,MAAqB,EAAQ,GAAc,EAC3C,EAAY,EAAQ,KAAS,EAC7B,CAF4B,CAEd,EAAQ,KAAW,CADd,CAEnB,UADqB,QACrB,gBAEA,GACA,qBACA,aACA,CAAK,CACL,cACA,sBACA,kBACA,CAAK,CACL,mBACA,QACA,CACA,EAEA,gBACA,uBACA,gBACA,qBACA,EAEA,6BAEA,YACA,GACA,kBACA,aACA,oBACA,sBACA,gBACA,mBACA,kBACA,cACA,UACA,mBACA,iBACA,oBACA,cACA,SACA,0BAEA,WACA,0BACA,gBACA,CAAK,CACL,aACA,qBACA,EAUA,KAEA,aACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAOA,IALA,IA9BA,EAsFA,EAxDA,IAEA,IACA,IACA,KACA,4BAEA,eAEA,GADA,KACA,YACA,SACA,wCAEA,IAEA,CACA,IAHiC,CAGjC,cACA,KAEA,CAeA,GAbA,qBACA,SACM,kBACN,OACM,mBACN,mCACA,kBACA,KAEA,CACA,EAAS,EAGT,UACA,KACA,wCAGA,IACA,CAEA,GAvEA,iBADA,EAwEA,IAtEA,oBACA,qBACA,oBACA,oBAmEA,qBACA,EAEA,GADA,8BACA,mCAEA,wBAGA,SAEA,cACA,SAIA,qBAEA,MACA,oBAEA,IAAqB,0CAAgE,OAC/E,QACN,QACM,CACN,qBACA,eACA,CAEA,iDAEA,iCAEA,yBACA,cAGA,YAAoB,WAAoB,KACxC,WACA,0CACA,QACA,KAEA,iBAIA,oDACA,OACA,8BACA,sBAEA,WACA,UACA,WACA,MACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,4BACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,IAEA,CAEA,QACA,EAEA,cACA,MACA,SAGA,qEACA,0FAGA,mEACA,yFAGA,sEACA,iDAGA,IAmBA,EAnBA,uBACA,qEACA,qFAGA,gBACA,sBACA,kCACA,mDAEA,WAEA,sBAEA,WAcA,GAbA,4CACA,aAKA,EADA,mBACA,cACM,cACN,6BAEA,cAGA,yDACA,iEAGA,6EAEA,OACA,oFACA,YACA,8FACA,cACA,UACA,wFACA,kCACA,uDACA,oDACA,wFACA,yDACA,4FACA,SACA,SACA,YACA,iFACA,gEACA,2CACA,oGAEA,EAEA,wBACA,IAGA,EAHA,IACA,MAKA,6BAEA,KADA,UACA,MACM,aAEN,GADA,UAIA,SAEA,gCACA,SAGA,uBACA,gCAEA,GACA,mBAGA,QACA,eAIA,QADA,MACA,IAAoB,WAAoB,KACxC,WACA,OAEA,uBAGA,MACA,EACA,EACA,EACA,EACA,mBACA,qBACA,YACA,kBACA,wBACA,SACA,OACA,YACA,gBACA,SACA,YACA,mBACA,UACA,GAEA,CA5BA,IA8BA,sBACA,+BAYA,OAVA,oBACA,yBAEA,0BAGA,sBAIA,iBACA,gCCjWA,MAAc,EAAQ,KAAW,EAEjC,UAFqB,QAErB,gBACA,gBAEA,aAEA,QADA,KACA,IAAoB,MAAS,IAC7B,yDAGA,QACA,CAAC,GAED,cACA,kBACA,cACA,gBAEA,SAGA,QAFA,KAEA,IAA4B,WAAgB,IAC5C,eACA,YAIA,gBACA,CACA,CACA,EAEA,gBAEA,QADA,qBAAkD,gBAAkB,GACpE,IAAoB,WAAmB,IACvC,eACA,YAIA,QACA,EAoNA,WACA,gBACA,OAxJA,cACA,2CAEA,OADA,UACA,CACA,CAAK,GACL,EAoJA,QAlBA,cACA,oBACA,EAiBA,QAvDA,YAIA,QAHA,IAAmB,KAAO,IAAU,UAAa,EACjD,KAEA,IAAoB,WAAkB,IAKtC,QAJA,OACA,gBAEA,iBACA,IAAwB,WAAiB,KACzC,WACA,OACA,kDACA,QAA6B,aAAqB,EAClD,UAEA,CAKA,OAFA,KAEA,CACA,EAkCA,OApJA,gBACA,2BACA,oBAEA,4BAAiD,EAAE,cAGnD,IACA,4BACA,CAAM,SACN,QA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AAG,6BAC9B,6BACA,mCACA,kBACA,oBA6JA,CACA,eACA,YACA,WACA,eACA,YACA,cACA,gBACA,EApKA,iBAGA,kBAsJA,OApJA,uBACA,eACA,gBACA,OACA,CAAK,CACL,EAEA,0BACA,gCACA,sBAEA,EAEA,6BACA,iDACA,YACA,CAAK,CACL,EAEA,2BACA,cACA,sBACA,0BAAuC,IAAI,QAAQ,IAAI,GAGvD,iBACA,EAEA,6BACA,cACA,wBACA,sBAGA,cACA,EAEA,qBACA,IAEA,EAFA,OAGA,gCACA,oBAuBA,OArBA,IACA,eACA,eACA,gCACA,CAAO,EACP,oBAEA,2FACA,CAAO,kBACP,4EACA,CAAO,mBACP,qBACA,YACA,eACA,UACA,4BACW,CAEX,CAAO,GAGP,kBACA,0BACA,CAAK,mBACL,IAEA,+GACA,CAAK,kBACL,gGACA,CAAK,kBACL,qGACA,CAAK,kBAML,OALA,YACA,eACA,MACA,CAAO,EAEP,CACA,CAAK,oBAKL,OAHA,4GAEM,KAFoJ,CAEpJ,CAAS,YACf,kCACA,4FACA,CAAO,kBACP,uGACA,CAAO,kBAMP,MALA,YACA,aACA,OACA,CAAS,EAET,CACA,CAAO,CACP,CAAK,CACL,EAEA,6BACA,IACA,EADA,OA6BA,OA1BA,iBAAuB,IAAO,EAC9B,qBACA,qBAIA,wCAHA,qCAIA,CAAO,CACP,kBACA,YACA,aACA,CAAS,CACT,CAAO,CACP,mBACA,YACA,YACA,CAAS,CACT,CAAO,CACP,sBACA,YACA,eACA,CAAS,CACT,CAAO,CACP,uCACA,mCACK,EACL,sBAGA,uBACA,WAEA,oBAwBA,KACA,eACA,aACA,MAAa,OAAQ,GAAG,IACxB,6BACA,CAAO,CAEP,aACA,MAAa,OAAQ,GAAG,IACxB,WACA,CAAO,CAEP,gBACA,MAAa,OAAQ,GAAG,IACxB,WACA,CAAO,CAEP,eACA,MAAa,OAAQ,GAAG,IACxB,kBACA,YACA,WACA,YACA,iBACA,sBACO,CAEP,eACA,MAAa,OAAQ,GAAG,IACxB,YACA,WACA,iBACA,WACA,CAAO,CAEP,aACA,MAAa,OAAQ,GAAG,I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EAEA,0CACA,kCACA,EAEA,2CACA,8BACA,EAGW,OAAQ,GAAG,yFACtB,aACA,CAAK,CACL,EAEA,mBACA,wBACA,0BACA,EAEA,CACA,CAAC,0GCzVD,cACA,sCACA,CAEO,cACP,iDACA,CACO,kBACP,oCACA,mCACA,EACO,cACP,qBACA,CAEO,CAFL,GAEK,cACP,IAGA,EACA,EACA,EACA,EANA,OAEA,IAKA,oBAEA,wBACA,0BACA,EAEA,4BACA,IACA,EAEA,8BACA,IACA,EAEA,yBACA,yBACA,EAEA,oBACA,iBACA,mBACA,8BACA,uCACA,IACA,GACA,CAAG,EAEH,kBACA,eACA,gBACA,kCACA,aACA,KAEA,EAEA,cACA,eACA,gBACA,8BACA,aACA,KAEA,GAeA,iBAMA,EAJA,cAIwB,EAJxB,EAMA,IACA,QACA,CAAM,SACN,mBACA,CAGA,CAHM,CAGN,YACA,mBACA,YACA,yBAEA,CAFsD,CAEtD,IACA,IACA,UACA,CAAY,UAGZ,EAGA,CAHO,CAGP,2BACA,6CAIA,kBAKA,IARA,IAQA,wBACA,6BACA,6CACA,0FAEA,UAEA,KACA,MACA,CAEA,iBAEA,CAF4B,KAE5B,qCAEM,KAF2E,EAE3E,CAAK,IACX,gBACA,IAAa,GAAY,eAAiB,GAAa,YACvD,OArEA,wBACA,IACA,cACA,4BACA,CAAK,kBACL,SACA,cACA,kCACA,CAAK,CA+DL,CAAO,kBACP,EACA,KAEA,GAEA,CAAO,EACP,CAAK,EACL,GAAK,iDCxJE,iBACP,aACA,kBAGA,kBA8BA,OA5BA,wBACA,WAEA,gBAEA,EAIA,OAFA,uBACA,mBACA,WACA,2CACA,YACA,CAAO,EAEP,iBACA,CACA,EAEA,0BACA,8BACA,EAEA,yBACA,EAEA,WAH+C,IAG/C,YACA,EAEA,CACA,CAAC,WAJkD,iDEkM5C,gBACP,SACA,SAGA,yCAEA,kBAOA,QANA,mCACA,qBACA,WACA,UACA,IAEA,IAAoB,IAAW,KAC/B,eACA,kBAEA,aACA,GAEA,CAEA,uBACA,CAEA,QACA,4KA1PO,6BACA,aAEP,CACO,gBACP,iCACA,CACO,cACP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BAAuC,QAAc,gEAIrE,+CACA,wCAAwD,GAAY,eACpE,gBAEA,CAAK,8BACL,EAEA,0BACA,0BACA,yDACA,EAEA,yBACA,yBACA,2BACA,EAEA,+BACA,sBACA,kCACA,2BAEA,EAEA,kCACA,yBACA,sCACA,8BAEA,EAEA,6BACA,IAgBA,EAkDA,EAlEA,EAgBc,IAhBd,SAkE2B,IAlE3B,CACA,eACA,qBACA,0BACA,4BACA,QACA,0CACA,gDACA,UACA,kBACA,UACA,mBACA,eACA,WACA,KACA,KAGA,wBACA,0BACA,aACA,gBAEA,SACA,KAEA,GACA,cAGA,CAGA,CAHM,EAGN,kFACA,SACA,kBACA,WACA,UAEA,8BAEA,iEACA,yBAEA,IACA,uBACA,mBAEA,0BACA,GAAqB,QAAgB,2BAGrC,oBACA,qBACA,CAAY,SACA,OAAS,YACrB,kBACA,OAIA,SAIA,wEAGA,gGACA,cAIA,GAFA,6EAEA,qBACA,IACA,cAEA,0BACA,GAAgC,QAAgB,2BAGhD,qBACA,CAAY,SACA,OAAS,YACrB,kBACA,CAIA,aACA,YACA,IACA,KAEA,CAiCA,OA/BA,mBACA,mBACA,oBACA,aACA,WAGA,CACA,SACA,wBACA,wBACA,oBACA,kBACA,OACA,gBACA,QACA,iBACA,iCACA,oCACA,oDACA,+FACA,aACA,8BACA,gDACA,oBACA,iBACA,gDACA,eACA,qBACA,mBAGA,EAEA,sCACA,MACA,SAGA,mBACA,wBACA,kCAEA,WAIA,yCAHA,SAOA,wCACA,uCAEA,QADA,EACA,KADA,EACA,CACA,oCACA,YACA,CAAO,EACP,oCACA,YACA,CAAO,EACP,qBACA,CAAK,CACL,EAEA,2BACA,yBAKA,GAJA,qEACA,gDACA,wCAA8C,CAEtC,OAAmB,wBAK3B,OACA,QACA,EAEA,qFACA,iBAGA,YAAgB,OAAQ,GAAG,OAC3B,EAEA,yBACA,kEAEA,0BAIA,uBACA,qBACA,sCACA,4CAEA,sBACA,gCACA,qBAEA,EAEA,4BACA,QAEA,oBACA,eACM,kBAAqC,QAAgB,WAC3D,eAGA,qBAEA,qBACA,mBAEA,EAEA,qBACA,WAEI,GAAa,kBAEjB,aACA,qEACA,2EACQ,YACR,kEACA,8EAIA,aACA,gCACA,kBACA,CAAS,EAIT,SACA,iCACA,qBACA,6BACA,CAAS,CAET,CAAK,CACL,EAEA,CACA,CAAC,CAAC,GAAY,EAMd,gBACA,MAJA,iBAIA,EAJA,iCAIA,EAJA,oCAIA,gDACA,CAEA,kBACA,mBACA,kCACA,kCACA,CAEA,QACA,CAEA,oBACA,8FACA,CAEA,gBACA,mCACA,CCnhBA,MAAkD,eAAmB,YAdrE,KAcsF,CAdtF,GACA,OACA,sBACA,IACA,CAAK,CACL,iBACA,IACA,CAAK,CACL,mBACA,QACA,CACA,CACA,KGXO,kBAEP,ODDO,YCCc,EDArB,IDNO,MCMP,EAAmB,QAAY,KAG/B,EADwB,UAAc,GACtC,IAEA,EAAoB,IACpB,EFQS,QETyB,IFST,IEPzB,GAD2B,CAC3B,yBADqD,EACrD,GAEA,QAF2E,YAE3E,IAEA,IAF6C,KAE7C,EACA,WAA+B,GAAa,wBAG5C,aACA,aAAiC,GAAa,0BAG9C,aACA,aAAiC,GAAa,0BAG9C,aAGA,8BACA,kBAKA,iBACA,iBAIA,kCAEA,cACA,oBAIA,IAGA,IAHyB,QAAc,YACvC,iBACA,CAAG,CACH,IAEA,2BA2BA,GA1BE,WAAe,YACjB,aACA,eACA,kBAAyC,GAAa,uBACtD,WACA,cACA,UACA,CAAS,CAET,CAAK,GAIL,CAJS,MAGT,iBACA,WACA,aACA,GACA,CACA,CAAG,QACD,WAAe,YAGjB,gBACA,YACA,CAAK,CACL,CAAG,QAEH,CAFoC,CAEpC,sBACA,4CACA,mBACA,4BACA,sCACA,CAAK,oBACL,eACA,8BACA,wCACA,CAAK,EAIL,4CD/FO,CC+FwE,CAAgB,WD/FxF,EC+FwF,mBD/FxF,EC+FwF,8BD7F/F,qBACA,kBAIA,sBAEA,KCuFA,YDzFwE,CCyFxE,CAQA,MAJA,mCACA,uBAGA,CACA,ECpGsB,QAAc,QACC,EACrC,WADkD,mBEJlD,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,gBACA,kBACA,uEACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,gBACA,qBACA,uEACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,cACA,iBACA,gBACA,oBACA,CAAG,CACH,wCACA,qBACA,gBACA,qBACA,mBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,gBACA,aACA,CAAG,CACH,KACA,eACA,CAAG,CACH,+BACA,eACA,CAAG,CACH,wBACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,WACA,gBACA,iBACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CACA,8BCrJA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,gBACA,sCACA,8EACA,gBACA,iBACA,iBACA,qBACA,mBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,gBACA,sCACA,8EACA,gBACA,iBACA,iBACA,qBACA,mBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,cACA,gBACA,gBACA,qBACA,oBACA,CAAG,CACH,wCACA,qBACA,eACA,mBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,cACA,YACA,CAAG,CACH,UACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,cACA,gBACA,0BACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,gBACA,aACA,CAAG,CACH,KACA,eACA,CAAG,CACH,+BACA,eACA,CAAG,CACH,wBACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,WACA,gBACA,iBACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CACA,8BC5JA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,yOACA,gBACA,mBACA,gBACA,iBACA,iBACA,qBACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,qBACA,eACA,CAAG,CACH,2BACA,yOACA,gBACA,mBACA,gBACA,iBACA,iBACA,qBACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,qBACA,gBACA,cACA,gBACA,eACA,CAAG,CACH,kCACA,cACA,CAAG,CACH,2CACA,kBACA,oBACA,CAAG,CACH,4CACA,kBACA,oBACA,CAAG,CACH,4CACA,kBACA,oBACA,CAAG,CACH,6CACA,kBACA,oBACA,CAAG,CACH,sCACA,kBACA,oBACA,CAAG,CACH,uCACA,kBACA,oBACA,CAAG,CACH,uCACA,kBACA,oBACA,CAAG,CACH,wCACA,kBACA,oBACA,CAAG,CACH,wCACA,eACA,mBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,WACA,YACA,CAAG,CACH,UACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,QACA,gBACA,aACA,CAAG,CACH,KACA,eACA,CAAG,CACH,+BACA,eACA,CAAG,CACH,wBACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,SACA,6BACA,CAAG,CACH,UACA,kCACA,qBACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,WACA,kBACA,eACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,wBACA,8BACA,oBACA,CAAG,CACH,iDACA,0BACA,CAAG,CACH,kDACA,eACA,CAAG,CACH,kCACA,4FACA,CACA,8BCxMA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,aACA,4BACA,qDACA,gBACA,iBACA,qBACA,iBACA,kBACA,iBACA,kBACA,WACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,aACA,4BACA,qDACA,gBACA,iBACA,qBACA,iBACA,kBACA,iBACA,kBACA,WACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,eACA,eACA,gBACA,sBACA,yBACA,kBACA,CAAG,CACH,gCACA,aACA,oBACA,CAAG,CACH,wCACA,kBACA,mBACA,eACA,sBACA,yBACA,kBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,UACA,YACA,CAAG,CACH,UACA,YACA,CAAG,CACH,aACA,YACA,CAAG,CACH,WACA,YACA,CAAG,CACH,KACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,gBACA,aACA,CAAG,CACH,KACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,kCACA,oCACA,CAAG,CACH,yCACA,WACA,0CACA,aACA,sBACA,yBACA,kBACA,CAAG,CACH,kDACA,WACA,0CACA,aACA,sBACA,yBACA,kBACA,CAAG,CACH,2CACA,+BACA,CACA,8BCpKA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,gBACA,kBACA,uEACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,gBACA,qBACA,uEACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,cACA,iBACA,eACA,CAAG,CACH,2CACA,oBACA,CAAG,CACH,4CACA,oBACA,CAAG,CACH,4CACA,oBACA,CAAG,CACH,6CACA,oBACA,CAAG,CACH,sCACA,oBACA,CAAG,CACH,uCACA,oBACA,CAAG,CACH,uCACA,oBACA,CAAG,CACH,wCACA,oBACA,CAAG,CACH,wCACA,qBACA,sBACA,qBACA,mBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,uBACA,gBACA,oBACA,CAAG,CACH,mBACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,mBACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,qBACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,sBACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,mBACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,kBACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,mBACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,iBACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,kBACA,eACA,CAAG,CACH,eACA,eACA,CAAG,CACH,eACA,eACA,CAAG,CACH,YACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,gBACA,eACA,CAAG,CACH,kBACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,WACA,gBACA,iBACA,CAAG,CACH,gBACA,gBACA,iBACA,CAAG,CACH,MACA,gBACA,iBACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,QACA,aACA,CAAG,CACH,mCACA,gBACA,iBACA,CAAG,CACH,sDACA,gBACA,iBACA,CAAG,CACH,oDACA,eACA,CAAG,CACH,kCACA,eACA,CAAG,CACH,4CACA,eACA,CAAG,CACH,kDACA,eACA,CAAG,CACH,sCACA,eACA,CAAG,CACH,8CACA,eACA,CAAG,CACH,0CACA,eACA,CAAG,CACH,kCACA,eACA,CAAG,CACH,kCACA,eACA,CAAG,CACH,gCACA,eACA,CAAG,CACH,mBACA,eACA,CAAG,CACH,mBACA,eACA,CAAG,CACH,sBACA,eACA,CAAG,CACH,2DACA,gBACA,oBACA,CAAG,CACH,gEACA,gBACA,oBACA,CAAG,CACH,iEACA,gBACA,uBACA,qBACA,CAAG,CACH,iEACA,gBACA,uBACA,qBACA,CAAG,CACH,sEACA,gBACA,uBACA,qBACA,CAAG,CACH,sEACA,gBACA,uBACA,qBACA,CAAG,CACH,8DACA,gBACA,oBACA,CAAG,CACH,oEACA,gBACA,oBACA,CAAG,CACH,oEACA,gBACA,oBACA,CAAG,CACH,kCACA,gEACA,CAAG,CACH,yCACA,0BACA,gBACA,yBACA,CAAG,CACH,kDACA,0BACA,gBACA,yBACA,CAAG,CACH,kGACA,2BACA,CAAG,CACH,iDACA,kCACA,sBACA,CAAG,CACH,kDACA,iBACA,CAAG,CACH,0DACA,eACA,CAAG,CACH,0DACA,eACA,CAAG,CACH,0DACA,eACA,CAAG,CACH,0DACA,eACA,CAAG,CACH,0DACA,eACA,CAAG,CACH,2DACA,eACA,CAAG,CACH,0DACA,eACA,CAAG,CACH,0DACA,eACA,CAAG,CACH,2DACA,eACA,CAAG,CACH,0DACA,eACA,CAAG,CACH,0DACA,eACA,CAAG,CACH,2DACA,eACA,CAAG,CACH,+DACA,2BACA,CAAG,CACH,+DACA,2BACA,CAAG,CACH,gEACA,2BACA,CAAG,CACH,gEACA,2BACA,CAAG,CACH,sCACA,iCACA,CAAG,CACH,oDACA,iBACA,CACA,8BCrYA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,gBACA,kBACA,uEACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,gBACA,qBACA,uEACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,cACA,iBACA,eACA,CAAG,CACH,2CACA,oBACA,CAAG,CACH,4CACA,oBACA,CAAG,CACH,4CACA,oBACA,CAAG,CACH,6CACA,oBACA,CAAG,CACH,sCACA,oBACA,CAAG,CACH,uCACA,oBACA,CAAG,CACH,uCACA,oBACA,CAAG,CACH,wCACA,oBACA,CAAG,CACH,wCACA,qBACA,sBACA,qBACA,mBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,uBACA,gBACA,oBACA,CAAG,CACH,mBACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,mBACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,qBACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,sBACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,mBACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,kBACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,mBACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,iBACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,kBACA,eACA,CAAG,CACH,eACA,eACA,CAAG,CACH,eACA,eACA,CAAG,CACH,YACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,gBACA,eACA,CAAG,CACH,kBACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,WACA,gBACA,iBACA,CAAG,CACH,gBACA,gBACA,iBACA,CAAG,CACH,MACA,gBACA,iBACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,QACA,aACA,CAAG,CACH,mCACA,gBACA,iBACA,CAAG,CACH,sDACA,gBACA,iBACA,CAAG,CACH,oDACA,eACA,CAAG,CACH,kCACA,eACA,CAAG,CACH,4CACA,eACA,CAAG,CACH,gDACA,eACA,CAAG,CACH,sCACA,eACA,CAAG,CACH,8CACA,eACA,CAAG,CACH,0CACA,eACA,CAAG,CACH,kCACA,eACA,CAAG,CACH,kCACA,eACA,CAAG,CACH,gCACA,eACA,CAAG,CACH,mBACA,eACA,CAAG,CACH,mBACA,eACA,CAAG,CACH,sBACA,eACA,CAAG,CACH,2DACA,gBACA,oBACA,CAAG,CACH,gEACA,gBACA,oBACA,CAAG,CACH,iEACA,gBACA,uBACA,qBACA,CAAG,CACH,iEACA,gBACA,uBACA,qBACA,CAAG,CACH,sEACA,gBACA,uBACA,qBACA,CAAG,CACH,sEACA,gBACA,uBACA,qBACA,CAAG,CACH,8DACA,gBACA,oBACA,CAAG,CACH,oEACA,gBACA,oBACA,CAAG,CACH,oEACA,gBACA,oBACA,CAAG,CACH,kCACA,gEACA,CAAG,CACH,yCACA,0BACA,gBACA,yBACA,CAAG,CACH,kDACA,0BACA,gBACA,yBACA,CAAG,CACH,kGACA,2BACA,CAAG,CACH,iDACA,gCACA,sBACA,CAAG,CACH,kDACA,iBACA,CAAG,CACH,0DACA,eACA,CAAG,CACH,0DACA,eACA,CAAG,CACH,0DACA,eACA,CAAG,CACH,0DACA,eACA,CAAG,CACH,0DACA,eACA,CAAG,CACH,2DACA,eACA,CAAG,CACH,0DACA,eACA,CAAG,CACH,0DACA,eACA,CAAG,CACH,2DACA,eACA,CAAG,CACH,0DACA,eACA,CAAG,CACH,0DACA,eACA,CAAG,CACH,2DACA,eACA,CAAG,CACH,+DACA,2BACA,CAAG,CACH,+DACA,2BACA,CAAG,CACH,gEACA,2BACA,CAAG,CACH,gEACA,2BACA,CAAG,CACH,sCACA,+BACA,CAAG,CACH,oDACA,iBACA,CACA,8BCrYA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,cACA,kBACA,uEACA,eACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,cACA,kBACA,uEACA,eACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,oBACA,gCACA,kDACA,0BACA,iFACA,yBACA,+BACA,6BACA,gBACA,eACA,CAAG,CACH,kCACA,eACA,CAAG,CACH,wCACA,oBACA,eACA,qBACA,gBACA,sCACA,iBACA,oBACA,0BACA,6BACA,0BACA,sBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,iBACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,iBACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,gBACA,qCACA,CAAG,CACH,QACA,gBACA,sCACA,aACA,CAAG,CACH,KACA,gBACA,qCACA,CAAG,CACH,UACA,gBACA,qCACA,CAAG,CACH,QACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,OACA,YACA,CAAG,CACH,WACA,aACA,mBACA,CAAG,CACH,+BACA,gBACA,qCACA,CAAG,CACH,wBACA,gBACA,qCACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,WACA,YACA,CACA,6BCzLA,qCAA6C,CAC7C,QACA,CAAC,EACD,SAAkB,QACH,SAAkB,EACjC,4BACA,cACA,kBACA,uEACA,eACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,oBACA,iBACA,gBACA,gBACA,eACA,CAAG,CACH,2BACA,cACA,kBACA,uEACA,eACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,oBACA,gBACA,mBACA,cACA,0BACA,6BACA,0BACA,uBACA,kBACA,CAAG,CACH,kCACA,oBACA,WACA,gCACA,8DACA,0BACA,iFACA,yBACA,+BACA,4BACA,CAAG,CACH,wCACA,0BACA,6BACA,0BACA,uBACA,mBACA,oBACA,eACA,qBACA,gBACA,sCACA,iBACA,mBACA,CAAG,CACH,kCACA,aACA,gBACA,oBACA,gBACA,cACA,YACA,aACA,iBACA,iCACA,gCACA,6BACA,4BACA,2BACA,yBACA,CAAG,CACH,iCACA,aACA,gBACA,oBACA,gBACA,YACA,YACA,aACA,iBACA,iCACA,+BACA,4BACA,2BACA,0BACA,yBACA,cACA,CAAG,CACH,SACA,eACA,CAAG,CACH,iBACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,iBACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,gBACA,qCACA,CAAG,CACH,QACA,gBACA,sCACA,aACA,CAAG,CACH,KACA,gBACA,qCACA,CAAG,CACH,UACA,gBACA,qCACA,CAAG,CACH,QACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,OACA,YACA,CAAG,CACH,WACA,aACA,mBACA,CAAG,CACH,+BACA,gBACA,qCACA,CAAG,CACH,wBACA,gBACA,qCACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,WACA,YACA,CAAG,CACH,qDACA,eACA,CAAG,CACH,0DACA,mBACA,CAAG,CACH,wEACA,QACA,CAAG,CACH,sCACA,eACA,kBACA,eACA,CAAG,CACH,uBACA,oBACA,iBACA,CAAG,CACH,uBACA,aACA,CACA,8BC5PA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,gBACA,wDACA,gBACA,iBACA,iBACA,qBACA,mBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,gBACA,wDACA,gBACA,iBACA,iBACA,qBACA,mBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,cACA,gBACA,gBACA,oBACA,CAAG,CACH,2CACA,gBACA,mCACA,CAAG,CACH,4CACA,gBACA,mCACA,CAAG,CACH,4CACA,gBACA,mCACA,CAAG,CACH,6CACA,gBACA,mCACA,CAAG,CACH,sCACA,gBACA,mCACA,CAAG,CACH,uCACA,gBACA,mCACA,CAAG,CACH,uCACA,gBACA,mCACA,CAAG,CACH,wCACA,gBACA,mCACA,CAAG,CACH,wCACA,qBACA,eACA,mBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,mBACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,0BACA,eACA,CAAG,CACH,sCACA,eACA,CAAG,CACH,KACA,gBACA,0BACA,CAAG,CACH,UACA,eACA,CAAG,CACH,OACA,oBACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,UACA,oBACA,CAAG,CACH,SACA,oBACA,CAAG,CACH,qCACA,eACA,CAAG,CACH,0DACA,eACA,CAAG,CACH,+BACA,eACA,CAAG,CACH,oDACA,eACA,CAAG,CACH,wDACA,eACA,CAAG,CACH,2DACA,eACA,CAAG,CACH,6DACA,eACA,CACA,8BC5MA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,cACA,kBACA,gCACA,uEACA,eACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,cACA,+BACA,gCACA,uEACA,eACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,cACA,gBACA,gBACA,sCACA,oBACA,oCACA,CAAG,CACH,wCACA,+BACA,2BACA,oBACA,uCACA,2CACA,mBACA,CAAG,CACH,SACA,yBACA,CAAG,CACH,QACA,yBACA,CAAG,CACH,SACA,yBACA,CAAG,CACH,OACA,yBACA,CAAG,CACH,aACA,YACA,CAAG,CACH,WACA,YACA,CAAG,CACH,UACA,0BACA,CAAG,CACH,KACA,0BACA,CAAG,CACH,SACA,0BACA,CAAG,CACH,QACA,0BACA,CAAG,CACH,UACA,0BACA,CAAG,CACH,QACA,0BACA,CAAG,CACH,UACA,yBACA,CAAG,CACH,aACA,yBACA,CAAG,CACH,QACA,yBACA,CAAG,CACH,MACA,yBACA,CAAG,CACH,SACA,yBACA,CAAG,CACH,UACA,yBACA,CAAG,CACH,UACA,yBACA,CAAG,CACH,QACA,0BACA,aACA,CAAG,CACH,KACA,yBACA,CAAG,CACH,+BACA,yBACA,CAAG,CACH,wBACA,yBACA,CAAG,CACH,UACA,yBACA,CAAG,CACH,QACA,0BACA,CAAG,CACH,cACA,0BACA,CAAG,CACH,SACA,0BACA,CAAG,CACH,OACA,YACA,CAAG,CACH,WACA,aACA,iBACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,SACA,WACA,CACA,8BC7JA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,gBACA,kBACA,sCACA,uEACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,gBACA,qBACA,sCACA,uEACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,cACA,gBACA,gBACA,oBACA,CAAG,CACH,wCACA,qBACA,eACA,oBACA,mBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,cACA,YACA,CAAG,CACH,UACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,gBACA,aACA,CAAG,CACH,KACA,eACA,CAAG,CACH,+BACA,eACA,CAAG,CACH,wBACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,WACA,gBACA,iBACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CACA,8BC7JA,qCAA6C,CAC7C,QACA,CAAC,EACD,SAAkB,QACH,SAAkB,EACjC,4BACA,yOACA,gBACA,mBACA,gBACA,iBACA,iBACA,qBACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,qBACA,eACA,CAAG,CACH,2BACA,yOACA,gBACA,mBACA,gBACA,iBACA,iBACA,qBACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,qBACA,gBACA,cACA,gBACA,eACA,CAAG,CACH,kCACA,cACA,CAAG,CACH,2CACA,kBACA,oBACA,CAAG,CACH,4CACA,kBACA,oBACA,CAAG,CACH,4CACA,kBACA,oBACA,CAAG,CACH,6CACA,kBACA,oBACA,CAAG,CACH,sCACA,kBACA,oBACA,CAAG,CACH,uCACA,kBACA,oBACA,CAAG,CACH,uCACA,kBACA,oBACA,CAAG,CACH,wCACA,kBACA,oBACA,CAAG,CACH,wCACA,eACA,mBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,WACA,YACA,CAAG,CACH,KACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,4BACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,qBACA,eACA,CAAG,CACH,sBACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,QACA,gBACA,aACA,CAAG,CACH,KACA,eACA,CAAG,CACH,+BACA,eACA,CAAG,CACH,gCACA,eACA,CAAG,CACH,wBACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,SACA,6BACA,CAAG,CACH,UACA,kCACA,qBACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,WACA,kBACA,eACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,wBACA,6BACA,oBACA,CAAG,CACH,iDACA,0BACA,CAAG,CACH,kDACA,eACA,CAAG,CACH,kCACA,0FACA,CACA,8BC7NA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,yOACA,gBACA,mBACA,gBACA,iBACA,iBACA,qBACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,qBACA,eACA,CAAG,CACH,2BACA,yOACA,gBACA,mBACA,gBACA,iBACA,iBACA,qBACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,qBACA,gBACA,cACA,gBACA,eACA,CAAG,CACH,kCACA,cACA,CAAG,CACH,2CACA,kBACA,oBACA,CAAG,CACH,4CACA,kBACA,oBACA,CAAG,CACH,4CACA,kBACA,oBACA,CAAG,CACH,6CACA,kBACA,oBACA,CAAG,CACH,sCACA,kBACA,oBACA,CAAG,CACH,uCACA,kBACA,oBACA,CAAG,CACH,uCACA,kBACA,oBACA,CAAG,CACH,wCACA,kBACA,oBACA,CAAG,CACH,wCACA,eACA,mBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,WACA,YACA,CAAG,CACH,KACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,4BACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,qBACA,eACA,CAAG,CACH,sBACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,QACA,gBACA,aACA,CAAG,CACH,KACA,eACA,CAAG,CACH,+BACA,eACA,CAAG,CACH,gCACA,eACA,CAAG,CACH,wBACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,SACA,6BACA,CAAG,CACH,UACA,kCACA,qBACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,WACA,kBACA,eACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,wBACA,6BACA,oBACA,CAAG,CACH,iDACA,0BACA,CAAG,CACH,kDACA,eACA,CAAG,CACH,kCACA,0FACA,CACA,8BC7NA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,yOACA,gBACA,mBACA,gBACA,iBACA,iBACA,qBACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,qBACA,eACA,CAAG,CACH,2BACA,yOACA,gBACA,mBACA,gBACA,iBACA,iBACA,qBACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,qBACA,gBACA,cACA,gBACA,eACA,CAAG,CACH,kCACA,cACA,CAAG,CACH,2CACA,kBACA,oBACA,CAAG,CACH,4CACA,kBACA,oBACA,CAAG,CACH,4CACA,kBACA,oBACA,CAAG,CACH,6CACA,kBACA,oBACA,CAAG,CACH,sCACA,kBACA,oBACA,CAAG,CACH,uCACA,kBACA,oBACA,CAAG,CACH,uCACA,kBACA,oBACA,CAAG,CACH,wCACA,kBACA,oBACA,CAAG,CACH,wCACA,eACA,mBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,WACA,YACA,CAAG,CACH,KACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,4BACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,qBACA,eACA,CAAG,CACH,sBACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,QACA,gBACA,aACA,CAAG,CACH,KACA,eACA,CAAG,CACH,+BACA,eACA,CAAG,CACH,gCACA,eACA,CAAG,CACH,wBACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,SACA,6BACA,CAAG,CACH,UACA,kCACA,qBACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,WACA,kBACA,eACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,wBACA,6BACA,oBACA,CAAG,CACH,iDACA,0BACA,CAAG,CACH,kDACA,eACA,CAAG,CACH,kCACA,0FACA,CACA,8BC7NA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,yOACA,gBACA,mBACA,gBACA,iBACA,iBACA,qBACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,qBACA,eACA,CAAG,CACH,2BACA,yOACA,gBACA,mBACA,gBACA,iBACA,iBACA,qBACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,qBACA,gBACA,cACA,gBACA,eACA,CAAG,CACH,kCACA,cACA,CAAG,CACH,2CACA,kBACA,oBACA,CAAG,CACH,4CACA,kBACA,oBACA,CAAG,CACH,4CACA,kBACA,oBACA,CAAG,CACH,6CACA,kBACA,oBACA,CAAG,CACH,sCACA,kBACA,oBACA,CAAG,CACH,uCACA,kBACA,oBACA,CAAG,CACH,uCACA,kBACA,oBACA,CAAG,CACH,wCACA,kBACA,oBACA,CAAG,CACH,wCACA,eACA,mBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,WACA,YACA,CAAG,CACH,KACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,4BACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,qBACA,eACA,CAAG,CACH,sBACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,QACA,gBACA,aACA,CAAG,CACH,KACA,eACA,CAAG,CACH,+BACA,eACA,CAAG,CACH,gCACA,eACA,CAAG,CACH,wBACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,SACA,6BACA,CAAG,CACH,UACA,kCACA,qBACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,WACA,kBACA,eACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,wBACA,6BACA,oBACA,CAAG,CACH,iDACA,0BACA,CAAG,CACH,kDACA,eACA,CAAG,CACH,kCACA,oFACA,CACA,8BC7NA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,yOACA,gBACA,mBACA,gBACA,iBACA,iBACA,qBACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,qBACA,eACA,CAAG,CACH,2BACA,yOACA,gBACA,mBACA,gBACA,iBACA,iBACA,qBACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,qBACA,gBACA,cACA,gBACA,eACA,CAAG,CACH,kCACA,cACA,CAAG,CACH,2CACA,kBACA,oBACA,CAAG,CACH,4CACA,kBACA,oBACA,CAAG,CACH,4CACA,kBACA,oBACA,CAAG,CACH,6CACA,kBACA,oBACA,CAAG,CACH,sCACA,kBACA,oBACA,CAAG,CACH,uCACA,kBACA,oBACA,CAAG,CACH,uCACA,kBACA,oBACA,CAAG,CACH,wCACA,kBACA,oBACA,CAAG,CACH,wCACA,eACA,mBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,WACA,YACA,CAAG,CACH,KACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,4BACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,qBACA,eACA,CAAG,CACH,sBACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,QACA,gBACA,aACA,CAAG,CACH,KACA,eACA,CAAG,CACH,+BACA,eACA,CAAG,CACH,gCACA,eACA,CAAG,CACH,wBACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,SACA,6BACA,CAAG,CACH,UACA,kCACA,qBACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,WACA,kBACA,eACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,wBACA,6BACA,oBACA,CAAG,CACH,iDACA,0BACA,CAAG,CACH,kDACA,eACA,CAAG,CACH,kCACA,0FACA,CACA,8BC7NA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,yOACA,gBACA,mBACA,gBACA,iBACA,iBACA,qBACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,qBACA,eACA,CAAG,CACH,2BACA,yOACA,gBACA,mBACA,gBACA,iBACA,iBACA,qBACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,qBACA,gBACA,cACA,gBACA,eACA,CAAG,CACH,kCACA,cACA,CAAG,CACH,2CACA,kBACA,oBACA,CAAG,CACH,4CACA,kBACA,oBACA,CAAG,CACH,4CACA,kBACA,oBACA,CAAG,CACH,6CACA,kBACA,oBACA,CAAG,CACH,sCACA,kBACA,oBACA,CAAG,CACH,uCACA,kBACA,oBACA,CAAG,CACH,uCACA,kBACA,oBACA,CAAG,CACH,wCACA,kBACA,oBACA,CAAG,CACH,wCACA,eACA,mBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,WACA,YACA,CAAG,CACH,KACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,4BACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,qBACA,eACA,CAAG,CACH,sBACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,QACA,gBACA,aACA,CAAG,CACH,KACA,eACA,CAAG,CACH,+BACA,eACA,CAAG,CACH,gCACA,eACA,CAAG,CACH,wBACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,SACA,6BACA,CAAG,CACH,UACA,kCACA,qBACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,WACA,kBACA,eACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,wBACA,6BACA,oBACA,CAAG,CACH,iDACA,0BACA,CAAG,CACH,kDACA,eACA,CAAG,CACH,kCACA,0FACA,CACA,8BC7NA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,uEACA,eACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,mBACA,cACA,qDACA,CAAG,CACH,2BACA,uEACA,eACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,oBACA,gBACA,gBACA,oCAA2C,+SAC3C,wBACA,CAAG,CACH,wCACA,eACA,oBACA,iBACA,mBACA,CAAG,CACH,SACA,YACA,CAAG,CACH,QACA,YACA,CAAG,CACH,SACA,YACA,CAAG,CACH,OACA,YACA,CAAG,CACH,aACA,YACA,CAAG,CACH,WACA,YACA,CAAG,CACH,UACA,YACA,CAAG,CACH,KACA,YACA,CAAG,CACH,SACA,YACA,CAAG,CACH,QACA,YACA,CAAG,CACH,UACA,YACA,CAAG,CACH,QACA,YACA,CAAG,CACH,UACA,cACA,CAAG,CACH,aACA,cACA,CAAG,CACH,QACA,cACA,CAAG,CACH,MACA,cACA,CAAG,CACH,SACA,cACA,CAAG,CACH,UACA,mBACA,CAAG,CACH,QACA,oBACA,aACA,CAAG,CACH,KACA,mBACA,CAAG,CACH,+BACA,mBACA,CAAG,CACH,UACA,mBACA,CAAG,CACH,UACA,mBACA,CAAG,CACH,QACA,gBACA,CAAG,CACH,cACA,gBACA,CAAG,CACH,SACA,gBACA,CAAG,CACH,OACA,cACA,CAAG,CACH,WACA,eACA,iBACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,SACA,WACA,CAAG,CACH,wEACA,sCACA,gBACA,CAAG,CACH,wEACA,sCACA,gBACA,CAAG,CACH,yEACA,wCACA,gBACA,CAAG,CACH,yEACA,wCACA,gBACA,CACA,8BCpKA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,gBACA,uFACA,gBACA,iBACA,iBACA,qBACA,mBACA,gBACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,gBACA,uFACA,gBACA,iBACA,iBACA,qBACA,mBACA,gBACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,cACA,gBACA,gBACA,2BACA,uBACA,CAAG,CACH,kCACA,cACA,CAAG,CACH,2CACA,oBACA,CAAG,CACH,4CACA,oBACA,CAAG,CACH,4CACA,oBACA,CAAG,CACH,6CACA,oBACA,CAAG,CACH,sCACA,oBACA,CAAG,CACH,uCACA,oBACA,CAAG,CACH,uCACA,oBACA,CAAG,CACH,wCACA,oBACA,CAAG,CACH,wCACA,eACA,iBACA,oBACA,qBACA,0BACA,CAAG,CACH,SACA,gBACA,kBACA,CAAG,CACH,QACA,gBACA,kBACA,CAAG,CACH,SACA,gBACA,kBACA,CAAG,CACH,OACA,gBACA,kBACA,CAAG,CACH,WACA,YACA,CAAG,CACH,QACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,wCACA,eACA,CAAG,CACH,UACA,gBACA,iBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,mCACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,uCACA,eACA,CAAG,CACH,WACA,iBACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CACA,8BCrLA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,gBACA,wDACA,gBACA,iBACA,iBACA,qBACA,mBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,gBACA,wDACA,gBACA,iBACA,iBACA,qBACA,mBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,cACA,iBACA,gBACA,oBACA,CAAG,CACH,2CACA,gBACA,oBACA,CAAG,CACH,4CACA,gBACA,oBACA,CAAG,CACH,4CACA,gBACA,oBACA,CAAG,CACH,6CACA,gBACA,oBACA,CAAG,CACH,sCACA,gBACA,oBACA,CAAG,CACH,uCACA,gBACA,oBACA,CAAG,CACH,uCACA,gBACA,oBACA,CAAG,CACH,wCACA,gBACA,oBACA,CAAG,CACH,wCACA,qBACA,gBACA,oBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,mBACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,0BACA,eACA,CAAG,CACH,KACA,gBACA,0BACA,CAAG,CACH,UACA,eACA,CAAG,CACH,OACA,oBACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,UACA,oBACA,CAAG,CACH,SACA,oBACA,CACA,8BCpLA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,gBACA,wDACA,gBACA,iBACA,iBACA,qBACA,mBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,gBACA,wDACA,gBACA,iBACA,iBACA,qBACA,mBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,cACA,iBACA,gBACA,oBACA,CAAG,CACH,2CACA,gBACA,oBACA,CAAG,CACH,4CACA,gBACA,oBACA,CAAG,CACH,4CACA,gBACA,oBACA,CAAG,CACH,6CACA,gBACA,oBACA,CAAG,CACH,sCACA,gBACA,oBACA,CAAG,CACH,uCACA,gBACA,oBACA,CAAG,CACH,uCACA,gBACA,oBACA,CAAG,CACH,wCACA,gBACA,oBACA,CAAG,CACH,wCACA,qBACA,gBACA,oBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,mBACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,0BACA,eACA,CAAG,CACH,KACA,gBACA,0BACA,CAAG,CACH,UACA,eACA,CAAG,CACH,OACA,oBACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,UACA,oBACA,CAAG,CACH,SACA,oBACA,CACA,8BCpLA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,gBACA,qBACA,kBACA,uEACA,eACA,iBACA,qBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,gBACA,qBACA,kBACA,uEACA,eACA,iBACA,qBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,2BACA,mBACA,oBACA,eACA,eACA,CAAG,CACH,2CACA,gBACA,qBACA,iBACA,CAAG,CACH,4CACA,gBACA,qBACA,iBACA,CAAG,CACH,4CACA,gBACA,qBACA,iBACA,CAAG,CACH,6CACA,gBACA,qBACA,iBACA,CAAG,CACH,sCACA,gBACA,qBACA,iBACA,CAAG,CACH,uCACA,gBACA,qBACA,iBACA,CAAG,CACH,uCACA,gBACA,qBACA,iBACA,CAAG,CACH,wCACA,gBACA,qBACA,iBACA,CAAG,CACH,wCACA,gBACA,qBACA,sBACA,qBACA,0BACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,UACA,gBACA,wBACA,CAAG,CACH,QACA,gBACA,wBACA,CAAG,CACH,KACA,gBACA,wBACA,CAAG,CACH,+BACA,gBACA,wBACA,CAAG,CACH,wBACA,gBACA,wBACA,CAAG,CACH,QACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,UACA,eACA,CACA,8BCrMA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,6FACA,gBACA,mBACA,gBACA,iBACA,qBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,sBACA,sBACA,sBACA,qBACA,eACA,CAAG,CACH,2BACA,6FACA,gBACA,mBACA,gBACA,iBACA,qBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,sBACA,sBACA,sBACA,qBACA,gBACA,cACA,gBACA,eACA,CAAG,CACH,kCACA,cACA,CAAG,CACH,wCACA,eACA,mBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,cACA,YACA,CAAG,CACH,MACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,QACA,gBACA,aACA,CAAG,CACH,KACA,eACA,CAAG,CACH,+BACA,eACA,CAAG,CACH,wBACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,WACA,gBACA,iBACA,CAAG,CACH,wBACA,yBACA,oBACA,CACA,gCCvJA,MAA6B,EAAQ,KAA8C,EAoJnF,UApJoC,WAoJpC,QAA+C,CAC/C,cACA,eACA,iBAEA,CAAC,EAmHD,EAAkC,EAAQ,IAAO,GACjD,EAAmC,EAAQ,KAAQ,CADV,EAEzC,EAAoC,EAAQ,KAAS,GACrD,EAAsC,EAAQ,KAAW,GACzD,EAA6C,EAAQ,KADR,GAE7C,EAAuC,EAAQ,KADK,GAEpD,EAAuC,EAAQ,KADD,GAE9C,EAAoC,EAAQ,KAAS,GACrD,EAAuC,EAAQ,KADJ,GAE3C,EAAuC,EAAQ,KAAa,GAC5D,EAAuD,EAAQ,KADjB,GAE9C,EAAiC,EAAQ,KADqB,GAE9D,EAA0C,EAAQ,KAAgB,GAClE,EAA0C,EAAQ,KAAgB,GAClE,EAAgD,EAAQ,KAAuB,GAC/E,EAAsC,EAAQ,KADS,GAEvD,EAAsC,EAAQ,KADD,GAE7C,EAA0C,EAAQ,KADL,GAE7C,EAA2C,EAAQ,KADF,GAEjD,EAA4C,EAAQ,KAAkB,GACtE,EAA2C,EAAQ,KAAiB,GACpE,EAAyC,EAAQ,KADC,GAElD,EAA2C,EAAQ,KADH,GAEhD,EAAuC,EAAQ,KAAY,GAC3D,EAA0C,EAAQ,KAAgB,GAClE,EAA2C,EAAQ,KAAiB,GACpE,EAAwC,EAAQ,KAAc,GAC9D,EAAwC,EAAQ,KADD,GAE/C,EAAsC,EAAQ,IAAW,CADV,EA3B/C,IA6BA,IAA2C,EADE,KACuB,GACpE,EAA4C,EAAQ,KADF,GAElD,EAA8C,EAAQ,KAAoB,GAC1E,EAAuC,EAAQ,KADM,GAErD,EAAmC,EAAQ,KADG,GAE9C,EAAsC,EAAQ,KADJ,GAE1C,EAAuC,EAAQ,KAAa,GAC5D,EAAuC,EAAQ,KADD,GAE9C,EAA6C,EAAQ,KAAoB,GACzE,EAAgD,EAAQ,KADJ,GAEpD,EAAwC,EAAQ,KADO,GAEvD,EAAiC,EAAQ,KADM,GAE/C,EAA0C,EAAQ,KAAiB,GACnE,EAAsC,EAAQ,KAAW,GACzD,EAAqC,EAAQ,KADA,YACD,kBCvT5C,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,gBACA,kBACA,sCACA,uEACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,gBACA,qBACA,sCACA,uEACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,cACA,gBACA,gBACA,oBACA,CAAG,CACH,wCACA,qBACA,eACA,oBACA,mBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,cACA,YACA,CAAG,CACH,UACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,gBACA,aACA,CAAG,CACH,KACA,eACA,CAAG,CACH,+BACA,eACA,CAAG,CACH,wBACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,WACA,gBACA,iBACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CACA,8BC7JA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,iBACA,iBACA,qBACA,mBACA,kBACA,aACA,qBACA,oCACA,eACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,iBACA,iBACA,qBACA,mBACA,kBACA,aACA,qBACA,oCACA,eACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,gBACA,oBACA,iBACA,oBACA,CAAG,CACH,4CACA,oBACA,CAAG,CACH,2CACA,oBACA,CAAG,CACH,6CACA,oBACA,CAAG,CACH,4CACA,oBACA,CAAG,CACH,uCACA,oBACA,CAAG,CACH,sCACA,oBACA,CAAG,CACH,wCACA,oBACA,CAAG,CACH,uCACA,oBACA,CAAG,CACH,wCACA,oBACA,qBACA,eACA,CAAG,CACH,wBACA,eACA,CAAG,CACH,yBACA,eACA,CAAG,CACH,yBACA,eACA,CAAG,CACH,mCACA,aACA,CAAG,CACH,QACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,IACA,gBACA,iBACA,CAAG,CACH,WACA,gBACA,iBACA,CAAG,CACH,UACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,gBACA,eACA,CAAG,CACH,kBACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,UACA,eACA,CACA,8BCtMA,qCAA6C,CAC7C,QACA,CAAC,EACD,SAAkB,QACH,SAAkB,EACjC,4BACA,iBACA,iBACA,qBACA,mBACA,kBACA,gBACA,qBACA,oCACA,eACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,iBACA,iBACA,qBACA,mBACA,kBACA,gBACA,qBACA,oCACA,eACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,gBACA,oBACA,iBACA,oBACA,CAAG,CACH,4CACA,qBACA,eACA,CAAG,CACH,2CACA,qBACA,eACA,CAAG,CACH,6CACA,qBACA,eACA,CAAG,CACH,4CACA,qBACA,eACA,CAAG,CACH,uCACA,qBACA,eACA,CAAG,CACH,sCACA,qBACA,eACA,CAAG,CACH,wCACA,qBACA,eACA,CAAG,CACH,uCACA,qBACA,eACA,CAAG,CACH,wCACA,oBACA,qBACA,eACA,CAAG,CACH,wBACA,eACA,CAAG,CACH,yBACA,eACA,CAAG,CACH,yBACA,eACA,CAAG,CACH,mCACA,aACA,CAAG,CACH,QACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,IACA,gBACA,iBACA,CAAG,CACH,WACA,gBACA,iBACA,CAAG,CACH,UACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,gBACA,eACA,CAAG,CACH,kBACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,UACA,eACA,CACA,8BC9MA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,iBACA,iBACA,qBACA,mBACA,kBACA,gBACA,qBACA,oCACA,eACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,iBACA,iBACA,qBACA,mBACA,kBACA,gBACA,qBACA,oCACA,eACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,gBACA,oBACA,iBACA,oBACA,CAAG,CACH,4CACA,oBACA,CAAG,CACH,2CACA,oBACA,CAAG,CACH,6CACA,oBACA,CAAG,CACH,4CACA,oBACA,CAAG,CACH,uCACA,oBACA,CAAG,CACH,sCACA,oBACA,CAAG,CACH,wCACA,oBACA,CAAG,CACH,uCACA,oBACA,CAAG,CACH,wCACA,oBACA,qBACA,eACA,CAAG,CACH,wBACA,eACA,CAAG,CACH,yBACA,eACA,CAAG,CACH,yBACA,eACA,CAAG,CACH,mCACA,aACA,CAAG,CACH,QACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,IACA,gBACA,iBACA,CAAG,CACH,WACA,gBACA,iBACA,CAAG,CACH,UACA,eACA,CAAG,CACH,SACA,gBACA,kBACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,gBACA,eACA,CAAG,CACH,kBACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,UACA,eACA,CACA,8BC1MA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,gBACA,uEACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,cACA,uEACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,cACA,iBACA,gBACA,oBACA,CAAG,CACH,2CACA,kBACA,mCACA,CAAG,CACH,4CACA,kBACA,mCACA,CAAG,CACH,4CACA,kBACA,mCACA,CAAG,CACH,6CACA,kBACA,mCACA,CAAG,CACH,sCACA,kBACA,mCACA,CAAG,CACH,uCACA,kBACA,mCACA,CAAG,CACH,uCACA,kBACA,mCACA,CAAG,CACH,wCACA,kBACA,mCACA,CAAG,CACH,wCACA,cACA,qBACA,gBACA,qBACA,mBACA,CAAG,CACH,SACA,0BACA,kBACA,CAAG,CACH,QACA,0BACA,kBACA,CAAG,CACH,OACA,0BACA,kBACA,CAAG,CACH,aACA,0BACA,CAAG,CACH,cACA,0BACA,CAAG,CACH,SACA,gCACA,kBACA,CAAG,CACH,QACA,0BACA,CAAG,CACH,UACA,0BACA,CAAG,CACH,KACA,0BACA,CAAG,CACH,UACA,0BACA,CAAG,CACH,SACA,0BACA,CAAG,CACH,SACA,yBACA,CAAG,CACH,QACA,0BACA,CAAG,CACH,UACA,0BACA,CAAG,CACH,UACA,0BACA,CAAG,CACH,SACA,0BACA,CAAG,CACH,MACA,0BACA,CAAG,CACH,UACA,2BACA,kBACA,CAAG,CACH,SACA,2BACA,kBACA,CAAG,CACH,aACA,2BACA,kBACA,CAAG,CACH,UACA,2BACA,kBACA,CAAG,CACH,QACA,0BACA,CAAG,CACH,KACA,0BACA,CAAG,CACH,QACA,0BACA,CAAG,CACH,+BACA,0BACA,CAAG,CACH,wBACA,0BACA,CAAG,CACH,cACA,0BACA,CAAG,CACH,QACA,0BACA,CAAG,CACH,cACA,0BACA,CAAG,CACH,OACA,0BACA,CAAG,CACH,WACA,2BACA,iBACA,CAAG,CACH,UACA,0BACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CACA,8BCnMA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,gBACA,kBACA,sFACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,gBACA,qBACA,sFACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,cACA,gBACA,gBACA,oBACA,CAAG,CACH,wCACA,qBACA,eACA,oBACA,mBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,cACA,YACA,CAAG,CACH,UACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,gBACA,aACA,CAAG,CACH,KACA,eACA,CAAG,CACH,+BACA,eACA,CAAG,CACH,wBACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,WACA,gBACA,iBACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CACA,8BC3JA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,gBACA,kBACA,sCACA,uEACA,eACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,gBACA,qBACA,sCACA,uEACA,eACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,cACA,gBACA,gBACA,oBACA,CAAG,CACH,wCACA,qBACA,eACA,oBACA,mBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,WACA,YACA,CAAG,CACH,UACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,gBACA,aACA,CAAG,CACH,KACA,eACA,CAAG,CACH,+BACA,eACA,CAAG,CACH,wBACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,WACA,gBACA,iBACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CACA,8BC/JA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,gCACA,2BACA,sCACA,sFACA,gBACA,iBACA,iBACA,qBACA,mBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,gCACA,2BACA,sCACA,sFACA,gBACA,iBACA,iBACA,qBACA,mBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,cACA,iBACA,gBACA,oBACA,CAAG,CACH,4CACA,gCACA,gBACA,iBACA,CAAG,CACH,8CACA,gCACA,gBACA,iBACA,CAAG,CACH,6CACA,gCACA,gBACA,iBACA,CAAG,CACH,uCACA,gCACA,gBACA,iBACA,CAAG,CACH,yCACA,gCACA,gBACA,iBACA,CAAG,CACH,wCACA,gCACA,gBACA,iBACA,CAAG,CACH,wCACA,sBACA,qBACA,mBACA,CAAG,CACH,SACA,2BACA,kBACA,CAAG,CACH,QACA,0BACA,CAAG,CACH,OACA,0BACA,CAAG,CACH,SACA,0BACA,CAAG,CACH,aACA,0BACA,CAAG,CACH,QACA,2BACA,aACA,CAAG,CACH,aACA,yBACA,CAAG,CACH,cACA,yBACA,CAAG,CACH,SACA,yBACA,CAAG,CACH,UACA,yBACA,CAAG,CACH,QACA,yBACA,CAAG,CACH,QACA,yBACA,CAAG,CACH,SACA,0BACA,CAAG,CACH,UACA,0BACA,CAAG,CACH,KACA,0BACA,CAAG,CACH,QACA,0BACA,CAAG,CACH,SACA,0BACA,CAAG,CACH,WACA,0BACA,CAAG,CACH,UACA,yBACA,CAAG,CACH,QACA,yBACA,CAAG,CACH,MACA,yBACA,CAAG,CACH,SACA,yBACA,CAAG,CACH,UACA,yBACA,CAAG,CACH,OACA,yBACA,CAAG,CACH,cACA,yBACA,CAAG,CACH,mCACA,yBACA,CAAG,CACH,UACA,0BACA,CAAG,CACH,UACA,0BACA,CAAG,CACH,UACA,0BACA,CAAG,CACH,KACA,0BACA,CAAG,CACH,+CACA,0BACA,CAAG,CACH,uDACA,0BACA,CAAG,CACH,iCACA,0BACA,CAAG,CACH,iCACA,0BACA,CAAG,CACH,iCACA,0BACA,CAAG,CACH,8CACA,0BACA,CAAG,CACH,gDACA,yBACA,CAAG,CACH,kCACA,0BACA,CAAG,CACH,2CACA,0BACA,CAAG,CACH,wCACA,0BACA,CAAG,CACH,qHACA,wBACA,CAAG,CACH,kCACA,0BACA,CAAG,CACH,sCACA,yBACA,CAAG,CACH,iCACA,0BACA,CAAG,CACH,mDACA,0BACA,CAAG,CACH,+DACA,0BACA,CAAG,CACH,kDACA,0BACA,CAAG,CACH,8CACA,0BACA,CAAG,CACH,+CACA,0BACA,CAAG,CACH,oDACA,2BACA,kBACA,CAAG,CACH,4CACA,2BACA,kBACA,CAAG,CACH,0CACA,yBACA,CAAG,CACH,iDACA,yBACA,CAAG,CACH,mDACA,0BACA,CAAG,CACH,mDACA,0BACA,CAAG,CACH,uDACA,0BACA,CAAG,CACH,8CACA,0BACA,CAAG,CACH,kEACA,0BACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,WACA,aACA,CAAG,CACH,gCACA,kCACA,iBACA,CAAG,CACH,mBACA,kCACA,iBACA,CAAG,CACH,mBACA,kCACA,iBACA,CAAG,CACH,sBACA,kCACA,iBACA,CAAG,CACH,uDACA,mBACA,CAAG,CACH,gEACA,gCACA,0BACA,sBACA,oBACA,CAAG,CACH,2DACA,gCACA,0BACA,sBACA,oBACA,CAAG,CACH,8DACA,gCACA,0BACA,sBACA,oBACA,CAAG,CACH,sEACA,gCACA,0BACA,CAAG,CACH,sEACA,gCACA,0BACA,CAAG,CACH,iEACA,gCACA,0BACA,CAAG,CACH,iEACA,gCACA,0BACA,CAAG,CACH,oEACA,gCACA,0BACA,CAAG,CACH,oEACA,gCACA,0BACA,CAAG,CACH,kCACA,uCACA,CAAG,CACH,yCACA,gCACA,2BACA,sBACA,qBACA,wCACA,CAAG,CACH,kDACA,gCACA,2BACA,sBACA,qBACA,wCACA,CAAG,CACH,kGACA,4CACA,CAAG,CACH,iDACA,4CACA,CAAG,CACH,sCACA,4CACA,CAAG,CACH,kDACA,0BACA,CAAG,CACH,oDACA,0BACA,CAAG,CACH,0DACA,0BACA,CAAG,CACH,0DACA,0BACA,CAAG,CACH,0DACA,0BACA,CAAG,CACH,0DACA,yBACA,CAAG,CACH,0DACA,yBACA,CAAG,CACH,2DACA,yBACA,CAAG,CACH,0DACA,0BACA,CAAG,CACH,0DACA,0BACA,CAAG,CACH,2DACA,0BACA,CAAG,CACH,0DACA,0BACA,CAAG,CACH,0DACA,0BACA,CAAG,CACH,2DACA,0BACA,CAAG,CACH,+DACA,4CACA,CAAG,CACH,+DACA,4CACA,CAAG,CACH,+EACA,2CACA,CAAG,CACH,iFACA,2CACA,CAAG,CACH,+EACA,2CACA,CAAG,CACH,iFACA,2CACA,CAAG,CACH,0EACA,2CACA,CAAG,CACH,4EACA,2CACA,CAAG,CACH,0EACA,2CACA,CAAG,CACH,4EACA,2CACA,CAAG,CACH,gEACA,4CACA,CAAG,CACH,gEACA,4CACA,CAAG,CACH,gFACA,2CACA,CAAG,CACH,kFACA,2CACA,CAAG,CACH,gFACA,2CACA,CAAG,CACH,kFACA,2CACA,CAAG,CACH,2EACA,2CACA,CAAG,CACH,6EACA,2CACA,CAAG,CACH,2EACA,2CACA,CAAG,CACH,6EACA,2CACA,CAAG,CACH,2CACA,gCACA,CAAG,CACH,0DACA,iCACA,oBACA,CAAG,CACH,uDACA,oBACA,CAAG,CACH,yDACA,oBACA,CAAG,CACH,0CACA,mCACA,CAAG,CACH,0DACA,sCACA,CAAG,CACH,uDACA,+BACA,CAAG,CACH,qDACA,+BACA,CAAG,CACH,kDACA,+BACA,CAAG,CACH,uDACA,4BACA,iBACA,CAAG,CACH,qDACA,4BACA,iBACA,CAAG,CACH,yDACA,4BACA,kBACA,CAAG,CACH,uDACA,2BACA,CAAG,CACH,uDACA,2BACA,CACA,8BCxfA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,+BACA,0BACA,sFACA,gBACA,iBACA,iBACA,qBACA,mBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,+BACA,0BACA,sFACA,gBACA,iBACA,iBACA,qBACA,mBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,cACA,iBACA,gBACA,oBACA,CAAG,CACH,4CACA,+BACA,eACA,CAAG,CACH,8CACA,+BACA,eACA,CAAG,CACH,6CACA,+BACA,eACA,CAAG,CACH,uCACA,+BACA,eACA,CAAG,CACH,yCACA,+BACA,eACA,CAAG,CACH,wCACA,+BACA,eACA,CAAG,CACH,wCACA,sBACA,qBACA,mBACA,CAAG,CACH,SACA,0BACA,kBACA,CAAG,CACH,QACA,yBACA,CAAG,CACH,OACA,yBACA,CAAG,CACH,SACA,yBACA,CAAG,CACH,aACA,yBACA,CAAG,CACH,QACA,0BACA,aACA,CAAG,CACH,aACA,yBACA,CAAG,CACH,cACA,yBACA,CAAG,CACH,SACA,yBACA,CAAG,CACH,UACA,yBACA,CAAG,CACH,QACA,yBACA,CAAG,CACH,QACA,yBACA,CAAG,CACH,SACA,0BACA,CAAG,CACH,UACA,wBACA,CAAG,CACH,KACA,wBACA,CAAG,CACH,QACA,wBACA,CAAG,CACH,SACA,wBACA,CAAG,CACH,WACA,wBACA,CAAG,CACH,UACA,0BACA,CAAG,CACH,QACA,0BACA,CAAG,CACH,MACA,0BACA,CAAG,CACH,SACA,0BACA,CAAG,CACH,UACA,0BACA,CAAG,CACH,OACA,0BACA,CAAG,CACH,cACA,0BACA,CAAG,CACH,mCACA,0BACA,CAAG,CACH,UACA,0BACA,CAAG,CACH,UACA,0BACA,CAAG,CACH,UACA,0BACA,CAAG,CACH,KACA,0BACA,CAAG,CACH,+CACA,yBACA,CAAG,CACH,uDACA,yBACA,CAAG,CACH,iCACA,wBACA,CAAG,CACH,iCACA,yBACA,CAAG,CACH,iCACA,0BACA,CAAG,CACH,8CACA,0BACA,CAAG,CACH,gDACA,0BACA,CAAG,CACH,kCACA,0BACA,CAAG,CACH,2CACA,0BACA,CAAG,CACH,wCACA,0BACA,CAAG,CACH,qHACA,0BACA,CAAG,CACH,kCACA,yBACA,CAAG,CACH,sCACA,yBACA,CAAG,CACH,iCACA,yBACA,CAAG,CACH,mDACA,yBACA,CAAG,CACH,+DACA,yBACA,CAAG,CACH,kDACA,0BACA,CAAG,CACH,8CACA,0BACA,CAAG,CACH,+CACA,0BACA,CAAG,CACH,oDACA,0BACA,kBACA,CAAG,CACH,4CACA,0BACA,kBACA,CAAG,CACH,0CACA,0BACA,CAAG,CACH,iDACA,yBACA,CAAG,CACH,mDACA,0BACA,CAAG,CACH,mDACA,wBACA,CAAG,CACH,uDACA,wBACA,CAAG,CACH,8CACA,wBACA,CAAG,CACH,kEACA,wBACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,WACA,aACA,CAAG,CACH,gCACA,+BACA,CAAG,CACH,mBACA,+BACA,CAAG,CACH,mBACA,+BACA,CAAG,CACH,sBACA,+BACA,CAAG,CACH,uDACA,mBACA,CAAG,CACH,gEACA,+BACA,0BACA,sBACA,oBACA,CAAG,CACH,2DACA,+BACA,0BACA,sBACA,oBACA,CAAG,CACH,8DACA,+BACA,0BACA,sBACA,oBACA,CAAG,CACH,sEACA,+BACA,yBACA,CAAG,CACH,sEACA,+BACA,yBACA,CAAG,CACH,iEACA,+BACA,yBACA,CAAG,CACH,iEACA,+BACA,yBACA,CAAG,CACH,oEACA,+BACA,yBACA,CAAG,CACH,oEACA,+BACA,yBACA,CAAG,CACH,kCACA,qCACA,CAAG,CACH,yCACA,+BACA,0BACA,sBACA,qBACA,wCACA,CAAG,CACH,kDACA,+BACA,0BACA,sBACA,qBACA,wCACA,CAAG,CACH,kGACA,0CACA,CAAG,CACH,iDACA,0CACA,CAAG,CACH,sCACA,0CACA,CAAG,CACH,kDACA,yBACA,CAAG,CACH,oDACA,yBACA,CAAG,CACH,0DACA,wBACA,CAAG,CACH,0DACA,wBACA,CAAG,CACH,0DACA,wBACA,CAAG,CACH,0DACA,0BACA,CAAG,CACH,0DACA,0BACA,CAAG,CACH,2DACA,0BACA,CAAG,CACH,0DACA,0BACA,CAAG,CACH,0DACA,0BACA,CAAG,CACH,2DACA,0BACA,CAAG,CACH,0DACA,0BACA,CAAG,CACH,0DACA,0BACA,CAAG,CACH,2DACA,0BACA,CAAG,CACH,+DACA,4CACA,CAAG,CACH,+DACA,4CACA,CAAG,CACH,+EACA,2CACA,CAAG,CACH,iFACA,2CACA,CAAG,CACH,+EACA,2CACA,CAAG,CACH,iFACA,2CACA,CAAG,CACH,0EACA,2CACA,CAAG,CACH,4EACA,2CACA,CAAG,CACH,0EACA,2CACA,CAAG,CACH,4EACA,2CACA,CAAG,CACH,gEACA,4CACA,CAAG,CACH,gEACA,4CACA,CAAG,CACH,gFACA,2CACA,CAAG,CACH,kFACA,2CACA,CAAG,CACH,gFACA,2CACA,CAAG,CACH,kFACA,2CACA,CAAG,CACH,2EACA,2CACA,CAAG,CACH,6EACA,2CACA,CAAG,CACH,2EACA,2CACA,CAAG,CACH,6EACA,2CACA,CAAG,CACH,2CACA,4BACA,CAAG,CACH,0DACA,6BACA,oBACA,CAAG,CACH,uDACA,oBACA,CAAG,CACH,yDACA,oBACA,CAAG,CACH,0CACA,+BACA,CAAG,CACH,0DACA,kCACA,CAAG,CACH,uDACA,6BACA,CAAG,CACH,qDACA,6BACA,CAAG,CACH,kDACA,6BACA,CAAG,CACH,uDACA,2BACA,iBACA,CAAG,CACH,qDACA,2BACA,iBACA,CAAG,CACH,yDACA,2BACA,kBACA,CAAG,CACH,uDACA,0BACA,CAAG,CACH,uDACA,0BACA,CACA,8BC5eA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,sBACA,sBACA,sBACA,qDACA,gBACA,iBACA,gBACA,cACA,CAAG,CACH,2BACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,sBACA,sBACA,sBACA,qDACA,gBACA,iBACA,gBACA,eACA,mBACA,wBACA,yCAAgD,2kDAChD,eACA,eACA,CAAG,CACH,kCACA,cACA,CAAG,CACH,wCACA,mBACA,wBACA,gBACA,yCAAgD,2kDAChD,iBACA,CAAG,CACH,WACA,YACA,CAAG,CACH,SACA,gBACA,kBACA,CAAG,CACH,QACA,gBACA,kBACA,CAAG,CACH,SACA,gBACA,kBACA,CAAG,CACH,OACA,gBACA,kBACA,CAAG,CACH,QACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,gBACA,aACA,CAAG,CACH,KACA,eACA,CAAG,CACH,+BACA,eACA,CAAG,CACH,wBACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CACA,8BCpKA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,cACA,kBACA,yBACA,uEACA,eACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,cACA,qBACA,yBACA,uEACA,eACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,cACA,gBACA,eACA,CAAG,CACH,2CACA,kBACA,oBACA,CAAG,CACH,4CACA,kBACA,oBACA,CAAG,CACH,4CACA,kBACA,oBACA,CAAG,CACH,6CACA,kBACA,oBACA,CAAG,CACH,sCACA,kBACA,oBACA,CAAG,CACH,uCACA,kBACA,oBACA,CAAG,CACH,uCACA,kBACA,oBACA,CAAG,CACH,wCACA,kBACA,oBACA,CAAG,CACH,wCACA,qBACA,eACA,oBACA,mBACA,CAAG,CACH,SACA,iBACA,CAAG,CACH,QACA,iBACA,CAAG,CACH,SACA,iBACA,CAAG,CACH,OACA,iBACA,CAAG,CACH,aACA,YACA,CAAG,CACH,WACA,YACA,CAAG,CACH,UACA,YACA,CAAG,CACH,KACA,YACA,CAAG,CACH,SACA,YACA,CAAG,CACH,QACA,YACA,CAAG,CACH,UACA,YACA,CAAG,CACH,QACA,YACA,CAAG,CACH,SACA,YACA,CAAG,CACH,UACA,YACA,CAAG,CACH,aACA,YACA,CAAG,CACH,QACA,YACA,CAAG,CACH,MACA,YACA,CAAG,CACH,SACA,YACA,CAAG,CACH,UACA,YACA,CAAG,CACH,UACA,gBACA,kCACA,CAAG,CACH,QACA,gBACA,mCACA,aACA,CAAG,CACH,KACA,gBACA,kCACA,CAAG,CACH,+BACA,gBACA,kCACA,CAAG,CACH,wBACA,gBACA,kCACA,CAAG,CACH,QACA,YACA,CAAG,CACH,cACA,YACA,CAAG,CACH,SACA,YACA,CAAG,CACH,UACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,OACA,YACA,CAAG,CACH,WACA,aACA,iBACA,CAAG,CACH,UACA,YACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CACA,8BCnMA,qCAA6C,CAC7C,QACA,CAAC,EACD,SAAkB,QACH,SAAkB,EACjC,4BACA,gBACA,gBACA,iBACA,iBACA,qBACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,qGACA,iBACA,gBACA,kBACA,sBACA,0BACA,CAAG,CACH,2BACA,gBACA,gBACA,iBACA,iBACA,qBACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,qGACA,iBACA,gBACA,kBACA,sBACA,2BACA,cACA,iBACA,gBACA,oBACA,CAAG,CACH,2CACA,gBACA,oBACA,CAAG,CACH,4CACA,gBACA,oBACA,CAAG,CACH,4CACA,gBACA,oBACA,CAAG,CACH,6CACA,gBACA,oBACA,CAAG,CACH,sCACA,gBACA,oBACA,CAAG,CACH,uCACA,gBACA,oBACA,CAAG,CACH,uCACA,gBACA,oBACA,CAAG,CACH,wCACA,gBACA,oBACA,CAAG,CACH,wCACA,qBACA,gBACA,oBACA,CAAG,CACH,IACA,gBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,0BACA,iBACA,CAAG,CACH,aACA,yBACA,CAAG,CACH,aACA,eACA,CAAG,CACH,SACA,yBACA,CAAG,CACH,KACA,wBACA,CAAG,CACH,mBACA,wBACA,CAAG,CACH,SACA,wBACA,CAAG,CACH,SACA,wBACA,CAAG,CACH,QACA,gBACA,iBACA,CAAG,CACH,QACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,0BACA,eACA,CAAG,CACH,sCACA,eACA,CAAG,CACH,KACA,gBACA,2BACA,iBACA,CAAG,CACH,UACA,wBACA,CAAG,CACH,OACA,oBACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,UACA,oBACA,CAAG,CACH,SACA,oBACA,CAAG,CACH,qCACA,eACA,CAAG,CACH,0DACA,eACA,CAAG,CACH,+BACA,eACA,CAAG,CACH,oDACA,eACA,CAAG,CACH,wDACA,eACA,CAAG,CACH,2DACA,eACA,CAAG,CACH,6DACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,+BACA,iBACA,CAAG,CACH,wBACA,iBACA,CAAG,CACH,kCACA,iBACA,6EACA,CAAG,CACH,yCACA,YACA,CAAG,CACH,kDACA,YACA,CACA,8BC7OA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,gBACA,sCACA,8EACA,gBACA,iBACA,iBACA,qBACA,mBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,gBACA,sCACA,8EACA,gBACA,iBACA,iBACA,qBACA,mBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,cACA,gBACA,gBACA,qBACA,oBACA,CAAG,CACH,wCACA,qBACA,eACA,mBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,cACA,YACA,CAAG,CACH,UACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,cACA,gBACA,0BACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,WACA,gBACA,iBACA,CAAG,CACH,QACA,gBACA,aACA,CAAG,CACH,KACA,eACA,CAAG,CACH,+BACA,eACA,CAAG,CACH,wBACA,eACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,QACA,eACA,CAAG,CACH,cACA,eACA,CACA,8BC5JA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,gBACA,uEACA,eACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,gBACA,uEACA,eACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,cACA,gBACA,gBACA,qBACA,yBACA,CAAG,CACH,2CACA,oBACA,CAAG,CACH,4CACA,oBACA,CAAG,CACH,4CACA,oBACA,CAAG,CACH,6CACA,oBACA,CAAG,CACH,sCACA,oBACA,CAAG,CACH,uCACA,oBACA,CAAG,CACH,uCACA,oBACA,CAAG,CACH,wCACA,oBACA,CAAG,CACH,wCACA,0BACA,eACA,mBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,WACA,YACA,CAAG,CACH,UACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,gBACA,qBACA,aACA,CAAG,CACH,QACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,WACA,gBACA,iBACA,CAAG,CACH,UACA,eACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CACA,8BC3KA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,gBACA,gEACA,kBACA,uEACA,eACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,gBACA,gEACA,kBACA,uEACA,eACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,cACA,gBACA,gBACA,yCACA,kEACA,CAAG,CACH,wCACA,yCACA,mEACA,eACA,oBACA,mBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,iBACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,aACA,YACA,CAAG,CACH,KACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,gBACA,oEACA,CAAG,CACH,UACA,gBACA,oEACA,CAAG,CACH,iBACA,eACA,CAAG,CACH,SACA,gBACA,qFACA,CAAG,CACH,eACA,gBACA,qFACA,CAAG,CACH,UACA,gBACA,qFACA,CAAG,CACH,cACA,gBACA,oFACA,CAAG,CACH,UACA,gBACA,+DACA,CAAG,CACH,QACA,gBACA,+DACA,CAAG,CACH,WACA,gBACA,mEACA,iBACA,CAAG,CACH,QACA,gBACA,kEACA,CAAG,CACH,SACA,gBACA,kEACA,CAAG,CACH,kBACA,gBACA,kEACA,CAAG,CACH,SACA,gBACA,kEACA,CAAG,CACH,QACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,gBACA,aACA,CAAG,CACH,KACA,eACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,UACA,aACA,CACA,8BC1LA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,aACA,kBACA,uEACA,eACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,aACA,qBACA,uEACA,eACA,iBACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,cACA,gBACA,eACA,CAAG,CACH,wCACA,qBACA,eACA,oBACA,mBACA,CAAG,CACH,SACA,YACA,CAAG,CACH,iBACA,YACA,CAAG,CACH,QACA,YACA,CAAG,CACH,SACA,YACA,CAAG,CACH,OACA,YACA,CAAG,CACH,aACA,YACA,CAAG,CACH,KACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,iBACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,WACA,gBACA,iBACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,gBACA,aACA,CAAG,CACH,KACA,eACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,UACA,aACA,CACA,8BC5JA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,cACA,kBACA,uEACA,eACA,iBACA,gCACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,cACA,4BACA,uEACA,eACA,iBACA,gCACA,iBACA,qBACA,mBACA,kBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,oBACA,oCACA,qCACA,gBACA,gBACA,aACA,CAAG,CACH,wCACA,4BACA,oBACA,qCACA,2CACA,2BACA,mBACA,CAAG,CACH,2CACA,oCACA,iBACA,CAAG,CACH,sCACA,oCACA,iBACA,CAAG,CACH,4CACA,kBACA,mCACA,CAAG,CACH,4CACA,kBACA,mCACA,CAAG,CACH,6CACA,kBACA,mCACA,CAAG,CACH,uCACA,kBACA,mCACA,CAAG,CACH,uCACA,kBACA,mCACA,CAAG,CACH,wCACA,kBACA,mCACA,CAAG,CACH,SACA,uBACA,CAAG,CACH,QACA,uBACA,CAAG,CACH,SACA,uBACA,CAAG,CACH,OACA,uBACA,CAAG,CACH,aACA,YACA,CAAG,CACH,WACA,YACA,CAAG,CACH,KACA,yBACA,CAAG,CACH,SACA,yBACA,CAAG,CACH,QACA,yBACA,CAAG,CACH,SACA,yBACA,CAAG,CACH,SACA,yBACA,CAAG,CACH,UACA,yBACA,CAAG,CACH,UACA,yBACA,CAAG,CACH,UACA,yBACA,CAAG,CACH,QACA,yBACA,CAAG,CACH,SACA,yBACA,CAAG,CACH,aACA,yBACA,CAAG,CACH,cACA,yBACA,CAAG,CACH,QACA,yBACA,CAAG,CACH,MACA,yBACA,CAAG,CACH,UACA,yBACA,CAAG,CACH,QACA,0BACA,aACA,CAAG,CACH,KACA,yBACA,CAAG,CACH,+BACA,yBACA,CAAG,CACH,wBACA,yBACA,CAAG,CACH,UACA,yBACA,CAAG,CACH,UACA,yBACA,CAAG,CACH,QACA,0BACA,CAAG,CACH,OACA,yBACA,CAAG,CACH,WACA,0BACA,iBACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,+BACA,yBACA,CAAG,CACH,qCACA,yBACA,CAAG,CACH,uCACA,yBACA,CAAG,CACH,IACA,oBACA,UACA,CAAG,CACH,kCACA,sFACA,0CACA,uCACA,mBACA,UACA,CAAG,CACH,yCACA,qCACA,yBACA,CAAG,CACH,kDACA,qCACA,yBACA,CACA,8BCzNA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,gBACA,uFACA,gBACA,iBACA,iBACA,qBACA,mBACA,gBACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,2BACA,gBACA,uFACA,gBACA,iBACA,iBACA,qBACA,mBACA,gBACA,mBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,cACA,gBACA,gBACA,2BACA,uBACA,CAAG,CACH,kCACA,cACA,CAAG,CACH,2CACA,oBACA,CAAG,CACH,4CACA,oBACA,CAAG,CACH,4CACA,oBACA,CAAG,CACH,6CACA,oBACA,CAAG,CACH,sCACA,oBACA,CAAG,CACH,uCACA,oBACA,CAAG,CACH,uCACA,oBACA,CAAG,CACH,wCACA,oBACA,CAAG,CACH,wCACA,eACA,iBACA,oBACA,qBACA,0BACA,CAAG,CACH,SACA,gBACA,kBACA,CAAG,CACH,QACA,gBACA,kBACA,CAAG,CACH,SACA,gBACA,kBACA,CAAG,CACH,OACA,gBACA,kBACA,CAAG,CACH,WACA,YACA,CAAG,CACH,QACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,wCACA,eACA,CAAG,CACH,iCACA,eACA,CAAG,CACH,gCACA,eACA,CAAG,CACH,+BACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,mCACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,uCACA,eACA,CAAG,CACH,WACA,aACA,iBACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,cACA,eACA,CAAG,CACH,kCACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,qBACA,qBACA,eACA,CAAG,CACH,iDACA,0BACA,CAAG,CACH,kDACA,eACA,CAAG,CACH,kCACA,4FACA,CACA,8BCjNA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,2BACA,gBACA,gBACA,kBACA,6FACA,gBACA,iBACA,iBACA,qBACA,mBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,cACA,gBACA,gBACA,oBACA,CAAG,CACH,4BACA,gBACA,gBACA,kBACA,6FACA,gBACA,iBACA,iBACA,qBACA,mBACA,iBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,cACA,CAAG,CACH,sCACA,kBACA,oBACA,CAAG,CACH,uCACA,kBACA,oBACA,CAAG,CACH,wCACA,kBACA,oBACA,CAAG,CACH,yCACA,kBACA,oBACA,CAAG,CACH,wCACA,oBACA,oBACA,gBACA,oBACA,CAAG,CACH,cACA,YACA,CAAG,CACH,uBACA,eACA,CAAG,CACH,gBACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,mDACA,eACA,CAAG,CACH,0DACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,KACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,MACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,mCACA,0BACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,kBACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,eACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,uBACA,eACA,CAAG,CACH,0BACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,kBACA,eACA,CAAG,CACH,wBACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,6BACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,cACA,eACA,CAAG,CACH,oBACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,eACA,eACA,CAAG,CACH,yCACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,4BACA,eACA,CAAG,CACH,4BACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,mBACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,0BACA,eACA,CAAG,CACH,sCACA,eACA,CAAG,CACH,WACA,eACA,CAAG,CACH,qCACA,eACA,CAAG,CACH,sCACA,eACA,CAAG,CACH,8BACA,eACA,CAAG,CACH,+BACA,eACA,CAAG,CACH,qCACA,eACA,CAAG,CACH,sCACA,eACA,CAAG,CACH,8BACA,eACA,CAAG,CACH,+BACA,eACA,CAAG,CACH,8BACA,eACA,CAAG,CACH,+BACA,eACA,CAAG,CACH,+BACA,eACA,CAAG,CACH,gCACA,eACA,CAAG,CACH,iCACA,eACA,CAAG,CACH,qCACA,eACA,CAAG,CACH,sDACA,oBACA,UACA,CAAG,CACH,kCACA,qBACA,kCACA,UACA,CACA,8BC7RA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,sBACA,kBACA,qDACA,gBACA,gBACA,iBACA,CAAG,CACH,2BACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,sBACA,kBACA,qDACA,gBACA,gBACA,kBACA,qBACA,eACA,mBACA,2BACA,gBACA,mBACA,CAAG,CACH,kCACA,cACA,CAAG,CACH,wCACA,qBACA,8BACA,oBACA,8BACA,2CACA,CAAG,CACH,gCACA,iBACA,eACA,CAAG,CACH,WACA,YACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,aACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,QACA,gBACA,aACA,CAAG,CACH,KACA,eACA,CAAG,CACH,+BACA,eACA,CAAG,CACH,wBACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,UACA,eACA,CAAG,CACH,QACA,eACA,CAAG,CACH,cACA,eACA,CAAG,CACH,SACA,eACA,CAAG,CACH,WACA,gBACA,iBACA,CAAG,CACH,SACA,eACA,CAAG,CACH,OACA,eACA,CAAG,CACH,WACA,gBACA,iBACA,CAAG,CACH,aACA,YACA,CAAG,CACH,UACA,YACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,aACA,eACA,CAAG,CACH,QACA,kBACA,CAAG,CACH,wBACA,eACA,CAAG,CACH,mCACA,eACA,CAAG,CACH,yCACA,eACA,CAAG,CACH,0CACA,eACA,CAAG,CACH,qCACA,eACA,CAAG,CACH,sCACA,eACA,CAAG,CACH,qDACA,eACA,CAAG,CACH,kCACA,YACA,sCACA,CAAG,CACH,yCACA,sBACA,2CACA,cACA,aACA,iBACA,8CACA,CAAG,CACH,kDACA,sBACA,2CACA,cACA,aACA,iBACA,8CACA,CACA,8BCvLA,qCAA6C,CAC7C,QACA,CAAC,EAAC,EACF,OAAkB,QACH,SAAkB,EACjC,4BACA,gBACA,uBACA,iBACA,iBACA,qBACA,mBACA,kBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,kBACA,gBACA,cACA,CAAG,CACH,2BACA,cACA,uBACA,iBACA,iBACA,qBACA,mBACA,kBACA,eACA,aACA,YACA,qBACA,kBACA,iBACA,eACA,kBACA,gBACA,iBACA,qBACA,cACA,eACA,CAAG,CACH,6BACA,sBACA,CAAG,CACH,wCACA,cACA,qBACA,gBACA,qBACA,mBACA,CAAG,CACH,2CACA,kBACA,mCACA,CAAG,CACH,4CACA,kBACA,mCACA,CAAG,CACH,4CACA,kBACA,mCACA,CAAG,CACH,6CACA,kBACA,mCACA,CAAG,CACH,sCACA,kBACA,mCACA,CAAG,CACH,uCACA,kBACA,mCACA,CAAG,CACH,uCACA,kBACA,mCACA,CAAG,CACH,wCACA,kBACA,mCACA,CAAG,CACH,SACA,0BACA,kBACA,CAAG,CACH,QACA,0BACA,kBACA,CAAG,CACH,OACA,0BACA,kBACA,CAAG,CACH,aACA,0BACA,CAAG,CACH,cACA,0BACA,CAAG,CACH,SACA,gCACA,kBACA,CAAG,CACH,QACA,0BACA,CAAG,CACH,UACA,0BACA,CAAG,CACH,KACA,0BACA,CAAG,CACH,UACA,0BACA,CAAG,CACH,SACA,0BACA,CAAG,CACH,SACA,yBACA,CAAG,CACH,QACA,0BACA,CAAG,CACH,UACA,uBACA,CAAG,CACH,UACA,uBACA,CAAG,CACH,SACA,uBACA,CAAG,CACH,MACA,uBACA,CAAG,CACH,UACA,2BACA,kBACA,CAAG,CACH,SACA,2BACA,kBACA,CAAG,CACH,aACA,2BACA,kBACA,CAAG,CACH,UACA,2BACA,kBACA,CAAG,CACH,QACA,0BACA,CAAG,CACH,KACA,0BACA,CAAG,CACH,QACA,0BACA,CAAG,CACH,+BACA,0BACA,CAAG,CACH,wBACA,0BACA,CAAG,CACH,cACA,0BACA,CAAG,CACH,QACA,0BACA,CAAG,CACH,cACA,0BACA,CAAG,CACH,OACA,0BACA,CAAG,CACH,WACA,2BACA,iBACA,CAAG,CACH,UACA,0BACA,CAAG,CACH,MACA,iBACA,CAAG,CACH,QACA,kBACA,CACA,kGCzMA,MAAe,CACf,WACA,CAAC,2BCOM,cACA,WACA,aACA,YACA,YA6FP,cAGA,gBAGA,yBAGA,IALA,EAMA,EADA,EAFA,GA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ACA,8BACA,QACA,CACA,QACA,yFACA,CAAO,CACP,CACA,kEACA,EACA,CACA,qBACA,QACA,6cACA,8BACA,8CACA,sBAA2B,MAC3B,WACA,4BACA,CACA,CAzBA,YACA,oBACA,qCCCA,cAwBG,EAtBH,gBACA,WAAkB,eAAe,UACjC,QACA,8CACA,SACA,CAAO,CACP,kBAAyB,IAAI,IAC7B,cACA,iCACA,aACA,CAAO,CACP,UACA,yCACA,aACA,CAAO,CACP,UACA,6CACA,aACA,CAAO,CACP,QACA,+VACA,CAEA,CA5BA,YACA,qBACA,oCCCA,cAEA,gBACA,kCACA,QACA,0DACA,SACA,CAAK,CACL,UACA,QACA,wEACA,aACA,CAAK,CACL,SAEA,mSACA,kjBACA,CACA,OACA,gFACA,8BACA,wEACA,aACA,4rCACA,2EACA,sBAA2B,GAAG,GAC9B,CACA,CA9BA,YACA,mBACA,qCCCA,cACA,oBACA,wCACA,QACA,gCACA,SACA,CAAK,CACL,mBACA,mCACA,UACA,cACA,QACA,OACA,iDACA,cACA,mBACA,CAAS,CACT,OACA,qBAA+B,EAAE,GAAG,aAAa,QAAQ,SAAS,cAClE,oBACA,CACA,CAAK,CACL,QACA,WAAkB,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EACvE,UACA,QACA,SAEA,YAAuB,aAAa,GACpC,aACA,CAAS,CACT,gBAAyB,EACzB,CACA,CAAK,CACL,SACA,QACA,sEAA8E,IAC9E,cACA,QACA,kCACA,mBACA,CACA,CAAK,CACL,YACA,yBACA,eACA,CAAK,CACL,OACA,qBACA,mBACA,CAAK,CACL,QACA,gHACA,YACA,CACA,6BACA,4BACO,CACP,CACA,6BACA,4BAEA,CACA,4BACA,iCACA,eAAoB,MACpB,EACA,kCAtEA,YACA,uBACA,yCCCA,cACA,wBACA,cACA,oBACA,QACA,urOACA,cACA,gBACA,CAAK,CACL,mBACA,QACA,sNACA,QACA,mBACA,mBACA,QACA,mBACA,CAAW,CACX,WACA,CAAS,CACT,6BACA,iBACA,QACA,gBACA,QACA,oBACA,QACA,gBAAiC,mBAAmB,EACpD,CACA,CACA,CAAW,CACX,kBACA,CAAS,CACT,eACA,CAAO,CACP,WACA,CAAK,CACL,mBACA,2BACA,eACA,CAAK,CACL,QACA,oBACA,QACA,gBAAyB,mBAAmB,EAC5C,CACA,CAAK,CACL,gBAAqB,mBAAmB,GACxC,uBACA,CACA,CArDA,YACA,2BACA,2CCHA,MAAmB,EAAQ,KAAU,EAIrC,UAJ0B,CAI1B,GACA,cACG,YACH,MACA,kVAAwV,uhBACxV,EACA,kJACA,aACA,WACA,kBAIA,cACA,cACA,qCACA,QACA,CAAS,EACT,IAEA,CACA,OACA,UACA,uBAA8B,OAC9B,CACA,mBACA,kCACA,gCACA,KACA,kBAA2B,+BAC3B,cACA,UACA,qBACA,uBACO,CACP,YACA,iBACA,mBACA,CAAO,CACP,cACA,CACA,UACA,mGACA,QAEA,cACA,QACA,CAAS,CACT,CAEA,UACA,+CAEA,cACA,QACA,CAAS,CACT,CAEA,qCAA8D,KAAK,aACnE,QACA,EACA,CACA,SACA,+BACA,cACA,kBACA,CAAO,CACP,UACA,iCACA,8BACA,0CACA,SACA,0DAAkE,IAAI,IACtE,uBAA8B,IAC9B,CACA,CAAG,GACH,CA/EA,YACA,qBACA,qCCCA,cACA,iBACA,0BACA,QACA,6BACA,SACA,CAAK,CACL,OACA,4FACA,mCACA,mBACA,mBACA,gBACA,CAAK,CACL,mBACA,2EACA,oBACA,wBACA,gBACA,CAAK,CACL,mBACA,sBACA,gBACA,CAAK,CACL,YACA,YACA,eACA,CAAK,CACL,iBAAsB,SACtB,KACA,YAAmB,UACnB,eACA,CACA,CACA,CArCA,YACA,oBACA,qCCCA,cACA,yBACA,SAEA,0DACA,OACA,MACA,CACA,+BACA,mDACA,UACA,yBACA,8YACA,CACA,QACA,uiBACA,aACA,ihBACA,gBAAqB,WACrB,CACA,CAvBA,YACA,4BACA,qCCCA,cACA,iBACA,kCACA,UACA,QACA,IAAY,gEACZ,cACA,SACA,CAAK,CACL,QACA,2CACA,SACA,CAAK,CACL,YACA,2CACA,SACA,CAAK,CACL,kBACA,SACA,CACA,yCACA,aACA,CAAO,CACP,wOACA,CACA,iDACA,aACA,CAAO,CACP,CACA,2CACA,aACA,CAAO,CACP,CACA,0BAAmC,GACnC,EACA,CACA,gCACA,8BACA,OACA,eACA,gBACA,CAAK,CACL,QACA,aACA,iBACA,wDACA,CACA,aAAkB,GAAG,iCACrB,sBAA2B,OAAO,EAClC,CACA,CArDA,YACA,oBACA,2CCHA,MAAmB,EAAQ,KAAU,EAIrC,UAJ0B,CAI1B,GACA,cACA,8CACA,QACA,yNACA,SACA,6NACA,QACA,gyGACA,CAAG,EACH,oCAbA,YACA,wBACA,0CCCA,cACA,kBACA,cACA,QACA,2CACA,SACA,CAAK,CACL,8CACA,2BACA,gBAAqB,GACrB,CACA,CAdA,YACA,qBACA,qCCCA,eACG,YACH,OACA,QACA,mGACA,cACA,QACA,QACA,uCACA,QACA,yBACA,CACA,CAAS,CACT,aACA,4BACA,QACA,mBACA,CACA,CAAS,CACT,2BACA,oBACA,wBACA,aAEA,0BACA,CACA,EACA,wBACA,iBACA,cAAuB,GAAG,2CAC1B,eACA,CAAO,CACP,OACA,cAAuB,GAAG,0CAA0C,GAAG,IACvE,QACA,YACA,QACA,iHACA,kBACA,CAAW,CACX,aACA,0BACA,aACA,CACA,CADY,CAEL,CACP,qBACA,cAAuB,GAAG,4CAC1B,QACA,uBACA,CACA,CAAO,CAEP,iBACA,aAAsB,GAAG,IAAI,GAAG,4CAChC,QACA,qCACA,CACA,CAAO,CAEP,eACA,QACA,SAAmB,GAAG,GAAG,GAAG,GAAG,GAAG,4CAClC,QACA,iDACA,CACA,CAAO,CAEP,oBACA,QACA,kBAA4B,IAAI,IAAI,IAAI,mCACxC,cACA,mBACA,CAAO,CACP,cACA,gCAAyC,IAAI,GAAG,WAChD,cACA,cACA,CAAO,CACP,kBACA,8DAAuE,EAAE,KACzE,aACA,CAAO,CACP,mBACA,OACA,QACA,qBAA+B,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,KAAK,oBACvE,kBACA,QACA,8CACA,CACA,CAAO,CACP,mBACA,yDACA,WACA,CAAO,CACP,aACA,IACA,YAAqB,GAAG,IACxB,mBACA,CAAO,CACP,cACA,YAAqB,GAAG,IACxB,mBACA,CAAO,CACP,YACA,oDACA,eACA,CAAO,CACP,SACA,CACA,2BACA,cACA,cACA,CAAS,CACT,CACA,gBACA,cACA,EACA,CACA,OACA,QACA,yFACA,QACA,2BACA,mBACA,YACA,kEACA,gBAEA,CACA,CAAO,CACP,QAYA,QACA,gbAA0b,GAAG,QAAQ,6GACrc,cACA,QACA,aACA,KACA,0CACA,QACA,6CACA,CACA,CAAW,CACX,iBACA,YAAyB,IAAI,GAC7B,QACA,UACA,aAA8B,eAC9B,aACA,CAAe,CACf,4BAA2C,IAC3C,gBAA+B,GAAG,MAClC,CACA,CAAW,CACX,QACA,4BACA,QACA,uCACA,CACA,CAAW,CACX,MACA,wBACA,QACA,2BACA,CACA,CAAW,CACX,YACA,YAAwB,IAAI,kCAAkC,IAAI,0BAClE,CACA,CAAO,CACP,aACA,yBACA,eACA,CAAO,CACP,mBAA0B,KAAK,GAC/B,qBACA,oBACA,cACA,mBACA,CACA,CAAK,CACL,cACA,eAEA,QADA,KACA,eAAuC,IAAO,IAC9C,gBAEA,QACA,CACA,mCACA,mCAEA,8CACA,4CACA,sBACA,oOAEA,+BACA,kKAEA,sBACA,mCAEA,+BACA,mBACA,kDAAkE,OAElE,CAAK,EACL,sCACG,GACH,CAjOA,YACA,yBACA,2CCCA,cACA,qBACA,UAAe,IACf,WACA,qBACA,gBACA,CAAK,CACL,2CACA,WACA,QACA,0cACA,eACA,CAAK,CACL,cACA,qBAA4B,IAAI,KAChC,cACA,CAAK,CACL,iBACA,qBACA,cACA,CAAK,CACL,kBACA,oBACA,cACA,CAAK,CACL,UACA,qBACA,gBACA,CAAK,CACL,oBACA,CACA,CAlCA,YACA,wBACA,qCCCA,cACA,sBACA,SACA,UAAiB,IACjB,SACA,CAAK,CACL,QACA,4CACA,SACA,CAAK,CACL,wEACA,WACA,qBACA,gBACA,CAAK,CACL,cACA,mCACA,gBACA,CAAK,CACL,WACA,QACA,8jCACA,eACA,CAAK,CACL,cACA,qBAA4B,IAAI,KAChC,cACA,CAAK,CACL,iBACA,qBACA,cACA,CAAK,CACL,kBACA,oBACA,cACA,CAAK,CACL,UACA,6BACA,gBACA,CAAK,CACL,iDACA,oBACA,CACA,CA9CA,YACA,yBACA,2CCHA,MAAsB,EAAQ,KAAa,EAI3C,UAJ6B,CAI7B,GACA,cACA,gDACA,kBACA,qBACA,YACA,QACA,kBACA,QACA,4HACA,WACA,CAAS,CACT,mCAEA,CAAK,CACL,WACA,iBACA,YACA,QACA,WACA,uBAAkC,IAAI,KACtC,WACA,CAAS,CACT,uBACA,CACA,CACA,CAAG,EACH,+BACA,mGACA,yBACA,SACA,cACA,CACA,uCACK,CACL,6CAEA,6CACA,eACA,2BACA,wBAEA,CAAG,EACH,yBACA,SACA,sCACA,CACA,cACA,QACA,kEACA,cACA,uBACA,6BACA,CACA,EAEA,CA3DA,YACA,uBACA,oCCCA,cAEA,wBACA,SACA,CACA,gBAAyB,IACzB,aACA,CAAO,CACP,CACA,QACA,uEACA,cACA,SACA,EACA,CACA,KAEA,2CACA,aACA,CAAK,CACL,4BACA,iBACA,qEACA,SACA,uGACA,6BACA,SACA,4jEACA,SACA,kvDACA,QACA,ovBACA,OACA,iuCACA,UACA,+bACA,QACA,unEACA,gBAAqB,kCACrB,gBAAqB,SACrB,CACA,CA5CA,YACA,2BACA,qCCCA,cACA,oBACA,SACA,EAAQ,IACR,CAEA,QACA,sEACA,aACA,EACA,CACA,KACA,2DACA,aACA,CAAK,CACL,QACA,0CACA,UACA,QACA,uBACA,CACA,CAAK,CACL,WACA,4BACA,cACA,eACA,CAAK,CACL,uBAEA,mBACA,QACA,yOACA,yDACA,8BACA,wDACA,yBACA,CACA,CAxCA,YACA,uBACA,qCCCA,eAEG,YAMH,kBACA,cALA,qCACA,OAIA,CAJA,KACO,EAGP,MACA,CACA,8CA0DA,GAzDA,CAEA,iFACA,OACA,+DACA,qNACA,OACA,6BACA,gIACA,OACA,oCACA,0HACA,OACA,+LACA,OACA,wFACA,OACA,mIACA,OACA,qDACA,kDACA,gEACA,WACA,CAEA,4BACA,sBACA,gEACA,0CACA,sLACA,OACA,kFACA,OACA,WACA,CAEA,wIACA,OACA,uRACA,OACA,yEACA,8NACA,OACA,uFACA,OACA,uMACA,OACA,oKACA,OACA,mRACA,OACA,kIACA,OACA,qBACA,2NACA,OACA,WACA,UACA,uBACA,SACA,CAGA,QACA,uFACA,cACA,SACA,CAAS,CACT,CAEA,0CACA,cACA,SACA,CAAS,CACT,CAEA,wBACA,cACA,SACA,EACA,CAEA,UACA,oDACA,QACA,cACA,CACA,CAAO,CAEP,kBACA,oCACA,cACA,QACA,iBACA,eACA,mBACA,CAAW,CACX,gBACA,CACA,CAAO,CACP,QACA,CAEA,yBACA,SACA,CAAS,CACT,CAEA,8CACA,UACA,QACA,UAEA,QACA,oGACA,CACA,CACA,EACA,CAEA,yBACA,qCACA,QACA,sEACA,uEAEA,oBACA,0CACA,gBACA,CAAO,CACP,aACA,iDACA,eACA,CAAO,CAEP,UACA,gDACA,aACA,CAAO,CAEP,qBACA,qCACA,cACA,mBACA,CAAO,CACP,OACA,gBAAwB,EAAE,SAAS,EAAE,8CACrC,2CACA,gBAAuB,OAAO,IAC9B,EACA,qCACG,GACH,CAvKA,YACA,yBACA,0CCCA,cAGA,yBACA,SACA,kCACA,SACA,CAAK,CACL,QACA,yCACA,cACA,SACA,CAAK,CACL,YACA,oCACA,UACA,gBACA,CAAK,CACL,uBACA,+BACA,UACA,gBACA,CAAK,CACL,YACA,sBACA,SACA,CAAK,CACL,cACA,+DACA,cACA,SACA,CAAK,CACL,QACA,qNACA,iCACA,QACA,CACA,QACA,kIACA,aACA,CAAO,CACP,yBACA,CACA,aACA,sBAA2B,MAAM,GACjC,EACA,wCACA,CAlDA,YACA,wBACA,qCCCA,eACG,YAKH,MACA,0oCACA,GACA,oCACA,cACA,oBAEA,WACA,EACA,GACA,OACA,aACA,wBACA,gBACA,CAAO,CACP,UAEA,CACA,8BACA,UACA,QAEA,UACA,CACA,+BACA,aACA,CAAe,CACf,UACA,CACA,OACA,8DAEA,SACA,2DAEA,4BAAyC,CACzC,CACA,CAAS,CACT,CACA,6CACA,UACA,QACA,0BACA,CACA,CAAS,CACT,CACA,aAAwB,GAAG,IAAI,EAC/B,UACA,QACA,4CACA,qBACA,aACA,oBAAmC,MACnC,cACA,gBACA,CACA,CACA,CAAS,CACT,qBACA,CAEA,OACA,8BAAsC,IAAI,cAAc,EAAE,cAAc,EAAE,cAAc,IAAI,EAC5F,CACA,mBACA,SACA,qBACA,iBACA,CAAO,CACP,SACA,gBAAyB,UACzB,aACA,CAAO,CACP,iBAKA,CAEA,uDAAkE,GAClE,cACA,gBACA,CAAS,CACT,CAEA,mCAA8C,GAC9C,gBACA,EACA,CAEA,iBACA,8CACA,iBACA,aACA,CAAO,CAGP,eACA,gBAAyB,wBACzB,QACA,aACA,wBAAqC,iBACrC,cACA,gBACA,CACA,CAAS,CACT,iBACA,aACA,CAAO,CACP,QAEA,CACA,2DACA,cACA,UACA,QACA,CAAS,CAET,CACA,mEACA,cACA,UACA,QACA,MACA,CACA,CAAS,CACT,CAEA,QACA,0EACA,cACA,UACA,QACA,CAAS,CACT,CAEA,4BACA,cACA,SACA,CAAS,CACT,CAEA,mCACA,UACA,QACA,gBAEA,EACA,CACA,aACA,yBACA,gBACA,CAAO,CACP,oBACA,UACA,QACA,QAAkB,6iDAA6iD,MAC/jD,aACA,CAAO,CACP,SACA,QACA,QAAkB,kGAAkG,MACpH,aACA,CAAO,CAEP,SACA,QACA,QAAkB,+RAA+R,MACjT,cAEA,kBACA,CAAO,CACP,SACA,gBAAyB,mCAAmC,MAC5D,aACA,CAAO,CACP,mBACA,kBACA,iBACA,CAAO,CACP,UAEA,QACA,8EACA,QACA,mBACA,cACA,iBACA,CACA,CACA,CAAO,CACP,oCAA2C,IAAI,KAC/C,QACA,6CACA,aACA,CACA,EACA,0BAmBA,QAjBA,GACA,UACA,gBACA,gBACA,cACA,SACA,cACA,WACA,UACA,UACA,UACA,kBACA,WACA,cACA,SACA,CACA,uBACA,IAAoB,WAAuB,IAC3C,+BAEA,kCACA,CAAG,GACH,CAvOA,YACA,qBACA,2CCCA,cACA,mBACA,SACA,yBACA,QACA,eACA,CACA,CAAK,CACL,QACA,+BAAsC,kBACtC,SACA,CAAK,CACL,oDACA,QACA,smBACA,SACA,44BACA,kEACA,gBAAqB,KACrB,CACA,CAvBA,YACA,sBACA,qCCCA,kBAEA,EACA,EAOA,EACA,EATA,uBACA,GACA,uDACA,kBACA,QACA,eACA,CACA,EACA,4BACA,kBACA,mBACA,SACA,SACA,CACA,qEACA,aACA,EACA,CACA,OACA,gBACA,gBACA,CAAO,CACP,SACA,CAEA,QACA,2FACA,cACA,QACA,gCACA,SACA,YACA,WACA,SACA,oBACA,CACA,CAAS,CACT,CAEA,QACA,mOACA,cACA,QACA,QACA,4DACA,SACA,YACA,WACA,SACA,iDACA,CACA,CAAS,CACT,CAEA,sCACA,cACA,QACA,kBACA,CACA,CAAS,CACT,CAEA,QACA,wGACA,cACA,QACA,kBACA,SACA,YACA,+CACA,SACA,2CACA,oBACA,CACA,CAAS,CACT,CAEA,QACA,uFACA,cACA,QACA,iBACA,SACA,YACA,OACA,sBACA,cACA,gBACA,CAAa,CACb,WACA,SACA,aACA,CACA,EACA,CACA,gBACA,mBACA,CAEA,CAxGA,YACA,sBACA,qCCCA,cACA,oBACA,KACA,QACA,wHACA,QACA,KACA,0BACA,QACA,oBACA,CACA,CAAS,CACT,cACA,8CACA,QACA,aACA,KACA,CACA,2BACA,aACA,EACA,CAEA,CAAS,CACT,iBACA,uBACA,CACA,CACA,EACA,wCACA,CAjCA,YACA,uBACA,+CCCA,cAEA,mBACA,SACA,CAEA,0CACA,cACA,SACA,CAAO,CACP,CAEA,2BACA,cACA,SACA,EACA,CACA,UACA,CACA,8CACA,aACA,CAAO,CACP,CACA,sCAA+C,6BAC/C,cACA,SACA,EACA,CACA,QACA,CACA,6BACA,SACA,CAAO,CACP,CACA,kCAA2C,kBAC3C,cACA,SACA,EACA,CACA,uBACA,qCAA4C,IAAI,IAAI,QAAQ,kBAC5D,cACA,UACA,QACA,eACA,aAAwB,IAAI,QAAQ,EACpC,QACA,YACA,eAA8B,aAAa,IAC3C,aACA,CAAa,CACb,kBAA+B,GAAG,EAClC,CACA,CAAS,CACT,gBACA,CACA,CAAK,CACL,UACA,qDACA,cACA,kBACA,CAAK,CACL,6BAEA,QACA,+EACA,mBACA,oCACA,oDACA,SACA,sEAA4E,EAAE,oBAC9E,gBAAqB,IAAI,OACzB,EACA,qEACA,UACA,0BA9EA,YACA,sBACA,qCCCA,cACA,6CACA,QACA,wCACA,SACA,CAAK,CACL,cACA,kCACA,wDAA8D,QAC9D,CACA,QACA,mJACA,wEACA,wBACA,CAAG,EACH,4CACA,UACA,gBACA,UACA,cACA,CACA,CAAG,CACH,CAzBA,YACA,qBACA,2CCHA,MAAiB,EAAQ,KAAQ,EAIjC,UAJwB,CAIxB,GACA,cACA,2CAAwD,EACxD,4CACA,OAIA,wCACA,QACA,GAEA,YAAuB,WAAW,GAAG,KAAK,GAAG,IAAI,KAAK,KAAK,EAC3D,QACA,WACA,cAA6B,KAAK,GAClC,mBACA,CAAa,CACb,kBACA,mCACA,iBACA,QACA,iBACA,CACA,CAAa,CACb,mBAEA,CAAS,CACT,8BACA,4BACA,oBACA,eACA,QACA,wCACA,aACA,CAAS,CACT,uBAAgC,QAChC,CACA,CACA,CAAG,CACH,CA3CA,YACA,sBACA,qCCCA,cACA,iBACA,QACA,iCACA,CAAK,CACL,YACA,mCACA,yBACA,QACA,mBACA,CACA,CAAK,CACL,MACA,yBACA,QACA,mBACA,CACA,CAAK,CACL,uBAA4B,QAAQ,EAAE,CACtC,EACA,iCAvBA,YACA,oBACA,2CCCA,cACA,uBACA,SACA,cACA,eACA,CAAK,CACL,WACA,aACA,gBACA,CAAK,CACL,WACA,YACA,eACA,CAAK,CACL,WACA,gBACA,iBACA,CAAK,CACL,gBACA,aACA,CACA,CAxBA,YACA,0BACA,qCCCA,cACA,0BACA,yBACA,uBACA,yEACA,cACA,iBACA,QACA,iBACA,sBACA,aACA,CAAS,CACT,WACA,6DACA,eACA,CAAS,CACT,YACA,kBACA,WACA,CACA,CACA,CAAK,CACL,UACA,QACA,QAAgB,2DAChB,cACA,SACA,CAAK,CACL,QACA,kCACA,SACA,CAAK,CACL,cACA,2BACA,aACA,CAAK,CACL,QACA,6GACA,8BACA,mCACA,kEACA,SACA,mEACA,iBAAsB,OAAO,GAC7B,4BACA,EACA,yEACA,yBAlDA,YACA,6BACA,qCCCA,cACA,iBACA,SACA,wBACA,cACA,QACA,+BACA,CACA,CAAK,CACL,QACA,yDACA,SACA,CAAK,CACL,mBACA,UACA,yDACA,aACA,CAAK,CACL,QACA,iUACA,UACA,8BACA,aACA,CAAK,CACL,QACA,gRACA,kEACA,mEACA,gBAAqB,IAAI,OACzB,CACA,CAjCA,YACA,oBACA,qCCCA,cAKA,iBACA,iBACA,QAGA,CACA,8BACA,SACA,CAAO,CAEP,CACA,+BACA,EACA,CACA,SACA,CAEA,QACA,yaACA,aACA,CAAO,CACP,CAEA,QACA,wMACA,EACA,CACA,QACA,QACA,oIACA,aACA,CAAK,CACL,UACA,mBACA,CACA,QACA,yLACA,aACA,CAAO,CACP,CACA,6BACA,EACA,CACA,gCAAqC,KACrC,WAGA,CACA,wBACA,cACA,UACA,iBACA,CAAO,CAQP,CACA,yBACA,cACA,UACA,iBACA,EACA,EAEA,oCA5EA,YACA,oBACA,qCCCA,cACA,0CACA,SACA,QACA,sEACA,SACA,CAAK,CACL,QAEA,8CACA,SACA,CAAK,CACL,cACA,QACA,mFACA,aACA,CAAK,CACL,QACA,oVACA,iCACA,OACA,6GAAmH,IAAI,GACvH,0DACA,CAAG,EACH,uCACA,MAEA,2CAAkD,KAAK,GACvD,SACA,CACA,CAAG,EACH,uCACA,OAGA,QACA,4FACA,cACA,UACA,iBACA,QACA,QACA,CAEA,mCACA,aACA,CAAW,CACX,qBACA,CACA,wBACA,8BACA,cACA,CACA,uCACA,aACA,CAAW,CACX,CACA,uCACA,cACA,gBACA,EACA,CAEA,WACA,wBACA,cACA,eACA,CAAS,CACT,sBACA,8BACA,YACA,oBACA,qBAEA,CACA,CACA,CAAG,EACH,yCAEA,SACA,4HACA,CAAG,EACH,6BArFA,YACA,kBACA,oCCCA,cAEA,iDACA,SACA,CACA,0CACA,cACA,QACA,YACA,6BACA,mBACA,CACA,CACA,CAAO,CACP,CACA,2BACA,cACA,SACA,EACA,CACA,QACA,gOACA,UACA,yEACA,wEACA,CACA,OACA,QACA,qFACA,cACA,CAAK,CACL,MACA,QACA,uFACA,eACA,CACA,CAAG,EACH,+CAEA,qBACA,QACA,2KACA,gBACA,CACA,CAAG,EACH,0CACA,qCAjDA,YACA,yBACA,2CCHA,MAAmB,EAAQ,KAAU,EAIrC,UAJ0B,CAI1B,GACA,cACA,mDACA,QACA,0CACA,cACA,SACA,CAAK,CACL,cACA,CAEA,0BACA,aACA,CAAO,CACP,CAEA,0CACA,aACA,EACA,CACA,QACA,gIACA,uDACA,SACA,mEAAyE,IAAI,EAC7E,CAAG,EACH,kDACA,kBAEA,gCACA,cACA,kBACA,CACA,CAAG,EACH,gDACA,wBACA,QACA,sCAA8C,MAAM,OAAO,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,KAC1F,cACA,UACA,QACA,eACA,QACA,mBAA+B,EAAE,OAAO,OAAO,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,EAC9E,cACA,QACA,4BACA,eAA8B,aAAa,IAC3C,cACA,8BACa,CACb,6BACA,cAA6B,GAAG,GAChC,mBACA,CACA,CACA,CAAS,CACT,gBACA,CACA,CACA,CAAG,CACH,CAhEA,YACA,2BACA,qCCCA,cACA,iBACA,iBACA,QACA,yDACA,SACA,CAAK,CACL,WACA,+BACA,cACA,kBACA,CAAK,CAEL,uBACA,QACA,koBACA,SACA,0lCACA,6BACA,oDACA,gBAAqB,IAAI,uBACzB,CACA,CAzBA,YACA,oBACA,qCCCA,cACA,mBACA,SACA,CACA,0CACA,cACA,SACA,CAAO,CACP,CACA,2BACA,cACA,SACA,EACA,CACA,QACA,yDACA,SACA,CAAK,CACL,cACA,QACA,2FACA,cACA,QACA,mBACA,CACA,CAAK,CACL,QACA,6GACA,6BACA,uBACA,mEACA,wDACA,gBAAqB,IAAI,OACzB,CACA,CArCA,YACA,sBACA,qCCCA,cAEA,qBACA,SACA,UAAiB,IACjB,SACA,CAAK,CACL,QACA,4BACA,SACA,CAAK,CACL,aACA,QACA,uBAA8B,wBAC9B,aACA,CAAK,CACL,SACA,QACA,8+EACA,aACA,CAAK,CACL,iCACA,QACA,QACA,+FACA,aACA,CAAK,CACL,UACA,oDACA,aACA,CAAK,CACL,mBACA,gBAAqB,SACrB,CACA,CArCA,YACA,wBACA,qCCCA,cACA,mBACA,cACA,QACA,4BACA,UACA,QACA,eACA,aAAwB,OAAO,OAAO,IAAI,KAAK,IAAI,EACnD,QACA,iBAA8B,GAAG,EACjC,cACA,CACA,CACA,CACA,CAAK,CACL,SACA,21DACA,SACA,8pMACA,QACA,uyDACA,oCACA,UACA,2EACA,SACA,+HACA,UACA,uBACA,kBACA,CAAK,CACL,2BACA,mCACA,kBAAuB,OAAO,EAC9B,CACA,CAtCA,YACA,sBACA,qCCCA,cACA,mBACA,SACA,+BACA,cACA,SACA,CAAK,CACL,QACA,sEACA,SACA,CAAK,CACL,OACA,0BACA,cACA,UACA,cACA,CAAK,CACL,cAEA,QACA,oEACA,cACA,QACA,QACA,kBACA,aACA,CAAS,CACT,kBACA,CACA,CAAK,CACL,SACA,QACA,wtIACA,aACA,CAAK,CACL,SACA,6CACA,aACA,CAAK,CACL,QACA,QACA,kFACA,aACA,CAAK,CACL,UACA,oBACA,CACA,uEACA,aACA,EACA,CACA,qBACA,CACA,CAxDA,YACA,sBACA,qCCCA,kBAGA,EACA,EADA,SAAyB,KACzB,GACA,YAAmB,GAAG,IAAI,EAC1B,gBACA,EACA,yBA6EG,EA7EH,+BACA,UACA,QAEA,CACA,iCACA,SACA,CAAS,CACT,CAEA,iCACA,UACA,QACA,eACA,CACA,EACA,CACA,QACA,mSACA,gBACA,qBACA,gBACA,CACA,CAAK,EAsDF,EArDH,iDACA,qBACA,yBACA,eACA,CAAO,CAEP,eACA,YAAqB,EAAE,WAAW,EAAE,EACpC,cACA,QACA,UACA,eACA,CACA,CACA,CAAK,EACL,kDACA,qBACA,iCACA,QACA,WACA,gBACA,mBACA,CAAW,CACX,QACA,kBACA,4BACA,8BAEA,CACA,CAAO,CAEP,oBACA,CACA,yBACA,UACA,cACA,CAAS,CACT,CACA,yBACA,UACA,eACA,QACA,eACA,CACA,EACA,CACK,EACL,mDAEA,iCACA,CAAK,EACL,mDACA,4CAvFA,YACA,6BACA,6CCCA,cACA,uBACA,SACA,qDACA,cACA,SACA,CAAK,CACL,SACA,mCACA,UACA,QACA,oBACA,QACA,qCACA,aACA,CAAS,CACT,kBACA,CACA,CAAK,CACL,UACA,mDACA,aACA,CAAK,CACL,QACA,0jBACA,6BACA,OACA,4HACA,gBAAqB,IAAI,QACzB,SACA,sHACA,YACA,wCACA,eACA,CACA,EACA,gDACA,iBACA,6CACA,UACA,QACA,eACA,QACA,mBAA+B,EAAE,KAAK,OAAO,IAAI,OAAO,IAAI,GAAG,IAAI,IAAI,IAAI,EAC3E,cACA,6BACS,CACT,eACA,CACA,CAAK,CACL,kBACA,oDACA,UACA,QACA,eACA,QACA,mBAA+B,EAAE,KAAK,OAAO,IAAI,OAAO,IAAI,GAAG,IAAI,IAAI,IAAI,EAC3E,cACA,6BACS,CACT,gBACA,CACA,CACA,CAAG,EACH,uCAnEA,YACA,0BACA,2CCCA,eACG,YAGH,QADA,uDACA,IAAoB,IAAO,IAC3B,iCACA,QACA,CAAO,EAEP,4BACA,iBACA,kBACA,QACA,8BACA,SACA,CAAO,CACP,WACA,CACA,eACA,4EACA,aACA,WACA,QACA,IAGA,UACA,kBACA,QACA,kBACA,QACA,8BACA,SACA,CAAa,CACb,aACA,4BACA,CACA,CAAS,CACT,CACA,QACA,wFACA,iBACA,EACA,CACA,QACA,0/DACA,OACA,6GACA,OACA,YAAqB,GAAG,WACxB,mBACA,CAAO,CACP,SACA,cAAsB,IAAI,GAAG,IAAI,qEACjC,yBAAgC,IAAI,GAAG,eAAe,IAAI,MAC1D,CACA,CAAG,GACH,CA5DA,YACA,oBACA,2CCHA,MAAiB,EAAQ,KAAQ,EAIjC,UAJwB,CAIxB,OAGA,EAEA,EAJA,cAEA,EACA,osBACA,wDACA,aACA,WACA,kBAGA,gBAqGG,EArGH,sBACA,cACA,CACA,eACA,+EACA,aACA,WACA,mBAIA,aACA,CAAS,CAIT,iCAEA,oCAEA,iEACA,CACA,UACA,QACA,QACA,0IAAoJ,IAAI,GACxJ,SACA,CAAO,CACP,SACA,yHACA,4BACA,CAAK,EAsEF,EArEH,uCACA,QAEA,eACA,kCACA,MACA,0DACA,IACA,iEACA,cACA,WACA,QACA,GAEA,KAEA,cACA,UACA,QACA,sBACA,aACA,gBACA,CACA,CAAO,CACP,cACA,qBAA8B,KAAK,kBACnC,eACA,SACA,CACA,CAAK,EACL,0CACA,oBACA,sEACA,QACA,gBACA,SACA,mBACA,mBACA,uBAEA,CACA,CACA,CAAK,EACL,2CACA,gBACA,aACA,mBACA,CACA,CAAK,EACL,6CAGA,eACA,QACA,uCAAiD,iBAAiB,iBAAiB,IACnF,cACA,UACA,kCAAgD,CAChD,CACA,CAAK,EAUF,EATH,uBACA,SACA,eACA,CAEA,sCACA,CAAO,CACP,+BAGA,CApHA,YACA,oBACA,2CCHA,MAAoB,EAAQ,KAAW,EAIvC,UAJ2B,CAI3B,GACA,cAEA,+CACA,SACA,4XACA,CACA,wCACA,aACA,EACA,CACA,OACA,sJACA,0CACA,kBAAyB,MAAM,IAC/B,CAAK,EACL,qDACA,WACA,mBACA,QACA,WACA,mBACA,mBACA,CAAW,CACX,WACA,oBACA,cACA,kBACA,CAAW,CACX,MACA,2BACA,2BAEA,CACA,CAAO,CACP,WACA,WAAoB,KAAK,KAAK,SAAS,EACvC,QACA,SACA,aAA0B,eAAe,IACzC,cACA,2BACW,CACX,WACA,YAAyB,GAAG,MAAM,IAAI,GACtC,gBACA,CACA,CACA,CAAO,CACP,MACA,QACA,eAAyB,IAAI,wBAAwB,IAAI,GAAG,YAAY,IAAI,EAAE,MAC9E,SACA,CACA,CAAK,CAEL,CA3DA,YACA,wBACA,qCCCA,eACG,YAWH,gBACA,4CACA,qBACA,CAAO,CACP,CAOA,kBACA,2BACA,CAQA,gBACA,YAAsB,IAAe,IACrC,mCACA,iBACA,CAAS,EAET,yCACA,CACA,CADM,KAGN,8GAEA,uCAIA,2GAAmH,6GAA6G,KAGhO,uXAEA,cACA,gDACA,CACA,WAGA,SACA,EACA,EACA,MAEA,MAEA,QAIA,IACA,EACA,MAEA,OAGA,IACA,EACA,MAEA,OAGA,cAAmC,mCACnC,wCACA,8BACA,uCACA,+CACA,EACA,EACA,EACA,4BACA,IACA,gDACA,OAEA,IACA,YAAkB,sCAClB,SAEA,yCACA,IACA,0DACA,SAEA,GACA,UACA,2BACA,EAAM,EAGN,sCAA0D,IAAI,WAC9D,iCACA,2CACA,+CACA,QACA,CACA,wCACA,cACA,SACA,CAAS,CACT,CACA,yCACA,cACA,SACA,EACA,CACA,cACA,CAGA,4CAAwD,WACxD,EACA,EACA,cACA,QACA,CAAS,CACT,CAGA,+CAA2D,WAC3D,EACA,EACA,EACA,cACA,QACA,CAAS,CACT,CAGA,kDACA,aACA,CAAS,CACT,CAIA,sCACA,EACA,EACA,EACA,cACA,QACA,CAAS,CACT,CAIA,+CACA,cACA,QACA,CAAS,CACT,CAGA,0CACA,aACA,CAAS,CACT,CAIA,qDACA,EACA,EACA,cACA,QACA,CAAS,CACT,CAGA,UACA,gCAA4C,gBAAgB,EAAE,yBAC9D,OACA,SAEA,QACA,EACA,CACA,UAEA,OACA,kJACA,gEACA,yBAAgC,IAAI,OACpC,CAAK,EACL,4CACA,OACA,eACA,gBACA,CACA,CAAK,EACL,iDACA,mBACA,+CACA,cACA,mBACA,CACA,CAAK,EACL,gDACA,WAGA,UACA,2DAAqE,WACrE,KAEA,cACA,QACA,gBACA,CACA,CAAO,CACP,mBAEA,UACA,kFACA,OACA,KAEA,cACA,mBACA,QACA,CAAO,CACP,eAIA,UACA,gCAA0C,sCAC1C,OAEA,SACA,kBACA,CAAO,CACP,0BAEA,oCAA8C,gBAC9C,cACA,SACA,kBACA,CAAO,CAOP,kBAEA,iDACA,QACA,gCACA,SACA,kBACA,mBACA,QACA,CACA,CACA,CAAO,CACP,aAIA,UACA,wJAAkK,UAClK,OACA,CACA,EACA,EACA,EACA,EACA,SACA,EACA,yBACA,EAEA,cACA,QACA,oBACA,iDACA,EACA,EACA,EACA,cACA,UACA,0BACW,CACX,UACA,cACA,kBACA,UACA,QACA,CAAW,CACX,mBACA,CACA,CAAO,CACP,cACA,wBACA,cACA,iBACA,QAEA,WACA,QACA,iGACA,cACA,eACA,CACA,CACA,CACA,CAAK,EACL,cACA,IACA,wEACA,KAEA,IACA,yCACA,EACA,EACA,GAEA,EACA,wEACA,OACA,sCACA,EACA,EACA,EACA,gDACA,WAGA,UACA,6EACA,OACA,OAEA,cACA,UACA,QACA,QACA,uCACA,eACA,CAAW,CACX,uBACA,mCACA,0BACW,CACX,cACA,kBACA,QACA,gBACA,CACA,CAAW,CACX,kBACA,CACA,CACA,CAAK,EACL,WAA4B,eAC5B,IACA,yCACA,EACA,EACA,GAEA,OAAoC,KAAK,SAAS,kBAAkB,UACpE,EACA,EACA,EACA,IACA,EACA,mEACA,OACA,KAEA,GAEA,OAAoC,KAAK,SAAS,kBAAkB,UACpE,EACA,EACA,EACA,gBACA,OACA,eACA,oBAAgC,OAAO,EAAE,sBACzC,cACA,QACA,iBACA,eAA+B,QAAQ,qBAAqB,YAC5D,EACA,EACA,EACA,cACA,QACA,gBACA,CACA,CAAa,CACb,gBAA6B,GAAG,GAChC,YACA,kBACA,wBACA,yBACA,CACA,CACA,CAAS,CACT,gBACA,CACA,CACA,4CACA,wBACA,CACA,UACA,uCAAmD,EAAE,YAAY,cACjE,KAEA,cACA,UACA,aACA,CAAS,CACT,CACA,iCAA6C,EAAE,aAAa,cAC5D,EACA,EACA,cACA,UACA,aACA,EACA,CACA,MACA,kBACA,SACA,CACA,CAAK,EACL,qDACG,GACH,CA7cA,YACA,uBACA,uDCHA,MAAsB,EAAQ,KAAa,EAI3C,UAJ6B,CAI7B,GACA,cAIG,YACH,gEACA,OACA,EACA,sEACA,IACA,yCAA+C,IAAI,2BAQnD,gBACA,YAAsB,IAAe,IACrC,iCACA,iBACA,CAAS,EAET,SACA,+BACA,8BACA,iCACA,CACA,8DACA,4DACA,OAA0B,OAAO,gCAAgC,YACjE,wDAWA,EACA,yFACA,OACA,kDACA,EACA,cACA,MACA,2BACA,EACA,cACA,MACA,eACA,IAEA,uBACA,EACA,IACA,EAEA,aACA,EACA,cACA,MACA,eACA,KAEA,sBACA,EARA,YAYA,mBACA,GAEA,KACA,mBACA,IACA,WACA,EACA,GAQA,kDAAgE,EAehE,OACA,oBACA,wBACA,OAjBA,yBACA,SACA,SACA,CACA,MACA,kBACA,UACA,0BAEA,CAAO,CACP,CACA,qCAAmD,CACnD,EAMA,EACA,4CACA,iBACA,yBACA,UACA,eACA,CAAO,CACP,OACA,eACA,mBACA,MACA,CAEA,EACA,eAD+B,SAC/B,SACA,qBADsE,wBACtE,OACA,EACA,aACA,EACA,cADgC,CAEhC,EACA,GAHsC,WAGtC,OACA,EACA,QAAwB,WACxB,WAD8C,IAC9C,CACA,CAFoD,CAGpD,aAHkE,CAGlE,KAHwE,CAGxE,CACA,EACA,MALkF,MAKlF,CACA,EACA,uBACA,EACA,eACA,EACA,EAHqC,IAGrC,CAH0C,KAG1C,CACA,EACA,MACA,CANyD,KAAK,IAM9D,EANoE,IAMpE,CACA,MACA,kBACA,EACA,KACA,aACA,EACA,KACA,WACA,KAEA,cACA,UACA,QACA,gBACA,QACA,CACA,CAAO,CACP,WACA,QACA,wKACA,cACA,UACA,QACA,gBACA,QACA,CACA,CAAO,CACP,OACA,eACA,mBACA,yBACA,MACA,eACA,IACA,EALA,OAQA,sBACA,IACA,EACA,IACA,EACA,IACA,EACA,EACA,MAEA,cACA,UACA,iBACA,QACA,aACA,QACA,CACA,CAAO,CACP,qBACA,yBACA,cACA,gBACA,CACA,CAAK,EACL,qCACG,GACH,CAtNA,YACA,uBACA,4CCCA,eAWG,YAKH,cACA,cACA,qCAA0D,aAC1D,IAEA,CACA,iBACA,WACA,QACA,QAAkB,8YAA8Y,OACha,cACA,gBACA,CAAO,CACP,QACA,uCACA,aACA,CAAO,CACP,MACA,2BACA,cACA,eACA,CAAO,CACP,OACA,sCACA,cACA,cACA,CAAO,CACP,MACA,mDACA,cACA,cACA,CAAO,CACP,MACA,UACA,4BAAsC,aACtC,IACA,QAAoB,aACpB,IACA,kDAA8D,gBAE9D,cACA,YACA,QACA,cACA,CACA,CAAO,CACP,SACA,CACA,qCACA,cACA,cACA,CAAS,CACT,CACA,8BACA,cACA,YACA,EACA,CACA,cAAqB,CACrB,CACA,CAAG,GACH,CAhFA,YACA,oBACA,qCCCA,eACG,YACH,IACA,EADA,iDAEA,2BACA,yCACA,cACA,UACA,iBACA,+DACA,yBACA,iBACA,aACA,WACA,qDACA,UACA,QACA,sBACA,oBACA,qBACA,cACA,eACA,CAAa,CACb,WACA,oDACA,cACA,QACA,iBACA,CACA,CAAa,CACb,aACA,4CACA,aACA,CAAa,CACb,cACA,EACA,CACA,oDACA,aACA,EACA,CACA,oBACA,CACA,CAAS,CACT,QACA,CACA,0DACA,cACA,QACA,gBACA,eACA,CACA,CAAW,CACX,CACA,wCACA,aACA,EACA,CACA,yBAIA,mBACA,CAAO,EAEP,mEACA,EACA,2CACA,UACA,QACA,8EACA,aACA,CACA,CAAK,EACL,OACA,uCACA,aACA,EAAM,EACN,CACA,+CACA,aACA,EACA,2CACA,UACA,6BACA,aACA,CAAO,CAGP,SACA,oBAA6B,IAAI,KACjC,aACA,CAAO,CACP,OACA,CACA,QACA,o6CACA,aACA,CAAS,CACT,CACA,QACA,sBAAkC,IAAI,UAAU,IAAI,YAAY,IAAI,gCAAgC,IAAI,UAAU,IAAI,YAAY,IAAI,kCACtI,QACA,OACA,SACA,wBACA,mBACA,CACA,EACA,CAEA,kBAAyB,IAAI,GAC7B,OACA,QACA,CAAK,CACL,CAAG,GACH,CAvHA,YACA,0BACA,qCCCA,kBAEA,EAiEA,EAjEA,EACA,8EACA,iBACA,2BACA,QACA,sBAA+B,cAAc,QAAQ,SAAS,IAC9D,QACA,gBACA,8BACA,QACA,4FACA,cACA,gBACA,CAAW,CACX,SACA,iDACA,aACA,CACA,CADY,CAEL,CACP,KAEA,eACA,eACA,SACA,IACA,qCACA,OACA,KAEA,UACA,QACA,iBACA,sBACA,QACA,iCACA,WACA,CACA,CACA,CAAO,CACP,UACA,eACA,OAAiB,SAAS,YAAY,oBAAoB,KAC1D,SACA,aAAyB,IAEzB,aACA,CAAO,CACP,QACA,UACA,SACA,CAAO,CACP,UACA,QACA,oFACA,aACA,CAAO,CACP,0BACA,UACA,0CACA,aACA,CAAO,CACP,mBAA0B,IAC1B,EACA,mCAMG,EANH,eACA,wBAEA,gCACA,kCAGA,CA5EA,YACA,oBACA,qCCCA,cAEA,iBACA,uCACA,eACA,CACA,CATA,YACA,oBACA,qCCCA,cACA,oBAEA,iBACA,QACA,sDACA,SACA,CAAK,CACL,cACA,gDAAuD,MACvD,cACA,SACA,CAAK,CACL,cACA,QACA,kFACA,cACA,UACA,gBACA,CAAK,CACL,YACA,4BACA,SACA,CAAK,CACL,iBAEA,QACA,4YACA,4BACA,mCACA,8DAEA,uDACA,qBAA0B,EAAE,GAC5B,CACA,CAtCA,YACA,uBACA,qCCCA,cACA,0CACA,SACA,CAEA,mBACA,SACA,CAAO,CACP,CACA,eACA,mBACA,MACA,CAGA,iEACA,gBACA,0BACA,WACA,KAEA,cACA,SACA,EACA,CACA,QACA,CACA,eACA,CAEA,4CACA,6BADqF,kBAC1B,UAAU,WAGrE,sCAEA,4BACA,iDACA,WACA,KAEA,SACA,CAAO,CACP,CACA,cAAuB,KAAK,IAAI,IAAI,KAAK,KAAK,EAC9C,UACA,oBACA,EACA,CAEA,QACA,u0BACA,QAGA,oEAA0E,IAAI,GAC9E,CACA,QACA,oFAA8F,IAAI,GAClG,aACA,EACA,CACA,SACA,mHACA,CAAG,EACH,uCAGA,+BACA,CAAG,EACH,wCACA,iBACA,CAAG,EACH,yCACA,UAEA,QACA,sNACA,gBACA,CACA,CAAG,CACH,CApFA,YACA,kBACA,qCCCA,kBAEA,EAIA,EAEA,EANA,GACA,2BACA,6WACA,CAGA,GACA,gBAHA,yDACA,QAEA,wCACA,cACA,QACA,WACA,mDACA,QACA,gBACA,CACA,CACA,CACA,EACA,6CACA,cACA,EACA,CAGA,eACA,yBAAmD,gBAEnD,cACA,iBAEA,CACA,UACA,SACA,gFACA,CAAK,EACL,0CACA,kBACA,QACA,mEACA,UACA,QACA,eACA,QACA,mBAAiC,EAAE,cAAc,OAAO,IAAI,IAAI,IAAI,IAAI,GACxE,cACA,QACA,kBAAiC,IAAI,GACrC,YACA,kBACA,wBAEA,CACA,CAAW,CACX,gBACA,CACA,CAAO,CACP,aACA,CAAK,EACL,8CACA,UACA,eACA,gBACA,CACA,CAAK,EACL,8CACA,UACA,QACA,sEACA,QACA,eACA,UACA,wBACA,gBACA,CACA,CACA,CAAK,CAEL,CAlFA,YACA,qBACA,qCCCA,cAEA,uBACA,qDACA,UACA,gEACA,SACA,CAAO,CACP,QACA,6CACA,SACA,CAAO,CACP,YACA,8DACA,MACA,uBACA,SACA,CAAO,CACP,SACA,CACA,0CACA,cACA,SACA,CAAS,CACT,CACA,2BACA,cACA,SACA,EACA,CACA,OACA,yCACA,SACA,CAAO,CACP,QACA,0GACA,iCACA,4CACA,gBAAuB,IAAI,SAC3B,iDACA,4BACA,CAEA,CA9CA,YACA,0BACA,qCCCA,cACA,iBACA,SACA,sDACA,aACA,CAAK,CACL,cACA,QACA,yEACA,cACA,CAAK,CACL,SACA,gCACA,gBACA,CAAK,CACL,QACA,8BACA,SACA,CAAK,CACL,SACA,ywFACA,QACA,6EACA,SACA,mCACA,gBACA,CAAK,CACL,mCACA,sEACA,eAAoB,QAAQ,KAC5B,CACA,CAlCA,YACA,oBACA,qCCCA,cAGA,mBAIA,QACA,QAAc,QAAQ,QAAQ,IAAI,QAAQ,QAAQ,QAAQ,IAAI,UAAU,KAAK,EAC7E,QACA,sDAA6D,cAC7D,UACA,QACA,eACA,aAAwB,IAAI,IAAI,EAChC,QACA,YACA,eAA8B,aAAa,IAC3C,cACA,uBACA,WACA,CAAa,CACb,iBAA8B,GAAG,CACjC,CACA,CACA,CACA,CAAK,CACL,OACA,kBACA,SACA,CAAK,CACL,KAEA,QACA,2BAAmC,wBAAwB,4BAA4B,UACvF,SACA,CAAK,CACL,KAEA,iDACA,UACA,QACA,gBACA,cACA,kBACA,CACA,CAAK,CACL,MAEA,6BAAoC,GAAG,IACvC,QACA,kBACA,aACA,mBAA4B,GAAG,CAC/B,CACA,CAAK,CAEL,QACA,qFACA,4BACA,6BACA,OACA,gFACA,SACA,qGACA,qBAA0B,YAE1B,2BACA,EACA,uEACA,iBACA,CA1EA,YACA,sBACA,qCCCA,kBAeA,CAbA,CAoDG,EApDH,gBACA,OAEA,QAAgB,EAAE,GAAG,EAAE,IAAI,EAAE,OAC7B,YACA,UAEA,EAcA,YARA,GACA,mBACA,oBACA,oBACA,qBACA,cACA,QACA,EAAM,CACN,oBACA,WACA,KACA,iBAEA,yBAEA,YACA,eAEA,qBACA,eACA,2CACA,KAEA,QACA,QACA,MACA,uCACA,aACA,CAAW,CACX,QACA,iBACA,uBAEA,CACA,CACA,CAAK,EACL,mDACA,OACA,CAAK,CAEL,CA1DA,YACA,qBACA,2CCHA,MAAgC,EAAQ,KAAwB,EAIhE,UAJuC,CAIvC,OAuCA,EACA,EAvCA,cAIA,oBACA,YAAmB,YAAY,GAC/B,KACA,aAAsB,eACtB,cACA,eACA,CAAO,CACP,WACA,YAAqB,EAAE,eAAe,IAAI,GAC1C,mBACA,CAAO,CACP,QACA,0CACA,SACA,CAAO,CACP,QACA,kBACA,cACA,gBACA,CAAO,CACP,MACA,2CACA,cACA,gBACA,CAAO,CACP,iCACA,QACA,gFACA,6DACA,2BACA,mCACA,mBACA,gBAAuB,SAAS,EAChC,EACA,KAAqB,EAAE,UAAU,EAAE,GAAG,YAAY,GAAG,YAAY,GACjE,mCACA,0CACA,iCACA,CAAK,EACL,yCACA,kCACA,CAAK,EACL,sCACA,0CACA,iCACA,CAAK,EACL,yCACA,kCACA,CAAK,CAEL,CA1DA,YACA,uBACA,6CCCA,cACA,8BACA,UAAe,IACf,QACA,gCACA,SACA,CAAK,CACL,UACA,CACA,gCACA,aACA,CAAO,CACP,CACA,0BACA,aACA,EACA,CACA,6CACA,OAEA,wCACA,cACA,eACA,CAAK,CACL,MAEA,QACA,2XACA,cACA,eACA,CAAK,CACL,kBACA,EACA,qDApCA,YACA,4BACA,qCCCA,eACG,YAGH,MACA,6DACA,2DACA,WACA,WACA,QACA,GAEA,EACA,0EACA,OACA,+DACA,SACA,WACA,QACA,GAEA,GACA,kBACA,SACA,EACA,GACA,wBACA,cACA,SACA,EAMA,gBAQA,cAPA,IACA,4BACA,QACA,CAAS,EACT,2BACA,QACA,CAAS,EACT,EACA,CACA,oBACA,aACA,QACA,kNACA,cACA,UACA,QACA,SACA,UACA,uDACA,KAEA,cACA,UACA,QACA,UACA,yBACA,aACA,CAAe,CACf,QACA,EACA,CACA,sCACA,aACA,EACA,CACA,gBACA,eACA,CACA,CAAW,CACX,SACA,CAEA,UACA,iEACA,OACA,KAEA,cACA,SACA,CAAa,CACb,CAEA,UACA,iEACA,OACA,KAEA,cACA,SACA,CAAa,CACb,CAEA,0CACA,cACA,SACA,CAAa,CACb,CACA,eACA,SACA,EACA,CACA,UACA,SACA,qBAAgC,IAAI,QAAQ,GAC5C,eACA,CACA,CAAO,CACP,SACA,EACA,0CACG,GACH,CAxHA,YACA,uBACA,iDCCA,eAEG,YACH,MACA,MACA,CAEA,8CACA,mCACA,uCACA,+EACA,OACA,WACA,IACA,GACA,QACA,4BACA,cACA,yDACA,0BAEA,EAMA,gBACA,cACA,6BACA,QACA,CAAS,EACT,EAEA,CACA,iBACA,SACA,wCACA,SACA,CAAO,CACP,cACA,UACA,sDACA,KAEA,cACA,UACA,mBACA,QACA,CAAO,CACP,cACA,sCACA,cACA,UACA,QACA,CAAO,CACP,aACA,gBAA8B,uCAC9B,cACA,UACA,QACA,CAAO,CACP,2DACA,iBACA,+DACA,cACA,eACA,CAAO,CACP,MACA,iDACA,cACA,UACA,QACA,CAAO,CACP,sBACA,qBAA4B,GAC5B,EACA,+BACG,GACH,CAlFA,YACA,oBACA,yCCCA,cACA,kBACA,2BACA,QACA,kCACA,SACA,CAAK,CACL,SACA,wBACA,UACA,kBACA,CAAK,CACL,YACA,yDACA,cACA,yBACK,CACL,wCACA,+BAAoC,OAAO,GAC3C,mBACA,CACA,CAxBA,YACA,qBACA,qCCCA,cACA,0BAEA,WAAgB,MAChB,SACA,2BACA,cACA,iBACA,QACA,kBAA2B,QAE3B,uBAAgC,IAAI,EACpC,oBAA6B,GAC7B,CACA,CAAK,CACL,KACA,uCACA,cACA,iBACA,CAAK,CACL,OACA,cACA,mBACA,QACA,gBACA,CACA,CACA,CACA,CA/BA,YACA,6BACA,qCCCA,cACA,oBACA,eACA,QAEA,CACA,kCACA,SACA,CAAO,CACP,CACA,cAAuB,KAAK,UAAU,KACtC,SACA,CAAO,CACP,CACA,oDACA,SACA,EACA,CAEA,2BACA,QACA,+YACA,8BAEA,kCACA,QAEA,mCACA,mFACA,CACA,+CAAoD,IAAI,QACxD,uDACA,CACA,CApCA,YACA,uBACA,2CCHA,MAAgC,EAAQ,KAAwB,EAIhE,UAJuC,CAIvC,GACA,cAEA,iBACA,WACA,6BACA,mBACA,CAAO,CACP,oBACA,uBACA,kBACA,OAeG,EAfH,qBAEA,EACA,0CAEA,mDACA,EACA,MAHA,qBAMA,CAAK,EACL,yCAIG,EAHH,4DACA,CAAK,EACL,gCA5BA,YACA,oBACA,0CCCA,cACA,oBACA,KACA,QACA,6FACA,QACA,kBACA,oBACA,CACA,CAAK,CACL,SACA,cACA,SACA,CAAK,CAEL,OACA,QACA,qIAA6I,YAAY,SAAS,mCAClK,SACA,CAAK,CACL,QACA,CAEA,QACA,yIAAmJ,UAAU,GAAG,IAAI,OAAO,QAAQ,SAAS,+BAC5L,UACA,QAEA,CACA,CAAO,CACP,CACA,8BACA,UACA,QAEA,CACA,CAAO,CACP,CAEA,wDACA,UACA,QAEA,CACA,EACA,CACA,MAEA,uBACA,cACA,cACA,CAAK,CACL,QACA,uBACA,kBACA,CAAK,CAEL,6BACA,UAEA,uBACA,cACA,gBACA,CAAK,CACL,WACA,eACA,gBACA,CAAK,CACL,+DACA,yEACA,QACA,kNACA,iCACA,UACA,2FACA,CAEA,uBACA,aACA,CAAO,CACP,CAEA,uBACA,aACA,EACA,CACA,6BAAkC,IAClC,EACA,8CACA,UACA,eACA,YAAqB,GAAG,IAAI,EAC5B,QACA,WACA,aAA0B,GAAG,GAC7B,mBACA,CAAW,CACX,wBAEA,CACA,CACA,CAAG,CACH,CAzGA,YACA,uBACA,qCCCA,cACA,iBACA,gBAAqB,YAAY,EACjC,MACA,QACA,uDAA+D,cAAc,KAC7E,SACA,CAAK,CACL,QACA,CAEA,yBACA,SACA,CAAO,CACP,CACA,gCACA,SACA,EACA,CACA,oBAIA,QACA,wGACA,cACA,QACA,oCACA,CACA,CAAK,CACL,QACA,kFAEA,QACA,0PAEA,0DAQA,wCAA6C,GAAG,wBAEhD,wCACA,uCACA,gBAAqB,WACrB,CACA,CArDA,YACA,oBACA,0CCHA,MAAoB,EAAQ,KAAW,EACvC,EAAgC,EAAQ,KAAwB,CADrC,CAK3B,UAJuC,CAIvC,GACA,cACA,cAEA,iBACA,WACA,gCACA,cACA,mBACA,CAAO,CACP,MACA,uBACA,sBACA,OAeG,EAfH,eAEA,EACA,0CAGA,mDACA,EACA,MAHA,4FAMA,CAAK,EACL,yCACA,8DACA,CAAK,CAEL,CAhCA,YACA,oBACA,qCCAA,cACA,oBACA,cACA,QACA,gCACA,SACA,CAAK,CACL,mBACA,sCACA,gBACA,CAAK,CACL,eACA,gCACA,YACA,CAAK,CACL,6BACA,kEACA,QACA,SACA,mBACA,6CACA,CACA,+BACA,UAEA,wCACA,aACA,CAAK,CACL,UACA,+GACA,CAEA,yBACA,aACA,CAAO,CACP,CAEA,yBACA,aACA,EACA,CACA,qBACA,qBAA0B,EAAE,YAC5B,CACA,CA/CA,YACA,uBACA,2CCHA,MAAmB,EAAQ,KAAU,EACrC,EAAgC,EAAQ,KAAwB,CADtC,CAK1B,UAJuC,CAIvC,GACA,cACA,cAEA,mBACA,WACA,yBACA,mBACA,CAAO,CACP,gBACA,kBACA,uBAEA,EACA,0CAEA,mDACA,EACA,QAHA,gBAMA,CAAK,EACL,yCACA,gEACA,CAAK,CAEL,CA7BA,YACA,sBACA,qCCAA,cACA,8BACA,SACA,6CACA,cACA,SACA,CAAK,CACL,QACA,8BACA,SACA,CAAK,CACL,WAQA,QACA,0BAAkC,OAAO,mBAAmB,mBAC5D,UACA,eACA,QACA,cACA,gBACA,OACA,mBACA,gBACA,CAAS,CACT,MACA,uBACA,QACA,mBACA,CACA,CAAS,CACT,cACA,CACA,CAAK,CACL,iBACA,4BACA,eACA,CAAK,CACL,OACA,QACA,uEACA,iBACA,QACA,aACA,wBACA,oBACA,YACA,CACA,CAAK,CACL,MAGA,+DACA,gBACA,CAAK,CACL,sDACA,8BACA,kCACA,sBAA2B,GAC3B,EACA,iCACA,4BACA,CAtEA,YACA,6BACA,qCCCA,kBAEA,EAIA,EAGA,EAuTA,EAGA,EAGA,EA7TA,GACA,SACA,CAEA,4BACA,cACA,OAbA,GACA,SACA,kEAA0E,GAAG,GAAG,GAAG,IACnF,CAWA,CAAS,CAET,CAEA,2CACA,cACA,UACA,QACA,CAAS,CACT,CAEA,qBAAgC,IAAI,6BACpC,cACA,UACA,QACA,EACA,CACA,QACA,CAEA,iCACA,aACA,CAAS,CACT,CAEA,iEACA,aACA,CAAS,CACT,CAEA,yCACA,aACA,CAAS,CACT,CAEA,yCACA,aACA,CAAS,CACT,CAEA,sCACA,aACA,CAAS,CACT,CAGA,QACA,8DACA,aACA,CAAS,CACT,CAEA,2CACA,aACA,CAAS,CACT,CAOA,QACA,yEACA,aACA,EACA,CAEA,QACA,QACA,sEACA,cACA,eACA,QACA,gBACA,uBAAkC,KAClC,UACA,qCACA,aACA,CACA,CACA,CAAO,CACP,SACA,6BACA,aACA,CAAO,CAEP,iBACA,gDACA,cACA,UACA,eACA,QACA,oBACA,CACA,CAAO,CACP,oBACA,CAEA,wDAAmE,UACnE,cACA,UACA,eACA,QACA,QAlHA,GACA,qBACA,GAgHA,OAEA,yBACA,wBAAuC,UACvC,cACA,gBACA,CACA,CACA,CAAS,CACT,CAEA,qEACA,cACA,UACA,eACA,QACA,CAAS,CACT,CAEA,oBAA+B,IAAI,6BACnC,cACA,UACA,eACA,QACA,EACA,CACA,iBACA,sCAA+C,WAC/C,cACA,iBACA,QAGA,QACA,sBACA,aACA,CACA,CACA,CAAO,CAeP,0BACA,CAEA,+CACA,cACA,gBACA,CAAS,CACT,CAEA,uBACA,cACA,gBACA,CAAS,CACT,CAEA,yBACA,cACA,gBACA,EACA,CACA,aACA,aACA,cACA,eACA,CAAO,CACP,kBACA,aACA,cACA,gBACA,CAAO,CACP,qBACA,aACA,cACA,gBACA,CAAO,CACP,gBACA,aACA,cACA,gBACA,CAAO,CACP,oBAEA,yCACA,cACA,eACA,CAAO,CACP,wBACA,aACA,cACA,gBACA,CAAO,CAyBP,6BACA,QACA,0MACA,cACA,eACA,CAAO,CACP,gBACA,mCAA4C,IAAI,OAAO,QAAQ,eAC/D,cACA,UACA,gBACA,CAAO,CACP,yBACA,iBAA0B,cAC1B,cACA,gBACA,CAAO,CAEP,iCACA,CAEA,uBAAkC,SAClC,cACA,gBACA,CAAS,CACT,CAEA,eAA0B,UAC1B,cACA,gBACA,EACA,CAEA,uBACA,CAEA,yBACA,cACA,gBACA,CAAS,CACT,CAEA,yBACA,cACA,gBACA,EACA,CACA,eACA,kCACA,aACA,CAAO,CAgBP,QACA,6BACA,UACA,QACA,CACA,EACA,cACA,yCAAoD,eACpD,EACA,cACA,2DACA,EAoXA,YAnXA,GACA,kBACA,KACA,QACA,QACA,OACA,UACA,MACA,WACA,kBACA,MACA,OACA,YACA,aACA,OACA,WACA,OACA,OACA,QACA,WACA,OACA,QACA,OACA,MACA,IACA,IACA,QACA,QACA,QACA,OACA,kBACA,MACA,SACA,MACA,QACA,OACA,QACA,SACA,OACA,UACA,UACA,OACA,UACA,MACA,gBACA,WACA,QACA,QACA,QACA,OACA,OACA,OACA,OACA,MACA,OACA,OACA,QACA,UACA,YACA,OACA,QACA,OACA,SACA,gBACA,SACA,QACA,YACA,WACA,oBACA,kBACA,OACA,YACA,MACA,QACA,MACA,QACA,MACA,iBACA,UACA,CACA,wBAEA,UACA,YACA,YACA,KACA,SACA,MACA,IACA,WACA,KACA,SACA,QACA,SACA,YACA,aACA,WACA,SACA,UACA,gBACA,oBACA,YACA,UACA,mBACA,KACA,WACA,IACA,KACA,GAAW,EACX,CACA,qBACA,aACA,WACA,SACA,mBACA,SACA,aACA,aACA,YACA,mBACA,kBACA,WACA,aACA,OACA,WACA,UACA,aACA,YACA,WACA,OACA,OACA,MACA,WACA,UACA,SACA,UACA,aACA,aACA,SACA,QACA,UACA,oBACA,aACA,cACA,OACA,SACA,gBACA,oBACA,gCACA,iCACA,YACA,UACA,WACA,SACA,aACA,aACA,UACA,SACA,OACA,eACA,eACA,QACA,OACA,SACA,YACA,UACA,QACA,WACA,cACA,WACA,QACA,YACA,aACA,aACA,qBACA,SACA,SACA,WACA,eACA,UACA,aACA,OACA,UACA,QACA,SACA,SACA,OACA,aACA,WACA,YACA,MACA,aACA,UACA,aACA,SACA,cACA,YACA,OACA,YACA,SACA,YACA,iBACA,UACA,eACA,UACA,gBACA,eACA,YACA,mBACA,UACA,SACA,WACA,OACA,aACA,oBACA,YACA,UACA,UACA,YACA,WACA,WACA,aACA,OACA,cACA,iBACA,QACA,UACA,YACA,gBACA,cACA,oBACA,MACA,UACA,OACA,SACA,OACA,sBACA,aACA,aACA,mBACA,UACA,cACA,SACA,aACA,WACA,kBACA,OACA,OACA,QACA,QACA,QACA,YACA,SACA,eACA,eACA,WACA,WACA,MACA,aACA,YACA,WACA,QACA,oBACA,eACA,OACA,cACA,QACA,UACA,UACA,OACA,cACA,SACA,OACA,gBACA,YACA,cACA,CACA,gBACA,UACA,kBACA,MACA,cACA,iBACA,aACA,UACA,eACA,UACA,WACA,cACA,MACA,IACA,IACA,cACA,IACA,MACA,IACA,KACA,SACA,cACA,wBACA,OACA,IACA,OACA,IACA,WACA,SACA,cACA,KACA,QACA,aACA,SACA,QACA,SACA,QACA,QACA,QACA,UACA,SACA,UACA,WACA,KACA,iBACA,KACA,MACA,UACA,aACA,KACA,KACA,MACA,QACA,WACA,SACA,KACA,UACA,UACA,MACA,SACA,KACA,SACA,QACA,OACA,WACA,aACA,UACA,WACA,OACA,YACA,cACA,QACA,MACA,iBACA,YACA,yBACA,aACA,QACA,aACA,QACA,UACA,MACA,SACA,wBACA,MACA,OACA,KACA,OACA,WACA,QACA,YACA,YACA,GAEA,oBACA,oBACA,CAAK,EAyNL,wBAxNA,CAEA,MACA,QACA,OACA,MACA,OACA,QACA,QACA,OACA,QACA,UACA,MACA,MACA,OACA,QACA,QACA,UACA,SACA,OACA,OACA,QACA,QACA,MACA,SACA,KACA,UACA,YACA,MACA,OACA,YACA,QACA,OACA,QACA,OACA,QACA,UACA,KACA,QACA,OACA,SACA,aACA,aACA,WACA,QACA,UACA,OACA,KACA,OACA,SACA,QACA,OACA,SACA,MACA,OACA,SACA,MACA,WACA,YACA,iBACA,kBACA,SACA,YACA,QACA,YACA,YACA,WACA,cACA,UACA,YACA,gBACA,mBACA,SACA,MACA,UACA,cACA,aACA,SACA,cACA,OACA,eACA,YACA,UACA,eACA,eACA,aACA,kBACA,QACA,aACA,SACA,eACA,YACA,eACA,WACA,SACA,WACA,aACA,OACA,YACA,gBACA,eACA,OACA,UACA,UACA,YACA,gBACA,iBACA,kBACA,gBACA,UACA,OACA,YACA,cACA,UACA,cACA,aACA,OACA,aACA,iBACA,aACA,OACA,eACA,cACA,WACA,gBACA,YACA,UACA,QACA,aACA,QACA,OACA,aACA,UACA,aACA,aACA,QACA,OACA,YACA,iBACA,YACA,UACA,eACA,cACA,iBACA,YACA,oBACA,kBACA,QACA,iBACA,eACA,gBACA,kBACA,cACA,gBACA,gBACA,kBACA,cACA,OACA,UACA,YACA,YACA,UACA,eACA,iBACA,aACA,OACA,SACA,cACA,qBACA,SACA,mBACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,gBACA,cACA,iBACA,cACA,eACA,aACA,cACA,WACA,iBACA,oBACA,cACA,qBACA,WACA,eACA,mBACA,oBACA,iBACA,UACA,iBACA,iBACA,cACA,SACA,gBACA,eACA,eACA,aACA,aACA,UACA,oBACA,eACA,YACA,cACA,wBACA,kBACA,EAEA,oBAEA,CA15BA,YACA,uBACA,qCCCA,cAOA,mBACA,SACA,WAAoB,GAAG,IAAI,CAC3B,CAAO,CACP,QACA,kBACA,SACA,CAAO,CACP,kBACA,2BACA,cACA,CAAO,CACP,kBACA,eACA,iBACA,CAAO,CACP,aACA,yBAAgC,gBAChC,oBACA,iBACA,gBACA,oBACA,YACA,CACA,CAEA,CApCA,YACA,uBACA,qCCCA,cACA,2DACA,QACA,CACA,iBACA,QACA,oEACA,iDACA,GAEA,6DACA,+DACA,MACA,QACA,uCAA+C,4BAA4B,6BAC3E,cACA,UACA,QACA,UACA,WAAsB,4BAA4B,0BAClD,QACA,aACA,eACA,oBAAiC,EACjC,CACA,CAAS,CACT,gBACA,CACA,CAAK,CACL,QAEA,sDAA6D,IAC7D,cACA,gBACA,QACA,eACA,CACA,CACA,CAAG,CACH,CA1CA,YACA,uCACA,qCCCA,cAEA,mDAAkE,EAClE,2CACA,MACA,CACA,QACA,sEACA,WACA,EACA,CACK,EACL,8CACA,uKACA,kCACA,4CACA,oBACA,WAAoB,OAAO,EAC3B,mBACA,CACA,CAAK,EACL,yCACA,sDAEA,iCACA,CACA,0DACA,aACA,CAAO,CACP,CACA,QACA,wGACA,aACA,EAGA,CAvCA,YACA,qBACA,qCCCA,cACA,qBACA,iBACA,kCACA,cACA,CAAK,CACL,QACA,QACA,gGACA,QACA,SACA,gCACA,aACA,CACA,CACA,CAAK,CACL,SACA,cACA,SACA,CAAK,CACL,uCACA,gEACA,SAEA,oEACA,gIACA,4VACA,8JACA,CACA,UACA,qDACA,CAEA,8BACA,aACA,EACA,CACA,4BAAiC,IACjC,CACA,CA1CA,YACA,wBACA,oCCCA,cACA,+CACA,SACA,CACA,0CACA,cACA,SACA,CAAO,CACP,CACA,2BACA,cACA,SACA,EACA,CACA,QACA,sEACA,SACA,CAAK,CACL,cACA,QACA,yHACA,cACA,QACA,iBACA,gBACA,CACA,CAAK,CACL,QACA,ooBACA,QACA,iCACA,uBACA,oDACA,iCACA,CACA,SACA,8CAAoD,IAAI,wDACxD,CAAG,EACH,6CACA,cACA,wBACA,cACA,iBACA,QACA,WACA,sDACA,cACA,eACA,CACA,CACA,CACA,CAAG,EACH,iDACA,0BACA,4BAAmC,IACnC,eACA,CACA,CAAG,EACH,4CACA,YACA,oBACA,UACA,QACA,wBACA,cACA,mBAA8B,oBAC9B,aACA,CAAS,CACT,sBACA,kBACA,0BAEA,CACA,CAAK,CACL,MACA,QACA,sBAA8B,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,OAC7E,SACA,CACA,CAAG,CACH,CAnFA,YACA,uBACA,2CCHA,MAAgC,EAAQ,KAAwB,EAIhE,UAJuC,CAIvC,GACA,cACG,YAMH,QAHA,EACA,iGACA,OACA,IAAoB,IAAO,IAC3B,iCACA,QACA,CAAO,EAEP,wCACA,OACA,0BACA,QACA,CAEA,yCACA,SACA,CAAS,CACT,CACA,eACA,mBAA+B,eAAe,QAAQ,eAAe,qBACrE,UACA,WACA,QACA,IAGA,UACA,QACA,eACA,eACA,2BAA2C,QAAQ,eAAe,iBAClE,UACA,WACA,QACA,IAGA,cACA,QACA,6BACA,cAAiC,GAAG,GACpC,mBACA,CAAiB,CACjB,SACA,CACA,CACA,CACA,EACA,CACA,qBACA,6BACA,oBACA,+BACA,cACA,gBACA,CAAO,CACP,0BACA,2BACA,SACA,kCAA0C,IAAI,sCAC9C,gBAAuB,SAAS,EAChC,CACA,gDACA,iBACA,eAEA,uBACA,eACA,CAAO,CACP,iBACA,sBACA,QACA,WACA,+BACA,cACA,eACA,CAAW,CACX,0BACA,SACA,uBACA,YACA,QACA,CACA,CACA,CAAO,CACP,qBACA,cAAuB,SAAS,GAChC,QACA,kBAA6B,GAAG,GAChC,SACA,uBACA,YACA,QACA,CACA,CACA,CACA,EACA,0CAEA,aACA,mDAA2D,cAAc,iBACzE,UACA,WACA,QACA,GAEA,MAEA,mDACA,EACA,MACA,EAEA,CAAK,EACL,yCACA,8DACA,CAAK,CACL,CAAG,GACH,CA9HA,YACA,oBACA,qCCCA,cAGA,iBACA,OACA,8CACA,UACA,QACA,KACA,kDACA,cACA,WACA,CAAS,CACT,mBACA,CACA,CAAK,CACL,SACA,cACA,SACA,CAAK,CACL,QACA,QACA,mCAA2C,KAAK,8CAChD,cACA,UACA,QACA,cACA,oBACA,cACA,mBACA,CACA,CACA,CAAK,CACL,QACA,wMACA,6BACA,iCACA,QACA,QACA,uFACA,aACA,CAAK,CACL,cACA,oBACA,cACA,mBACA,CAAK,CACL,2CACA,qBAA0B,EAAE,IAC5B,EACA,wDArDA,YACA,oBACA,qCCCA,cACA,mBACA,UAAe,gBACf,QACA,yBACA,SACA,CAAK,CACL,gCACA,mBACA,UACA,kBACA,cACA,cACA,CAAK,CAEL,kBACA,CACA,CApBA,YACA,sBACA,qCCCA,cACA,sBACA,cACA,QACA,QACA,6EACA,SACA,CAAK,CACL,cAMA,QACA,6IACA,aACA,CAAK,CACL,QACA,4QACA,oCACA,iBACA,QACA,4FACA,yBACA,CACA,8BACA,6BACA,oDACA,kBAAuB,OAAO,EAC9B,CACA,CAlCA,YACA,yBACA,qCCCA,cACA,oBACA,cAEA,QACA,wCAAgD,YAAY,EAAE,6BAC9D,cACA,QACA,SACA,iCAA4C,YAAY,EAAE,kBAC1D,gBACA,CACA,CACA,CAAK,CACL,KAEA,QACA,wCAAgD,YAAY,EAAE,0BAC9D,cACA,cACA,CAAK,CACL,OACA,wBACA,cACA,cACA,CAAK,CACL,SACA,gCAAuC,YAAY,EAAE,iBACrD,gBACA,CACA,CACA,CAlCA,YACA,uBACA,qCCCA,cAEA,sDACA,qBACA,UACA,8BACA,cACA,CAAO,CACP,SACA,wBACA,aACA,CAAO,CACP,KACA,yBACA,aACA,CAAO,CACP,SACA,QACA,k+BACA,cACA,QACA,WACA,sBACA,aACA,CAAW,CACX,oBACA,CACA,CAAO,CACP,UACA,QACA,skGACA,cACA,QACA,WACA,sBACA,aACA,CAAW,CACX,oBACA,CACA,CAAO,CACP,cAEA,oCACA,cACA,QACA,SACA,kBACA,gBACA,CAAW,CACX,IACA,yBACA,cACA,CAAW,CACX,gBACA,CACA,CAAO,CACP,cACA,kBACA,QACA,IACA,yBACA,gBACA,CAAW,CACX,gBACA,CACA,CAAO,CACP,QACA,QACA,i5EACA,aACA,CAAO,CACP,QACA,sDACA,QACA,SACA,kBACA,gBACA,CACA,CACA,CAAO,CACP,SACA,kBACA,gBACA,CACA,CAEA,CAzFA,YACA,wBACA,qCCCA,cACA,iBAUA,gBAIA,mBACA,kBAIA,yCAMA,SACA,yBACA,QAOA,oBACA,CACA,CAAK,CAcL,kBAWA,0BAA+B,GAAG,GAClC,CACA,CAnEA,YACA,oBACA,2CCHA,MAAiB,EAAQ,KAAQ,EAIjC,UAJwB,CAIxB,GACA,cACA,yCACA,QACA,6gCACA,CAAG,CACH,CATA,YACA,qBACA,qCCCA,cACA,8CACA,4BACA,QACA,8GACA,OACA,iEAAyE,IAAI,GAC7E,SACA,+FACA,SACA,s5LACA,SACA,0rDACA,CAAK,CACL,CAjBA,YACA,oBACA,qCCCA,cAEA,gBACA,SACA,cACA,SACA,CAAK,CACL,kBACA,0CACA,cACA,UACA,QACA,eACA,QACA,mBAA+B,EAAE,UAAU,UAAU,4BAA4B,EAAE,GACnF,cACA,QACA,oBAAiC,EAAE,GACnC,mBACA,6BACA,cAA6B,GAAG,GAChC,mBACA,CAAa,CACb,YACA,kBACA,WACA,CACA,CACA,CAAS,CACT,gBACA,CACA,CAAK,CACL,0BACA,6BACA,oBAEA,QACA,mFACA,eACA,CAAK,CACL,iCACA,SACA,kLACA,mBACA,8BACA,kBAAuB,OACvB,EACA,6DACA,UACA,uBACA,+BArDA,YACA,mBACA,0CCCA,cAEA,gDACA,SACA,iBACA,SACA,CAAK,CACL,SACA,uEACA,cACA,cACA,CAAK,CACL,cACA,qCAA4C,IAAI,EAChD,cACA,cACA,CAAK,CACL,SACA,oEACA,aACA,CAAK,CACL,cACA,sBACA,CACA,CA3BA,YACA,yBACA,oCCCA,cACA,2CACA,QACA,iDACA,cACA,SACA,CAAK,CACL,QACA,sKACA,wCACA,QAEA,+BACA,gFACA,qEACA,CACA,SACA,wFACA,QACA,0LACA,CAAG,EACH,wCACA,MACA,6BAAoC,KAAK,GACzC,SACA,CACA,CAAG,EACH,oCA9BA,YACA,mBACA,qCCCA,cACA,qBACA,cACA,aACA,QACA,mEACA,UACA,eACA,QACA,qBACA,0CACA,cACA,4BAEA,CACA,CAAK,CACL,QACA,yDACA,SACA,CAAK,CACL,kDACA,6BACA,wBACA,WACA,sBACA,gBACA,CAAK,CACL,aACA,yEACA,SACA,CAAK,CACL,cACA,4BACA,kBACA,CAAK,CACL,6CACA,8BACA,cACA,QACA,kFACA,aACA,CAAK,CACL,UACA,2BAAkC,EAAE,0BACpC,cACA,gBACA,CAAK,CACL,uBACA,sCACA,cACA,gBACA,CAAK,CACL,oBACA,mCACA,cACA,gBACA,CAAK,CACL,QACA,uIACA,oBAAyB,EAAE,EAC3B,gCACA,mBAAwB,GACxB,mBAAwB,UACxB,cACA,EACA,yCACA,0BAwFA,IA/EA,kCACA,MACA,oBACA,oBACA,kBAEK,EACL,IAwEW,YAAmC,CAC9C,aACA,+CAEA,SACA,GACA,0CACA,OAvEA,GAuEA,EAvEA,CAuEA,QACA,CAEA,KACA,uBACA,UACA,SAEA,KAAiB,IAA8B,KAC/C,MAhFA,IAgFA,EACA,uBACA,sBACA,kBAEA,CACA,KACA,CACA,GACA,qCACA,EAAoC,IAApC,CA1FA,GA0FA,EA1FA,CA0FA,UAGA,EA7FA,MA6FA,EA7FA,CA6FA,qBACA,aACA,YAAqD,OAAQ,IAC7D,UACA,SAEA,YAAuC,IAAiB,KACxD,WAEA,qBACA,yBAEA,qBAEA,CACA,CAEA,CACA,CAtGA,gBACA,OACA,YAAsB,WAAkB,KACxC,MAZA,IAYA,MAZA,CAaA,qBACA,QAEA,CACA,QACA,CAYA,gBAEA,QADA,IACA,IAAiC,WAAwB,KACzD,WACA,YACA,+CACA,aACA,SACY,cAEZ,OACA,SAIA,CACA,SACA,CAQA,gBACA,cACA,EAEQ,kBACR,gBAFA,aAIA,SACA,CAiDA,CAAG,CACH,CA9MA,YACA,wBACA,qCCCA,cACA,+CACA,QACA,CAEA,QACA,kFACA,SACA,CAAO,CACP,CAGA,4CACA,SACA,EACA,CACA,QACA,6WACA,OACA,6FACA,UACA,QACA,oJACA,aACA,CAAK,CACL,oBAAyB,IAAI,OAC7B,CAAG,EACH,4CACA,SACA,eACA,eACA,CACA,CAAG,EACH,iDACA,qEACA,CAAG,EACH,8CACA,YACA,uBACA,cACA,mBACA,CACA,CAAG,EACH,+BACA,6CACA,yBACA,WACA,wBAAwC,KAAK,UAC7C,UACA,qBAAsC,KAAK,YAE3C,gCACA,aAAwB,QACxB,cAAyB,QACzB,uCACA,YACA,UACA,cACA,0BAEA,CAAS,EACT,yCACA,CACA,CACA,CAAG,CACH,CApEA,YACA,uBACA,0CCHA,MAAoB,EAAQ,KAAW,EAIvC,UAJ2B,CAI3B,GACA,cAOG,YACH,kBAEA,qBACA,QACA,gEACA,cACA,eACA,CAAO,CACP,kBACA,CACA,QACA,6GACA,cACA,wBACS,CACT,CACA,QACA,sFACA,cACA,yBAEA,CAEA,QACA,QACA,iFACA,cACA,QACA,eACA,mBACA,cACA,CACA,CACA,CAAO,CACP,QACA,oCACA,cACA,0BACO,CACP,SACA,4CACA,aACA,CAAO,CACP,KAEA,QACA,0DAAoE,KAAK,GAAG,IAAI,KAAK,KAAK,sBAC1F,cACA,QACA,YACA,CAGA,mBAAkC,KAAK,GAAG,IAAI,KAAK,KAAK,EACxD,cACA,wBACa,CACb,CACA,oBACA,QACA,cACA,kDACA,aACA,CAAiB,CACjB,wCACA,oBACA,CACA,CAAa,CACb,CACA,qBACA,yBAEA,CACA,kBACA,CACA,CAAO,CACP,MACA,kDACA,cACA,wBACO,CAEP,eACA,YAAqB,GAAG,IAAI,EAC5B,QACA,WACA,aAA0B,GAAG,GAC7B,mBACA,CAAW,CACX,MACA,kBACA,wBAEA,CACA,CAAO,CACP,aACA,0CACA,aACA,CACA,EAkBA,QAfA,GACA,MACA,CACA,gBACA,uBACA,CAAO,CACP,MACA,aACA,OACA,WACA,OACA,OACA,UACA,CACA,KACA,eAAwC,IAAO,KAC/C,WACA,EACA,mBACA,CACA,SACA,UACA,EACA,EACA,yBACA,wBACA,eA3BA,gCAAsC,aAAa,0DA4BnD,WAAsC,aAAa,aACnD,gBACa,GAEb,cACA,QACA,eACA,mBACA,cACA,CAAa,CACb,MACA,kBACA,0CACA,+BAEA,CACA,EAEA,CACA,2CACA,CAAG,GACH,CAlKA,YACA,qBACA,0CCHA,MAAgC,EAAQ,KAAwB,EAIhE,UAJuC,CAIvC,GACA,cAEA,wBACA,WAAkB,EAAE,WAAW,EAAE,EACjC,WACA,YAAqB,EAAE,EAAE,IAAI,EAAE,EAAE,IACjC,mBACA,CAAO,CACP,0CACA,wEACA,6BACA,OACA,uDACA,cACA,eACA,CAAO,CACP,UACA,qBACA,QACA,oBACA,kBACA,CACA,CAAO,CACP,8BAAqC,aAAa,EAAE,IACpD,0BAAiC,aAAa,EAAE,MAChD,EACA,0CAEA,mDACA,EACA,aAHA,GAAiC,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,GAMpE,CAAK,EACL,yCAOG,EANH,oDACA,EACA,aAEA,CAAK,EACL,gBACG,EADH,qBA5CA,YACA,2BACA,0CCCA,cACA,qBACA,SACA,QACA,4EAAoF,YAAY,IAChG,aACA,CAAK,CACL,MACA,QACA,sMACA,cACA,CAAK,CACL,QACA,uCACA,SACA,CAAK,CACL,QACA,wHACA,oBAIA,QACA,sIACA,cACA,QACA,6CACA,gBACA,CACA,CAAK,CAEL,QACA,yoDAEA,mEACA,UACA,CAEA,2CACA,SACA,CAAO,CACP,CAEA,uBACA,aACA,CAAO,CAOP,+EACA,CAEA,WACA,2CACA,QACA,gBACA,CACA,CAAK,CACL,UACA,0CACA,QACA,gBACA,CACA,CAAK,CACL,gBAAqB,IAAI,OACzB,EACA,mCAxEA,YACA,wBACA,yCCCA,cACA,6CACA,QAEA,iCACA,SACA,CAAK,CACL,cACA,CACA,QACA,mFACA,aACA,CAAO,CACP,aACA,CAEA,QACA,gUACA,UACA,gDACA,SACA,CAAK,CACL,aAAkB,EAAE,gCAAgC,IAAI,uBACxD,CAAG,EACH,0CACA,wBACA,iCACA,UACA,QACA,eACA,6BAAwC,IAAI,IAAI,GAChD,cACA,QACA,6BACA,cAA6B,IAAI,GACjC,mBACA,CAAa,CACb,YACA,kBACA,wBAEA,CACA,CAAS,CACT,gBACA,CACA,CACA,CAAG,EACH,8CACA,OACA,0CACA,UACA,QACA,0BACA,gBACA,+BACA,cACA,uBACA,yBACS,CACT,4BACA,CACA,CACA,CAAG,EACH,2CACA,cACA,sCACA,gBACA,CAAK,CACL,UACA,oBACA,cACA,CAAK,CACL,aACA,uBAA8B,IAC9B,iBACA,CACA,CAAG,CACH,CAhFA,YACA,qBACA,qCCCA,cACA,iBACA,8CACA,SACA,wCACA,UACA,cACA,CAAK,CACL,SACA,CACA,QACA,kEAA4E,IAC5E,QACA,MACA,yDACA,cACA,gBACA,CACA,CACA,CAAO,CACP,CACA,QACA,oGAA8G,IAC9G,QACA,MACA,QACA,gGACA,cACA,gBACA,CACA,CACA,CAAO,CACP,eAAqB,GACrB,CACA,uEACA,QACA,QACA,gDAAwD,OAAO,OAAO,6BAA6B,KACnG,UACA,QACA,eACA,qBAAgC,OAAO,6BAA6B,EACpE,cACA,QACA,MACA,QACA,sEACA,cACA,gBACA,CAAa,CACb,mEACA,qBACA,QACA,iCACA,SACA,CAAa,CACb,uDACA,8BAA2C,aAAa,EAAE,KAC1D,CACA,CACA,CACA,CAAK,CACL,uDACA,8BACA,qBAA0B,EAC1B,CACA,CArEA,YACA,oBACA,yCCHA,MAAiB,EAAQ,KAAQ,EAIjC,UAJwB,CAIxB,GACA,cACA,yCAKA,cACA,4BACA,ugBACA,CACA,SAEA,gyBACA,+GACA,CAEA,OACA,gFACA,4BACA,CAAG,CACH,CAxBA,YACA,qBACA,qCCCA,cACA,kBACA,SACA,eACA,SACA,CAAK,CACL,QACA,0BACA,SACA,CAAK,CACL,8BACA,4CACA,qBAA0B,EAAE,oCAC5B,QACA,2CAAiD,2IAA2I,MAAM,kCAClM,CACA,CAnBA,YACA,qBACA,qCCCA,cAMA,kBACA,WACA,QACA,sFAA8F,QAC9F,gBACA,CAAK,CACL,aACA,cAAmB,CACnB,CACA,CAlBA,YACA,qBACA,qCCCA,cAMA,kBACA,WACA,uDAA8D,QAC9D,gBACA,CAAK,CACL,aACA,cAAmB,CACnB,CACA,CAjBA,YACA,qBACA,qCCCA,eACG,YAKH,cACA,mDACA,CACA,kBACA,gBACA,QACA,6GACA,QAEA,QACA,oBACA,gBACA,CAAW,CAEX,kBACA,2CACA,cACA,YACA,uBACW,CAEX,gBACA,4BACA,cACA,gBACA,CACA,CACA,CAAO,CACP,mBACA,gCACA,QAEA,gBACA,wBACA,gBACA,CAAW,CAEX,eACA,yBACA,cACA,cACA,CAAW,CAEX,iBACA,kBACA,cACA,cACA,CACA,CACA,CAAO,CACP,QACA,8CACA,QACA,gBACA,CACA,4CACA,cACA,8BACA,uBACa,CACb,CACA,qDACA,cACA,gCACA,wBACa,CACb,CACA,8CACA,cACA,gCACA,wBACa,CACb,CACA,0BACA,aACA,EACA,CACA,eACA,iBACA,eACA,CAAW,CACX,gBACA,CACA,CACA,EAAM,IA2BN,EA1BA,cACA,GACA,sCACA,wCACA,wBACA,iBACA,mBACA,iBACA,sBACM,EACN,CACA,sBACA,oBACA,EAcA,eACA,SACA,QACA,WACA,SAXA,GACA,gCAEA,uCADA,EACA,eACA,EAAM,GAQN,CACA,0BACA,eACA,IACA,0BACA,EACA,wDACA,IAKA,0BACA,KAEA,cACA,YAEA,CAEA,GACA,2CAEA,CAAG,GACH,CAtJA,YACA,qBACA,mCCCA,cAGA,uBACA,mCACA,QACA,+BAAsC,kBACtC,SACA,CAAK,CACL,0EACA,QACA,mSACA,SACA,sIACA,mBACA,iEACA,kBAAuB,OACvB,CACA,CArBA,YACA,0BACA,qCCCA,cACA,kBACA,cACA,QACA,mEACA,SACA,CAAK,CACL,mEACA,mBACA,QACA,kRACA,gBACA,CAAK,CACL,WACA,gBACA,eACA,CAAK,CACL,QACA,mLACA,8BAAmC,cACnC,SACA,8GACA,sBAA2B,EAAE,EAC7B,CACA,CA3BA,YACA,qBACA,qCCCA,eAGG,YAMH,uBACA,KACA,YAEA,+BACA,eACA,CAAS,CAET,CACA,WAA6B,wBAC7B,GACA,aACA,UACA,gBACA,EAQA,IACA,GAAS,OAAO,UAAU,wBAAwB,iBAClD,SACA,WACA,kBAGA,GAEA,GACA,kBACA,QACA,SACA,aAAwB,aAAa,IACrC,cACA,WACA,CAAS,CACT,qBACA,YACA,mBACA,CACA,CACA,CACA,oCACA,UACA,kBACA,UACA,QACA,SACA,aAA0B,aAAa,IACvC,cACA,QACA,iBACA,mBAAoC,SACpC,aACA,CAAe,CACf,gBAEA,kDACA,cACA,QACA,iBACA,OACA,2DACA,cACA,QACA,sBACA,YACA,CACA,CAAmB,CACnB,SACA,CACA,CAAe,CACf,gBAEA,QACA,4DACA,cACA,QACA,wBACA,mBACA,UACA,kBAAuC,SACvC,QACA,2CACA,CACA,CACA,CACA,CAAe,CACf,gBAEA,kDACA,cACA,QACA,mBACA,UACA,aAAkC,SAClC,QACA,iBACA,CACA,CACA,CACA,CAAe,CACf,qDACA,YACA,6DACA,eACA,CAAe,CACf,gBACA,qBAAsC,SACtC,aACA,CAAe,CACf,aACA,QACA,oEACA,aACA,CAAe,CACf,kBACA,eACA,0BACA,UAAmC,aAAa,aAAa,cAC7D,KAEA,cACA,cACA,CAAe,CACf,eACA,CACA,CAAW,CACX,sBACA,YACA,gBACA,CACA,CACA,CAAO,CACP,SACA,OA3HA,CACA,UACA,UACA,QACA,QACA,CACA,CAsHA,EACA,0DACA,iEACA,eACA,+CACG,GACH,CA7JA,YACA,iCACA,2CCHA,MAAuB,EAAQ,KAAc,EAI7C,UAJ8B,CAI9B,GACA,cACA,gDACA,SACA,+BAAsC,YAAY,GAClD,CAAK,CACL,QACA,kTACA,cACA,CAAG,EACH,4CACA,oBACA,4DACA,cACA,QACA,gBACA,CACA,CACA,CAAG,EACH,kCAtBA,YACA,sBACA,0CCCA,cACA,mBACA,SACA,CACA,QACA,6DAAuE,aAAa,MACpF,cACA,SACA,CAAO,CACP,CACA,2BACA,cACA,SACA,EACA,CACA,QACA,yDACA,SACA,CAAK,CACL,SACA,yPACA,wPACA,CACA,aACA,4HACA,SACA,0CACA,cACA,CAAK,CACL,OACA,oIACA,kCACA,SACA,4FACA,iCACA,sBAA2B,EAC3B,CACA,CAxCA,YACA,sBACA,oCCCA,cAEA,oBAEA,gBACA,OACA,kCACA,eACA,QACA,uBACA,OACA,gCACA,aACA,CAAW,CACX,gBACA,CACA,CACA,EACA,yCAGG,EAFH,sCACA,wCAEA,CAzBA,YACA,uBACA,uECCA,cACA,qBACA,QACA,kBACA,QACA,cACA,uBACA,QACA,WACA,gBACA,mBACA,CACA,CACA,CACA,CACA,CAAK,CACL,SACA,uBACA,SACA,CAAK,CACL,OACA,yEACA,iBACA,CAAK,CACL,QACA,QACA,mIACA,aACA,CAAK,CACL,MACA,QACA,ovBACA,cACA,gBACA,CAAK,CACL,SACA,QACA,iVACA,aACA,CAAK,CACL,UACA,QACA,4tBACA,cACA,cACA,CAAK,CACL,UACA,QACA,yQACA,cACA,eACA,CAAK,CACL,MACA,QACA,kWACA,cACA,gBACA,CAAK,CACL,kBAAuB,IAAI,EAC3B,EACA,2DACA,oBACA,iEACA,uBACA,eACA,CACA,CArEA,YACA,wBACA,qCCCA,cACA,iBAMA,SACA,yBAAgC,YAChC,aACA,CAAK,CACL,SACA,wCACA,cACA,QACA,gBACA,mEACA,cACA,gBACA,CAAS,CACT,mBACA,CACA,CAAK,CACL,KACA,QACA,+EACA,cACA,iBACA,CAAK,CACL,OACA,qEACA,cACA,mBACA,QACA,eACA,0BACA,aACA,CACA,CACA,CAAK,CACL,eACA,CACA,CA7CA,YACA,oBACA,qCCCA,cACA,gBACA,SACA,yDACA,cACA,SACA,CAAK,CACL,wBACA,2CACA,UACA,cACA,CAAK,CACL,QACA,gCACA,SACA,CAAK,CACL,QACA,6kBACA,QACA,imBACA,iCACA,gEACA,SACA,8GACA,gBAAqB,IAAI,OACzB,CACA,CA7BA,YACA,mBACA,qCCCA,cACA,eACA,SACA,mBACA,SACA,CAAK,CACL,QACA,6BACA,SACA,CAAK,CACL,QACA,mNACA,MAGA,QACA,SAAiB,iBAAiB,6DAA6D,SAAS,8CACxG,eACA,CAAK,CACL,OACA,4GACA,QACA,YAAmB,2BACnB,eACA,CAAK,CACL,wBACA,aACA,4CAAmD,sBACnD,gBACA,CAAK,CACL,kBACA,CACA,CAnCA,YACA,kBACA,qCCCA,kBAEA,EAEA,EAEA,EAJA,EACA,idAGA,GACA,gBAHA,yDACA,QAEA,wCACA,cACA,QACA,WACA,mDACA,QACA,gBACA,CACA,CAAS,CACT,gBACA,CACA,EACA,6CACA,QACA,yCACA,cACA,SACA,CAAO,CACP,cACA,EACA,CAGA,eACA,yBAAqD,gBAErD,cACA,iBAEA,CACA,UACA,UACA,2BACA,CACA,2BACA,aACA,EACA,CACA,OACA,8IACA,UACA,QACA,wEACA,aACA,CACA,CAAK,EACL,0CACA,wBAEA,yDACA,UACA,cACA,CAAO,CACP,MACA,6BAAsC,IAAI,GAC1C,SACA,CACA,CAAK,EACL,8CACA,YACA,uCACA,cACA,mBACA,CAAO,CACP,UACA,QACA,kGACA,QACA,eACA,UACA,wBACA,gBACA,CACA,CAAO,CACP,WACA,eACA,oKACA,aACA,WACA,mBAIA,cACA,QACA,gBACA,CACA,CACA,CAAK,CAEL,CApGA,YACA,qBACA,2CCHA,MAAoB,EAAQ,KAAW,EACvC,EAA2B,EAAQ,KAAkB,CAD1B,CAK3B,UAJkC,CAIlC,OAIA,EACA,EACA,EALA,cACA,cAEA,sCACA,qCACA,EACA,yEACA,SACA,WACA,QACA,GAEA,uDAAsE,EAiFnE,EAhFH,4CACA,WACA,eACA,gEACA,OACA,MACA,EACA,KAEA,cACA,QACA,UACA,6BACA,aACA,CAAW,CACX,OACA,oBACA,aACA,CAAW,CACX,WACA,kCACA,QACA,gBACA,CACA,CAAW,CACX,0BACA,iCACA,wBACA,CACA,CAAO,CACP,cAEA,gCACA,cACA,QACA,mBACA,CACA,CAAO,CACP,gBACA,CACA,QACA,IAAgB,wBAAwB,YAAY,KAAK,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,UAAU,GACxH,cACA,QACA,MAEA,UACA,cACA,wBACA,qBACA,CACA,CACA,CAAS,CACT,CACA,QACA,8DACA,cACA,QACA,MACA,UACA,cACA,QAEA,2BACA,iCACA,MAEA,aACA,wBACA,qBACA,CACA,CACA,CACA,CACA,EACA,CACA,2BACA,iCACK,EACL,8DAEA,CAlGA,YACA,wBACA,qCCAA,kBAEA,EA4EA,sBA5EA,2BACA,WACA,QACA,eAAyB,EAAE,gDAC3B,aACA,CAAO,CACP,SAGA,uBAAgC,EAAE,iBAAiB,sBACnD,aACA,CAAO,CACP,gBAAuB,EACvB,CAAK,CA+DL,cACA,MAdA,cACA,oBACA,QAEA,uBA/CA,cACA,oBACA,EA0DG,EA1DH,aACA,MAGA,WACA,OAEA,QACA,OACA,gDACA,cACA,eACA,EAEA,EADA,GA6CG,EA7CH,sCACA,IAQA,GANA,qBAEA,SACA,SACA,GAEA,iBACA,uBAA0C,IAAO,IACjD,uBACA,OACA,aACA,EAEA,aAGA,KAEA,EAYA,cACA,UACA,cAEA,eACA,CAAS,CACT,CAAO,CACP,CAGA,CAAK,EACL,2CAEA,CAtFA,YACA,4BACA,qCCCA,cACA,mDACA,cACA,gCACA,CACA,QACA,0GACA,aACA,EACA,CACA,SACA,CACA,iBAA0B,cAC1B,aACA,CAAO,CACP,CACA,QACA,yCAAmD,+JAA+J,2QAClN,aACA,EACA,CAEA,SACA,oGACA,QACA,eACA,oBACA,MACA,uBACA,IACA,iCACA,IACA,mCACA,IACA,6CACA,KACA,uBACA,IACA,oFACA,OACA,IACA,oBAEA,aACA,CAAK,CACL,SACA,sEAA4E,EAAE,mBAC9E,CAAG,EACH,gDACA,uEACA,iDACA,OAEA,QACA,oHAA4H,IAAI,kDAAkD,EAAE,aACpL,cACA,UACA,QACA,gBACA,oCACA,cACA,uBACA,yBACS,CACT,4BACA,wBACA,CACA,CAAK,CAEL,qBACA,QACA,gMACA,gBACA,CAAK,CACL,WACA,CACA,QACA,sIACA,cACA,8BACO,CACP,CACA,QACA,qFACA,cACA,8BACO,CACP,CACA,QACA,kEACA,cACA,8BACO,CACP,CACA,QACA,2eAAqf,GACrf,cACA,+BAEA,CACA,oCACA,CAAG,EACH,gDACA,UACA,gBACA,UACA,eACA,CAAK,CACL,mBACA,QACA,kBAA0B,OAAO,IAAI,OAAO,IAAI,GAAG,IAAI,IAAI,IAAI,QAAQ,YACvE,UACA,QACA,wBACA,gBACA,cACA,CAAS,CACT,eACA,QACA,mBAA+B,EAAE,OAAO,OAAO,IAAI,OAAO,IAAI,GAAG,IAAI,IAAI,IAAI,EAC7E,cACA,QACA,6BACA,cAA6B,GAAG,GAChC,mBACA,CAAa,CACb,4BAEA,CAAS,CACT,gBACA,CACA,CAAK,CACL,mBACA,QACA,UAAkB,kEAClB,cACA,UACA,gBACA,CACA,CAAG,EACH,kDACA,oBACA,QACA,UAAkB,0EAClB,cACA,gBACA,CACA,CAAG,EACH,qBACA,yDAEA,oCACA,yNACA,OACA,eAGA,qCACA,CAjKA,YACA,2BACA,yCCCA,cAGA,4BAMA,SACA,QACA,8FACA,cACA,QACA,SACA,QACA,kEACA,aACA,CAAS,CAET,QACA,wBACA,aACA,CAAS,CACT,YACA,iCACA,cACA,QACA,uBACA,yBACA,gBACA,CACA,CAAS,CACT,SACA,qBACA,cACA,cACA,CAAS,CACT,eACA,CACA,CAAK,CAsBL,eACA,sEACA,cACA,QACA,SACA,wBACA,aACA,CAAS,CACT,QAGA,CACA,iCACA,cACA,QACA,iBACA,gBACA,eACA,kBACA,cACA,CACA,CACA,CAAW,CAGX,CACA,2BACA,cACA,QACA,4CACA,CACA,EACA,CACA,+CACA,mCACA,gBACA,sDACA,cACA,kBACA,QACA,gBACA,CACA,CAAS,CACT,QACA,8DACA,cACA,QACA,SACA,qBACA,cACA,cACA,CAAa,CACb,kBACA,CACA,CAAS,CACT,WACA,4BACA,QACA,gBACA,CACA,CAAS,CACT,oBACA,CACA,CAAK,CAGL,MACA,qBAA4B,GAAG,yBAC/B,cACA,QACA,gBAAyB,EAAE,EAC3B,aACA,gCACA,CACA,CACA,CACA,CA7IA,YACA,+BACA,qCCCA,cACA,kBACA,2CACA,WACA,QACA,oHACA,iBACA,aACA,CAAK,CACL,SACA,sHACA,qCACA,kDACA,6BACA,iBACA,gBAAqB,SACrB,CACA,CApBA,YACA,qBACA,oCCCA,cACA,8CACA,QACA,0CACA,cACA,SACA,CAAK,CACL,cACA,QACA,4EACA,aACA,CAAK,CACL,QACA,gZACA,sCACA,sDACA,6DACA,qBAA0B,EAAE,KAC5B,QACA,iGACA,CAAG,EACH,4CACA,YACA,QACA,8EACA,cACA,QACA,mBACA,mBACA,eACA,CACA,CAAK,CACL,WACA,QACA,mEACA,cACA,QACA,gBACA,mBACA,aACA,CACA,CAAK,CACL,UACA,QACA,4HACA,CACA,CAAG,CACH,CAlDA,YACA,sBACA,qCCCA,kBAEA,EACA,EAQA,EAcA,EAvBA,uCACA,SACA,0DACA,MACA,WACA,QACA,IAGA,GACA,eACA,kCAA2C,EAAE,eAC7C,cACA,QACA,SACA,gCACA,cACA,WACA,CAAW,CACX,uBACA,CACA,CACA,EACA,kBACA,cACA,UACA,gDACA,cACA,UACA,QACA,CAAO,CACP,QACA,UACA,cACA,UACA,QACA,CAAO,CACP,UACA,+BACA,aACA,CAAO,CACP,mBACA,oBACA,oCACA,gBACA,CAAO,CACP,QACA,wHACA,6BACA,mDACA,UACA,CACA,eACA,YACA,CAAS,CACT,iEACA,CACA,oBACA,gCACA,gBACA,CAAO,CACP,yBAAgC,GAAG,oBACnC,KACA,aACA,iBACA,CACA,CAAK,CACL,uCAEA,CA1EA,YACA,mBACA,qCCCA,eACG,YA2CH,gBACA,cACA,6BACA,qEACA,CAAS,EACT,EAEA,CAjDA,2DACA,mBACA,eACA,YACA,4DAEA,cACA,kEAEA,CAAK,EACL,kDACA,QACA,eACA,oDAEA,cACA,oCACA,CACA,CAAK,EACL,kDACA,oBACA,CAGA,QACA,yOACA,kBACA,CAAS,CACT,CAEA,gCACA,kBACA,EACA,CACK,EAgBL,iDACA,SAEA,UACA,qDAA+D,IAAI,IAAI,qBAAqB,IAAI,IAAI,kBACpG,QAEA,cACA,8BACO,CACP,SAEA,UACA,wDAAkE,IAAI,IAAI,GAC1E,QAEA,cACA,8BAEA,CAAK,EACL,uCACA,CACA,gDACA,cACA,CAAO,CACP,CACA,QACA,gGACA,oBACA,CAAO,CACP,CACA,mBACA,qBACO,CACP,CACA,wBACA,WACA,GAEA,kDACA,QACA,YAAqB,EAAE,EACvB,gBACA,CAAO,CACP,OACA,aACA,gBACA,CACA,CAAK,EACL,qDACA,mBACA,kCACA,aACA,CAAO,CACP,oBACA,sDACA,aACA,CAAO,CACP,KAEA,QACA,kFACA,gBACA,CAAO,CACP,SACA,6BACA,kBACA,CACA,CAAK,EAQL,QAPA,GACA,WACA,oBACA,SACA,kBACA,kBACA,CACA,IAAoB,WAAiC,KACrD,WACA,2BACA,4BACA,8BACA,SACA,GAEA,kBACA,YACA,qCACA,CACA,CAAG,GACH,CAhJA,YACA,yBACA,qCCCA,eACG,YACH,gDACA,mBACA,yBACA,EACA,sCACA,mBAYA,gBACA,kBAGA,OACA,oCACA,cACA,UACA,QACA,wBACA,gBACA,cACA,CAAW,CACX,iBACA,kBACA,OACA,CACA,CACA,CACA,CAwCA,kBACA,OACA,OACA,UACA,UACA,EAIA,OAHA,iCACA,sCACA,gCACA,QACA,CAjDA,2CAKA,EACA,MACA,0HACA,QAGA,0DACA,wBACA,yCACA,EACA,UACA,qDAEA,wBACA,EACA,iBAsLA,OACA,cACA,MACA,cACA,MACA,OACA,MACA,EACA,yCACA,iBASA,cACA,uBAA2C,IAAO,KAClD,WACA,uBAGA,gBACA,sBACA,oBACA,OAEA,QACA,CACA,+BAeA,WACA,GACA,cACA,oBACA,yBACA,CAEA,eAuBA,WACA,mBACA,EACQ,iBACR,kBAEA,YAEA,EA/BA,GACA,UACA,0BACA,iBACA,MAEA,QAEA,eAlKA,OAIA,oBACA,eACA,kBACA,aACA,CACA,CAAO,EACP,IAEA,KAoBA,IAnBA,EACA,gBACA,sBACA,SAIA,IAFA,IA3FA,EA4FA,EADA,YAKA,KAFA,WA9FA,EA+FA,MA9FA,sCAoGA,OADA,OACA,CAEA,CAAS,EACT,SACA,KACA,wBACA,KAsDA,SAhDA,KACA,YAAwB,WAAmB,KAC3C,eACA,OAEA,WACA,mDACA,WACA,EACA,mBACA,EAEA,UACA,eACA,WACA,IACA,uBACA,WAtGA,GACA,QACA,kCAEA,sBACA,iBASA,YACA,aACA,EACA,6CAEA,mBACA,CACA,mBACA,gBACA,EACA,QACA,EAEA,EA4EA,MAEA,0BACA,KAKA,GAJA,GACA,UAEA,UACA,GACA,UACA,KACA,iBACA,CACA,oBACA,kCACA,eAEA,WAEA,CACA,EAAY,IACZ,gBACA,iBACA,KAEA,MAEA,CACA,CACA,EACA,GACA,YACA,EACA,EACA,cACA,EAEA,EAmEA,MACA,CACA,EAAY,IACZ,KAEA,CACA,EACA,SACA,CAAK,CAgBL,CAAG,GACH,CA1UA,YACA,4BACA,2CCHA,MAA2B,EAAQ,KAAkB,EACrD,EAA0B,EAAQ,KAAiB,CADjB,CAKlC,UAJiC,CAIjC,OAIA,EACA,EACA,EALA,cACA,cAEA,EAoFG,EApFH,qBAEA,EACA,4CAFA,KAAkB,OAAO,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,UAExD,UAiFG,EAhFH,kDACA,WAEA,eACA,iDAEA,cACA,QACA,gBACA,CACA,CACA,CAAK,EACL,4CACA,sBAEA,eACA,EACA,gEAEA,cACA,QACA,WACA,mCACA,cACA,QACA,gBACA,CACA,CAAW,CACX,MACA,4BACA,cACA,SACA,2BACA,CAAW,CACX,oBACA,CACA,CAAO,CACP,cACA,CACA,eACA,kIACA,UACA,WACA,QACA,IAGA,cACA,QACA,gBACA,CACA,CAAS,CACT,CACA,kCACA,cACA,QACA,gBACA,gBACA,kBACA,QAqBG,EArBH,6BACA,6BACA,iBAA8B,KAAK,OACnC,CACA,EACA,CACA,SACA,QACA,yEACA,cACA,QACA,MACA,oCACA,cACA,SACA,2BACA,CACA,CACA,CACA,CAAK,EACL,kEAEA,CA5FA,YACA,sBACA,qCCAA,cAEA,kBACA,UACA,iDACA,cACA,SACA,CAAK,CACL,QACA,iDACA,cACA,SACA,CAAK,CACL,SACA,wCACA,SACA,CAAK,CACL,4CACA,gBAAqB,OACrB,aACA,6BACA,MACA,mBACA,eACA,CACA,EACA,yCA7BA,YACA,qBACA,wDCHA,MAAoB,EAAQ,KAAW,EAIvC,UAJ2B,CAI3B,OAGA,EAFA,cAEA,iDACA,kBAmBG,EAnBH,yBACA,UACA,CACA,qCACA,SACA,CAAS,CACT,CACA,QACA,iEACA,gBACA,EACA,CACA,QACA,UACA,SACA,CAAO,CACP,OACA,6FACA,CAAK,CAEL,CA3BA,YACA,sBACA,2CCHA,MAAoB,EAAQ,KAAW,EAIvC,UAJ2B,CAI3B,GACA,cACA,6CACA,gBAAqB,MAAM,IAC3B,CAAG,EACH,gDACA,0EACA,CAAG,CACH,CAXA,YACA,sBACA,qCCCA,cACA,0BACA,iBACA,iBACA,cACA,CAAK,CACL,eACA,8BACA,cACA,QACA,eACA,QACA,+HACA,eACA,CAAS,CACT,UACA,uDACA,cACA,WACA,CAAS,CACT,UACA,QACA,uEACA,cACA,QACA,gBACA,CACA,CAAS,CACT,mBACA,yBACA,OACA,qEACA,gBACA,CAAS,CACT,eACA,0BACA,eACA,QACA,eACA,CACA,CACA,CACA,CACA,CACA,CA/CA,YACA,6BACA,qCCCA,eACG,YACH,2CACA,wDACA,QAAuB,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,UAC7D,QAAuB,OAAO,EAAE,OAAO,cAAc,UAKrD,gBAWA,cAVA,IACA,0BACA,QACA,CAAS,EACT,+BACA,QACA,CAAS,EACT,+BACA,QACA,CAAS,EACT,EACA,CACA,cACA,+CACA,8BACA,6FAAmG,2CACnG,QAEA,wDACA,iDACA,OAAa,8DACb,oDACA,4BACA,6CACA,yBACA,SACA,YACA,CACA,QACA,6BACA,uBAEA,CAAO,CACP,qBAEA,yBACA,SACA,eACA,CACA,QAEA,8BACA,4BACA,QACA,sBACA,gBAA+B,GAC/B,mBACA,CAAa,CACb,qBAEA,CACA,CAAO,CACP,qBAEA,yBACA,EAGA,mBACA,EAEA,2BACA,UAEA,0BARA,EASA,EACA,cAEA,QADA,KACA,IAAsB,WAAmB,KACzC,WACA,KAgDA,GA/CA,qBAEA,gBACA,cACA,0BAGA,uCAGA,YACA,wBACA,4BAGA,QAGA,8CAIA,QACA,mCACA,cACA,CAAiB,EAIjB,YACA,wBACA,EAAgC,IAAhC,UAGA,6BAEA,YACA,8BACA,wBACA,EAAgC,IAAhC,UAGA,6BAEA,MAGA,yBAEA,YACA,+BACA,CAGA,WAEA,cACA,0BACA,8BAEA,aACA,iBAGA,KACA,0BACA,8BAEA,cACA,gBACA,KAEA,iBACA,aACA,EACA,KACA,EAEA,CAEA,uCACA,YAEA,CACA,EACA,yCACA,0CAGA,WACA,CAAK,CACL,CAAG,GACH,CAjLA,YACA,oBACA,qCCCA,cACA,mBACA,SAGA,QACA,6EACA,aACA,CAAK,CACL,OAEA,sCAA6C,IAAI,EACjD,SACA,CAAK,CACL,QAIA,QACA,uEACA,SACA,CAAK,CACL,MAEA,uDACA,cACA,SACA,CAAK,CACL,QACA,6PACA,6BACA,OACA,kIAGA,SACA,+FACA,oBAAyB,MAAM,MAE/B,sDACA,CACA,CA5CA,YACA,sBACA,qCCCA,cACA,wBACA,SACA,iBACA,SACA,CAAK,CACL,QACA,QACA,uFACA,cACA,SACA,CAAK,CAEL,IACA,eACA,oBAA4B,IAAI,GAAG,EAAE,QAAQ,IAAI,YAAY,IAAI,GAAG,EAAE,SAAS,IAAI,YAAY,IAAI,GAAG,EAAE,YAAY,IAAI,WAAW,IAAI,YAAY,IAAI,GAAG,EAAE,YAAY,IAAI,GAAG,IAAI,QAAQ,IAAI,YAAY,IAAI,GAAG,EAAE,YAAY,IAAI,GAAG,IAAI,QAAQ,IAAI,YAAY,IAAI,GAAG,EAAE,YAAY,IAAI,GAAG,IAAI,QAAQ,IAAI,YAAY,IAAI,GAAG,EAAE,kBAAkB,IAAI,GAAG,IAAI,qBAAqB,IAAI,GAAG,IAAI,eAAe,IAAI,aAAa,IAAI,GAAG,IAAI,QAAQ,IAAI,cAAc,IAAI,GAAG,IAAI,QAAQ,IAAI,YAAY,IAAI,GAAG,IAAI,UAAU,IAAI,iBAAiB,IAAI,sBACvhB,UACA,WACA,sDAAmE,EAAE,wCACrE,SAGA,KAEA,cACA,CAAK,CAEL,MACA,QACA,qEACA,cACA,cACA,CAAK,CACL,cAAmB,MAAM,GACzB,OACA,iCAAwC,IAAI,EAAE,IAAI,EAClD,cACA,CAAK,CACL,6BACA,qBACA,gBACA,CAAK,CACL,aACA,SACA,ilIACA,SACA,mIACA,QACA,qCACA,aACA,CAAK,CACL,2CACA,gBAAqB,EAAE,EACvB,CACA,CAzDA,YACA,2BACA,qCCCA,cACA,oBACA,SACA,kBACA,SACA,CAAK,CACL,QACA,kCACA,SACA,CAAK,CACL,eACA,QACA,4HACA,UACA,gBACA,CAAK,CAEL,kBACA,eACA,YACA,CAAK,CACL,oBACA,QACA,8HACA,YACA,CAAK,CACL,gBACA,QACA,+HACA,eACA,CAAK,CACL,sBACA,qEACA,eACA,CAAK,CACL,kBACA,0DACA,gBACA,CAAK,CAEL,iDACA,wBACA,oBACA,CACA,CA/CA,YACA,uBACA,qCCCA,kBA0BA,CAxBA,CAkFG,EAlFH,6CACA,SAEA,QACA,2bACA,aACA,CAAO,CACP,UACA,CACA,yCACA,SACA,CAAS,CACT,CACA,wCAAmD,GACnD,cACA,SACA,EACA,CACA,OACA,kIACA,SACA,sGACA,CAAK,EACL,OA2DG,EA3DH,+BACA,GACA,6BACA,cAAuB,IAAI,GAC3B,mBACA,CAAO,CACP,YACA,kBACA,0BAEA,EAiDG,EAhDH,0CAEA,kBACA,CACA,8BAAyC,IAAI,IAAI,IAAI,SACrD,kBACA,QACA,eACA,0BAAyC,IAAI,IAAI,IACjD,QACA,CAAa,CACb,gBACA,CACA,CAAS,CACT,CACA,uCAAkD,IAAI,IAAI,IAAI,MAC9D,mBACA,QACA,eACA,2BAA0C,EAAE,oBAAoB,IAAI,IAAI,IACxE,cACA,QACA,CAAa,CACb,gBACA,CACA,EACA,CACA,MAEA,4CAAqD,IAAI,KACzD,SACA,CACA,CAAK,EACL,OAeG,EAfH,wBAeG,EAdH,2CACA,YACA,8CACA,eACA,CACA,CAAK,EACL,8CACA,OACA,wBACA,cACA,CACA,CAAK,EACL,kCACA,gBACG,EADH,iBAtFA,YACA,uBACA,+CCCA,eAEG,YAMH,mEAQA,gBACA,wCACA,CACA,mBACA,SACA,cACA,CAAO,CACP,QACA,cACA,SACA,CAAO,CACP,QACA,kCACA,SACA,CAAO,CACP,SACA,2DACA,aACA,CAAO,CACP,iBACA,6DACA,cACA,eACA,CAAO,CACP,mBACA,qDACA,cACA,eACA,CAAO,CACP,MACA,CACA,UACA,mEACA,QAEA,cACA,eACA,CAAS,CACT,CACA,UACA,kEAEA,cACA,iBACA,EACA,CAMA,SACA,UACA,qPACA,QAEA,aACA,CAAO,CAEP,MAEA,UACA,2EACA,QAEA,aACA,CAAO,CAEP,QACA,UACA,2FACA,OACA,KAEA,aACA,CAAO,CAEP,sBAA6B,OAM7B,iBACA,kCACA,gBACA,CACA,EACA,kCACG,GACH,CA7GA,YACA,sBACA,0CCCA,cACA,mBACA,SACA,iBACA,SACA,CAAK,CACL,QACA,QACA,mGACA,SACA,CAAK,CACL,MACA,8BACA,cACA,eACA,CAAK,CACL,SACA,6BACA,eACA,CAAK,CACL,aACA,2EACA,QACA,ibACA,kCACA,gCACA,UACA,CAEA,QACA,0GAAoH,IAAI,wEAAwE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,mDAAmD,EAAE,OAC9Q,cACA,CAAO,CACP,CAEA,QACA,cAAwB,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE,iBACpG,cACA,EACA,CACA,OACA,oHACA,2CACA,sBAA2B,EAAE,IAC7B,CACA,CAhDA,YACA,sBACA,qCCCA,kBAEA,EACA,KACA,oBACA,QAHA,+BAIA,aACA,CACA,EACA,mBACA,cAEA,OACA,QACA,WAAqB,8BAA8B,mBAAmB,IAAI,GAC1E,aACA,CAAO,CAKP,UACA,CACA,QACA,0FACA,SACA,cACA,CAAS,CACT,CACA,QACA,WAAuB,uDAAuD,mBAAmB,IAAI,GACrG,cACA,SACA,cACA,EACA,CAKA,SACA,QACA,0EAAoF,IAAI,OAAO,GAC/F,aACA,CAAO,CACP,KACA,iBAA0B,IAAI,OAAO,GACrC,aACA,CAAO,CAKP,UACA,QACA,8IAAwJ,IAAI,OAAO,GACnK,cACA,kBACA,CAAO,CACP,UACA,UACA,gBACA,CAAO,CACP,mBAA0B,GAC1B,EACA,kCACA,qCAEA,CAvEA,YACA,sBACA,yDCHA,MAAgC,EAAQ,KAAwB,EAChE,EAAmB,EAAQ,KAAU,CADE,CAKvC,UAJ0B,CAI1B,OAsBA,EArBA,cACA,cAEA,mBACA,YAAmB,WACnB,aAEA,aAAsB,6CACtB,cACA,iBACA,CAAO,CACP,WACA,YAAqB,MAAM,GAC3B,mBACA,CAAO,CACP,KACA,2BACA,qBACA,uBAEA,EACA,gCAAyD,EAiDtD,EAhDH,uBACA,SACA,aACA,CACA,UACA,6DACA,QACA,aACA,mBACA,iBACA,CAAa,CACb,cACA,mBACA,QACA,aACA,KACA,CACA,2BACA,aACA,EACA,CACA,KACA,2BACA,uBAEA,CACA,CACA,CACA,CACA,CAAO,CACP,OAEA,0CACA,uBAKA,mDACA,EACA,QAHA,GAAW,cAAc,GAAG,QAAQ,YAAY,4EAA4E,IAM5H,YACA,CAAK,EACL,yCACA,gEACA,CAAK,CAEL,CA3EA,YACA,sBACA,qCCAA,cAQA,2CACA,SACA,mBACA,CACA,0BACA,aACA,EACA,CACA,QACA,QACA,qBAA6B,UAAU,gBAAgB,wBAAwB,GAC/E,QACA,mBACA,CACA,CAAK,CAEL,UACA,QACA,OAAe,QAAQ,MAAM,WAAW,QAAQ,YAAY,UAAU,gBAAgB,yBAAyB,GAC/G,QAEA,mBACA,CACA,CAAK,CACL,gBAAqB,QAAQ,2BAC7B,mBACA,CAAG,EACH,4CACA,UAEA,CACA,sBACA,QACA,eACA,CACA,CAAO,CACP,YACA,CACA,eACA,aAAoB,6BAA6B,IACjD,cACA,gBACA,CACA,CAAG,CACH,CAvDA,YACA,qBACA,0CCHA,MAAsB,EAAQ,KAAa,EAI3C,UAJ6B,CAI7B,GACA,cACG,YAMH,QALA,EACA,WAAiB,gBAAgB,gCAAgC,SAAS,YAAY,IAAI,eAC1F,OAGA,IAAoB,EADpB,EAC2C,IAC3C,iCACA,QACA,CAAO,EAEP,wCACA,4BACA,kBAAyB,MAAM,WAAW,GAC1C,mBACA,eACA,6EACA,UACA,WACA,QACA,GAEA,KAEA,cACA,UACA,QACA,QACA,uBACA,cACA,wBACA,QACA,qBACA,YAA6B,WAAW,EACxC,UACA,QACA,iBAAoC,IAAI,GACxC,UACA,kBACA,0BACA,WACA,CACA,CACA,CAAe,CACf,wBAEA,CAAW,CACX,eACA,CACA,CAAO,CACP,QACA,4BACA,SACA,CAAO,CACP,cACA,2BACA,aACA,CAAO,CACP,SACA,yBACA,QACA,iBACA,CACA,CAAO,CACP,sBACA,aACA,QACA,sEAAgF,iCAChF,aACA,CAAO,CACP,0BACA,CAAK,CACL,0CACA,oBACA,0BACA,gBACA,CAAG,GACH,CAlFA,YACA,yBACA,2CCHA,MAAgC,EAAQ,KAAwB,EAIhE,UAJuC,CAIvC,GACA,cACA,oBACA,SACA,aAAoB,iBAAiB,aAAa,oBAAoB,IACtE,aACA,CAAK,CACL,WACA,YAAmB,KAAK,EAAE,KAAK,YAAY,EAAE,KAAK,IAAI,GACtD,mBACA,CAAK,CACL,QACA,0BACA,SACA,CAAK,CACL,QACA,oOACA,OACA,ywBACA,UACA,CACA,qBACA,cACA,cACA,CAAO,CACP,CAEA,qCACA,aACA,EACA,CACA,iCACA,OACA,eACA,gBACA,CAAK,CAEL,2BACA,iEACA,yBACA,OACA,oBACA,eACA,CACA,EACA,0CAGA,SACA,mDACA,EACA,SAJA,GAAS,iBAAiB,UAAU,oBAAoB,GAAG,gBAAgB,EAAE,UAAU,EAAE,GAAG,UAAU,GAAG,GAMzG,YACA,UAA2B,qBAC3B,MACA,WACA,iBAEA,OADA,KACA,GACY,gBAEZ,OADA,KACA,EAEA,CACA,QACA,EAEA,CAAG,EACH,yCACA,iEACA,CAAG,CACH,CA3EA,YACA,uBACA,qCCCA,eACG,YAQH,cACA,4DACA,CAOA,cACA,cACA,iDAEA,CAGA,CAHM,GAGN,yBAAwC,aACxC,QACA,UAEA,YACA,EACA,oFACA,OACA,GAGA,SACA,YAAqB,IACrB,0BACO,CACP,UAAiB,IACjB,QACA,4BACA,UACA,QACA,6BACA,wBACA,CACA,CAAO,CACP,iBACA,wBACA,4BACO,CACP,iBACA,sBACA,gBACA,CAAO,CACP,QACA,wBACA,4BACO,CACP,SACA,CACA,eACA,EACA,8IACA,GAEA,aACA,CAAS,CACT,CACA,eACA,EACA,wDACA,GAEA,aACA,EACA,CACA,SACA,4BACA,cACA,eACA,CAAO,CACP,aACA,gCACA,cACA,eACA,CAAO,CACP,SACA,0BACA,aACA,CAAO,CACP,QACA,uCACA,aACA,CAAO,CACP,QACA,wDACA,cACA,QACA,qBACA,kBACA,CACA,CAAO,CACP,OACA,eACA,EACA,0CACA,EACA,eACA,EACA,aAEA,cACA,UACA,QACA,0BAGA,eACA,UACA,2BACA,aACA,CAAW,CACX,kBACA,CACA,CAAO,CACP,QACA,eACA,EACA,yBACA,EACA,YACA,EACA,eAEA,cACA,UACA,QACA,kBAGA,eACA,kBACA,CACA,CAAO,CACP,KACA,oBACA,aACA,CAAO,CACP,aAEA,uBACA,CACA,uBACA,aACA,EACA,EAEA,GACA,wBACA,SACA,eACA,gDAEA,QACA,CAAO,CACP,UACA,qCACA,cACA,gBACA,CAAO,CACP,MACA,EACA,sBACA,GACA,mBArJA,WAsJA,cACA,QACA,aACA,uCACA,QACA,CAAS,CACT,qBACA,0CACA,QACA,CAAS,CACT,MACA,0DACA,QACA,CAAS,CACT,UACA,kBACA,gBACA,CAAS,CACT,kBACA,CACA,CACA,6BACA,yCACA,0CACA,mBACA,oBACA,oBACA,2BACA,CAAG,GACH,CAlNA,YACA,qBACA,qCCCA,cACA,wBACA,SACA,CACA,oCACA,aACA,CAAO,CACP,CACA,uBACA,aACA,EACA,CACA,uBAGA,0DACA,cACA,UACA,QACA,UACA,8CACA,aACA,CAAS,CACT,eACA,qBAAgC,GAAG,IAAI,GACvC,cACA,QACA,6BACA,aAA4B,GAAG,GAC/B,gBACA,CACA,CADc,CAEL,CACT,gBACA,CACA,CAAK,CACL,QACA,CACA,6CACA,SACA,CAAO,CACP,CACA,yBACA,SACA,CAAO,CACP,SAAe,IAAI,IACnB,CACA,OACA,CACA,gEAAyE,IAAI,EAC7E,UACA,QACA,SACA,uBACA,aACA,CACA,CACA,CAAO,CACP,CACA,yDAAkE,IAAI,EACtE,SACA,EACA,CACA,SACA,QACA,wQACA,aACA,CAAK,CACL,oBACA,QACA,+JACA,cACA,gBACA,CAAK,CACL,SACA,yDACA,aACA,CAAK,CACL,UAEA,sCACA,cACA,gBACA,CAAK,CACL,kEACA,uCACA,UAEA,CACA,qBACA,aACA,CAAO,CAuBP,oLACA,CACA,kBAAuB,SAAS,GAChC,EACA,qDACA,aACA,oCA3HA,YACA,2BACA,qCCCA,cAqBG,EAnBH,gBACA,UAAiB,IACjB,QACA,kBACA,SACA,CAAO,CACP,6BACA,8CAAqD,EAAE,UACvD,kCAAyC,EAAE,MAC3C,MACA,QACA,iGACA,kBACA,CAAO,CACP,+BACA,OACA,2EAAmF,GAAG,sBAAsB,GAAG,mBAAmB,EAAE,IACpI,gBAAuB,IAAI,WAC3B,CAEA,CAzBA,YACA,qBACA,qCCCA,cAKA,iBACA,QAEA,mEACA,SACA,CAAK,CACL,WACA,QACA,iFAAyF,EAAE,oDAC3F,cACA,UACA,mDACA,oCACA,iBACA,8BACA,oBACA,CACA,CAAK,CACL,OACA,CACA,QACA,6EACA,2BACA,CAAO,CACP,CACA,mCACA,8BACO,CACP,CACA,iDACA,yBACO,CACP,CACA,iCACA,yBACA,CAAO,CACP,CACA,qDACA,2BAEA,CACA,UACA,QACA,wFACA,aACA,CAAK,CACL,WACA,oBAA2B,GAAG,GAAG,GAAG,IAAI,GAAG,QAC3C,cACA,eACA,CAAK,CACL,sCAA2C,WAAW,OACtD,OACA,qEACA,cACA,WACA,CAAK,CACL,cACA,iBAAwB,IAAI,QAAQ,IAAI,EAAE,EAAE,KAC5C,gBACA,CAAK,CACL,eACA,oBAA2B,EAAE,aAAa,EAAE,EAAE,EAAE,KAChD,gBACA,CAAK,CACL,QACA,QACA,qEACA,cACA,gBACA,CAAK,CACL,MACA,QACA,YAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,KACvE,gBACA,CAAK,CACL,MACA,uBAA8B,GAAG,EAAE,IAAI,KACvC,gBACA,CAAK,CACL,aACA,QACA,qBAA6B,KAAK,4BAA4B,IAAI,WAAW,KAAK,WAClF,cACA,UACA,cACA,CAAK,CACL,MACA,eACA,MAAc,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,IAAI,WAAW,IAAI,YAC/D,IACA,MAAgB,IAAI,WAAW,IAAI,yDAAyD,IAAI,MAChG,OACA,IACA,2CAAqD,IAAI,yGAAyG,IAAI,GAAG,IAAI,IAC7K,OACA,KAEA,cACA,CAAK,CACL,MACA,QACA,MAAc,IAAI,IAAI,IAAI,IAAI,IAAI,0BAA0B,EAAE,KAAK,EAAE,QACrE,cACA,CAAK,CACL,mCACA,QACA,QACA,qFAA6F,IAAI,gBACjG,aACA,CAAK,CACL,YAAiB,qBAAqB,KACtC,sBACA,CACA,CA1HA,YACA,oBACA,oCCCA,cACA,qBACA,+CACA,QACA,0BACA,QACA,aAAsB,GAAG,IAAI,EAC7B,mDACO,CACP,SACA,CAAK,CACL,6CACA,QACA,yEACA,cACA,QACA,iBACA,CACA,CAAK,CACL,OACA,yDACA,cACA,cACA,CAAK,CACL,UACA,qDACA,aACA,CAAK,CACL,SACA,CACA,QACA,sRACA,aACA,CAAO,CACP,eACA,CACA,SACA,uCACA,aACA,CAAK,CACL,UACA,6BACA,aACA,CAAK,CACL,UACA,QACA,uHACA,aACA,CAAK,CACL,gBAAqB,EAAE,OACvB,CACA,CAtDA,YACA,wBACA,qCCCA,cACA,iBACA,iDAEA,QACA,QACA,qFACA,SACA,CAAK,CACL,OACA,gHACA,QACA,0HACA,+BAAoC,KACpC,UACA,wCACA,CAEA,6BACA,aACA,EACA,CACA,sBAA2B,EAAE,SAC7B,CACA,CA3BA,YACA,oBACA,qCCCA,cACA,mBACA,QACA,QACA,2GACA,cACA,SACA,CAAK,CACL,SACA,kCACA,SACA,CAAK,CACL,QACA,0CACA,cACA,SACA,CAAK,CAEL,QACA,ggBACA,6BACA,WACA,+BACA,kBACA,CAAK,CACL,iCACA,QACA,QACA,uFACA,aACA,CAAK,CACL,mCACA,qBAA0B,IAAI,IAC9B,CACA,CArCA,YACA,sBACA,qCCCA,cACA,sBACA,SACA,qDACA,aACA,CAAK,CACL,QACA,yDACA,SACA,CAAK,CACL,kBACA,wCACA,eACA,CAAK,CACL,QACA,sDACA,eACA,QACA,4BAAqC,cAAc,IACnD,CACA,CAAK,CACL,4BAAiC,gCAAgC,KAEjE,QACA,6HACA,UACA,QACA,wQACA,aACA,CAAK,CACL,gCACA,gBAAqB,IAAI,EACzB,CACA,CApCA,YACA,yBACA,qCCCA,eACG,YAEH,wDAWA,cAIA,OAHA,kCACA,QACA,CAAO,EACP,0BAAuC,EAAE,wBACzC,CACA,kEACA,OACA,EACA,8DACA,MACA,WACA,QACA,GAEA,EACA,cAAoB,GAAG,uBAAuB,GAAG,2BACjD,OACA,mDAAkE,EAClE,8CACA,sBACA,0DACA,cACA,UACA,QACA,wBACA,gBACA,yBACA,+BACA,wBAEA,CACA,CAAO,CACP,YAEA,0BACA,mBACA,CAAO,CACP,OACA,eACA,qBACA,KAEA,QACA,mBACA,eACA,yBAEA,cACA,QACA,cACA,kBACA,4BACe,CACf,gBACA,CACA,CAAW,CACX,cACA,iCACA,cACA,QACA,oBAAmC,GAAG,GACtC,CACA,CAAW,CACX,oBACA,0BACA,QACA,gBACA,kBACA,kBACA,4BACe,CACf,gBACA,CACA,CACA,CACA,CAAO,CACP,MACA,CAEA,QACA,+CAA2D,EAAE,0BAA0B,EAAE,UACzF,cACA,eACA,CAAS,CACT,CAIA,6BACA,UACA,QACA,cACA,6DACA,aACA,CAAa,CACb,iBACA,mBACA,aACA,CAAa,CACb,iBACA,CACA,EACA,CACA,OACA,CAKA,kDACA,kBACA,QACA,uBACA,CACA,CAAS,CACT,CAGA,qBACA,cACA,kBACA,QACA,qBACA,CACA,EACA,CACA,IAKA,kCAA2C,GAAG,WAC9C,cACA,mBACA,CAAO,CACP,MAKA,2CACA,cACA,mBACA,CAAO,CACP,iBAKA,QACA,qHACA,QACA,UACA,wBACA,aACA,CAAW,CACX,OACA,+DACA,4BACA,CAAS,CACT,WACA,CAAO,CACP,MAIA,UACA,kGACA,QAEA,cACA,UACA,QACA,SACA,8BACA,cACA,SACA,CADuB,CAEvB,qBACA,CACA,CAAO,CACP,QAIA,UACA,kGACA,QAEA,cACA,UACA,QACA,SACA,4BACA,cACA,SACA,CADuB,CAEvB,kBACA,CACA,CAAO,CACP,QAIA,6CACA,cACA,UACA,QACA,SACA,+BACA,cACA,SACA,CADuB,CAEvB,iBACA,CACA,CAAO,CACP,gBAGA,QACA,mEACA,cACA,UACA,wBACA,CAAO,CACP,KAIA,UACA,mGACA,QAEA,cACA,UACA,QACA,cACA,SACA,4BACA,cACA,SACA,CADuB,CAEvB,UACA,qCACA,aACA,CAAW,CACX,KACA,yBACA,aACA,CAAW,CACX,QACA,4CACA,aACA,CACA,CACA,CACA,CAAK,EACA,qDACE,iEACP,GAEA,OACA,kDACA,wBAEA,CAAO,CACP,CAAK,EACL,yCACA,8CAGA,cACA,yBAGA,uBAA2C,IAAO,KAClD,WACA,oBACA,aACA,QACA,CAcA,mBACA,eACA,GACA,GACA,GACA,0BACA,uBACA,2BACA,CAGA,gBACA,wBACA,wBAEA,cADA,mDAEA,SAEc,yBACd,oBAEA,gBAJA,WAMA,CACA,CACA,EACA,SACA,CAAK,EACL,+BACA,0BAIA,QA2DA,EA5DA,KACA,uBAA8C,IAAO,KACrD,mBACA,0BACA,MACA,OACA,KACA,CACA,CARA,IASA,iBACA,KAoBA,sBACA,gBA6BA,cACA,cAAgC,IAAI,YAAY,IAAI,EAAE,wBAEtD,MADA,mBACA,IAOA,EALA,WACA,wBAEA,oBAIA,MAIA,CAEA,CAAO,EA9CP,EACA,QAtBA,wCACA,MACA,MACA,qBACA,IACA,8BACA,mBACA,gDACA,iCACA,GACA,yBACA,cACA,eACA,EACA,CAEA,CAAW,CACX,EAQA,CAAK,EACL,yDAQA,GACA,QACA,OACA,OACA,QACA,EAAM,EACN,0CA8BA,oCACG,GACH,CA3aA,YACA,yBACA,yCCCA,eACG,YAQH,gBACA,mCACA,CACA,2DAAsE,EACtE,mBAYA,wBACA,mBAGA,sBACA,oCACA,+BACA,SAIA,IAFA,IACA,EADA,WAGA,+BAGA,IAGA,OADA,OACA,CACA,CAAW,EACX,6BACA,CACA,CAAO,CACP,sBAOA,oBACA,iCAGA,yBACA,QACA,6BACA,cACA,YAA4B,aAE5B,cAF+C,KAK/C,WACA,GACA,oBACA,sCACA,CACA,WACA,kBACA,iCACA,SACA,eACA,SACA,IACA,uBACA,cACA,EACA,wBACA,cACA,GAEA,0BACA,KACA,GACA,uBAEA,UACA,GACA,uBAEA,mBACA,kCAEA,WAEA,CACA,EAAgB,IAChB,WAGA,YAEA,CACA,QACA,EACA,UACA,CACA,CACA,CAAK,CACL,CAAG,GACH,CAvHA,YACA,iCACA,qCCCA,cACA,oBACA,SACA,sCACA,SACA,CAAK,CACL,QACA,yBACA,SACA,CAAK,CACL,SAEA,QACA,uHACA,UACA,QACA,mBACA,qCACA,cACA,UACA,WACA,CAAS,CACT,QACA,0BACA,SACA,CAAS,CACT,2BACA,0BACA,iBACA,CACA,CAAK,CACL,OACA,oCACA,SACA,CAAK,CACL,KACA,QACA,uHACA,UACA,QACA,KACA,yBACA,QACA,oBACA,wBACA,CACA,CAAS,CACT,kBACA,cACA,6CACA,QACA,aACA,CACA,aACA,mBACA,CAAe,CACf,MAEA,CACA,CAAS,CACT,mBACA,aACA,oBACA,QACA,wBACA,CACA,CACA,CACA,CAAK,CACL,QACA,CACA,kBAA2B,KAAK,GAChC,oBACA,CAAO,CACP,aAAmB,KAAK,GACxB,EAEA,0DACA,0BACA,4DACA,mBACA,+BACA,mBACA,kDAAgE,OAEhE,CAAG,EACH,2DAYA,oBACA,QACA,mBACA,4CACA,cACA,uBAEA,+BACA,OACA,kBACA,oCACA,QACA,CACA,CACA,mBACA,kBACA,uBAEA,QACA,OACA,eACA,uGACA,MACA,WACA,QACA,GAEA,KAEA,cACA,UACA,QACA,EACA,4CACA,CACA,CAAG,EACH,6DAYA,oBACA,oDACA,eACA,oBACA,MACA,EACA,IACA,wDACA,KAEA,cACA,QACA,uBACA,cACA,mBACA,QACA,OACA,iDACA,cACA,wBACA,sBACe,CACf,aACA,CACA,aACA,mBACA,CAAiB,CACjB,MACA,CAEA,CACA,CACA,CAAO,CACP,CACA,CAAG,EACH,oCACA,sCACA,mCACA,8CAA2D,EAC3D,iCACA,iCACA,gCA9LA,YACA,uBACA,mFCCA,cACA,oBACA,aAAkB,UAAU,UAC5B,QACA,+BACA,SACA,CAAK,CAEL,wEACA,QACA,8HACA,gCACA,mDACA,gBAAqB,EAAE,KAAK,QAAQ,GACpC,CACA,CAlBA,YACA,uBACA,qCCCA,cAEA,QACA,2SACA,uBACA,SACA,sCACA,SACA,CAAO,CACP,QACA,yDACA,cACA,SACA,CAAO,CACP,MACA,oCACA,UACA,cACA,CAAO,CACP,iBACA,eACA,OACA,YACA,KACA,GAAiB,WAAW,YAC5B,IACA,6FACA,OANA,aASA,SACA,IACA,qBACA,cACA,OACA,SACA,IACA,gBACA,KACA,mBACA,IACA,IAAkB,gBAClB,KACA,MAEA,cACA,UACA,gBACA,CAAO,CACP,uBACA,uCACA,cACA,gBACA,CAAO,CACP,UACA,4BACA,iBACA,CAAO,CACP,UACA,6BACA,MACA,QACA,sGACA,cACA,cACA,CAAO,CACP,QACA,CACA,QACA,wFACA,aACA,CAAS,CACT,eACA,CACA,mEACA,OACA,uEACA,gBACA,CAAO,CACP,sCACA,sBAA6B,IAAI,eACjC,CAEA,CAtFA,YACA,0BACA,qCCCA,cACA,iBACA,iBACA,MACA,gCACA,UACA,eACA,QACA,WACA,gBACA,mBACA,CACA,CADU,CAEL,CACL,QACA,gCACA,SACA,CAAK,CACL,iBACA,mDACA,MACA,sBACA,gBACA,CAAK,CACL,QACA,uHACA,SACA,2ufACA,UACA,8CACA,CAEA,yBACA,aACA,CAAO,CACP,CAEA,yBACA,aACA,EACA,CACA,wBAA6B,SAAS,EACtC,EACA,iDA9CA,YACA,oBACA,qCCCA,cACA,qBACA,SACA,eACA,SACA,CAAK,CACL,OACA,QACA,kEAA0E,IAC1E,cACA,QACA,iCACA,aACA,eACA,CACA,CAAK,CACL,qBACA,QACA,4IACA,cACA,UACA,QACA,OACA,sCACA,gBACA,CAAS,CACT,OACA,kBAA6B,EAAE,yBAC/B,cACA,gBACA,CAAS,CACT,cACA,eACA,2BAEA,CACA,CAAK,CACL,OAMA,CAEA,gBAAyB,SAAS,uBAAuB,OAAO,QAChE,cACA,gBACA,CAAO,CACP,CAGA,QACA,qGACA,cACA,gBACA,CAAO,CACP,CAEA,QACA,mEACA,cACA,gBACA,CAAO,CACP,CAEA,QACA,uFACA,cACA,gBACA,EACA,CACA,OACA,kDACA,cACA,UACA,gBACA,CAAK,CACL,MACA,iBAAwB,yBAAyB,uBAAuB,OACxE,cACA,CAAK,CACL,QACA,sBACA,SACA,CAAK,CACL,YACA,QACA,gGACA,iBACA,CAAK,CACL,SAEA,CACA,QACA,yOACA,cACA,SACA,CAAO,CACP,CACA,QACA,2KACA,cACA,SACA,EACA,CACA,mBAAwB,EACxB,UACA,wCACA,aACA,CAAK,CACL,mBAAwB,EACxB,CACA,CApHA,YACA,wBACA,qCCCA,cACA,mBACA,eACA,QACA,s0BACA,WACA,sBACA,gBACA,CAAK,CACL,sBACA,uBACA,4BACA,yBAA8B,QAAQ,EACtC,CACA,CAjBA,YACA,sBACA,qCCCA,kBAmQA,UAHA,CA5PA,MACA,MACA,OACA,MACA,MACA,OACA,MACA,OACA,OACA,OACA,OACA,MACA,UACA,QACA,QACA,cACA,OACA,SACA,QACA,SACA,iBACA,aACA,QACA,cACA,OACA,aACA,QACA,gBACA,cACA,gBACA,cACA,WACA,aACA,QACA,SACA,eACA,OACA,OACA,OACA,OACA,UACA,OACA,eACA,SACA,YACA,OACA,QACA,QACA,WACA,QACA,YACA,SACA,QACA,OACA,aACA,UACA,cACA,aACA,SACA,aACA,SACA,WACA,eACA,SACA,cACA,SACA,qBACA,gBACA,UACA,SACA,SACA,OACA,kBACA,WACA,UACA,eACA,eACA,UACA,OACA,QACA,QACA,eACA,aACA,SACA,UACA,mBACA,OACA,eACA,QACA,SACA,OACA,YACA,mBACA,OACA,kBACA,eACA,iBACA,QACA,SACA,QACA,SACA,SACA,OACA,cACA,YACA,QACA,OACA,UACA,gBACA,QACA,WACA,OACA,iBACA,eACA,kBACA,gBACA,cACA,aACA,aACA,oBACA,UACA,MACA,OACA,UACA,SACA,SACA,YACA,MACA,OACA,QACA,UACA,MACA,gBACA,gBACA,aACA,WACA,YACA,gBACA,WACA,eACA,QACA,QACA,OACA,WACA,MACA,OACA,SACA,MACA,OACA,SACA,OACA,OACA,gBACA,QACA,OACA,eACA,UACA,OACA,SACA,YACA,MACA,OACA,iBACA,MACA,OACA,QACA,oBACA,SACA,UACA,aACA,gBACA,cACA,cACA,cACA,gBACA,SACA,SACA,UACA,iBACA,aACA,mBACA,eACA,YACA,QACA,OACA,SACA,SACA,QACA,aACA,cACA,cACA,eACA,YACA,UACA,eACA,YACA,YACA,OACA,UACA,OACA,UACA,UACA,aACA,YACA,SACA,UACA,cACA,YACA,WACA,WACA,QACA,SACA,QACA,QACA,QACA,OACA,SACA,WACA,YACA,gBACA,aACA,YACA,QACA,cACA,YACA,cACA,WACA,WACA,QACA,OACA,aACA,OACA,WACA,SACA,aACA,eACA,WACA,CAeA,gBACA,2BACA,CAAK,EACL,iBACA,sDAAqE,EACrE,6CACA,UACA,QACA,oHACA,UACA,QACA,yCACA,CACA,CACA,CAAK,EACL,mCACA,KAEA,QACA,0BAAoC,MAAM,aAAa,IAAI,wBAC3D,SACA,CAAO,CACP,QAEA,QACA,yCAAmD,EAAE,mCACrD,SACA,CACA,EAOG,EANH,6CACA,SACA,6HACA,eACA,CACA,CAAK,CAEL,CAvSA,YACA,wBACA,qCCCA,cACA,oBACA,SACA,qCACA,SACA,CAAK,CACL,QACA,sBACA,SACA,CAAK,CACL,cACA,wBACA,cACA,UACA,gBACA,CAAK,CACL,uBACA,aACA,mBACA,kBACA,CAAK,CACL,QACA,QACA,qEACA,aACA,CAAK,CACL,QACA,uXACA,SACA,gFACA,kBAAuB,QACvB,CACA,CAnCA,YACA,uBACA,qCCCA,cACA,wBACA,eACA,QACA,CACA,yCACA,SACA,CAAO,CACP,CACA,kBACA,UACA,QACA,eACA,YAAyB,IAAI,IAAI,EACjC,QACA,YACA,cAA+B,aAAa,GAC5C,cACA,WACA,CAAe,CACf,6BACA,YAA6B,GAAG,EAChC,mBACA,CACA,CACA,CACA,CACA,EACA,CACA,cACA,CACA,yCACA,aACA,CAAO,CACP,aACA,CACA,QACA,kJACA,kBACA,UACA,wCACA,aACA,CAAK,CACL,UACA,QACA,27BACA,QACA,gBACA,CACA,CAAK,CACL,6BACA,OACA,6FACA,SACA,IAAU,EAAE,qEACZ,uBAA4B,IAC5B,EACA,+EACA,uBACA,wCA9DA,YACA,2BACA,2CCCA,cAEA,kBACA,SACA,sCACA,SACA,CAAK,CACL,QACA,iDACA,SACA,CAAK,CACL,YACA,oCACA,SACA,CAAK,CACL,qBAEA,QACA,wuCACA,iCACA,8BACA,oEACA,SACA,yIACA,eAAoB,SAAS,GAC7B,CACA,CA7BA,YACA,qBACA,qCCCA,cACA,kDAEA,QACA,iXACA,CAAG,EACH,4CAEA,YACA,gBACA,gBACA,CACA,CAAG,EACH,mCAhBA,YACA,qBACA,4CCCA,cACA,gCACA,wCACA,oDACA,6BACA,wCACA,iBACA,kBACA,gBAAqB,IAAI,MACzB,CACA,CAbA,YACA,+BACA,qCCCA,kBAEA,EACA,KACA,iBACA,4BACA,gBACA,CAAO,CACP,oBACA,mBACA,cACA,gBACA,CAAO,CACP,uBACA,CACA,QAbA,KAA2B,YAAY,IAAI,EAc3C,gBACA,CAAS,CACT,CACA,qBACA,cACA,UACA,gBACA,CAAS,CACT,CACA,sBACA,gBACA,EACA,EAEA,wBAEA,SACA,mBAA4B,KAC5B,aACA,CAAO,CAGP,QACA,gBACA,YACA,QACA,OACA,gCAA6C,QAC7C,cACA,gBACA,CAAW,CACX,KACA,kBACA,aACA,CACA,CACA,CAAO,CAEP,OACA,sCACA,cACA,aACA,CAAO,CACP,SACA,sCACA,cACA,iBACA,QACA,uBACA,YACA,UACA,UACA,gBACA,CAAW,CACX,kBACA,uBACA,QACA,CACA,CACA,CAAO,CAEP,gBACA,wBAAiC,QACjC,cACA,oBACA,QAEA,qBAAgC,QAChC,YACA,UACA,UACA,gBACA,CAAW,CACX,kBACA,mCACA,UACA,iBACA,QACA,kBACA,yCACA,cACA,QACA,CAAe,CACf,sBACA,yBACA,cACA,YACA,CAAe,CACf,0BACA,CACA,CACA,CACA,CACA,EACA,wCAMA,yCAEA,SACA,oBACA,gDACA,eAgCA,WACA,mBACA,EACQ,iBACR,kBAEA,YAEA,EAxCA,EACA,WAWA,GAGA,QADA,KACA,IAAsB,WAAkB,KACxC,WACA,OAJ0B,EAI1B,WACA,WACA,UACA,iBACY,eACZ,SAGA,CACA,qBAzBA,KACA,kBACA,YAEA,CACA,CAAO,CACP,CAAK,CAmCL,CAtKA,YACA,2BACA,qCCCA,cACA,kBACA,UAAe,MACf,2CACA,OACA,0CACA,cACA,gBACA,CAAK,CACL,SACA,0BACA,CACA,sCACA,aACA,CAAO,CACP,qBAA2B,SAC3B,4BACA,CACA,UACA,QACA,0GACA,gBACA,CAAK,CACL,OACA,+MACA,+BACA,CACA,CA9BA,YACA,qBACA,qCCCA,cACA,kBACA,SACA,cACA,SACA,CAAK,CACL,UACA,QACA,OAAe,2GAA2G,QAC1H,cACA,cACA,CAAK,CACL,KACA,eAAsB,gBAAgB,wBAAwB,cAC9D,cACA,cACA,CAAK,CACL,QACA,QACA,OAAe,kGAAkG,UACjH,aACA,CAAK,CACL,SACA,eAAsB,sCAAsC,WAC5D,aACA,CAAK,CACL,MACA,eAAsB,yBAAyB,WAC/C,cACA,eACA,CAAK,CACL,QACA,QACA,OAAe,8GACf,cACA,SACA,CAAK,CACL,SACA,QACA,OAAe,wBAAwB,uBAAuB,iBAAiB,iBAAiB,qBAAqB,SACrH,cACA,cACA,CAAK,CACL,sBAA2B,KAC3B,CACA,CAhDA,YACA,qBACA,qCCCA,cACA,mBACA,4CACA,QACA,2DACA,UACA,QACA,4BACA,CACA,CAAK,CACL,WACA,+CAAsD,GACtD,aACA,CAAK,CACL,SACA,QACA,qHACA,cACA,QACA,gBACA,6BACA,kBACA,CAAS,CACT,QACA,iBACA,QACA,cACA,0BACA,gBACA,CAAa,CACb,oBACA,UACA,YACA,yBACA,CACA,CACA,CACA,CACA,CAAK,CACL,QACA,sDAA6D,GAC7D,iBACA,aACA,CAAK,CACL,QACA,sEACA,oBACA,QACA,kIACA,QACA,yBACA,2BACA,eACA,CAAS,CACT,YACA,2CACA,cACA,CAAS,CACT,yBACA,0BACA,eACA,CAAS,CACT,mBACA,CACA,CAAK,CACL,YACA,2CACA,cACA,CAAK,CACL,UACA,CACA,YACA,mBACA,CAAO,CACP,CACA,YACA,mBACA,CAAO,CACP,CACA,YACA,iBACA,CAAO,CACP,CACA,aACA,mBACA,CAAO,CACP,CACA,gBACA,kBACA,CAAO,CACP,CACA,YAAqB,GACrB,iBACA,CAAO,CACP,CACA,eACA,gBACA,CAAO,CACP,CACA,YAAqB,IAAI,EACzB,YACA,EACA,CACA,iBACA,CACA,QACA,2HACA,cACA,QACA,cACA,0BACA,gBACA,CAAW,CACX,SACA,CACA,CAAO,CACP,CACA,8BACA,QACA,cACA,0BACA,gBACA,CAAW,CACX,SACA,CACA,EACA,CACA,gBAAqB,MACrB,sBACA,CACA,CArIA,YACA,sBACA,qCCCA,cAEA,QACA,+CAAqD,GAAG,UAAU,IAClE,mBACA,SACA,kBAA2B,OAC3B,cACA,SACA,CAAO,CACP,WACA,QACA,iBAA2B,qFAAqF,IAChH,cACA,UACA,QACA,QACA,QACA,gEACA,cACA,UACA,QACA,QACA,sBACA,cACA,CAAe,CACf,UACA,CACA,CAAW,CACX,SACA,kBACA,cACA,SACA,CAAW,CACX,SACA,eACA,SACA,CAAW,CAEX,SACA,+BACA,aACA,CAAW,CACX,QACA,+BACA,aACA,CAAW,CACX,UACA,CACA,CAAO,CACP,iBAAwB,EACxB,CAEA,CAxDA,YACA,sBACA,qCCCA,cACA,iBACA,SACA,cACA,SACA,CAAK,CACL,QAEA,QACA,iGACA,SACA,CAAK,CACL,MAEA,kCAAyC,IAAI,YAC7C,SACA,CAAK,CACL,UACA,QACA,oFACA,UACA,QACA,cACA,CACA,CAAK,CAEL,YACA,sBACA,UACA,QACA,eACA,CACA,CAAK,CAEL,OACA,iGACA,QACA,8VACA,UAIA,QACA,OAAe,kBAAkB,mDAAmD,sEACpF,aACA,CAAK,CACL,gBAAqB,WAAW,UAAU,QAC1C,CACA,CAnDA,YACA,oBACA,qCCCA,cACA,iBACA,SACA,+BACA,SACA,CAAK,CACL,QACA,gEAAuE,OACvE,UACA,QACA,eAEA,mCAA8C,OAAO,IAAI,GAAG,IAAI,IAAI,EACpE,cACA,WACA,CACA,CACA,CAAK,CACL,KACA,YAAkB,IAAI,0BACtB,CACA,QACA,oFACA,aACA,EACA,CACA,eACA,gBAAuB,GACvB,iBACA,CAAK,CACL,iBACA,2EACA,SACA,mgBACA,6BACA,gDACA,gBAAqB,SAAS,EAC9B,EACA,mEAzCA,YACA,oBACA,qCCCA,cAMA,kBACA,SACA,yCAAgD,MAChD,cACA,SACA,CAAK,CACL,QACA,0CACA,SACA,CAAK,CACL,SACA,QACA,kqEACA,aACA,CAAK,CACL,SACA,8tBACA,cAAmB,cAAc,qBACjC,uBACA,qEACA,uDACA,gBAAqB,IAAI,QACzB,WACA,QACA,iTACA,aACA,CACA,CACA,CArCA,YACA,qBACA,2CCHA,MAAiB,EAAQ,KAAQ,EAIjC,UAJwB,CAIxB,GACA,cACA,+CACA,QACA,gDACA,SACA,CAAK,CACL,QACA,wYACA,gEACA,CAAG,EACH,4CACA,wCAfA,YACA,2BACA,2CCCA,cAEA,mBACA,SACA,2BACA,SACA,CAAK,CACL,MACA,6CAAoD,IAAI,MACxD,SACA,CAAK,CACL,QACA,CACA,8CACA,SACA,CAAO,CACP,CACA,WAAoB,yBAAyB,EAC7C,SACA,EACA,CACA,QAEA,uCACA,oEACA,oDACA,CACA,WACA,iBACA,gBACA,CAAK,CACL,OACA,iBACA,gBACA,CAAK,CACL,iBACA,iBACA,gBACA,CAAK,CACL,SACA,eACA,cACA,CAAK,CAGL,QACA,gSACA,6BACA,6BACA,0BAAiC,KAAK,EACtC,mBACA,CAAK,CAEL,SACA,wGACA,eAAoB,SAAS,QAAQ,SACrC,CACA,CA5DA,YACA,sBACA,0CCHA,MAAiB,EAAQ,KAAQ,EAIjC,UAJwB,CAIxB,OA6BA,EA5BA,cAGA,2CAEA,QACA,ggBAIA,OACA,8GAAsH,IAAI,GAC1H,6BACA,0BACA,QACA,ukBACA,gBACA,CACA,CAAK,EACL,gDAGA,gBACA,QACA,gVACA,eACA,CACA,CAAK,EACL,GAEA,oBACA,QACA,whBACA,eACA,CAAO,CACP,uBACA,gCACA,eACA,CAAO,CAEP,wBACA,QACA,07KACA,gBACA,CAAO,CAEP,wBACA,QACA,4rCACA,gBACA,CACA,EAEA,0CACA,kBAEA,2BACA,QACA,+ZACA,eACA,EACA,4CAGA,CApEA,YACA,uBACA,qCCCA,cAEA,sBACA,kCACA,QACA,sCACA,SACA,CAAK,CACL,QACA,+NACA,aACA,6EACA,uEACA,uCACA,QACA,QACA,yEACA,aACA,CAAK,CACL,6DACA,kBAAuB,KAAK,KAC5B,EACA,sCAzBA,YACA,yBACA,2CCCA,cACA,gBACA,SACA,+BACA,SACA,CAAK,CACL,QACA,iCACA,SACA,CAAK,CACL,MACA,iCACA,UACA,eACA,CAAK,CACL,QACA,gQACA,UACA,2BACA,CACA,YAAqB,qBACrB,aACA,EACA,CACA,OACA,kEAAwE,EAAE,OAC1E,6BACA,uCACA,SACA,+FACA,sBAA2B,GAAG,GAC9B,CACA,CAnCA,YACA,mBACA,qCCCA,cACA,oBACA,kCACA,QACA,gCACA,SACA,CAAK,CAIL,QA+BA,gBA9BA,CACA,aACA,QACA,WACA,UACA,SACA,QACA,eACA,SACA,SACA,UACA,WACA,UACA,cACA,SACA,MACA,QACA,KACA,QACA,KACA,OACA,SACA,QACA,QACA,CAEA,gBACA,6BACA,CAAS,EACT,UACA,QAEA,qCACA,QAEA,QACA,gHACA,aACA,CAAK,CACL,SACA,oIAA0I,IAAI,8CAC9I,oBAAyB,MAAM,GAC/B,CACA,CAzDA,YACA,uBACA,qCCCA,kBAEA,oDACA,SACA,QACA,+GACA,aACA,CAAO,CACP,UACA,kCAA2C,kCAC3C,cACA,QACA,mBACA,CACA,CAAO,CACP,UACA,yDACA,cACA,QACA,SACA,4BACA,aACA,CAAW,CACX,mBACA,CACA,CAAO,CACP,QACA,kBAA2B,SAAS,kBACpC,eACA,CAAO,CACP,uBAA8B,EAC9B,CAAK,EACL,+CACA,kBACA,kBACA,cACA,eACA,CAAO,CACP,YAEA,+DACA,UACA,cACA,QACA,QACA,mDACA,aACA,CAAW,CACX,kBACA,oBACA,oBACA,6BACA,yDACA,gBACA,SACA,iGACA,0BAEA,CACA,CAAK,EACL,yBACA,SACA,cACA,CACA,wBACA,kBACA,oBACA,oBACA,gBACA,sBACA,sBACA,mBACA,CACA,CAAO,CACP,2BAGA,CAhFA,YACA,uBACA,oCCCA,cAKA,oBACA,WACA,WAAkB,YAAY,EAC9B,UACA,2BACK,CACL,SACA,4BAAmC,UAAU,SAC7C,SACA,CAAK,CACL,QACA,gEACA,SACA,CAAK,CACL,KACA,uCAA8C,MAC9C,cACA,UACA,WACA,CAAK,CACL,SACA,CAEA,QACA,iTACA,aACA,CAAO,CACP,CAEA,uDACA,aACA,CAAO,CACP,CAEA,QACA,mKACA,aACA,CAAO,CACP,CAEA,QACA,mhBACA,aACA,EACA,CACA,QAEA,0BACA,iCACA,CACA,UACA,+CACA,CACA,QACA,0EACA,aACA,EACA,CACA,gCAAqC,IACrC,EACA,2DACA,WACA,eACA,eACA,CAAG,EACH,4CAzEA,YACA,uBACA,mDCCA,kBAGA,EACA,EAMA,EA8DA,EArEA,oDACA,mDACA,YACA,WACA,QACA,GAEA,EA2EG,EA3EH,qBACA,kCACA,QACA,sDACA,SACA,CAAO,CACP,cACA,CACA,eACA,8CACA,UACA,WACA,QACA,GAEA,KAEA,cACA,WACA,CAAS,CACT,CACA,eACA,wDACA,QACA,CAAa,EACb,KAEA,WACA,CAAS,CACT,CACA,eACA,mDACA,QACA,CAAa,GAEb,cACA,WACA,EACA,CACA,SACA,QACA,mIACA,aACA,CAAO,CACP,SACA,sCACA,aACA,CAAO,CACP,SACA,oEACA,aACA,CAAO,CACP,0BACA,QAEA,6BACA,2CACA,CACA,SACA,2EACA,gCAAuC,IAAI,EAC3C,CAAK,CACL,GACA,UACA,UACA,UACA,WACA,cACA,sBAEA,OADA,UACA,CACA,CAAK,GAAI,EACT,oCACA,UACA,CAAK,CAEL,CAzFA,YACA,0BACA,qCCCA,cACA,oBACA,iBACA,SACA,QACA,QAAgB,6EAChB,cACA,UACA,QACA,qBACA,UACA,2BACA,cACA,QACA,sBACA,iBACA,CACA,CAAS,CACT,WACA,0BACA,cACA,QACA,WACA,kBACA,gBACA,CAAa,CACb,uBACA,CACA,CACA,CACA,CAAK,CACL,aACA,OACA,QACA,uEACA,UACA,QACA,kBACA,UACA,yBACA,aACA,CAAS,CACT,iBACA,oBACA,YACA,CACA,CAAK,CACL,eAAoB,IACpB,QACA,oCACA,aACA,CAAK,CACL,gBACA,EACA,kCAzDA,YACA,uBACA,yCCCA,cACA,wBACA,eACA,CAEA,0BACA,SAAiB,GAAG,SACpB,mEACA,0BACA,YAEA,QACA,0DACA,SACA,CAAK,CACL,gBACA,uBACA,mDACA,cACA,gBACA,CAAK,CACL,cACA,QACA,iIACA,cACA,QACA,eACA,CACA,CAAK,CACL,QACA,gYACA,oBACA,8BACA,gBACA,CAAK,CACL,+BACA,8BACA,2BACA,uCACA,iBAAsB,QACtB,EACA,yCA5CA,YACA,2BACA,4CCCA,cAEA,QACA,gCAAsC,OAAO,gBAAgB,sDAC7D,OACA,kBACA,SACA,CAEA,mCACA,cACA,SACA,CAAS,CACT,CACA,wBACA,cACA,SACA,EACA,CAEA,QACA,CACA,eACA,4CACA,MACA,CAEA,gBAAgC,0CAEhC,kDAIA,EACA,WACA,KAEA,SACA,CAAS,CACT,CACA,2CACA,SACA,CAAS,CAET,CACA,gCACA,SACA,EACA,CACA,OACA,CACA,eACA,sCACA,MACA,CAEA,gBAAgC,0CAEhC,kDAIA,EACA,WACA,IACA,2BAEA,SACA,CAAS,CACT,CACA,eACA,gDACA,MACA,CAGA,gBAAgC,8DAChC,OAEA,sEACA,OAKA,iBACA,WACA,IACA,6BAEA,cACA,SACA,CAAS,CAIT,CACA,QACA,6DAAyE,+DACzE,SACA,EACA,CAEA,UAEA,UAAkB,UAAU,EAC5B,kBACA,MADgC,SACT,GACvB,sDACA,aAEA,gCAAwC,cAAc,EAAE,IACxD,CACA,YAEA,+BACA,cACA,CAAO,CACP,YAEA,qCAA8C,GAAG,EACjD,cACA,CAAO,CACP,UACA,2BACA,aACA,CAAO,CACP,QACA,6MACA,OACA,8GACA,SACA,gNACA,gBAAuB,IAAI,MAC3B,CAEA,CA3IA,YACA,qBACA,2CCHA,MAAmB,EAAQ,KAAU,EAIrC,UAJ0B,CAI1B,GACA,cACA,2CACA,MACA,mBACA,eACA,CAAK,CACL,OACA,uIACA,OACA,sBACA,QACA,qCACA,mBACA,CACA,CACA,CAAG,CACH,CApBA,YACA,0BACA,2CCHA,MAAgC,EAAQ,KAAwB,EAIhE,UAJuC,CAIvC,OAUA,EACA,EAkBA,EAEA,EAEA,EAyMA,EAMA,EA/OA,cASA,sCACA,GACA,CACA,8BACA,eACA,CAAO,CACP,CACA,yCACA,UACA,aACA,CAAO,CACP,CACA,iDAA0D,MAC1D,UACA,aACA,CAAO,CACP,gBACA,gCACA,CACA,EACA,6IACA,EACA,gBAAsB,EAAE,sEACxB,MAA0B,SAAS,GACnC,iBACA,WACA,qCACA,iBACA,CAAO,CACP,UACA,2BAAkC,IAClC,SACA,QACA,oEACA,cACA,QACA,gBACA,CACA,CAAO,CACP,yBACA,oEACA,cACA,kBACA,CAAO,CACP,uBACA,6CACA,cACA,gBACA,CAAO,CACP,SACA,CACA,QACA,8EACA,qBACA,UACA,aACA,CAAS,CACT,CACA,QACA,sIACA,kBACA,UACA,aACA,CAAS,CACT,CACA,QACA,6IACA,oBACA,UACA,aACA,CAAS,CACT,CACA,QACA,2EACA,yBACA,SACA,CAAS,CACT,CACA,6DACA,yBACA,UACA,aACA,CAAS,CACT,CACA,6CACA,uBACA,SACA,CAAS,CACT,CAEA,8BACA,aACA,CAAS,CACT,aACA,CAKA,QACA,8hBACA,aACA,EACA,CACA,iBACA,6CACA,aACA,CAAO,CACP,cACA,CACA,QACA,qGACA,UACA,aACA,CAAS,CACT,CACA,sCACA,UACA,aACA,CAAS,CACT,CACA,wCACA,SACA,CAAS,CACT,CACA,wCACA,mCACA,UACA,cACA,QACA,gBACA,CACA,CAAS,CACT,CACA,0CACA,mCACA,UACA,QACA,gBACA,CACA,CAAS,CACT,CACA,QACA,iHACA,mCACA,UACA,cACA,QACA,gBACA,CACA,CAAS,CACT,CACA,gCACA,yBACA,SACA,CAAS,CACT,CACA,wCACA,wDACA,UACA,QACA,gBACA,CACA,CAAS,CACT,CACA,gCACA,uBACA,SACA,CAAS,CACT,CACA,wCACA,sDACA,UACA,QACA,gBACA,CACA,CAAS,CACT,CACA,wCACA,kBACA,UACA,aACA,CAAS,CACT,CACA,kDACA,iDACA,UACA,cACA,QACA,gBACA,CACA,CAAS,CACT,CACA,oDACA,oBACA,UACA,aACA,CAAS,CACT,CACA,4DACA,mDACA,UACA,cACA,QACA,gBACA,CACA,EACA,CACA,WACA,UACA,uDACA,cACA,QACA,gBACA,CACA,CAAO,CACP,UACA,qBACA,aACA,CAAO,CACP,SACA,WACA,aACA,EAOA,GACA,CACA,4CAAqD,EACrD,sBACA,UACA,QACA,WACA,+BAA4C,IAC5C,eACA,QACA,uBAAsC,GACtC,CACA,CACA,CACA,CAAO,CACP,CACA,QACA,uCAAiD,mCAAmC,IACpF,uBACA,UACA,QACA,WACA,6CAA0D,IAC1D,eACA,QACA,uBAAsC,GACtC,CACA,CAAW,CACX,cAlCA,GACA,QACA,GAAW,OAAO,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,SAAS,yCAC5D,cACA,sBACA,CA8BA,CACA,CAAO,CACP,CACA,iCACA,+BACA,SACA,CAAO,CACP,CACA,iCACA,6BACA,SACA,CAAO,CACP,CACA,iCACA,6BACA,UACA,QACA,eACA,CACA,EACA,CACA,2CACA,SACA,WACA,QACA,4IACA,UACA,QACA,qBACA,+BACA,cAEA,QACA,UACA,SACA,wBACA,CACA,uCACA,mBACA,UACA,aACA,CAAiB,CACjB,CACA,uCACA,kDACA,UACA,cACA,QACA,gBACA,CACA,EACA,CACA,WACA,SACA,WACA,aACA,CACA,CAAW,CACX,WACA,mBACA,mBACA,CACA,CACA,CACA,CAAK,EACL,0CACA,oBAKA,mDACA,EACA,MAHA,oKAMA,CAAK,EACL,yCACA,8DACA,CAAK,CAEL,CAjWA,YACA,oBACA,2CCHA,MAAmB,EAAQ,KAAU,EACrC,EAA2B,EAAQ,KAAkB,CAD3B,CAK1B,UAJkC,CAIlC,OAIA,EAHA,cACA,cAEA,uCACA,qDACA,WACA,eACA,0DACA,EACA,kBAEA,aACA,CACA,CAAK,EACL,6CACA,cACA,CACA,eACA,yFACA,GAEA,cACA,QACA,QACA,sHACA,wBACA,CACA,EACA,CACK,EAEF,EADH,0DAEA,CApCA,YACA,uBACA,2CCJA,MAAmB,EAAQ,KAAU,EAIrC,UAJ0B,CAI1B,GACA,cACA,4CACA,SACA,gCACA,SACA,CAAK,CAEL,QACA,u6EAEA,qDACA,CAAG,EACH,6CACA,OACA,wBACA,cACA,CACA,CAAG,CACH,CAtBA,YACA,sBACA,qCCCA,cAEA,wBACA,SACA,+CACA,cACA,SACA,CAAK,CACL,qBACA,mCACA,SACA,CAAK,CACL,QACA,yCACA,SACA,CAAK,CACL,UACA,wEACA,iEACA,qCACA,sCACA,+DACA,6CACA,+BACA,4EACA,kCACA,yCACA,gGACA,+BACA,oCACA,0CACA,0EACA,+IACA,WACA,CACA,6BACA,QACA,6MACA,UACA,4CACA,aACA,CAAK,CACL,aACA,QACA,6HACA,kBACA,CAAK,CACL,QACA,QACA,uFACA,aACA,CAAK,CACL,mDACA,gBAAqB,QAAQ,EAC7B,EACA,sCACA,2CA3DA,YACA,2BACA,qCCCA,cAEA,KA4CA,EA5CA,0BACA,SACA,CACA,+BACA,aACA,CAAS,CACT,CACA,sBACA,aACA,EACA,CACA,QACA,CACA,+BACA,UACA,WACA,CAAS,CACT,CACA,yBACA,SACA,EACA,CAGA,+DACA,8BACA,mBAIA,UACA,wrBACA,wcACA,CAEA,QACA,kPACA,UACA,QACA,wJACA,aACA,CAAO,CACP,iBAAwB,IAAI,MAC5B,CAAK,EACL,kBACA,UAEA,+DACA,cACA,QACA,CAAO,CACP,kBACA,mBACA,CAEA,CA5DA,YACA,2BACA,qCCCA,cACA,mDACA,QACA,qKAEA,0BACA,oDACA,CAAG,EACH,gDAEA,uCACA,MACA,oEACA,kBACA,CACA,CAAG,CACH,CAnBA,YACA,2BACA,qCCCA,cACA,oBAEA,SACA,+BACA,SACA,CAAK,CAEL,QACA,oEACA,SACA,CAAK,CACL,qCAEA,sCACA,yBAEA,yBAA8B,iCAC9B,kBAAuB,OACvB,CACA,CAvBA,YACA,uBACA,qCCCA,kBAqBA,EAUA,IAzBA,CACA,MACA,MACA,MACA,MACA,QACA,SACA,SACA,QACA,eACA,UACA,OACA,WACA,CAYA,OAVA,GACA,KACA,WACA,cACA,aACA,KACA,UACA,CAEA,YAEA,oBACA,SACA,wBACA,aACA,CAAO,CACP,gBAEA,eACA,wCAEA,cACA,QACA,aACA,oBACA,iBACA,CAAW,CACX,mBACA,CACA,CAAO,CACP,kBACA,WAAoB,IAAI,IAAI,EAC5B,QACA,aACA,wCACA,iBACA,CAAW,CACX,eACA,6CACA,UACA,kBACA,CAAW,CACX,eAA0B,GAAG,aAC7B,CACA,CAAO,CACP,iBACA,CACA,uBAEA,QACA,sBACA,kBACA,uCACA,cACA,CACA,CACA,CAAS,CACT,CACA,2BAEA,cACA,QACA,kBACA,uCACA,cACA,CACA,CACA,EACA,CACA,gDACA,iCACA,OACA,oFACA,4DACA,iBAAwB,UACxB,CAEA,CArGA,YACA,uBACA,qCCCA,cACA,wBACA,0BACA,cACA,QACA,gGACA,aACA,CAAK,CACL,mEACA,kBACA,CACA,CAdA,YACA,2BACA,qCCCA,kBAEA,IACA,4EACA,iDACA,cACA,CACA,QACA,2DAAuE,GACvE,aACA,CAAS,CACT,CACA,QACA,6FACA,aACA,EACA,CACA,QACA,2KACA,gCACA,CAAK,EACL,gDACA,KACA,8DAAuE,KACvE,mBACA,QACA,qBACA,SACA,CACA,CAAO,CACP,UACA,yBACA,kEAA2E,KAC3E,mBACA,QACA,gBACA,CACA,CAAO,CACP,YACA,oCACA,aACA,CACA,CAAK,CAEL,CA/CA,YACA,yBACA,qCCCA,cACA,iBACA,SACA,cACA,SACA,CAAK,CACL,QACA,4BACA,UACA,QACA,uBACA,CACA,CAAK,CACL,kBACA,oDACA,eACA,SACA,CAAK,CACL,QACA,uJACA,SACA,8fACA,wEACA,8CACA,SACA,QACA,wwDACA,wBACA,CAAK,CACL,oBACA,QACA,iDAAyD,IAAI,wBAC7D,cACA,SACA,CAAK,CACL,mCACA,4CACA,wEACA,kBAAuB,KAAK,GAC5B,CACA,CA3CA,YACA,oBACA,qCCCA,eACG,YAQH,iBAGA,SACA,uDACA,aACA,CAAO,CAGP,oBACA,QACA,sFACA,cACA,8BACO,CAEP,QACA,QACA,uEACA,cACA,QACA,eACA,mBACA,gBACA,CAAW,CACX,gBACA,CACA,CAAO,CACP,wBACA,QACA,qFACA,aACA,CAAO,CACP,QACA,wBACA,cACA,0BACO,CACP,SACA,0CACA,aACA,CAAO,CAEP,gBACA,QACA,sEACA,cACA,QACA,MACA,yBACA,QACA,0BACA,eACA,CACA,CAAW,CACX,QACA,wDACA,eACA,CAAW,CACX,4BAEA,CAAO,CACP,SACA,iEACA,aACA,CAAO,CACP,OAEA,CACA,6BACA,cACA,QACA,iBACA,6BACA,oBACA,CACA,CAAS,CACT,CACA,yBACA,cACA,QACA,MACA,iBACA,gBACA,CAAa,CACb,4BAEA,EACA,CACA,QACA,2DACA,cACA,8BACO,CACP,cACA,QACA,oEACA,aACA,CAAO,CACP,KACA,uEACA,cACA,QACA,YACA,CACA,0BACA,6BACA,CAAa,CACb,CACA,oBACA,QACA,cACA,0BAA6C,GAAG,IAAI,cACpD,cACA,8BACiB,CACjB,uCACA,sBACA,CACA,EACA,CACA,gBACA,qBACA,wBACA,CACA,CAAO,CACP,MACA,CACA,gCACA,cACA,+BAEA,CACA,uBACA,EAyBA,QAxBA,EACA,iFACA,OACA,GACA,CACA,cACA,eACA,CAAO,CACP,CACA,gBACA,uBACA,CAAO,CACP,MACA,aACA,OACA,aACA,WACA,CACA,cACA,eACA,CAAO,CACP,SACA,CACA,KACA,eAAwC,IAAO,KAC/C,WACA,EACA,mBACA,CACA,SACA,UACA,EACA,EACA,yBACA,wBACA,eACA,qCACA,gBACa,EACb,KAEA,cACA,QACA,eACA,mBACA,gBACA,CAAa,CACb,MACA,oBACA,0CACA,+BAEA,CACA,EAEA,CACA,0CACA,CAAG,GACH,CA7MA,YACA,oBACA,qCCCA,kBA0GA,CAxGA,CA4IG,EA5IH,kBACA,SAEA,CACA,QACA,qHACA,cACA,eACA,QAEA,+BACA,CACA,CAAS,CACT,CACA,QACA,mHACA,cACA,UACA,eACA,QAEA,+BACA,CACA,CAAS,CACT,CACA,sDACA,eACA,QACA,aACA,wBACA,aACA,CACA,CACA,EACA,CACA,qBACA,oCACA,cACA,UACA,eACA,CAAO,CACP,OAEA,QACA,wBAAkC,+DAClC,cACA,UACA,QAEA,kBACA,iDACA,QACA,aACA,CACA,CACA,CACA,CAAO,CACP,SACA,uBACA,cACA,SACA,CAAO,CACP,QAEA,QACA,cAAwB,QAAQ,uCAAuC,QAAQ,6BAC/E,UACA,QACA,iBACA,sBACA,QAEA,CACA,CACA,CACA,CAAO,CACP,UACA,iCACA,QACA,gBACA,CACA,CAAO,CACP,oCACA,UACA,CACA,wBACA,aACA,CAAS,CACT,mGACA,CACA,sDACA,6BAEA,QACA,6IACA,UACA,QACA,gNACA,cACA,CAAO,CACP,SACA,mFACA,oBAA2B,KAAK,KAChC,EACA,GACA,CAEA,QACA,cAAwB,SAAS,IAAI,GAAG,IAAI,sCAAsC,EAClF,cACA,QACA,kBAEA,eAA4B,gCAC5B,cACA,iBACA,QACA,gBACA,CACA,CAAW,CACX,WACA,cACA,gBACA,CAAW,CACX,wBAEA,CAAO,CACP,CACA,0CACA,cACA,iBACA,QACA,gBACA,CACA,EACA,CACA,qDACA,iCACA,gBACA,uBAEA,CAlJA,YACA,uBACA,qCCCA,kBA+DA,CA5DA,CA0FG,EA1FH,gBACA,SACA,CACA,oCACA,aACA,CAAS,CACT,CACA,2BACA,aACA,CAAS,CACT,OACA,CACA,eACA,uBACA,UACA,QACA,MACA,6BACA,cACA,eACA,CAAW,CACX,WACA,oBACA,mBACA,CACA,CACA,CAAO,CACP,QACA,gCACA,SACA,CAAO,CACP,QAEA,QACA,kGACA,aACA,CAAO,CACP,QACA,0SACA,SACA,00DACA,SACA,0BACA,eACA,CAAO,CAGP,SACA,8GAEA,kBAAyB,KAAK,IAC9B,EASA,+CARA,CACA,IACA,CACA,WACA,WACA,CAAO,CACP,UACA,CAEA,oBACA,QAKA,GAJA,qBACA,UACA,UAEA,gBACA,QACA,sBACA,eACA,UACA,SACA,yBAA0C,kBAE1C,KAEA,2DACA,EACA,6CACA,gBAEA,gDACA,CACA,CAAK,EACL,eACA,0DACA,cACA,CAGA,CAjGA,YACA,qBACA,qCCCA,cAQA,kDACA,UAAe,IACf,QACA,u8BACA,oCACA,qEACA,SACA,wEACA,CAAG,EACH,gDACA,cACA,KACA,wBACA,cACA,YACA,QACA,UAAmB,IACnB,QACA,4CACA,SACA,CAAS,CAET,6BACA,iCACA,cACA,kBACA,CAAS,CAET,6BACA,iDACA,cACA,kBACA,CAAS,CACT,SACA,yBAAmC,SACnC,8BACA,CACA,UACA,0CACA,aACA,CAAS,CACT,mBACA,gCACA,cACA,gBACA,CAAS,CACT,OACA,sDACA,cACA,kBACA,CAAS,CACT,SACA,gHACA,OACA,kMACA,iCACA,CACA,CACA,CAAG,EACH,2CACA,qCACA,yCAxEA,YACA,0BACA,0CCHA,MAAuB,EAAQ,KAAc,EAI7C,UAJ8B,CAI9B,GACA,cACA,qDACA,QACA,mIACA,oBAIA,QACA,6GACA,cACA,QACA,mCACA,gBACA,CACA,CAAK,CAEL,QACA,uSACA,UAEA,gCACA,gCAGA,+6CACA,CACG,EACH,wCAhCA,YACA,2BACA,2CCCA,cACA,oBACA,SACA,uBACA,cACA,SACA,CAAK,CACL,wBACA,QACA,sEACA,UACA,QACA,eAEA,QACA,UAAsB,OAAO,EAAE,KAAK,KAAK,QAAQ,IAAI,KAAK,QAAQ,IAAI,KAAK,QAAQ,KAAK,IAAI,IAAI,EAChG,cACA,QACA,eACA,mBAAkC,OAAO,IACzC,aACA,CAAa,CACb,qBACA,qBAAoC,KACpC,mBACA,CAAa,CACb,SACA,CACA,CAAS,CACT,gBACA,CACA,CAAK,CACL,wBACA,+CACA,UACA,cACA,CAAK,CACL,QACA,2DACA,SACA,CAAK,CACL,UACA,oDACA,aACA,CAAK,CACL,cACA,2BACA,aACA,CAAK,CACL,WACA,mCACA,cACA,mCACA,QACA,gBACA,CACA,CAAK,CACL,QACA,wNACA,QACA,shBACA,kCACA,OACA,mJACA,gEACA,gBAAqB,IAAI,OACzB,EACA,kDACA,aACA,gCACA,kCAzEA,YACA,uBACA,yCCCA,cACA,eACA,+BACA,SAGA,CACA,kBAA2B,QAC3B,cACA,SACA,CAAO,CAKP,CACA,QACA,oGACA,cACA,SACA,CAAO,CAEP,CACA,wCACA,SACA,CAAO,CACP,CACA,iBACA,SACA,EACA,CACA,0BACA,UACA,QACA,uBAA+B,EAAE,oHACjC,cACA,CAAK,CAGL,OACA,0FACA,QACA,u4BACA,QACA,6BACA,gBACA,CAAK,CACL,MACA,sEACA,gBACA,CAAK,CACL,kBAAuB,KAAK,GAC5B,CACA,CAxDA,YACA,kBACA,qCCCA,eACG,YAWH,QAVA,uDACA,kDACA,EACA,eAAqB,6DAA6D,SAAS,mBAC3F,+BACA,QACA,CAAS,EACT,gCACA,QACA,CAAS,EACT,IAAoB,IAAO,IAC3B,iCACA,QACA,CAAO,EAEP,mCACA,iBACA,SACA,kCACA,SACA,CAAO,CACP,uBACA,eACA,QAAkB,0FAA0F,OAAO,iBACnH,QACA,WACA,QACA,GAEA,KAEA,cACA,UACA,4BACA,8BACO,CACP,cACA,kBAA2B,6BAA6B,eACxD,aACA,CAAO,CACP,UACA,CACA,kBAA6B,0CAC7B,aACA,CAAS,CACT,CACA,QACA,UAAsB,iFACtB,cACA,QACA,oBACA,wBACA,CACA,EACA,CACA,yBACA,eACA,kBAA4B,cAAc,yBAC1C,QACA,WACA,QACA,GAEA,KAEA,cACA,UACA,4BACA,8BACO,CACP,QACA,gCACA,SACA,CAAO,CACP,+BACA,gBAAuB,KAAK,GAC5B,CACA,CAAG,GACH,CAnFA,YACA,oBACA,qCCCA,cACA,6CACA,SACA,qDACA,aACA,CAAK,CAEL,QACA,2CACA,SACA,CAAK,CACL,QACA,udACA,8BACA,gCACA,OACA,6GACA,UACA,QACA,8FACA,aACA,CAAK,CACL,wBACA,CAAG,CACH,CA3BA,YACA,qBACA,qCCCA,eACG,YAWH,gBACA,4CACA,qBACA,CAAO,CACP,CAOA,kBACA,2BACA,CAiBA,IAUA,SAFA,+ZAKA,4BACA,0CACA,GACA,UACA,2BACA,EAAM,EACN,2BACA,+CACA,iBACA,QACA,CACA,wCACA,cACA,SACA,EACA,CACA,cACA,CAGA,4CAAwD,iBACxD,EACA,EACA,cACA,QACA,CAAS,CACT,CAEA,wCAAoD,eACpD,cACA,QACA,EACA,CACA,UACA,OACA,qFACA,SACA,+GACA,mBAA0B,IAAI,OAC9B,CAAK,EACL,4CACA,OACA,eACA,gBACA,CACA,CAAK,EACL,eApEA,KACA,YAAsB,EAqEtB,EArEqC,IACrC,mCACA,iBACA,CAAS,EAET,yCACA,EAAM,EA8DN,GAAiB,QAAQ,oBAAoB,cAC7C,GAEA,4CACA,wBACA,iCAA2C,kBAC3C,UACA,QACA,eACA,gDACA,EACA,EACA,cACA,QACA,gBAA+B,GAAG,GAClC,YACA,kBACA,wBACA,0BAEA,CACA,CAAW,CACX,gBACA,CACA,CACA,CAAK,CACL,CAAG,IACH,kCApIA,YACA,uBACA,yCCCA,cACA,eACA,cACA,QACA,2CACA,SACA,CAAK,CACL,oBAGA,oBACA,gBACA,CAAK,CACL,6BACA,0BACA,QACA,kBACA,gFACA,CACA,QACA,iHACA,8DACA,kBAAuB,MAAM,EAC7B,CACA,CA3BA,YACA,kBACA,2CCHA,MAAsB,EAAQ,KAAa,EAI3C,UAJ6B,CAI7B,GACA,cACA,gDACA,oBAGA,6CACA,aACA,CACA,CAAG,EACH,4CACA,MACA,oBACA,UACA,eACA,CACA,CAAG,EACH,mCApBA,YACA,uBACA,0CCCA,cACA,+CACA,QACA,8CACA,SACA,CAAK,CAEL,0BACA,QACA,4RACA,SACA,IAAU,EAAE,+FACZ,CAAG,EACH,gDACA,MACA,wBAA+B,EAAE,yBAAyB,EAAE,mBAC5D,SACA,CAAK,CAEL,oCACA,OACA,2BACA,cACA,CACA,CAAG,EACH,mCA5BA,YACA,uBACA,qCCCA,kBAEA,EAIA,EAUA,EACA,EACA,EAhBA,GACA,kBAAyB,aACzB,cACA,EAYA,UADA,kBAVA,EACA,kBAAwB,EAAE,aAAa,EAAE,IAAI,aAAa,QAAQ,IAAI,YAAY,EAAE,gBASpF,YACA,OACA,GACA,gCACA,cACA,gBACA,EACA,mBACA,cACA,0DACA,cACA,QACA,uBACA,kBACA,cACA,gBACA,CAAW,CACX,0BACA,kBACA,mBACA,CAAW,CACX,OACA,UACA,QACA,SACA,qBACA,YACA,gBACA,CACA,CACA,CAAW,CACX,mBACA,WApCA,CACA,sBAA6B,IAAI,IAAI,GACrC,kBACA,EAkCA,QACA,CACA,CAAO,CACP,mBACA,WA7CA,CACA,yBAAgC,IAAI,IAAI,GACxC,kBACA,EA2CA,eACA,CAEA,yBAAoC,EAAE,QACtC,eACA,CAAS,CACT,CACA,uBACA,gBACA,QACA,cACA,CACA,EACA,CACA,QACA,0BACA,gBACA,CAAO,CACP,SACA,OACA,CAIA,QACA,8EACA,oBACA,QACA,cACA,CACA,CAAS,CACT,CACA,aACA,mBACA,EACA,CACA,YACA,oBAA6B,cAAc,QAC3C,cACA,CAAO,CACP,aACA,aACA,eACA,CACA,CAEA,CAvGA,YACA,sBACA,mCCCA,cAEA,kBACA,cACA,UACA,QACA,0EACA,cACA,SACA,CAAK,CACL,QACA,iDACA,cACA,SACA,CAAK,CACL,QACA,yEACA,6BACA,UACA,4DACA,QACA,6BACA,gBACA,CACA,CAAK,CACL,4CACA,uCACA,gBAAqB,OAAO,IAC5B,CACA,CAhCA,YACA,qBACA,qCCCA,cACA,mBACA,SACA,uBACA,aACA,CAAK,CACL,QACA,QACA,0EAAkF,EAAE,aAAa,EAAE,MACnG,SACA,CAAK,CACL,8BACA,SACA,+lFACA,2PACA,QACA,41BACA,mCACA,OACA,kFACA,SACA,+EACA,gBAAqB,IAAI,OACzB,EACA,kCA3BA,YACA,sBACA,0CCCA,cACA,kBACA,OACA,CACA,QACA,oFACA,cACA,QACA,+BACA,CACA,CAAO,CACP,CACA,QACA,+EAAyF,EAAE,SAC3F,cACA,QACA,mBACA,CACA,EACA,CAEA,oBACA,gEACA,cACA,QACA,cACA,4CACA,mBACA,QACA,qBACA,CACA,CAAS,CACT,WACA,0BACA,cACA,iBACA,QACA,iBACA,CACA,CACA,CACA,CAAK,CACL,eACA,CACA,oCACA,cACA,eACA,QACA,qBACA,CACA,CAAO,CACP,CACA,uDACA,cACA,eACA,QACA,mBACA,CACA,EACA,CACA,WACA,iCACA,cACA,iBACA,QACA,iBACA,CACA,CAAK,CACL,SAEA,QACA,iEAAyE,EAAE,MAC3E,aACA,CAAK,CACL,OAEA,CACA,QACA,wBAAkC,eAAe,EAAE,uCACnD,QACA,YACA,sBAAkC,eAAe,EAAE,wBAAwB,eAAe,EAAE,MAC5F,cACA,CACA,CAAO,CACP,CACA,QACA,iBAA2B,EAAE,oCAAoC,eAAe,EAAE,sBAClF,cACA,QACA,iCAA4C,eAAe,EAAE,MAC7D,cACA,CACA,EACA,CACA,IACA,QACA,eAAuB,EAAE,sBAAsB,eAAe,EAAE,MAAM,GAAG,gBAAgB,EAAE,GAC3F,cACA,mBACA,CAAK,CACL,OACA,qCACA,cACA,iBACA,CAAK,CACL,uBACA,QACA,yKAAiL,GAAG,OACpL,cACA,cACA,CAAK,CACL,iBACA,wBAA+B,EAAE,0CACjC,QACA,6BACA,cACA,mBACA,CACA,CACA,CAAK,CACL,wBACA,QACA,gBAAwB,EAAE,qBAAqB,eAAe,EAAE,4BAChE,QACA,6BACA,qCAAgD,eAAe,EAAE,UACjE,mBACA,CACA,CACA,CAAK,CACL,eACA,QACA,yFACA,cACA,mBACA,CAAK,CACL,iBACA,8CACA,cACA,QACA,kBACA,CACA,CAAK,CACL,QACA,CACA,QACA,mBAA6B,+EAA+E,YAAY,QACxH,cACA,QACA,MACA,6BACA,aACA,CAAW,CACX,QACA,yBACA,aACA,CAAW,CACX,kBACA,yBACA,cACA,cACA,CAAW,CACX,MACA,4BACA,iBACA,QACA,mBACA,CACA,CAAW,CACX,oBACA,uBACA,cACA,kBACA,CAAW,CACX,cACA,yBACA,cACA,kBACA,CAAW,CACX,0BACA,CACA,EACA,CACA,MACA,CACA,kCAA2C,YAAY,MACvD,eACA,QACA,sBACA,CACA,CAAO,CACP,CACA,QACA,qEAA+E,YAAY,OAC3F,eACA,QACA,4BACA,CACA,EACA,CAKA,aACA,gEACA,aACA,CACA,CACA,CArNA,YACA,qBACA,qCCCA,cACA,iBACA,SACA,cACA,SACA,CAAK,CACL,MACA,uBAA8B,eAAe,KAC7C,SACA,CAAK,CACL,QACA,0CACA,SACA,CAAK,CACL,OACA,QACA,2EAAmF,MACnF,cACA,SACA,CAAK,CACL,QACA,kFACA,uBACA,6BACA,WAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,IAC9B,WAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,IAC9B,eAAoB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IACpD,sBAA2B,eAAe,YAAY,eAAe,IACrE,mCACA,mBAAwB,IAAI,QAAQ,eAAe,GACnD,wBAA6B,eAAe,YAAY,eAAe,GACvE,CACA,CAnCA,YACA,oBACA,qCCCA,cACA,sBACA,cACA,SACA,QACA,4EAAoF,IACpF,aACA,CAAK,CACL,WACA,0BAAiC,GACjC,gBACA,CAAK,CACL,8BACA,OACA,+BAAsC,IACtC,cACA,kBACA,CAAK,CACL,UACA,uBACA,eACA,CAAK,CACL,UACA,iBACA,cACA,gBACA,CAAK,CACL,gBAAqB,GAAG,IACxB,CACA,CAhCA,YACA,yBACA,oCCCA,eACG,YACH,OACA,oBAA2B,EAAE,UAC7B,cACA,SACA,EACA,GACA,2BAAkC,EAAE,WAAW,OAAO,QAAQ,IAAI,QAAQ,IAAI,EAC9E,cACA,QACA,sBAA+B,GAAG,EAClC,CACA,EACA,gBACA,SAKA,aAJA,qBACA,eAAwB,EAAE,MAAM,EAAE,EAClC,eACA,EAAQ,EAER,UAWA,OATA,OACA,qBAA8B,EAAE,uBAChC,cACA,QACA,mBACA,CACA,EACA,aACA,YACA,CACA,eACA,OAAiB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,oBAC7D,UACA,WACA,QACA,GAEA,MAEA,gBACA,QACA,CACA,CACA,OACA,QACA,wBAAgC,EAAE,gDAAgD,EAAE,IACpF,cACA,cACA,EACA,GACA,6CACA,cACA,iBACA,QACA,UACA,CACA,EACA,GACA,qBAA4B,EAAE,oBAAoB,EAAE,wBACpD,cACA,QACA,UACA,CACA,CACA,6BACA,uBACA,eACA,QACA,4BAAwC,EAAE,gDAAgD,EAAE,IAC5F,cACA,cACA,CAAS,CACT,UACA,yBAAoC,EAAE,wBACtC,aACA,CACA,CAAO,EACP,yBACA,6BACA,cACA,gBACA,UACA,CAAO,EACP,uBACA,iBACA,gBACA,UACA,CAAO,EACP,iBACA,cACA,gBACA,UACA,CAAO,EACP,SACA,EACA,6CACG,GACH,CAvGA,YACA,+BACA,qCCCA,kBAiCA,EAgBA,EAUA,CAnDA,CA0LG,EA1LH,2CACA,SACA,sCACA,SACA,CAAO,CACP,cACA,QACA,4EACA,cACA,QACA,mBACA,CACA,CAAO,CACP,QACA,mSACA,SACA,IAAY,IAAI,oEAChB,kBAAyB,MAAM,EAC/B,CAAK,EACL,4CACA,gBACA,aACA,mBACA,CACA,CAAK,EACL,GACA,2BAAkC,EAAE,MAAM,OAAO,IAAI,IAAI,IAAI,IAAI,EACjE,cACA,QACA,SACA,cAAyB,aAAa,IACtC,cACA,wBACS,CACT,WACA,aAAwB,GAAG,GAC3B,mBACA,CACA,CACA,EACA,iCACA,EACA,MACA,CACA,gBAAwB,2CACxB,6DACA,GAAW,OAAO,eAAe,OAAO,gBAAgB,IAAI,SAC5D,iEACA,yDACA,WACA,IACA,EACA,sEACA,OACA,2CACA,iBACA,CACA,eACA,2BAA2D,IAAI,UAE/D,UACA,QACA,gBACA,eACA,CACA,CAAS,CACT,CACA,QACA,kEAA8E,IAAI,oBAAoB,OACtG,cACA,UACA,QACA,gBACA,eACA,CACA,EACA,CACA,wCACA,QACA,CACA,qCACA,cACA,SACA,CAAS,CACT,CACA,eACA,QAAoB,0CAEpB,cACA,SACA,EACA,CACA,qBACA,wCACA,cACA,QACA,kBACA,kBACA,oBACA,gBACA,CACA,CACA,CAAK,EACL,0CACA,kBACA,CACA,uCACA,UACA,QACA,gBACA,gBACA,CACA,CAAS,CACT,CACA,QACA,YAAwB,GAAG,IAAI,OAAO,0CACtC,UACA,QACA,gBACA,gBACA,CACA,CAAS,CACT,CACA,0DACA,uBACA,UACA,QACA,WACA,0CACA,QACA,eACA,sBACA,CACA,CAAa,CACb,gBACA,gBACA,CACA,CAAS,CACT,CACA,4DACA,uBACA,UACA,QACA,WACA,4CACA,QACA,eACA,0BACA,CACA,CAAa,CACb,gBACA,CACA,EACA,CACA,mBACA,CACA,8BACA,UACA,QACA,gBACA,SACA,kBACA,cACA,CACA,CACA,CAAS,CACT,CACA,gBAA2B,GAAG,IAAI,OAAO,oCACzC,UACA,QACA,gBACA,SACA,kBACA,cACA,CACA,CACA,EACA,CACK,EACL,+BACA,0CACA,QACA,+OACA,uCACA,CAAK,EACL,gCApMA,YACA,qBACA,yCCCA,eACG,YAEH,QADA,uDACA,IAAoB,IAAO,IAE3B,iCACA,QACA,CAAO,EAEP,iCACA,uBACK,EACL,kBACA,SACA,CACA,qCACA,cACA,SACA,CAAS,CACT,CACA,2BACA,cACA,SACA,EACA,CACA,QACA,gEACA,SACA,CAAO,CACP,MACA,QACA,gCAA0C,iBAAiB,IAAI,EAAE,oBACjE,SACA,CAAO,CACP,WACA,sDACA,UACA,kBACA,QACA,WACA,CACA,CAAO,CAEP,kBACA,4DAAqE,OACrE,cACA,UACA,QACA,uBACA,kBACA,mBACA,CAAW,CACX,SACA,CACA,CAAO,CACP,uBACA,eACA,cACA,CAAO,CACP,sBACA,yBACA,cACA,mBACA,CAAO,CACP,iBACA,uBACA,uBACA,cACA,gBACA,CAAO,CACP,mBACA,qDACA,cACA,kBACA,CAAO,CACP,sBACA,CACA,6CACA,cACA,iBACA,CAAS,CACT,CACA,QACA,wFACA,cACA,kBACA,QACA,gBACA,CACA,EACA,CACA,SAEA,8RAEA,+DACA,CAIA,2CACA,OACA,iBACA,gBACA,CAAO,CACP,+BACA,4BACA,WACA,qEACA,QACA,gBACA,CACA,CAAO,CAEP,OACA,6KACA,6BACA,yBAAgC,IAAI,OAAO,IAAI,OAC/C,8DACA,EACA,gEACA,yCACA,wBACG,GACH,CA/HA,YACA,qBACA,qCCCA,kBAEA,EACA,EACA,EAIA,EAGA,EAMA,EAKA,EAOA,EAIA,EACA,EAIA,EAiBA,EAWA,EAUA,EAMA,EAKA,EAGA,EAiCA,EAzHA,uDACA,qDACA,GACA,yBACA,cACA,EAIA,GACA,QACA,kVACA,cACA,eACA,EACA,GACA,qDACA,gBACA,aACA,EACA,GACA,mBACA,CACA,mBAA4B,SAAS,GAAG,GACxC,aACA,EACA,CAUA,GACA,SALA,GACA,wBACA,eACA,EAGA,aACA,0BACA,aACA,CAAO,CACP,aACA,iBArCA,GACA,qBACA,EAoCA,KACA,kBACA,eACA,CAAO,CACP,SACA,qBACA,YAnBA,YAAgC,KAAK,MAoBrC,OAxBA,GACA,kBACA,SACA,CAsBA,EACA,GACA,wCACA,QACA,gCACA,WACA,QACA,4BACA,cACA,CACA,CACA,EACA,GACA,qDAA4D,IAC5D,QACA,2BACA,QACA,sBACA,cACA,CACA,CACA,EACA,GACA,QACA,iLACA,cACA,eACA,EACA,GACA,wEACA,cACA,eACA,EACA,EACA,+iCACA,OACA,GACA,eACA,2CAAmD,mBACnD,SACA,WACA,QACA,GAEA,KAEA,cACA,QACA,eACA,yDACA,QACA,CAAW,EACX,KAEA,QACA,sBACA,eACA,CAAS,CACT,UACA,WACA,2BACA,oBACA,eACA,SACA,qBACA,cACA,QACA,CACA,EACA,GACA,QACA,yxBACA,aACA,EACA,iBACA,WACA,2CAAoD,gBAAgB,IACpE,cACA,eACA,QACA,SACA,oCACA,CAAW,CACX,cAAyB,CACzB,CACA,CAAO,CACP,YACA,QACA,qCAA+C,0CAA0C,gBACzF,cACA,QACA,KACA,eACA,4JAA0K,MAAM,iBAChL,SACA,WACA,QACA,GAEA,MAEA,qBACA,OA0MG,EA1MH,cACW,CACX,sBACA,kBACA,QACA,mFACA,cACA,eACA,CAAW,CACX,SACA,qBACA,cACA,QACA,CACA,CAAO,CACP,eACA,QACA,gCAA0C,0CAA0C,gBACpF,cACA,QACA,UACA,QACA,eACA,8EAA4F,kBAC5F,SACA,WACA,QACA,GAEA,MAEA,cACA,wBACA,0BACW,CACX,UACA,qBACA,sBACA,SACA,qBACA,cACA,QACA,CACA,CAAO,CACP,YACA,QACA,6BAAuC,0CAA0C,gBACjF,cACA,QACA,UACA,KACA,eACA,8EAA4F,kBAC5F,SACA,WACA,QACA,GAEA,MAEA,cACA,qBACA,uBACW,CACX,UACA,qBACA,sBACA,SACA,qBACA,cACA,QACA,CACA,CAAO,CACP,YACA,QACA,6BAAuC,sCAAsC,gBAC7E,cACA,QACA,UACA,iBACA,oCAAiD,MACjD,cACA,QACA,WACA,6BACA,QACA,0BACA,CACA,CAAe,CACf,MACA,CACA,CAAW,CACX,gBACA,WACA,QACA,uDAAqE,MACrE,cACA,QACA,CAAW,CACX,OACA,UACA,WACA,SACA,YACA,sBACA,SACA,qBACA,cACA,QACA,CACA,CAAO,CACP,aACA,eACA,6BAAuC,YAAY,iBACnD,SACA,WACA,QACA,GAEA,MAEA,cACA,QACA,CAAO,CAEP,kBACA,mBACA,0BACA,QACA,2EACA,cACA,QACA,UACA,wDACA,eACA,CAAW,CACX,kBACA,mBACA,gBACA,sBAAmC,IACnC,CAAW,CACX,aACA,CACA,CAAO,CACP,qBACA,mBAA4B,MAAM,KAClC,QACA,iBACA,CACA,CAAO,CACP,aACA,kBAA2B,MAAM,KACjC,QACA,gBACA,CACA,CAAO,CAEP,OACA,sBACA,eACA,CAAO,CACP,OACA,gCAAyC,GACzC,QACA,OACA,gBACA,iBACA,CAAW,CACX,UACA,SACA,oBACA,CACA,CAAO,CACP,gBACA,6CAAsD,KACtD,cACA,QACA,CAAO,CACP,gBACA,UACA,WACA,SACA,YACA,qBACA,UAEA,8BACA,cACA,CAAO,CACP,SACA,OACA,UAEA,oBACA,4CACA,gBACA,CAAO,CAEP,SACA,8DACA,aACA,CAEA,CA1WA,YACA,oBACA,qCCCA,kBAsBA,EACA,CArBA,CAqEG,EArEH,yCAEA,SACA,wDACA,cACA,SACA,CACA,CAAK,EACL,0CAEA,eAEA,8BACA,UACA,QACA,yBACA,CACA,CACA,CAAK,EACL,OAkDG,EAlDH,sBACA,eAAgC,UAAU,EAC1C,GACA,2CACA,CACA,sBACA,aACA,EACA,CACA,4CAEA,iBACA,uBACA,UACA,QACA,gBACA,WACA,UACA,CACA,CAAO,CAEP,iBACA,6CACA,UACA,QACA,UACA,kBACA,CACA,qBACA,aACA,EACA,CACA,gBACA,WACA,WACA,qCAEA,CACA,CAAK,EACL,iCACA,kCAEA,+CACA,UACA,QACA,yHACA,cACA,SACA,CACA,CAAK,CAEL,CA3EA,YACA,qBACA,2CCHA,MAAoB,EAAQ,KAAW,EAIvC,UAJ2B,CAI3B,GACA,cACA,6CACA,wBACA,yBACA,UACA,cACA,CAAK,CACL,QACA,0CACA,SACA,CAAK,CACL,QACA,qPACA,OACA,0EACA,QACA,8FACA,sBACA,CAAG,EACH,yDACA,wBACA,QACA,iCAAyC,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,8BAA8B,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,QAC7H,UACA,QACA,IACA,eACA,UACA,gBACA,CAAS,CACT,QACA,uBACA,UACA,cACA,CAAS,CACT,eACA,oBAA+B,OAAO,IAAI,IAAI,IAAI,IAAI,GACtD,UACA,QACA,kBAA+B,IAAI,GACnC,YACA,kBACA,yBAEA,CACA,CAAS,CACT,gBACA,CACA,CACA,CAAG,EACH,uCACA,kCAvDA,YACA,sBACA,qCCCA,cAmIG,EAjIH,kBAMA,QACA,EAAU,KAAK,kIACf,QACA,4BACA,SACA,CAAO,CACP,QACA,0BACA,SACA,CAAO,CACP,MACA,QACA,0EACA,SACA,CAAO,CACP,oBAEA,CACA,QACA,qEACA,aACA,CAAS,CACT,CACA,uDACA,aACA,EACA,CACA,SACA,QACA,qZACA,aACA,CAAO,CACP,SAEA,QACA,0oDACA,aACA,CAAO,CACP,UACA,oEACA,aACA,CAAO,CACP,QA0BA,eACA,SA8CA,GACA,eACA,2CACA,2BACA,CAAS,EAET,WACA,EArDA,CACA,cACA,kEACA,0DACA,gEACA,gBACA,6DACA,OACA,iEACA,iDACA,0DACA,gEACA,gBACA,6DACA,OACA,6DACA,OACA,mEACA,OACW,EACX,KAEA,aACA,CAAO,CACP,SACA,6DACA,aACA,CAAO,CACP,UACA,QACA,4EACA,aACA,CAAO,CACP,YACA,4DACA,cACA,SACA,CAAO,CACP,uBACA,CAgBA,CAvIA,YACA,uBACA,qCCCA,cACA,2CACA,SACA,+CACA,aACA,CAAK,CACL,QACA,0DAAiE,IACjE,QACA,cACA,CACA,CAAK,CAEL,8BAQA,UAEA,QACA,aAAqB,aAAa,mBAAmB,UAAU,UAAU,KAAK,OAAO,MAAM,KAAK,IAAI,KACpG,QACA,QACA,YACA,iBACA,CAAS,CACT,sBACA,sBAA+B,UAAU,CACzC,CACA,CAAK,CACL,UACA,6BAAoC,UAAU,YAC9C,QACA,sBAA+B,UAAU,CACzC,CACA,CACA,CAAG,EACH,0CACA,SACA,oHACA,CACA,mCACA,aACA,EACA,CACG,EACH,6CAEA,sBAA2B,UAAU,CACrC,CAAG,EACH,4CACA,mBACA,qCACA,eACA,CAAK,CACL,aACA,kBACA,gBACA,CAAK,CACL,WACA,qCACA,eACA,CAAK,CACL,6BACA,MACA,mBACA,eACA,CAAK,CACL,UACA,0DACA,aACA,CACA,CAAG,EACH,qDAhFA,YACA,qBACA,2CCHA,MAAoB,EAAQ,KAAW,EAIvC,UAJ2B,CAI3B,OAKA,EAJA,cAIA,GAEA,+DACA,iBACA,kCAEA,iDACA,WAqDG,EApDH,4BACA,SACA,eAEA,WACA,MACA,2DAAwE,OACxE,OACA,IAGA,0BAAwC,YACxC,KACA,qBACA,oGACA,WACA,WACA,QACA,GAEA,KAEA,UACA,QACA,MAIA,mBACA,oBACA,QACA,4CACA,gBACA,cACA,CACA,CAAW,CACX,MACA,+BACA,cACA,sBACA,wBACW,CACX,gBACA,iBACA,iBACA,CACA,CACA,CAAO,CACP,8BACA,EACA,mDACA,6BAnEA,YACA,6BACA,qCCCA,cAGA,mBACA,cACA,QACA,iEAAwE,EAAE,KAC1E,SACA,CAAK,CACL,cACA,QACA,iEAAyE,GACzE,cACA,QACA,cACA,yCACA,aACA,CAAS,CACT,WACA,yCACA,cACA,QACA,gBACA,CACA,CAAS,CACT,YACA,CACA,CAAK,CACL,SACA,CAEA,cAAuB,kBACvB,aACA,CAAO,CACP,CAEA,+BACA,aACA,EACA,CACA,SACA,CACA,2BACA,aACA,CAAO,CACP,CACA,oCACA,aACA,CAAO,CACP,CACA,QACA,0JACA,aACA,EACA,CACA,UACA,6CACA,aACA,CAAK,CACL,OACA,sBACA,gBACA,CAAK,CACL,UACA,sCACA,cACA,gBACA,CAAK,CACL,SACA,8CACA,aACA,CAAK,CACL,QACA,QACA,sJACA,aACA,CAAK,CACL,OACA,iBACA,cACA,gBACA,CAAK,CACL,yBACA,gBAAqB,IAAI,GACzB,CACA,CAxFA,YACA,sBACA,qCCCA,cACA,uBACA,SACA,yBACA,SACA,CAAK,CACL,MACA,cACA,SACA,CAAK,CACL,QACA,yBACA,SACA,CAAK,CACL,2DACA,mBACA,4BACA,cACA,QACA,sBACA,gBACA,CACA,CAAK,CACL,uBACA,oBACA,QACA,qBACA,gBACA,CACA,CAAK,CACL,qCACA,6BACA,QACA,2CACA,6BACA,CACA,0DACA,gBAAqB,UAAU,EAC/B,CACA,CA1CA,YACA,0BACA,2CCHA,MAAgC,EAAQ,KAAwB,EAIhE,UAJuC,CAIvC,OAyFA,EACA,EAzFA,cAEA,oBACA,SACA,YAAqB,cAAc,EACnC,SACA,CAAO,CACP,gBACA,YAAqB,KAAK,UAAU,OAAO,EAC3C,UACA,QACA,QACA,YAAyB,KAAK,GAAG,OAAO,GACxC,WACA,CAAW,CACX,KACA,kBACA,qBACA,uBAEA,CACA,CAAO,CACP,QACA,CACA,gCACA,UACA,QACA,eACA,WAA0B,IAAI,IAAI,UAClC,QACA,6BACA,YAA+B,MAAM,IACrC,mBACA,CAAiB,CACjB,YACA,kBACA,WACA,CACA,CACA,CAAa,CACb,gBACA,CACA,CAAS,CACT,CACA,gCACA,SACA,EACA,CACA,SACA,aAAsB,wBACtB,cACA,SACA,CAAO,CACP,WACA,YAAqB,MAAM,GAC3B,UACA,mBACA,CAAO,CACP,sEACA,UACA,cACA,cACA,CACA,0CACA,aACA,CAAS,CACT,CACA,8BACA,aACA,EACA,CACA,UACA,gDACA,aACA,CAAO,CACP,mCACA,2CACA,sBAA6B,UAC7B,UACA,mCACA,iDACA,iDAEA,EACA,wDACA,mBA4CG,EA3CH,yEACA,mBACA,gDACA,SAEA,GAAS,cAAc,SACvB,IACA,GAAW,KAAK,UAAU,OAAO,SACjC,IACA,GAAW,OAAO,YAAY,OAAO,YAAY,OAAO,aAAa,IAAI,IAAI,iBAC7E,SACA,WACA,kBAGA,KAEA,0CAGA,SACA,mDACA,EACA,SACA,EACA,kBAKA,EAX+B,SAAS,IAQxC,GACA,QAEA,IAZA,EAAiC,QAAQ,IAazC,GACA,OAEA,GAGA,EAEA,CAAK,EAIF,EAHH,uCACA,iEACA,CAAK,CAEL,CAtIA,YACA,uBACA,qCCCA,kBAIA,IACA,0PACA,iBAEA,QACA,4EACA,QACA,8BACA,SACA,CAAO,CACP,cACA,CAOA,eACA,kIACA,iCACA,8BACe,EACf,iCACA,wDAAyE,OAAO,IAAI,IAAI,IAAI,IAAI,oBAChG,OACe,EACf,gCACA,4CACe,EACf,gCACA,eACA,CAAe,EACf,KAEA,cACA,UACA,WACA,CAAS,CACT,CACA,QACA,yFACA,aACA,EACA,CACA,UACA,6CACA,aACA,CAAO,CACP,UACA,UACA,4BACA,aACA,CAAO,CACP,wDACA,MACA,mCACA,gBACA,CAAO,CACP,8BACA,qDACA,kBAAyB,QAAQ,EACjC,EAGG,EAFH,sCAEG,EAFH,cACA,kCAvEA,YACA,oBACA,4CCCA,cACA,iDACA,cACA,QACA,0EACA,aACA,CAAK,CACL,QACA,+YACA,2EACA,CAAG,EACH,+CACA,QACA,6LACA,CAAG,EACH,8CACA,SACA,qCACA,cACA,cACA,CACA,CAAG,EACH,qCAzBA,YACA,yBACA,0CCCA,kBAEA,KAEA,WAAkB,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,EAAE,GAC3E,iBACA,QACA,gBAAyB,EACzB,CACA,EACA,8BACA,SACA,cACA,SACA,CAAO,CACP,QACA,kCACA,UACA,QACA,MACA,CACA,CAAO,CACP,QAMA,QACA,kHACA,cACA,UACA,eACA,CAAO,CACP,UACA,0DACA,cACA,QACA,MACA,CACA,CAAO,CACP,OACA,2BACA,6BACA,aACA,mBACA,EAEG,EADH,0CAEA,CApDA,YACA,6BACA,2CCHA,MAAgC,EAAQ,KAAwB,EAIhE,UAJuC,CAIvC,OAGA,EACA,EAHA,cAEA,mDACA,sDA2FG,EA1FH,eACA,SACA,mBACA,CACA,qBACA,cACA,SACA,EACA,CACA,eACA,QACA,IAAc,sFACd,cACA,eACA,QACA,gBACA,CACA,CAAO,CACP,WACA,YAAqB,gCACrB,cACA,gBACA,CAAO,CACP,SACA,CACA,QACA,IAAgB,+MAChB,aACA,CAAS,CACT,0FACA,CACA,WACA,YAAqB,UAAU,IAC/B,mBACA,CAAO,CACP,oBACA,UACA,mDACA,QACA,QACA,UACA,SACA,CAAW,CACX,SACA,sBACA,CACA,CAAO,CACP,QACA,UACA,SACA,CAAO,CACP,UACA,YACA,CACA,4BACA,aACA,EACA,CACA,6BACA,SACA,0DACA,gBAAuB,YACvB,EA4BG,EA3BH,wCAIA,SAuBG,EAtBH,iDACA,EACA,MANA,GAA0B,EAAE,KAAK,EAAE,GAAG,KAAK,6BAQ3C,kBANA,EAA6B,SAAS,IAQtC,GACA,QAEA,IAZA,EAA+B,QAAQ,IAavC,GACA,OAEA,GAGA,EAEA,CAAK,EAIF,EAHH,uCACA,8DACA,CAAK,CAEL,CAnGA,YACA,oBACA,2CCHA,MAAsB,EAAQ,KAAa,EAI3C,UAJ6B,CAI7B,GACA,cACA,gDACA,8BACA,UACA,kBACA,SACA,CACA,CAAG,EACH,iDACA,SACA,8SACA,0YACA,6BAEA,CAAG,EACH,kCAnBA,YACA,uBACA,yCCCA,cACA,2BACA,yCACA,QACA,4BACA,SACA,CAAK,CAEL,QACA,8tCACA,iBACA,wCACA,gBACA,CAAK,CACL,0BACA,8BACA,MAEA,cAAqB,IAAI,KAAK,IAAI,KAAK,IAAI,UAAU,IAAI,EAAE,EAAE,MAC7D,cACA,CAAK,CACL,2BACA,kCACA,4BACA,sBACA,CACA,CA7BA,YACA,0BACA,qCCCA,cACA,4CACA,QACA,8CACA,SACA,CAAK,CACL,QACA,mRACA,8BACA,SACA,+h/BACA,OACA,qEACA,oEACA,kBACA,QACA,oJACA,eACA,CAAK,CACL,iCACA,CAAG,EACH,yCACA,OACA,4DACA,cACA,UACA,iBACA,QACA,WACA,qBACA,eACA,CAAS,CACT,+BACA,CACA,CACA,CAAG,EACH,qCAvCA,YACA,oBACA,qCCCA,cACA,iBACA,SACA,wDACA,aACA,CAAK,CACL,UACA,CACA,8CACA,SACA,CAAO,CACP,WACA,CACA,QACA,0DACA,UACA,aACA,CAAK,CACL,YACA,8CACA,UACA,cACA,QACA,mBACA,CACA,CAAK,CACL,SACA,4FAEA,QACA,u9EACA,mCACA,mDACA,SACA,+HACA,eAAoB,UACpB,CACA,CAxCA,YACA,oBACA,qCCCA,cACA,iDACA,SACA,6BACA,CACA,iCACA,cACA,SACA,EACA,CACA,QACA,qEACA,cACA,SACA,CAAK,CACL,cACA,gEACA,cACA,QACA,gBACA,CACA,CAAK,CACL,QACA,yOACA,+DACA,mEACA,kBAAuB,MAAM,GAC7B,CAAG,EACH,8CACA,MACA,qDAA4D,IAAI,YAChE,cACA,SACA,CACA,CAAG,EACH,gDACA,yBACA,kBACA,iBACA,CAAK,CACL,QACA,kBACA,gBACA,CACA,CAAG,CACH,CAhDA,YACA,yBACA,qCCCA,kBAGA,IACA,8MACA,kBACA,iDACA,QAGA,0CACA,SACA,CAAO,CACP,WACA,iCACA,cACA,gBACA,CAAO,CACP,gBACA,eACA,IACA,SACA,kBACA,IACA,sBAEA,cACA,gBACA,CAAO,CACP,YACA,+DACA,cACA,QACA,YACA,8DACA,cACA,WACA,CAAW,CACX,+BACA,aACA,qBACA,CACA,CAAO,CACP,SACA,CACA,QACA,eAA2B,uEAC3B,qBACA,CAAS,CACT,mQACA,EACA,CACA,gCACA,OACA,8FACA,6BACA,uDACA,sBAA6B,EAAE,EAC/B,EAGG,EAFH,mDACA,iBA/DA,YACA,qBACA,qCCCA,kBAEA,EAIA,EAIA,CA+CA,EA/CA,GACA,SACA,+CACA,aACA,CAAO,CACP,KACA,iCACA,SACA,CAAO,CACP,QACA,wDACA,SACA,CAAO,CACP,mBAEA,UAEA,yCACA,SACA,mEACA,aACA,CAAO,CACP,kBAAyB,IAAI,GAC7B,OACA,q5CACA,CACA,QACA,sBAAkC,IAAI,UAAU,IAAI,YAAY,IAAI,gCAAgC,IAAI,UAAU,IAAI,YAAY,IAAI,kCACtI,QACA,KArCA,GACA,8BACA,aACA,EAmCA,OAlCA,GACA,+CACA,aACA,EAgCA,wBACA,mBACA,CACA,EACA,CACA,kBAAyB,IAAI,GAC7B,OACA,6BACA,UAGA,kCAA0C,IAAI,iEAC9C,CACA,SACA,gBAAuB,OAAO,IAC9B,GACA,eACA,WAAkB,OAAO,KAAK,EAC9B,iBACA,QACA,WACA,YAAuB,GAAG,GAC1B,mBACA,CAAS,CACT,MACA,CACA,EACA,QACA,4BACA,QACA,kBACA,MACA,CACA,EAiEG,EAhEH,kBACA,sBACA,wBACA,cACA,QACA,kBACA,MACA,CACA,CAAO,CACP,wBACA,0CAAmD,IAAI,IAAI,WAC3D,cACA,QACA,gBACA,MACA,CACA,CAAO,CACP,WACA,yDACA,cACA,QACA,eACA,MACA,CACA,CAAO,CAGP,wBACA,QACA,SAAmB,qBAAqB,GAAG,QAAQ,6BAA6B,UAAU,IAAI,2BAA2B,cACzH,cACA,QACA,UACA,mBACA,QACA,8BAEA,CAAW,CACX,MACA,CACA,CAAO,CAIP,UACA,QACA,0BAAoC,gDAAgD,GAAG,QAAQ,uCAAuC,gDAAgD,GAAG,QAAQ,cAAc,qBAAqB,cACpO,cACA,QACA,8BACA,kBACA,gBAA2B,GAC3B,CACA,CAAO,CACP,YACA,gBACA,SACA,+CACA,cACA,SACA,CAAO,CACP,8BACA,gBAAuB,OAAO,IAC9B,CAEA,CA/IA,YACA,uBACA,qCCCA,cACA,mBACA,SAEA,QACA,uFACA,cACA,SACA,CAAK,CACL,kBAEA,CACA,eACA,mBACA,MACA,8DACA,OACA,IACA,iEACA,OACA,IACA,mBAEA,cACA,UACA,QACA,eACA,4CACA,cACA,WACA,CAAW,CACX,6BACA,oBACA,mBACA,CAAW,CACX,2BACA,gBACA,CACA,CAAO,CACP,CACA,eACA,uBACA,MACA,gEACA,OACA,IACA,kEALA,QASA,cACA,UACA,QACA,eACA,8CACA,cACA,WACA,CAAW,CACX,6BACA,sBACA,mBACA,CAAW,CACX,gBACA,CACA,EACA,CACA,WAEA,eACA,WACA,MACA,yBACA,WAGA,8GACA,OAPA,MAUA,0BACA,KAEA,iBACA,QACA,yBACA,6BACA,2BACA,4BACA,mBACA,CACA,CAAK,CACL,SACA,QACA,2FACA,gBACA,CAAK,CACL,mBACA,iBACA,gBACA,CAAK,CACL,WACA,eACA,cACA,CAAK,CACL,uBACA,yBACA,cACA,gBACA,CAAK,CACL,OAEA,QACA,2EACA,cACA,iBACA,CAAK,CACL,QACA,unBACA,6BACA,KACA,kBACA,gBACA,CAAK,CACL,2BACA,MACA,gBACA,eACA,CAAK,CACL,OACA,kFAEA,+CACA,iCACA,sBAA2B,GAAG,sBAI9B,mDACA,gBAAqB,MAAM,OAC3B,EACA,wDACA,gDACG,CACH,CAlJA,YACA,sBACA,qCCCA,kBAGA,EAIA,EAJA,GACA,YAAmB,OACnB,SACA,EACA,qDACA,qBACA,UACA,SACA,wCACA,UACA,QACA,sBACA,gBACA,kBACA,gBACA,CACA,CACA,CAAO,CACP,KACA,+BACA,UACA,iBACA,CAAO,CACP,OAMA,eACA,yBACA,MACA,EAFA,oBAKA,uCAEA,EACA,EAHA,KAMA,gBAA8B,kBAAkB,WAChD,MAEA,cACA,UACA,mBACA,QACA,UACA,QACA,kCACA,cACA,SACA,CAAW,CACX,mBACA,SACA,yCACA,SACA,CACA,CACA,CAAO,CACP,eACA,CAEA,CAtEA,YACA,wBACA,2CCHA,MAA4B,EAAQ,KAAoB,EACxD,EAAsB,EAAQ,KAAa,CADR,CAKnC,UAJ6B,CAI7B,GACA,cACA,cACA,oCACA,+CACA,CARA,YACA,qBACA,qCCAA,eACG,YACH,kBACA,OACA,sCACA,cACA,QACA,WACA,+BACA,iBACA,CAAW,CACX,SACA,kBACA,SACA,OACA,CACA,CACA,CACA,CAyBA,qDAA+D,aAC/D,MAzBA,YACA,qBACA,gBACA,OACA,OACA,uBACA,QACA,iBACA,cACA,2DACA,QACA,4BACA,CACA,CAAe,CACf,sBACA,mBACA,CAAa,EACb,sBACA,6BACA,kBACA,CACA,CACA,CACA,CAGA,CAAK,CACL,CAAG,GACH,CAlDA,YACA,6BACA,2CCHA,MAA4B,EAAQ,KAAoB,EACxD,EAAqB,EAAQ,KAAY,CADN,CAKnC,UAJ4B,CAI5B,GACA,cACA,cACA,mEACA,CAPA,YACA,qBACA,2CCJA,MAAoB,EAAQ,KAAW,EAIvC,UAJ2B,CAI3B,GACA,cAEA,iBACA,gBAAqB,QACrB,YAAiB,QACjB,2BACA,uBACA,2BACA,8BACA,SACA,6BACA,SACA,CAAK,CACL,gBAAqB,GACrB,gBACA,SACA,mDACA,cACA,wBACA,qBACA,CACA,CACA,CA1BA,YACA,oBACA,qCCCA,cACA,iBACA,SACA,uBACA,aACA,CAAK,CACL,QACA,8CACA,SACA,CAAK,CACL,UACA,CACA,4CACA,aACA,CAAO,CACP,CACA,eAAwB,GAAG,IAAI,EAC/B,aACA,CAAO,CACP,CACA,2DACA,aACA,EACA,CACA,UACA,kCACA,aACA,CAAK,CACL,SACA,CACA,QACA,+FACA,aACA,CAAO,CACP,sBACA,CACA,OACA,gDACA,cACA,gBACA,CAAK,CACL,SACA,QACA,mvBACA,aACA,CAAK,CACL,SACA,sEACA,gBAAqB,QACrB,CACA,CArDA,YACA,oBACA,qCCCA,eACG,YAGH,oCAAsD,GAAG,MAAM,SAE/D,gCAKA,gBACA,cACA,EACA,4BACA,iBACA,CAAW,EACX,4BACA,iBACA,CAAW,EACX,MAEA,CACA,OACA,KACA,WAAoB,IAAI,IAAI,EAC5B,QACA,qBAEA,CAAO,CACP,YACA,2BACA,cACA,kBACA,CAAO,CACP,MACA,6BACA,cACA,kBACA,CAAO,CAEP,0BACA,EACA,mDACA,QACA,mDACA,cACA,QAEA,aACA,sDACA,QACA,UACA,UACA,kDAEA,cACA,QACA,CAAe,CACf,gBACA,iBACA,CACA,CAAW,CAGX,MACA,4CACA,QACA,UACA,mCACA,cACA,QACA,CAAe,CACf,oBACA,CACA,CAAW,CAEX,OAGA,UACA,qIACA,OACA,KAEA,QACA,UAGA,UACA,8DACA,QAEA,cACA,QACA,CAAe,CACf,oBACA,CACA,CAAW,CACX,QAEA,UACA,qEACA,QAEA,cACA,QAGA,MAEA,8CACA,aACA,CAAe,CAEf,QAEA,4CACA,aACA,CAAe,CAEf,MAEA,6CACA,cACA,cACA,CAAe,CAEf,MAEA,uCACA,cACA,eACA,CAAe,CAEf,UAEA,yCACA,aACA,CAAe,CAEf,SAEA,uCACA,aACA,CAAe,CAEf,MAEA,uCACA,aACA,CAAe,CACf,UACA,UACA,4CAEA,cACA,QACA,CAAe,CACf,2BACA,CACA,CAAW,CAEX,YACA,2BACA,QACA,QACA,4BACA,aACA,CAAe,CACf,KACA,oBACA,aACA,CAAe,CACf,oBACA,CACA,CAAW,CAGX,MAEA,UACA,+CAEA,QACA,MAEA,yCACA,aACA,CAAe,CACf,UACA,+BACA,cACA,QACA,CAAe,CACf,KACA,gBACA,aACA,CAAe,CACf,kBACA,CACA,CAAW,CAGX,OACA,UACA,uFACA,QAEA,QACA,QACA,UACA,kEACA,QAEA,cACA,WACA,CAAe,CACf,UACA,+CACA,cACA,QACA,CAAe,CACf,KACA,gBACA,aACA,CAAe,CACf,kBACA,CACA,CAAW,CAEX,UACA,oBACA,gBACA,QACA,mBACA,CACA,CAAW,CAEX,SACA,8BACA,QACA,SACA,2BACA,aACA,CAAe,CACf,kBACA,CACA,CAAW,CAEX,MACA,2BACA,gBACA,QACA,kBACA,CACA,CACA,CACA,CACA,CAAK,EACL,kBACA,GACA,gBACA,YACA,cACA,oBACA,kBACA,YAEA,CADM,EACN,YACA,qGACA,sBACA,gBACA,kBACA,oBACA,mBACA,gBACA,qBACA,kBACA,cACA,gBACA,sBACA,oBACA,cACG,GACH,CAhSA,YACA,wBACA,qCCCA,eACG,YACH,4DAIA,cACA,kCACA,QACA,CAAO,CACP,CACA,kBACA,SACA,cACA,SACA,CAAO,CACP,OACA,eACA,EACA,6DAEA,KAEA,cACA,UACA,kBACA,CAAO,CACP,KACA,eACA,cAAgC,yCAChC,KAEA,cACA,UACA,gBACA,CAAO,CACP,QACA,QACA,8EACA,SACA,CAAO,CACP,MACA,CAEA,QACA,MAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,SACvF,cACA,CAAS,CACT,CAEA,cAAyB,EAAE,IAAI,EAAE,IAAI,EAAE,cACvC,cACA,EACA,CACA,OACA,2KACA,6BACA,sBAA6B,EAC7B,CACA,CAAG,GACH,CA/DA,YACA,qBACA,qCCCA,kBAuCA,CArCA,CA0EG,EA1EH,kBACA,SACA,wDACA,aACA,CAAO,CACP,2BAEA,WACA,4DACA,UACA,QACA,OACA,yBACA,aACA,CAAW,CACX,gBACA,iBACA,CACA,CAAO,CACP,YACA,kBACA,SACA,CAAO,CACP,6CACA,QACA,mUACA,mCACA,OACA,+EACA,uBACA,gBAAyB,KACzB,mBACA,CAAO,CACP,SACA,wFACA,kBAAyB,QAAQ,EAAE,KACnC,EACA,EACA,IAAU,QAAQ,IAAI,IAAI,IAAI,wCAAwC,SACtE,2CACA,eACA,+BAGA,gCAA0C,UAC1C,IACA,EALA,aASA,qCAA+C,UAC/C,IACA,EAXA,QAeA,cACA,UACA,QACA,eACA,kBACA,QACA,iBAA8B,GAAG,GACjC,YACA,kBACA,0BAEA,CACA,CAAS,CACT,gBACA,CACA,EACA,oCAEG,EADH,qCA9EA,YACA,uBACA,0CCHA,MAAmB,EAAQ,KAAU,EACrC,EAA0B,EAAQ,KAAiB,CADzB,CAK1B,UAJiC,CAIjC,OAIA,EAMA,EATA,cACA,cAEA,uCACA,4CACA,OAUG,EAVH,wBACA,2CAIA,CADA,uBACA,eACA,uDACA,iBAEA,eAEA,CApBA,YACA,oBACA,2CCJA,MAAgC,EAAQ,KAAwB,EAIhE,UAJuC,CAIvC,GACA,cAEA,4CACA,8BACA,QACA,0NACA,mBAA0B,KAC1B,CAAK,EACL,yCACA,0DACA,UACA,uDACA,CACA,CAAK,EACL,0CACA,WACA,+BACA,mBACA,CACA,CAAK,EACL,yCACA,wBACA,wCACA,UACA,cACA,CAAO,CACP,wBACA,wCACA,UACA,eACA,QACA,UACA,mDACA,CACA,CACA,CACA,CAAK,EACL,8BACA,0CAEA,mDACA,EACA,MAHA,kBAMA,CAAK,EACL,yCAGG,EAFH,4DACA,CAAK,CAEL,CAtDA,YACA,oBACA,qCCCA,cACA,oBACA,SACA,cACA,SACA,CAAK,CACL,oBACA,QACA,sEACA,UACA,eACA,QACA,aACA,CACA,CAAK,CACL,QACA,sDACA,SACA,CAAK,CACL,KACA,QACA,qBAA6B,wBAAwB,EAAE,aAAa,EAAE,MACtE,UACA,QACA,kBACA,CACA,CAAK,CACL,UACA,QACA,qFAA6F,EAAE,WAC/F,QACA,cACA,0BACA,aACA,CAAS,CACT,QACA,kBACA,QACA,eACA,CACA,CACA,CACA,CAAK,CACL,6CACA,gBAAqB,GAAG,aACxB,6BACA,mEACA,KACA,iCACA,QACA,eACA,CACA,CACA,EACA,oCAzDA,YACA,uBACA,2CCHA,MAAgC,EAAQ,KAAwB,EAIhE,UAJuC,CAIvC,GACA,cACA,kBACA,YAAiB,YAAY,GAC7B,YACA,aAAoB,YACpB,cACA,eACA,CAAK,CACL,WACA,YAAmB,EAAE,UAAU,GAAG,GAClC,mBACA,CAAK,CACL,QACA,0CACA,QACA,yBACA,CACA,CAAK,CACL,8BACA,kCACA,sEACA,UACA,CACA,QACA,wFACA,aACA,CAAO,CACP,sCACA,CACA,sBAA2B,KAC3B,EACA,0CACA,qBAIA,4DADA,GAAqB,2BAA2B,UAAU,GAAG,GAE7D,CAAG,EACH,yCACA,+DACA,CAAG,CACH,CA7CA,YACA,qBACA,qCCCA,kBAoBA,CAlBA,CAiDG,EAjDH,sDACA,cACA,QACA,+KACA,cACA,UACA,WACA,CAAO,CACP,QACA,uFACA,CAAK,EACL,oCACA,qDACA,iEAAuE,0BACvE,qBAA2B,SAE3B,IAHmI,GAGnI,iCACA,kDACA,oCAA4D,EAC5D,uBACA,8CACA,kDACA,WACA,6BACA,QACA,IACA,aACA,gBACA,CAAW,CACX,mBACA,CACA,CAAO,CACP,oBAEA,QACA,yGACA,UACA,QACA,qEACA,SACA,mBAEA,mBACA,QACA,CACA,CACA,CACA,CAAK,EACL,sCArDA,YACA,2BACA,yCCCA,kBAEA,IACA,gcACA,wBACA,SACA,CAEA,0CACA,aACA,CAAS,CACT,CAGA,mDACA,cACA,SACA,CAAS,CACT,CAEA,uBACA,cACA,SACA,EACA,CACA,UACA,CAEA,QACA,sEACA,QACA,QACA,kCACA,QACA,SACA,CACA,CAAa,CACb,SACA,4BACA,CACA,CACA,CAAS,CACT,CAEA,gDACA,QACA,gCACA,CACA,EACA,CACA,QACA,uCACA,cACA,QACA,YAAuB,MAAM,EAE7B,UACA,eACA,mBACA,CACA,CAAO,CACP,UACA,QAEA,oBAA6B,IAC7B,QACA,aAAwB,GACxB,CACA,CAAO,CACP,KACA,yBACA,QACA,gBACA,CACA,CAAO,CACP,gBAAuB,IAAI,SAC3B,uDACA,EACA,4CAjFA,YACA,2BACA,+CCCA,cACA,0BACA,kCACA,QACA,yDACA,SACA,CAAK,CACL,UACA,QACA,kEACA,cACA,UACA,gBACA,CAAK,CACL,UACA,uEACA,cACA,UACA,QACA,yBACA,aACA,mBACA,CACA,CAAK,CACL,OACA,eACA,gBACA,CAAK,CACL,cACA,QACA,0EACA,aACA,CAAK,CACL,QACA,k2BACA,iCACA,6BACA,mEAEA,SACA,2FACA,sBAA2B,IAC3B,EACA,4DA9CA,YACA,6BACA,kDCCA,cACA,qBACA,gBACA,cACA,gBACA,SACA,CAAK,CACL,iBACA,iBACA,gBACA,SACA,CAAK,CACL,QACA,0CACA,QACA,yBACA,CAAO,CACP,SACA,CAAK,CACL,iBACA,QACA,6TACA,gBACA,CAAK,CACL,mBACA,QACA,0rBACA,gBACA,CAAK,CACL,YACA,aAAoB,YACpB,cACA,eACA,CAAK,CACL,WACA,YAAmB,EAAE,UAAU,GAAG,GAClC,mBACA,CAAK,CACL,SACA,yfACA,QACA,uGACA,kCACA,sEACA,UACA,CACA,QACA,wFACA,aACA,CAAO,CACP,sCACA,CACA,sBAA2B,KAC3B,CACA,CAzDA,YACA,wBACA,qCCCA,cAEA,iBACA,QACA,gCACA,UACA,QACA,uBACA,CACA,CAAK,CACL,UACA,2BAAkC,UAClC,QACA,yBACA,CACA,CAAK,CACL,OACA,4BAAmC,UACnC,QACA,mBACA,cACA,SACA,CAAS,CACT,qBAA8B,GAC9B,MACA,uBACA,QACA,aACA,OACA,sBACA,aACA,CACA,CACA,CACA,CACA,CAAK,CACL,WACA,eACA,eACA,qBAA+B,iBAC/B,OACA,oBAAgC,KAAK,iCAAiC,QACtE,QACA,IACA,kBAA8B,aAC9B,IACA,mBACA,KAEA,QACA,8BACA,qBACA,2BAAsC,QACtC,QACA,2BACA,+BAA4C,MAC5C,CACA,CAAS,CACT,gBACA,gBACA,QACA,sBACA,WACA,CACA,CAAS,CACT,MACA,kBACA,QACA,cACA,wBACA,QACA,iCACA,yBACA,yBACA,CACA,CAAa,CACb,eACA,yBAAuC,IAAI,KAAK,EAAE,oBAAoB,IAAI,GAC1E,CACA,CACA,CACA,CAAK,CACL,MACA,2BAAkC,UAClC,QACA,qBACA,CACA,CACA,EACA,gCA5FA,YACA,oBACA,0CCCA,kBAEA,KACA,kBACA,WACA,EACA,0CACA,QACA,2DACA,sBACA,UACA,QACA,eACA,QACA,mBAAiC,EAAE,UAAU,IAAI,IAAI,+CACrD,cACA,QACA,0BACA,wBACA,gBACA,CAAe,CACf,6BACA,cAA+B,GAAG,GAClC,mBACA,CAAe,CACf,4BACA,CACA,CACA,CACA,CAAO,CACP,cACA,2DACA,aACA,CAAO,CACP,QACA,sRACA,OACA,4GACA,SACA,8FACA,QACA,mIACA,CAAK,EACL,SAwCG,EAxCH,YACA,uCACA,MACA,yBAAkC,IAAI,IAEtC,YACA,CACA,CAAK,EACL,yCACA,WACA,QACA,+GACA,cACA,mBACA,QACA,qBACA,aACA,CACA,CAAO,CACP,SACA,yBAAkC,IAClC,QACA,mBACA,kBACA,CACA,CACA,CAAK,EAcF,EAbH,uCACA,oBAEA,8BACA,QACA,gBACA,SACA,gBACA,oCAEA,CACA,CACA,CAAK,CAEL,CAvFA,YACA,kBACA,qCCCA,cACA,6CAEA,cACA,CAEA,0DACA,QACA,gBACA,CACA,CAAO,CACP,CAEA,mCACA,cACA,QACA,gBACA,CACA,CAAO,CACP,CAEA,QACA,0EACA,cACA,QACA,gBACA,CACA,CAAO,CACP,CAEA,QACA,oFACA,cACA,QACA,gBACA,CACA,EACA,CACA,QACA,4kBACA,0BACA,OACA,2EACA,SACA,oEACA,gBAAqB,IAAI,QACzB,yBACA,CAAG,EACH,0CACA,cACA,yBACA,UACA,cACA,CAAK,CACL,mBACA,sBACA,UACA,QACA,eACA,sCACA,QACA,WACA,qBACA,mBACA,CAAa,CACb,sBAEA,CAAS,CACT,gBACA,CACA,CACA,CAAG,EACH,2CACA,OACA,QACA,0DAAkE,IAAI,oBAAoB,QAC1F,UACA,QACA,gBACA,oCACA,cACA,uBACA,yBACS,CACT,wBACA,wBACA,CACA,CACA,CAAG,CACH,CA5FA,YACA,qBACA,2CCHA,MAAqB,EAAQ,IAAY,EAIzC,WAJ4B,CAI5B,EACA,cACA,8CACA,SACA,CACA,yBACA,QACA,eACA,CACA,CAAO,CACP,CACA,wBACA,cACA,SACA,EACA,CACA,QACA,sCACA,cACA,SACA,CAAK,CACL,QACA,86CACA,gBAAqB,KAAK,EAC1B,CAAG,CACH,CA5BA,YACA,sBACA,qCCCA,kBAGA,CADA,CAqEG,EArEH,iDAAkE,EAkBlE,CAjBA,GACA,UACA,QACA,iGAA2G,GAAG,IAAI,IAClH,cACA,SACA,CADmB,CAEnB,QACA,0BACA,SACA,CAAO,CACP,iBACA,6BACA,SACA,iEACA,kBAAyB,QACzB,GACA,iBACA,gBACA,UACA,oCACA,aACA,CAAO,CACP,gBACA,kBACA,2BAEA,+CACA,UACA,sCACA,cACA,UACA,QACA,2BACA,CACA,CAAO,CACP,oBACA,CACA,kCACA,cACA,UACA,eACA,CAAS,CACT,CACA,wBACA,cACA,UACA,eACA,EACA,CACA,WACA,QACA,uCAAiD,aAAa,qCAC9D,cACA,QACA,SACA,8BAA2C,aAAa,UACxD,QACA,gBAA+B,EAC/B,CACA,CAAW,CACX,MACA,CACA,CAAO,CACP,oBACK,EAGF,EAFH,wDACA,qBAzEA,YACA,yBACA,qCCCA,cACA,qBACA,SACA,kCACA,SACA,CAAK,CACL,QACA,8CACA,SACA,CAAK,CACL,mBAEA,oBACA,gBACA,CAAK,CAEL,oBACA,uBAEA,QACA,gmDAEA,sEAEA,OACA,4EACA,eAAoB,iBACpB,kBAAuB,OACvB,CACA,CAhCA,YACA,wBACA,qCCCA,cACA,kBACA,eAEA,gBACA,6CACA,cACA,CAAK,CAEL,mBACA,uBACA,gBACA,CAAK,CACL,6CACA,gCAEA,QACA,mzBACA,8BACA,qBAEA,sEACA,SACA,+FACA,gBAAqB,IAAI,OACzB,CACA,CA7BA,YACA,qBACA,qCCCA,cACA,iBACA,kDACA,cACA,uBACA,QACA,4xJACA,QACA,40RACA,2CACA,SACA,4EACA,gBAAqB,OAAO,GAC5B,CACA,CAjBA,YACA,oBACA,qCCCA,cACA,6BACA,SACA,uDACA,QACA,eACA,CACA,CAAK,CACL,WACA,QACA,oGACA,iBACA,SACA,CAAK,CACL,QACA,0BAAiC,EAAE,mBACnC,SACA,CAAK,CACL,MACA,QACA,qKACA,cACA,CAAK,CACL,OACA,+EACA,sCACA,QACA,6gCACA,mDACA,gBAAqB,QACrB,EACA,2CACA,4CAnCA,YACA,4BACA,qCCCA,cACA,wBACA,sCACA,QACA,QACA,yEACA,SACA,CAAK,CACL,iBACA,OACA,eACA,gBACA,CAAK,CAGL,QACA,+JACA,OACA,iFACA,iCACA,sBAA2B,QAG3B,SACA,oEACA,CACA,CA7BA,YACA,2BACA,qCCCA,cACA,kBACA,SACA,IAAU,SAAS,IACnB,CACA,WAAoB,IACpB,SACA,EACA,CACA,QACA,iCACA,SACA,CAAK,CACL,SACA,CACA,8BACA,QACA,YACA,CACA,CAAO,CACP,CACA,QACA,ibACA,QACA,gBACA,CACA,CAAO,CACP,2QACA,CACA,2CACA,OACA,kNACA,kBACA,CACA,CArCA,YACA,qBACA,qCCCA,eACG,YACH,qDACA,EACA,MACA,gDACA,IACA,uDACA,IACA,yCACA,EACA,uCACA,IACA,oBACA,KAwFA,aAvFA,wBACA,SACA,kCACA,SACA,CAAO,CACP,QACA,kBACA,SACA,CAAO,CACP,WACA,4CACA,aACA,CAAO,CACP,cACA,CACA,QACA,iEACA,cACA,QACA,CAAS,CACT,CACA,eACA,mEACA,GAEA,cACA,QACA,CAAS,CACT,CAEA,eACA,qDAEA,cACA,QACA,CAAS,CACT,CAEA,4CACA,cACA,QACA,CAAS,CACT,CACA,eACA,sFACA,UAEA,aACA,CAAS,CACT,CAEA,kCACA,aACA,CAAS,CACT,oDACA,CACA,0DACA,aACA,CAAS,CACT,CAEA,eACA,EACA,MACA,UAAwB,EAAE,cAC1B,EACA,SAAuB,WACvB,KAEA,QACA,EACA,CACA,QACA,8OACA,SACA,oOACA,+IACA,CACA,6BACA,QACA,QACA,2FACA,aACA,CAAO,CACP,aAAoB,EAAE,WACtB,kBAAyB,MAAM,EAC/B,EACA,uBACA,kBACA,gCAGA,0CACA,CAAG,GACH,CAhHA,YACA,uBACA,qCCCA,cACA,8CACA,iBACA,oCACA,cACA,eACA,CAAK,CACL,SACA,8BACA,QACA,sBACA,cACA,CACA,CAAK,CACL,UAEA,YAAmB,IAAI,QACvB,QACA,eACA,2BACA,cACA,wBACS,CACT,MACA,sCACA,aACA,CAAS,CACT,QACA,qCACA,aACA,CAAS,CACT,uBACA,CACA,CAAK,CACL,IACA,YAAmB,GAAG,GACtB,mBACA,CAAK,CACL,KACA,mCAAyC,EAAE,4BAC3C,sBACA,CACA,UACA,aAEA,IAAU,EAAE,MAAM,EAAE,EACpB,GAAS,EAAE,KAAK,EAAE,EAClB,CACA,0BAAgC,IAAI,GAKpC,aACA,6CACA,cACA,QACA,aACA,cACA,mBACA,CAAS,CACT,mCAEA,CAAK,CACL,mBAAwB,OAAO,UAAU,cACzC,CAAG,EACH,uCAEA,QACA,sDACA,QACA,KACA,oEACA,qCAEA,CACA,CACA,CAAG,CACH,CAjFA,YACA,qBACA,qCCCA,cACA,qBAEA,kEACA,QACA,gCACA,SACA,CAAK,CACL,QACA,4HACA,SACA,qBACA,kBACA,CAAK,CACL,OACA,mBACA,aACA,CAAK,CACL,mBACA,gBACA,gBACA,CAAK,CACL,6BACA,OACA,iGACA,SACA,OAAa,sIACb,gBAAqB,IAAI,OACzB,EACA,4CACA,mCACA,mCAlCA,YACA,wBACA,4DCCA,cAEA,kBAGA,SACA,CAGA,QACA,iHACA,SACA,CAAO,CACP,CACA,2BACA,cACA,SACA,EACA,CAGA,wBACA,yBACA,UACA,cACA,CAAK,CAEL,sBAEA,UACA,kBACA,UACA,eACA,CAAK,CAEL,WAIA,6BACA,eACA,CAAK,CACL,cACA,CAGA,0BACA,aACA,CAAO,CAEP,qBACA,CAEA,8BACA,MACA,mBACA,eACA,CAAK,CACL,QACA,gHACA,6BACA,yDAEA,8BAAmC,KACnC,kDAAuD,IAAI,EAC3D,sBAA2B,GAAG,EAC9B,EACA,oCAEA,QACA,qFACA,cACA,UACA,QACA,eAEA,QACA,mBAA6B,EAAE,6CAC/B,cACA,QACA,YACA,+BACA,cACA,wBACW,CACX,6BACA,mBACA,mBACA,CACA,CACA,CAAO,CACP,gBACA,CACA,CACA,CAjGA,YACA,qBACA,qCCCA,cAEA,+CACA,UACA,oDACA,QACA,aACA,YACA,CACA,CACA,CAAO,CACP,UACA,uCACA,QACA,aACA,cACA,CAAW,CACX,UACA,sBACA,CACA,CACA,CAAO,CACP,mBACA,QACA,wMACA,QACA,UACA,2CACA,QACA,aACA,eACA,CAAe,CACf,UACA,sBACA,CACA,CACA,CAAW,CACX,aACA,wBACA,CACA,CAAS,CACT,gBACA,CAAO,CACP,kBACA,QACA,QAAkB,iMAAiM,OACnN,QACA,aACA,cAA2B,MAC3B,CACA,CAAS,CACT,gBACA,CAAO,CACP,oBACA,uDACA,QACA,aACA,mCAAgD,MAChD,QACA,KACA,aACA,CACA,CACA,CACA,CAAS,CACT,gBACA,CAAO,CACP,wBACA,QACA,SAAmB,4CAA4C,cAC/D,QACA,aACA,mCAAgD,MAChD,QACA,KACA,aACA,CACA,CACA,CAAW,CACX,WACA,mBACA,QACA,aACA,WACA,CACA,CAAa,CACb,eACA,CACA,CAAS,CACT,gBACA,CAAO,CACP,6BACA,WAAoB,WAAW,EAC/B,QACA,aACA,aAA0B,EAC1B,CACA,CAAS,CACT,gBACA,CAAO,CACP,yBACA,WAAoB,YACpB,QACA,aACA,aAA0B,GAC1B,CACA,CAAS,CACT,gBACA,CACA,CAAK,EACL,yBACA,SACA,cACA,CACA,8DACO,CACP,qCAEA,wCAzHA,YACA,sBACA,gDCCA,eACG,YAOH,gBACA,gBACA,sCACA,eACA,CAAS,CAET,CACA,6BACA,GACA,mBACA,UACA,gBACA,QACA,KACA,CACA,EASA,cACA,cACA,UAVA,CACA,gBACA,UACA,gBACA,QACA,KACA,CACA,EAIA,CAAG,GACH,CAvCA,YACA,uBACA,qCCCA,cACA,kBACA,SACA,8BACA,SACA,CAAK,CACL,QACA,yBACA,SACA,CAAK,CACL,0EACA,WACA,8CACA,gBACA,CAAK,CACL,QACA,ktBACA,SACA,6FACA,iBAAsB,KACtB,CACA,CAxBA,YACA,qBACA,qCCCA,eACG,YACH,gDACA,kBACA,yBACA,UACA,eACA,CAAO,CACP,QACA,yCACA,SACA,CAAO,CACP,WACA,oBACA,cACA,CAAO,CACP,qBACA,MACA,QACA,4IACA,cACA,gBACA,CAAO,CACP,oBACA,QACA,sHACA,cACA,gBACA,CAAO,CACP,SACA,QACA,ocACA,aACA,CAAO,CACP,uCACA,kBACA,yCACA,cACA,WACA,CAAO,CACP,oBACA,2CACA,cACA,iBACA,CAAO,CACP,SACA,QACA,shBACA,aACA,CAAO,CACP,uCACA,UACA,qCACA,CACA,sBACA,aACA,EACA,CACA,qBAA4B,EAAE,IAC9B,CAAK,EACL,+BACA,kEAAwE,KAAK,MAAM,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,yCACpH,oDACA,wBAA8B,KAAK,MAAM,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,8BAC1E,+DACA,SACA,+DAEA,WAAkB,KAAK,MAAM,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,EAC9D,0BACA,uBACA,EAAM,IACN,oBACA,mBACA,EAEA,2BACA,UAEA,yBACA,EACA,cAEA,QADA,KACA,IAAsB,WAAmB,KACzC,WACA,KAsDA,GArDA,qBAEA,gBACA,cACA,0BAGA,uCAGA,YACA,wBACA,4BAGA,QAGA,8CAIA,QACA,mCACA,cACA,CAAiB,EAIjB,eACA,wBACA,EAAgC,IAAhC,WACA,GADkD,CAClD,IACA,6BACA,EAA0C,IAA1C,gBACA,QACA,4BACA,EAA0C,IAA1C,eAKA,YACA,8BACA,wBACA,EAAgC,IAAhC,UAGA,6BACY,oBACZ,OAVA,8BAaA,yBAEA,YACA,+BACA,CAGA,WAEA,cACA,0BACA,8BAEA,aACA,iBAGA,KACA,0BACA,8BAEA,cACA,gBACA,KAEA,gBACA,OAEA,iBACA,aACA,EACA,KACA,EAGA,CAEA,uCACA,YAEA,CACA,EACA,yCACA,uBAGA,WACA,CAAK,CACL,CAAG,GACH,CA/LA,YACA,uBACA,qCCCA,eACG,YAGH,oBAAsC,KACtC,EACA,cAAoB,iDAAiD,oBACrE,EACA,MACA,SACA,WACA,SACA,MACA,SACA,WACA,SACA,MAGA,EACA,6CAAmD,EAAE,kHACrD,WACA,WACA,mCAA8C,8CAC9C,SAGA,uDAOA,gBAUA,OATA,+BASA,OAPA,SAAiB,4DAA4D,2BAC7E,+BACA,QACA,CAAW,EACX,gCACA,QACA,CAAW,EACX,EACA,CACA,kBACA,QACA,eACA,4GACA,YACA,WACA,QACA,IAGA,cACA,cACA,CAAO,CACP,cACA,KACA,eACA,cAAwB,2DACxB,+BACA,QACA,CAAa,EACb,8BACA,uBACA,CAAa,GAEb,cACA,UACA,cACA,CAAO,CACP,WACA,wBACA,cACA,iBACA,CAAO,CACP,UACA,UACA,IAAc,EAAE,oCAAoC,EAAE,IAAI,EAAE,wCAAwC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,cAClJ,QAEA,cACA,cACA,CAAO,CACP,SACA,mCACA,cACA,iBACA,CAAO,CACP,MACA,+BACA,cACA,iBACA,CAAO,CACP,QACA,aACA,cACA,SACA,CAAO,CACP,QACA,UACA,iFACA,OACA,KAEA,aACA,CAAO,CACP,MACA,YACA,wBAA+B,eAC/B,EACA,iCACG,GACH,CAvHA,YACA,qBACA,0CCCA,cACA,kBAGA,kCACA,QACA,oCACA,SACA,CAAK,CACL,SACA,gBAAuB,4BACvB,aACA,CAAK,CACL,WACA,kCACA,aACA,CAAK,CACL,6BACA,cACA,iBAAsB,GACtB,CACA,CAxBA,YACA,qBACA,qCCCA,eACG,YACH,cACA,kBACA,QACA,CACA,CACA,MACA,iXACA,sCACA,6CAWA,EACA,sBAVA,yHACA,WACA,MAQA,SALA,0EACA,QACA,MAGA,IAiBA,kBACA,SACA,CACA,qBACA,mBACA,CAAS,CACT,IAAY,EAAE,IACd,CACA,QACA,CAEA,4CACA,cACA,SACA,CAAS,CACT,CAEA,6BAAwC,EAAE,0BAC1C,cACA,SACA,EACA,CACA,MAEA,QACA,yCAAmD,EAAE,oBAAoB,EAAE,IAAI,WAAW,IAAI,EAAE,KAChG,cACA,SACA,CA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","sources":["webpack://_N_E/./node_modules/@emotion/cache/node_modules/@emotion/sheet/dist/emotion-sheet.esm.js","webpack://_N_E/./node_modules/stylis/src/Utility.js","webpack://_N_E/./node_modules/stylis/src/Tokenizer.js","webpack://_N_E/./node_modules/stylis/src/Enum.js","webpack://_N_E/./node_modules/stylis/src/Serializer.js","webpack://_N_E/./node_modules/stylis/src/Middleware.js","webpack://_N_E/./node_modules/stylis/src/Parser.js","webpack://_N_E/./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","webpack://_N_E/./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","webpack://_N_E/./node_modules/@emotion/react/dist/emotion-element-f0de968e.browser.esm.js","webpack://_N_E/./node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack://_N_E/./node_modules/@emotion/serialize/node_modules/@emotion/hash/dist/emotion-hash.esm.js","webpack://_N_E/./node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","webpack://_N_E/./node_modules/@emotion/serialize/dist/emotion-serialize.esm.js","webpack://_N_E/./node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","webpack://_N_E/./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack://_N_E/./node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.js","webpack://_N_E/./node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","webpack://_N_E/./node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","webpack://_N_E/./node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js","webpack://_N_E/./node_modules/@mui/styled-engine/index.js","webpack://_N_E/./node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.js","webpack://_N_E/./node_modules/@mui/system/esm/RtlProvider/index.js","webpack://_N_E/./node_modules/@mui/system/esm/breakpoints/breakpoints.js","webpack://_N_E/./node_modules/@mui/system/esm/colorManipulator/colorManipulator.js","webpack://_N_E/./node_modules/@mui/system/esm/createStyled/createStyled.js","webpack://_N_E/./node_modules/@mui/system/esm/createTheme/createSpacing.js","webpack://_N_E/./node_modules/@mui/system/esm/createBreakpoints/createBreakpoints.js","webpack://_N_E/./node_modules/@mui/system/esm/createTheme/shape.js","webpack://_N_E/./node_modules/@mui/system/esm/createTheme/applyStyles.js","webpack://_N_E/./node_modules/@mui/system/esm/createTheme/createTheme.js","webpack://_N_E/./node_modules/@mui/system/esm/cssContainerQueries/cssContainerQueries.js","webpack://_N_E/./node_modules/@mui/system/esm/merge/merge.js","webpack://_N_E/./node_modules/@mui/system/esm/preprocessStyles.js","webpack://_N_E/./node_modules/@mui/system/esm/memoize/memoize.js","webpack://_N_E/./node_modules/@mui/system/esm/spacing/spacing.js","webpack://_N_E/./node_modules/@mui/system/esm/style/style.js","webpack://_N_E/./node_modules/@mui/system/esm/compose/compose.js","webpack://_N_E/./node_modules/@mui/system/esm/borders/borders.js","webpack://_N_E/./node_modules/@mui/system/esm/cssGrid/cssGrid.js","webpack://_N_E/./node_modules/@mui/system/esm/palette/palette.js","webpack://_N_E/./node_modules/@mui/system/esm/sizing/sizing.js","webpack://_N_E/./node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js","webpack://_N_E/./node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.js","webpack://_N_E/./node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js","webpack://_N_E/./node_modules/@mui/system/esm/useTheme/useTheme.js","webpack://_N_E/./node_modules/@mui/system/esm/useThemeProps/getThemeProps.js","webpack://_N_E/./node_modules/@mui/system/esm/useThemeProps/useThemeProps.js","webpack://_N_E/./node_modules/@mui/system/esm/useThemeWithoutDefault/useThemeWithoutDefault.js","webpack://_N_E/./node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.js","webpack://_N_E/./node_modules/@mui/utils/esm/isHostComponent/isHostComponent.js","webpack://_N_E/./node_modules/@mui/utils/esm/appendOwnerState/appendOwnerState.js","webpack://_N_E/./node_modules/@mui/utils/esm/capitalize/capitalize.js","webpack://_N_E/./node_modules/@mui/utils/esm/clamp/clamp.js","webpack://_N_E/./node_modules/@mui/utils/esm/composeClasses/composeClasses.js","webpack://_N_E/./node_modules/@mui/utils/esm/createChainedFunction/createChainedFunction.js","webpack://_N_E/./node_modules/@mui/utils/esm/debounce/debounce.js","webpack://_N_E/./node_modules/@mui/utils/esm/deepmerge/deepmerge.js","webpack://_N_E/./node_modules/@mui/utils/esm/extractEventHandlers/extractEventHandlers.js","webpack://_N_E/./node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.js","webpack://_N_E/./node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js","webpack://_N_E/./node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js","webpack://_N_E/./node_modules/@mui/utils/esm/getReactElementRef/getReactElementRef.js","webpack://_N_E/./node_modules/@mui/utils/esm/getScrollbarSize/getScrollbarSize.js","webpack://_N_E/./node_modules/@mui/utils/esm/isFocusVisible/isFocusVisible.js","webpack://_N_E/./node_modules/@mui/utils/esm/omitEventHandlers/omitEventHandlers.js","webpack://_N_E/./node_modules/@mui/utils/esm/mergeSlotProps/mergeSlotProps.js","webpack://_N_E/./node_modules/@mui/utils/esm/ownerDocument/ownerDocument.js","webpack://_N_E/./node_modules/@mui/utils/esm/ownerWindow/ownerWindow.js","webpack://_N_E/./node_modules/@mui/utils/esm/resolveComponentProps/resolveComponentProps.js","webpack://_N_E/./node_modules/@mui/utils/esm/resolveProps/resolveProps.js","webpack://_N_E/./node_modules/@mui/utils/esm/setRef/setRef.js","webpack://_N_E/./node_modules/@mui/utils/esm/useControlled/useControlled.js","webpack://_N_E/./node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.js","webpack://_N_E/./node_modules/@mui/utils/esm/useEventCallback/useEventCallback.js","webpack://_N_E/./node_modules/@mui/utils/esm/useForkRef/useForkRef.js","webpack://_N_E/./node_modules/@mui/utils/esm/useId/useId.js","webpack://_N_E/./node_modules/@mui/utils/esm/useLazyRef/useLazyRef.js","webpack://_N_E/./node_modules/@mui/utils/esm/useSlotProps/useSlotProps.js","webpack://_N_E/./node_modules/@mui/utils/esm/useOnMount/useOnMount.js","webpack://_N_E/./node_modules/@mui/utils/esm/useTimeout/useTimeout.js","webpack://_N_E/./node_modules/@mui/utils/node_modules/react-is/cjs/react-is.production.js","webpack://_N_E/./node_modules/base64-js/index.js","webpack://_N_E/./node_modules/buffer/index.js","webpack://_N_E/./node_modules/call-bind-apply-helpers/actualApply.js","webpack://_N_E/./node_modules/call-bind-apply-helpers/functionApply.js","webpack://_N_E/./node_modules/call-bind-apply-helpers/functionCall.js","webpack://_N_E/./node_modules/call-bind-apply-helpers/index.js","webpack://_N_E/./node_modules/call-bind-apply-helpers/reflectApply.js","webpack://_N_E/./node_modules/call-bound/index.js","webpack://_N_E/./node_modules/comma-separated-tokens/index.js","webpack://_N_E/./node_modules/dayjs/dayjs.min.js","webpack://_N_E/./node_modules/dayjs/plugin/advancedFormat.js","webpack://_N_E/./node_modules/dayjs/plugin/customParseFormat.js","webpack://_N_E/./node_modules/dayjs/plugin/isBetween.js","webpack://_N_E/./node_modules/dayjs/plugin/localizedFormat.js","webpack://_N_E/./node_modules/dayjs/plugin/weekOfYear.js","webpack://_N_E/./node_modules/dunder-proto/get.js","webpack://_N_E/./node_modules/es-define-property/index.js","webpack://_N_E/./node_modules/es-errors/eval.js","webpack://_N_E/./node_modules/es-errors/index.js","webpack://_N_E/./node_modules/es-errors/range.js","webpack://_N_E/./node_modules/es-errors/ref.js","webpack://_N_E/./node_modules/es-errors/syntax.js","webpack://_N_E/./node_modules/es-errors/type.js","webpack://_N_E/./node_modules/es-errors/uri.js","webpack://_N_E/./node_modules/es-object-atoms/index.js","webpack://_N_E/./node_modules/function-bind/implementation.js","webpack://_N_E/./node_modules/function-bind/index.js","webpack://_N_E/./node_modules/get-intrinsic/index.js","webpack://_N_E/./node_modules/get-proto/Object.getPrototypeOf.js","webpack://_N_E/./node_modules/get-proto/Reflect.getPrototypeOf.js","webpack://_N_E/./node_modules/get-proto/index.js","webpack://_N_E/./node_modules/gopd/gOPD.js","webpack://_N_E/./node_modules/gopd/index.js","webpack://_N_E/./node_modules/has-symbols/index.js","webpack://_N_E/./node_modules/has-symbols/shams.js","webpack://_N_E/./node_modules/hasown/index.js","webpack://_N_E/./node_modules/hast-util-parse-selector/index.js","webpack://_N_E/./node_modules/hastscript/factory.js","webpack://_N_E/./node_modules/hastscript/html.js","webpack://_N_E/./node_modules/hastscript/index.js","webpack://_N_E/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://_N_E/./node_modules/ieee754/index.js","webpack://_N_E/./node_modules/is-alphabetical/index.js","webpack://_N_E/./node_modules/is-alphanumerical/index.js","webpack://_N_E/./node_modules/is-decimal/index.js","webpack://_N_E/./node_modules/is-hexadecimal/index.js","webpack://_N_E/./node_modules/math-intrinsics/abs.js","webpack://_N_E/./node_modules/math-intrinsics/floor.js","webpack://_N_E/./node_modules/math-intrinsics/isNaN.js","webpack://_N_E/./node_modules/math-intrinsics/max.js","webpack://_N_E/./node_modules/math-intrinsics/min.js","webpack://_N_E/./node_modules/math-intrinsics/pow.js","webpack://_N_E/./node_modules/math-intrinsics/round.js","webpack://_N_E/./node_modules/math-intrinsics/sign.js","webpack://_N_E/./node_modules/mixpanel-browser/dist/mixpanel.module.js","webpack://_N_E/?adc8","webpack://_N_E/./public/favicon.ico","webpack://_N_E/./src/components/lib/assets/chart/select-all-checkbox-unchecked.svg","webpack://_N_E/./src/components/lib/assets/chart/select-all-checkbox.svg","webpack://_N_E/./src/components/lib/assets/logo/logo.svg","webpack://_N_E/./src/components/lib/assets/logo/monitoring.svg","webpack://_N_E/./src/components/lib/assets/severity/critical.svg","webpack://_N_E/./src/components/lib/assets/severity/high.svg","webpack://_N_E/./src/components/lib/assets/severity/low.svg","webpack://_N_E/./src/components/lib/assets/severity/medium.svg","webpack://_N_E/./src/components/lib/assets/severity/purple.svg","webpack://_N_E/./node_modules/@mui/icons-material/esm/ArrowDropDown.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/ArrowDropUp.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/ClearRounded.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/Close.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/CloudUploadOutlined.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/ContentCopyOutlined.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/ExpandMore.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/HelpOutline.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/InsertDriveFileOutlined.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/KeyboardArrowDownOutlined.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/OpenInNewOutlined.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/OpenInNewRounded.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/Search.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/SettingsOutlined.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/ThumbDown.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/ThumbDownOutlined.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/ThumbDownRounded.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/ThumbUp.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/ThumbUpOutlined.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/ThumbUpRounded.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/TuneOutlined.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/UpdateRounded.js","webpack://_N_E/./node_modules/@mui/material/Accordion/accordionClasses.js","webpack://_N_E/./node_modules/@mui/material/Accordion/Accordion.js","webpack://_N_E/./node_modules/@mui/material/Accordion/AccordionContext.js","webpack://_N_E/./node_modules/@mui/material/AccordionSummary/accordionSummaryClasses.js","webpack://_N_E/./node_modules/@mui/material/AccordionSummary/AccordionSummary.js","webpack://_N_E/./node_modules/@mui/material/Alert/alertClasses.js","webpack://_N_E/./node_modules/@mui/material/internal/svg-icons/SuccessOutlined.js","webpack://_N_E/./node_modules/@mui/material/internal/svg-icons/ReportProblemOutlined.js","webpack://_N_E/./node_modules/@mui/material/internal/svg-icons/ErrorOutline.js","webpack://_N_E/./node_modules/@mui/material/internal/svg-icons/InfoOutlined.js","webpack://_N_E/./node_modules/@mui/material/Alert/Alert.js","webpack://_N_E/./node_modules/@mui/material/Backdrop/backdropClasses.js","webpack://_N_E/./node_modules/@mui/material/Backdrop/Backdrop.js","webpack://_N_E/./node_modules/@mui/system/esm/createBox/createBox.js","webpack://_N_E/./node_modules/@mui/material/Box/boxClasses.js","webpack://_N_E/./node_modules/@mui/material/Box/Box.js","webpack://_N_E/./node_modules/@mui/material/Button/buttonClasses.js","webpack://_N_E/./node_modules/@mui/material/ButtonGroup/ButtonGroupContext.js","webpack://_N_E/./node_modules/@mui/material/ButtonGroup/ButtonGroupButtonContext.js","webpack://_N_E/./node_modules/@mui/material/Button/Button.js","webpack://_N_E/./node_modules/@mui/material/useLazyRipple/useLazyRipple.js","webpack://_N_E/./node_modules/@mui/material/ButtonBase/Ripple.js","webpack://_N_E/./node_modules/@mui/material/ButtonBase/touchRippleClasses.js","webpack://_N_E/./node_modules/@mui/material/ButtonBase/TouchRipple.js","webpack://_N_E/./node_modules/@mui/material/ButtonBase/buttonBaseClasses.js","webpack://_N_E/./node_modules/@mui/material/ButtonBase/ButtonBase.js","webpack://_N_E/./node_modules/@mui/material/internal/svg-icons/Cancel.js","webpack://_N_E/./node_modules/@mui/material/Chip/chipClasses.js","webpack://_N_E/./node_modules/@mui/material/Chip/Chip.js","webpack://_N_E/./node_modules/@mui/material/CircularProgress/circularProgressClasses.js","webpack://_N_E/./node_modules/@mui/material/CircularProgress/CircularProgress.js","webpack://_N_E/./node_modules/@mui/material/Collapse/collapseClasses.js","webpack://_N_E/./node_modules/@mui/material/Collapse/Collapse.js","webpack://_N_E/./node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.js","webpack://_N_E/./node_modules/@mui/material/Dialog/dialogClasses.js","webpack://_N_E/./node_modules/@mui/material/Dialog/DialogContext.js","webpack://_N_E/./node_modules/@mui/material/Dialog/Dialog.js","webpack://_N_E/./node_modules/@mui/material/Divider/Divider.js","webpack://_N_E/./node_modules/@mui/material/Divider/dividerClasses.js","webpack://_N_E/./node_modules/@mui/material/Fade/Fade.js","webpack://_N_E/./node_modules/@mui/material/FilledInput/FilledInput.js","webpack://_N_E/./node_modules/@mui/material/FilledInput/filledInputClasses.js","webpack://_N_E/./node_modules/@mui/material/FormControl/formControlClasses.js","webpack://_N_E/./node_modules/@mui/material/FormControl/FormControl.js","webpack://_N_E/./node_modules/@mui/material/FormControl/FormControlContext.js","webpack://_N_E/./node_modules/@mui/material/FormControl/formControlState.js","webpack://_N_E/./node_modules/@mui/material/FormControl/useFormControl.js","webpack://_N_E/./node_modules/@mui/material/FormControlLabel/formControlLabelClasses.js","webpack://_N_E/./node_modules/@mui/material/FormControlLabel/FormControlLabel.js","webpack://_N_E/./node_modules/@mui/material/FormGroup/formGroupClasses.js","webpack://_N_E/./node_modules/@mui/material/FormGroup/FormGroup.js","webpack://_N_E/./node_modules/@mui/material/Grow/Grow.js","webpack://_N_E/./node_modules/@mui/material/IconButton/iconButtonClasses.js","webpack://_N_E/./node_modules/@mui/material/IconButton/IconButton.js","webpack://_N_E/./node_modules/@mui/material/Input/Input.js","webpack://_N_E/./node_modules/@mui/material/Input/inputClasses.js","webpack://_N_E/./node_modules/@mui/material/TextareaAutosize/TextareaAutosize.js","webpack://_N_E/./node_modules/@mui/material/InputBase/InputBase.js","webpack://_N_E/./node_modules/@mui/material/InputBase/inputBaseClasses.js","webpack://_N_E/./node_modules/@mui/material/InputBase/utils.js","webpack://_N_E/./node_modules/@mui/material/Link/linkClasses.js","webpack://_N_E/./node_modules/@mui/material/Link/getTextDecoration.js","webpack://_N_E/./node_modules/@mui/material/Link/Link.js","webpack://_N_E/./node_modules/@mui/material/List/listClasses.js","webpack://_N_E/./node_modules/@mui/material/List/List.js","webpack://_N_E/./node_modules/@mui/material/List/ListContext.js","webpack://_N_E/./node_modules/@mui/material/ListItem/listItemClasses.js","webpack://_N_E/./node_modules/@mui/material/ListItemSecondaryAction/listItemSecondaryActionClasses.js","webpack://_N_E/./node_modules/@mui/material/ListItemSecondaryAction/ListItemSecondaryAction.js","webpack://_N_E/./node_modules/@mui/material/ListItem/ListItem.js","webpack://_N_E/./node_modules/@mui/material/ListItemButton/ListItemButton.js","webpack://_N_E/./node_modules/@mui/material/ListItemButton/listItemButtonClasses.js","webpack://_N_E/./node_modules/@mui/material/utils/getScrollbarSize.js","webpack://_N_E/./node_modules/@mui/material/MenuList/MenuList.js","webpack://_N_E/./node_modules/@mui/material/Menu/menuClasses.js","webpack://_N_E/./node_modules/@mui/material/Menu/Menu.js","webpack://_N_E/./node_modules/@mui/material/ListItemIcon/listItemIconClasses.js","webpack://_N_E/./node_modules/@mui/material/ListItemText/listItemTextClasses.js","webpack://_N_E/./node_modules/@mui/material/MenuItem/menuItemClasses.js","webpack://_N_E/./node_modules/@mui/material/MenuItem/MenuItem.js","webpack://_N_E/./node_modules/@mui/material/Unstable_TrapFocus/FocusTrap.js","webpack://_N_E/./node_modules/@mui/material/Modal/ModalManager.js","webpack://_N_E/./node_modules/@mui/material/Modal/useModal.js","webpack://_N_E/./node_modules/@mui/material/Modal/modalClasses.js","webpack://_N_E/./node_modules/@mui/material/Modal/Modal.js","webpack://_N_E/./node_modules/@mui/material/OutlinedInput/NotchedOutline.js","webpack://_N_E/./node_modules/@mui/material/OutlinedInput/OutlinedInput.js","webpack://_N_E/./node_modules/@mui/material/OutlinedInput/outlinedInputClasses.js","webpack://_N_E/./node_modules/@mui/material/Paper/paperClasses.js","webpack://_N_E/./node_modules/@mui/material/Paper/Paper.js","webpack://_N_E/./node_modules/@mui/material/Popover/popoverClasses.js","webpack://_N_E/./node_modules/@mui/material/Popover/Popover.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/math.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/userAgent.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack://_N_E/./node_modules/@popperjs/core/lib/enums.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/debounce.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack://_N_E/./node_modules/@popperjs/core/lib/createPopper.js","webpack://_N_E/./node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/getVariation.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack://_N_E/./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack://_N_E/./node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack://_N_E/./node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack://_N_E/./node_modules/@popperjs/core/lib/modifiers/offset.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack://_N_E/./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack://_N_E/./node_modules/@popperjs/core/lib/modifiers/flip.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack://_N_E/./node_modules/@popperjs/core/lib/utils/within.js","webpack://_N_E/./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack://_N_E/./node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack://_N_E/./node_modules/@popperjs/core/lib/modifiers/hide.js","webpack://_N_E/./node_modules/@popperjs/core/lib/popper.js","webpack://_N_E/./node_modules/@mui/material/Popper/popperClasses.js","webpack://_N_E/./node_modules/@mui/material/Popper/BasePopper.js","webpack://_N_E/./node_modules/@mui/material/Popper/Popper.js","webpack://_N_E/./node_modules/@mui/material/Portal/Portal.js","webpack://_N_E/./node_modules/@mui/material/internal/svg-icons/RadioButtonUnchecked.js","webpack://_N_E/./node_modules/@mui/material/internal/svg-icons/RadioButtonChecked.js","webpack://_N_E/./node_modules/@mui/material/Radio/RadioButtonIcon.js","webpack://_N_E/./node_modules/@mui/material/utils/createChainedFunction.js","webpack://_N_E/./node_modules/@mui/material/RadioGroup/useRadioGroup.js","webpack://_N_E/./node_modules/@mui/material/Radio/radioClasses.js","webpack://_N_E/./node_modules/@mui/material/Radio/Radio.js","webpack://_N_E/./node_modules/@mui/material/RadioGroup/radioGroupClasses.js","webpack://_N_E/./node_modules/@mui/material/RadioGroup/RadioGroup.js","webpack://_N_E/./node_modules/@mui/material/RadioGroup/RadioGroupContext.js","webpack://_N_E/./node_modules/@mui/material/NativeSelect/nativeSelectClasses.js","webpack://_N_E/./node_modules/@mui/material/NativeSelect/NativeSelectInput.js","webpack://_N_E/./node_modules/@mui/material/Select/selectClasses.js","webpack://_N_E/./node_modules/@mui/material/Select/SelectInput.js","webpack://_N_E/./node_modules/@mui/material/Select/Select.js","webpack://_N_E/./node_modules/@mui/material/Snackbar/useSnackbar.js","webpack://_N_E/./node_modules/@mui/material/ClickAwayListener/ClickAwayListener.js","webpack://_N_E/./node_modules/@mui/material/SnackbarContent/snackbarContentClasses.js","webpack://_N_E/./node_modules/@mui/material/SnackbarContent/SnackbarContent.js","webpack://_N_E/./node_modules/@mui/material/Snackbar/snackbarClasses.js","webpack://_N_E/./node_modules/@mui/material/Snackbar/Snackbar.js","webpack://_N_E/./node_modules/@mui/system/esm/styled/styled.js","webpack://_N_E/./node_modules/@mui/system/esm/Stack/createStack.js","webpack://_N_E/./node_modules/@mui/material/Stack/Stack.js","webpack://_N_E/./node_modules/@mui/material/SvgIcon/svgIconClasses.js","webpack://_N_E/./node_modules/@mui/material/SvgIcon/SvgIcon.js","webpack://_N_E/./node_modules/@mui/material/Typography/typographyClasses.js","webpack://_N_E/./node_modules/@mui/material/Typography/Typography.js","webpack://_N_E/./node_modules/@mui/material/internal/switchBaseClasses.js","webpack://_N_E/./node_modules/@mui/material/internal/SwitchBase.js","webpack://_N_E/./node_modules/@mui/material/internal/svg-icons/ArrowDropDown.js","webpack://_N_E/./node_modules/@mui/material/internal/svg-icons/Close.js","webpack://_N_E/./node_modules/@mui/material/colors/common.js","webpack://_N_E/./node_modules/@mui/material/colors/grey.js","webpack://_N_E/./node_modules/@mui/material/colors/purple.js","webpack://_N_E/./node_modules/@mui/material/colors/red.js","webpack://_N_E/./node_modules/@mui/material/colors/orange.js","webpack://_N_E/./node_modules/@mui/material/colors/blue.js","webpack://_N_E/./node_modules/@mui/material/colors/lightBlue.js","webpack://_N_E/./node_modules/@mui/material/colors/green.js","webpack://_N_E/./node_modules/@mui/material/styles/createPalette.js","webpack://_N_E/./node_modules/@mui/system/esm/cssVars/createGetCssVar.js","webpack://_N_E/./node_modules/@mui/system/esm/cssVars/prepareTypographyVars.js","webpack://_N_E/./node_modules/@mui/system/esm/cssVars/cssVarsParser.js","webpack://_N_E/./node_modules/@mui/system/esm/cssVars/prepareCssVars.js","webpack://_N_E/./node_modules/@mui/system/esm/cssVars/getColorSchemeSelector.js","webpack://_N_E/./node_modules/@mui/material/styles/createMixins.js","webpack://_N_E/./node_modules/@mui/material/styles/shadows.js","webpack://_N_E/./node_modules/@mui/material/styles/zIndex.js","webpack://_N_E/./node_modules/@mui/material/styles/stringifyTheme.js","webpack://_N_E/./node_modules/@mui/material/styles/createThemeNoVars.js","webpack://_N_E/./node_modules/@mui/material/styles/createColorScheme.js","webpack://_N_E/./node_modules/@mui/material/styles/shouldSkipGeneratingVar.js","webpack://_N_E/./node_modules/@mui/material/styles/excludeVariablesFromRoot.js","webpack://_N_E/./node_modules/@mui/material/styles/createGetSelector.js","webpack://_N_E/./node_modules/@mui/material/styles/createThemeWithVars.js","webpack://_N_E/./node_modules/@mui/material/styles/createTheme.js","webpack://_N_E/./node_modules/@mui/material/styles/createTransitions.js","webpack://_N_E/./node_modules/@mui/material/styles/createTypography.js","webpack://_N_E/./node_modules/@mui/material/styles/defaultTheme.js","webpack://_N_E/./node_modules/@mui/material/styles/getOverlayAlpha.js","webpack://_N_E/./node_modules/@mui/material/styles/identifier.js","webpack://_N_E/./node_modules/@mui/material/styles/rootShouldForwardProp.js","webpack://_N_E/./node_modules/@mui/material/styles/slotShouldForwardProp.js","webpack://_N_E/./node_modules/@mui/material/styles/styled.js","webpack://_N_E/./node_modules/@mui/material/styles/useTheme.js","webpack://_N_E/./node_modules/@mui/material/transitions/utils.js","webpack://_N_E/./node_modules/@mui/system/esm/useMediaQuery/useMediaQuery.js","webpack://_N_E/./node_modules/@mui/material/useMediaQuery/index.js","webpack://_N_E/./node_modules/@mui/material/utils/capitalize.js","webpack://_N_E/./node_modules/@mui/material/utils/createSimplePaletteValueFilter.js","webpack://_N_E/./node_modules/@mui/material/utils/createSvgIcon.js","webpack://_N_E/./node_modules/@mui/material/utils/debounce.js","webpack://_N_E/./node_modules/@mui/material/utils/isHostComponent.js","webpack://_N_E/./node_modules/@mui/utils/esm/isMuiElement/isMuiElement.js","webpack://_N_E/./node_modules/@mui/material/utils/isMuiElement.js","webpack://_N_E/./node_modules/@mui/system/esm/memoTheme.js","webpack://_N_E/./node_modules/@mui/material/utils/memoTheme.js","webpack://_N_E/./node_modules/@mui/material/utils/ownerDocument.js","webpack://_N_E/./node_modules/@mui/material/utils/ownerWindow.js","webpack://_N_E/./node_modules/@mui/material/utils/useControlled.js","webpack://_N_E/./node_modules/@mui/material/utils/useEnhancedEffect.js","webpack://_N_E/./node_modules/@mui/material/utils/useEventCallback.js","webpack://_N_E/./node_modules/@mui/material/utils/useForkRef.js","webpack://_N_E/./node_modules/@mui/material/utils/useId.js","webpack://_N_E/./node_modules/@mui/material/utils/useSlot.js","webpack://_N_E/./node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.js","webpack://_N_E/./node_modules/@mui/material/GlobalStyles/GlobalStyles.js","webpack://_N_E/./node_modules/@mui/material/zero-styled/index.js","webpack://_N_E/../../src/client/image-component.tsx","webpack://_N_E/../../src/client/use-merged-ref.ts","webpack://_N_E/../../src/shared/lib/get-img-props.ts","webpack://_N_E/../../src/shared/lib/image-blur-svg.ts","webpack://_N_E/../../src/shared/lib/image-external.tsx","webpack://_N_E/../../src/shared/lib/image-loader.ts","webpack://_N_E/./node_modules/@mui/icons-material/esm/FolderSpecialOutlined.js","webpack://_N_E/./src/components/Overview/OverviewNoAppList/OverviewNoAppList.styles.tsx","webpack://_N_E/./src/components/Overview/OverviewNoAppList/overviewNoAppList.constants.ts","webpack://_N_E/./src/components/Overview/OverviewNoAppList/OverviewNoAppList.tsx","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/esm/create-element.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/esm/checkForListedLanguage.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/esm/highlight.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/esm/styles/prism/prism.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/esm/languages/prism/supported-languages.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/esm/prism.js","webpack://_N_E/./src/components/lib/components/Container/CodeSnippet/CodeSnippet.tsx","webpack://_N_E/./node_modules/@mui/material/CssBaseline/CssBaseline.js","webpack://_N_E/./node_modules/@mui/private-theming/useTheme/ThemeContext.js","webpack://_N_E/./node_modules/@mui/private-theming/useTheme/useTheme.js","webpack://_N_E/./node_modules/@mui/private-theming/ThemeProvider/nested.js","webpack://_N_E/./node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.js","webpack://_N_E/./node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.js","webpack://_N_E/./node_modules/@mui/material/styles/ThemeProviderNoVars.js","webpack://_N_E/./node_modules/@mui/system/esm/InitColorSchemeScript/InitColorSchemeScript.js","webpack://_N_E/./node_modules/@mui/system/esm/cssVars/useCurrentColorScheme.js","webpack://_N_E/./node_modules/@mui/system/esm/cssVars/createCssVarsProvider.js","webpack://_N_E/./node_modules/@mui/material/InitColorSchemeScript/InitColorSchemeScript.js","webpack://_N_E/./node_modules/@mui/material/styles/ThemeProviderWithVars.js","webpack://_N_E/./node_modules/@mui/material/styles/ThemeProvider.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/AdapterDayjs/AdapterDayjs.js","webpack://_N_E/./node_modules/@mui/material/styles/useThemeProps.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/LocalizationProvider/LocalizationProvider.js","webpack://_N_E/./src/components/lib/theme/ThemeProvider.tsx","webpack://_N_E/./src/components/lib/components/Container/Container.styles.tsx","webpack://_N_E/./src/components/lib/components/Container/Container.tsx","webpack://_N_E/./node_modules/@mui/material/styles/cssUtils.js","webpack://_N_E/./node_modules/@mui/material/Skeleton/skeletonClasses.js","webpack://_N_E/./node_modules/@mui/material/Skeleton/Skeleton.js","webpack://_N_E/./src/components/lib/components/Skeleton/Skeleton.styles.tsx","webpack://_N_E/./src/components/lib/components/Skeleton/Skeleton.tsx","webpack://_N_E/./src/components/lib/components/Button/Button.styles.tsx","webpack://_N_E/./src/components/lib/components/Button/Button.tsx","webpack://_N_E/./node_modules/@mui/utils/esm/visuallyHidden/visuallyHidden.js","webpack://_N_E/./node_modules/@mui/material/utils/areArraysEqual.js","webpack://_N_E/./node_modules/@mui/material/Slider/useSlider.js","webpack://_N_E/./node_modules/@mui/material/utils/shouldSpreadAdditionalProps.js","webpack://_N_E/./node_modules/@mui/material/Slider/sliderClasses.js","webpack://_N_E/./node_modules/@mui/material/Slider/SliderValueLabel.js","webpack://_N_E/./node_modules/@mui/material/Slider/Slider.js","webpack://_N_E/./src/components/lib/components/Button/Slider/Slider.tsx","webpack://_N_E/./src/components/lib/components/Button/Select/Select.styles.tsx","webpack://_N_E/./src/components/lib/components/Button/Select/Select.tsx","webpack://_N_E/./src/components/lib/components/Text/Text.tsx","webpack://_N_E/./src/components/lib/components/Input/Input.styles.tsx","webpack://_N_E/./src/components/lib/components/Input/Input.tsx","webpack://_N_E/./node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","webpack://_N_E/./node_modules/@mui/material/internal/svg-icons/CheckBox.js","webpack://_N_E/./node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","webpack://_N_E/./node_modules/@mui/material/Checkbox/checkboxClasses.js","webpack://_N_E/./node_modules/@mui/material/Checkbox/Checkbox.js","webpack://_N_E/./src/components/lib/components/Button/Checkbox/Checkbox.styles.tsx","webpack://_N_E/./src/components/lib/components/Button/Checkbox/Checkbox.tsx","webpack://_N_E/./node_modules/@mui/material/Switch/switchClasses.js","webpack://_N_E/./node_modules/@mui/material/Switch/Switch.js","webpack://_N_E/./src/components/lib/components/Button/Toggle/Toggle.styles.tsx","webpack://_N_E/./src/components/lib/components/Button/Toggle/Toggle.tsx","webpack://_N_E/./src/components/lib/components/Button/Radio/Radio.tsx","webpack://_N_E/./src/components/lib/components/Image/Image.tsx","webpack://_N_E/./node_modules/@mui/material/DialogContent/dialogContentClasses.js","webpack://_N_E/./node_modules/@mui/material/DialogTitle/dialogTitleClasses.js","webpack://_N_E/./node_modules/@mui/material/DialogContent/DialogContent.js","webpack://_N_E/./src/components/lib/components/Dialog/Dialog.styles.tsx","webpack://_N_E/./src/components/lib/components/Dialog/DialogBase.tsx","webpack://_N_E/./src/components/lib/components/Dialog/Dialog.tsx","webpack://_N_E/./src/components/lib/components/Dialog/DeletionDialog/DeletionDialog.tsx","webpack://_N_E/./src/components/lib/components/Severity/Severity.tsx","webpack://_N_E/./src/components/lib/components/Logo/Logo.tsx","webpack://_N_E/./src/components/lib/components/Loader/Loader.styles.tsx","webpack://_N_E/./src/components/lib/components/Loader/Loader.tsx","webpack://_N_E/./node_modules/@mui/x-date-pickers/locales/utils/getPickersLocalization.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/locales/enUS.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/hooks/useUtils.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/utils/views.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/utils/date-utils.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/components/pickersToolbarClasses.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/components/PickersToolbar.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/hooks/usePickersTranslations.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/DatePicker/datePickerToolbarClasses.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/DatePicker/DatePickerToolbar.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/DatePicker/shared.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/utils/time-utils.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/utils/getDefaultReferenceDate.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/hooks/useField/useField.utils.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/utils/valueManagers.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/validation/validateDate.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/DateCalendar/useIsDateDisabled.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/DateCalendar/useCalendarState.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/DateCalendar/pickersFadeTransitionGroupClasses.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/DateCalendar/PickersFadeTransitionGroup.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/constants/dimensions.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/PickersDay/pickersDayClasses.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/PickersDay/PickersDay.js","webpack://_N_E/./node_modules/dom-helpers/esm/hasClass.js","webpack://_N_E/./node_modules/dom-helpers/esm/addClass.js","webpack://_N_E/./node_modules/dom-helpers/esm/removeClass.js","webpack://_N_E/./node_modules/react-transition-group/esm/CSSTransition.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/DateCalendar/pickersSlideTransitionClasses.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/DateCalendar/PickersSlideTransition.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/DateCalendar/dayCalendarClasses.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/DateCalendar/DayCalendar.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/MonthCalendar/pickersMonthClasses.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/MonthCalendar/PickersMonth.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/MonthCalendar/monthCalendarClasses.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/hooks/useValueWithTimezone.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/MonthCalendar/MonthCalendar.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/YearCalendar/pickersYearClasses.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/YearCalendar/PickersYear.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/YearCalendar/yearCalendarClasses.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/YearCalendar/YearCalendar.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/hooks/useViews.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/icons/index.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/components/PickersArrowSwitcher/pickersArrowSwitcherClasses.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/hooks/date-helpers-hooks.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/PickersCalendarHeader/pickersCalendarHeaderClasses.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/PickersCalendarHeader/PickersCalendarHeader.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/components/PickerViewRoot/PickerViewRoot.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/hooks/useDefaultReduceAnimations.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/DateCalendar/dateCalendarClasses.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/DateCalendar/DateCalendar.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/dateViewRenderers/dateViewRenderers.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/hooks/useOpenState.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/validation/useValidation.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/hooks/usePicker/usePickerValue.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/hooks/usePicker/usePickerViews.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/utils/utils.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/hooks/useIsLandscape.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/hooks/usePicker/usePickerLayoutProps.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/hooks/usePicker/usePickerOwnerState.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/hooks/usePicker/usePicker.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/PickersLayout/pickersLayoutClasses.js","webpack://_N_E/./node_modules/@mui/material/DialogActions/dialogActionsClasses.js","webpack://_N_E/./node_modules/@mui/material/DialogActions/DialogActions.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/PickersActionBar/PickersActionBar.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/PickersShortcuts/PickersShortcuts.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/PickersLayout/usePickerLayout.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/PickersLayout/PickersLayout.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/internals/hooks/useStaticPicker/useStaticPicker.js","webpack://_N_E/./node_modules/@mui/x-date-pickers/StaticDatePicker/StaticDatePicker.js","webpack://_N_E/./src/components/lib/components/DateTimePicker/DateTimePicker.styles.tsx","webpack://_N_E/./src/components/lib/components/DateTimePicker/DateTimePicker.tsx","webpack://_N_E/./src/components/lib/components/Notification/Notification.tsx","webpack://_N_E/./src/components/lib/components/Dropdown/Dropdown.styles.tsx","webpack://_N_E/./src/components/lib/components/Dropdown/Dropdown.helpers.tsx","webpack://_N_E/./src/components/lib/components/Dropdown/DropdownItem.tsx","webpack://_N_E/./src/components/lib/components/Dropdown/Dropdown.tsx","webpack://_N_E/./src/components/lib/components/Dropdown/OutlinedDropdown/OutlinedDropdown.tsx","webpack://_N_E/./node_modules/@mui/icons-material/esm/Warning.js","webpack://_N_E/./node_modules/@mui/material/Tooltip/tooltipClasses.js","webpack://_N_E/./node_modules/@mui/material/Tooltip/Tooltip.js","webpack://_N_E/./src/components/lib/components/Container/ToolTip/ToolTip.styles.tsx","webpack://_N_E/./src/components/lib/components/Container/ToolTip/ToolTip.tsx","webpack://_N_E/./src/components/lib/components/NavLink/NavLink.styles.tsx","webpack://_N_E/./src/components/lib/components/NavLink/NavLink.tsx","webpack://_N_E/./src/components/lib/components/Text/HighlightedText/HighlightedText.styles.tsx","webpack://_N_E/./src/components/lib/components/Text/HighlightedText/HighlightedText.tsx","webpack://_N_E/./node_modules/@kurkle/color/dist/color.esm.js","webpack://_N_E/./node_modules/chart.js/dist/chunks/helpers.segment.js","webpack://_N_E/./node_modules/chart.js/dist/chart.js","webpack://_N_E/./node_modules/react-chartjs-2/dist/index.js","webpack://_N_E/./src/components/lib/components/Charts/DoughnutChart/DoughnutChart.styles.tsx","webpack://_N_E/./src/components/lib/components/Charts/DoughnutChart/DoughnutChart.helpers.ts","webpack://_N_E/./src/components/lib/components/Charts/DoughnutChart/DoughnutChart.tsx","webpack://_N_E/./src/components/lib/components/Container/PercentageContainer/PercentageContainer.styles.tsx","webpack://_N_E/./src/components/lib/components/Container/PercentageContainer/PercentageContainer.tsx","webpack://_N_E/./src/components/lib/components/Button/Thumbs/Thumbs.styles.tsx","webpack://_N_E/./src/components/lib/components/Button/Thumbs/Thumbs.tsx","webpack://_N_E/./node_modules/@mui/material/AccordionDetails/accordionDetailsClasses.js","webpack://_N_E/./node_modules/@mui/material/AccordionDetails/AccordionDetails.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/ExpandMoreOutlined.js","webpack://_N_E/./src/components/lib/components/Container/Accordion/Accordion.styles.tsx","webpack://_N_E/./src/components/lib/components/Container/Accordion/Accordion.tsx","webpack://_N_E/./node_modules/chartjs-plugin-annotation/dist/chartjs-plugin-annotation.esm.js","webpack://_N_E/./src/components/lib/components/Charts/DistributionChart/DistributionChart.styles.tsx","webpack://_N_E/./src/components/lib/components/Charts/DistributionChart/DistributionChart.helpers.ts","webpack://_N_E/./src/components/lib/components/Charts/DistributionChart/DistributionChart.tsx","webpack://_N_E/./src/components/lib/components/Dropdown/CheckboxDropdown/CheckboxDropdown.styles.tsx","webpack://_N_E/./src/components/lib/components/Dropdown/CheckboxDropdown/CheckboxDropdown.tsx","webpack://_N_E/./src/components/lib/components/DifferenceBar/DifferenceBar.styles.tsx","webpack://_N_E/./src/components/lib/components/DifferenceBar/DifferenceBar.tsx","webpack://_N_E/./src/components/lib/components/Charts/ComboChart/ComboChartTooltip/ComboChartTooltip.styles.tsx","webpack://_N_E/./src/components/lib/components/Charts/ComboChart/ComboChartTooltip/ComboChartTooltip.tsx","webpack://_N_E/./src/components/lib/components/Charts/ComboChart/comboChart.helpers.tsx","webpack://_N_E/./src/components/lib/components/Charts/ComboChart/ComboChart.styles.tsx","webpack://_N_E/./src/components/lib/components/Charts/ComboChart/ComboChart.tsx","webpack://_N_E/./src/components/lib/index.tsx","webpack://_N_E/./src/components/lib/theme/breakpoints.ts","webpack://_N_E/./src/components/lib/theme/index.tsx","webpack://_N_E/./src/components/lib/theme/palette.ts","webpack://_N_E/./src/components/lib/theme/typography.ts","webpack://_N_E/./src/components/shared/NoDataAvailable/NoDataAvailable.styles.tsx","webpack://_N_E/./src/components/shared/NoDataAvailable/noDataAvailable.constants.ts","webpack://_N_E/./src/components/shared/NoDataAvailable/NoDataAvailable.tsx","webpack://_N_E/./src/components/shared/SamplesGeneration/SamplesGeneration.styes.tsx","webpack://_N_E/./node_modules/@mui/icons-material/esm/HomeOutlined.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/ListAltRounded.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/QuestionAnswerOutlined.js","webpack://_N_E/./src/helpers/routes/index.tsx","webpack://_N_E/./src/helpers/services/api.ts","webpack://_N_E/./src/helpers/services/auth.ts","webpack://_N_E/./node_modules/axios/lib/helpers/bind.js","webpack://_N_E/./node_modules/axios/lib/utils.js","webpack://_N_E/./node_modules/axios/lib/core/AxiosError.js","webpack://_N_E/./node_modules/axios/lib/helpers/null.js","webpack://_N_E/./node_modules/axios/lib/helpers/toFormData.js","webpack://_N_E/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://_N_E/./node_modules/axios/lib/helpers/buildURL.js","webpack://_N_E/./node_modules/axios/lib/core/InterceptorManager.js","webpack://_N_E/./node_modules/axios/lib/defaults/transitional.js","webpack://_N_E/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://_N_E/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://_N_E/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://_N_E/./node_modules/axios/lib/platform/browser/index.js","webpack://_N_E/./node_modules/axios/lib/platform/common/utils.js","webpack://_N_E/./node_modules/axios/lib/platform/index.js","webpack://_N_E/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://_N_E/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://_N_E/./node_modules/axios/lib/defaults/index.js","webpack://_N_E/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://_N_E/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://_N_E/./node_modules/axios/lib/core/transformData.js","webpack://_N_E/./node_modules/axios/lib/cancel/isCancel.js","webpack://_N_E/./node_modules/axios/lib/cancel/CanceledError.js","webpack://_N_E/./node_modules/axios/lib/core/settle.js","webpack://_N_E/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://_N_E/./node_modules/axios/lib/helpers/speedometer.js","webpack://_N_E/./node_modules/axios/lib/helpers/throttle.js","webpack://_N_E/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://_N_E/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://_N_E/./node_modules/axios/lib/helpers/cookies.js","webpack://_N_E/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://_N_E/./node_modules/axios/lib/helpers/combineURLs.js","webpack://_N_E/./node_modules/axios/lib/core/buildFullPath.js","webpack://_N_E/./node_modules/axios/lib/core/mergeConfig.js","webpack://_N_E/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://_N_E/./node_modules/axios/lib/adapters/xhr.js","webpack://_N_E/./node_modules/axios/lib/helpers/composeSignals.js","webpack://_N_E/./node_modules/axios/lib/helpers/trackStream.js","webpack://_N_E/./node_modules/axios/lib/adapters/fetch.js","webpack://_N_E/./node_modules/axios/lib/adapters/adapters.js","webpack://_N_E/./node_modules/axios/lib/core/dispatchRequest.js","webpack://_N_E/./node_modules/axios/lib/env/data.js","webpack://_N_E/./node_modules/axios/lib/helpers/validator.js","webpack://_N_E/./node_modules/axios/lib/core/Axios.js","webpack://_N_E/./node_modules/axios/lib/cancel/CancelToken.js","webpack://_N_E/./node_modules/axios/lib/helpers/spread.js","webpack://_N_E/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://_N_E/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://_N_E/./node_modules/axios/lib/axios.js","webpack://_N_E/./src/helpers/services/customAxios.ts","webpack://_N_E/./src/helpers/services/mixPanel.ts","webpack://_N_E/./src/helpers/services/resHandlers.ts","webpack://_N_E/./src/helpers/utils/downloadFile.ts","webpack://_N_E/./src/helpers/utils/isHadron.ts","webpack://_N_E/./src/helpers/utils/localStorage.ts","webpack://_N_E/./src/helpers/utils/sessionStorage.ts","webpack://_N_E/./node_modules/react-idle-timer/dist/index.esm.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/AddRounded.js","webpack://_N_E/./src/components/shared/SamplesGeneration/samplesGeneration.constants.ts","webpack://_N_E/./src/components/shared/SamplesGeneration/SamplesGenerationDialog/ViewSamples/ViewSamples.tsx","webpack://_N_E/./node_modules/@mui/icons-material/esm/LinkOutlined.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/LinkRounded.js","webpack://_N_E/./src/components/shared/SamplesGeneration/SamplesGenerationDialog/GenerateSamples/DataContextItem/DataContextItem.tsx","webpack://_N_E/./src/helpers/utils/validateLink.ts","webpack://_N_E/./src/components/shared/SamplesGeneration/SamplesGenerationDialog/GenerateSamples/GenerateSamples.styles.tsx","webpack://_N_E/./src/components/shared/SamplesGeneration/SamplesGenerationDialog/GenerateSamples/GenerateSamples.tsx","webpack://_N_E/./src/components/shared/SamplesGeneration/SamplesGenerationDialog/SamplesGeneration.tsx","webpack://_N_E/./src/components/shared/SamplesGeneration/SamplesGenerationPentestDialog/PromptsList/PromptsList.styes.tsx","webpack://_N_E/./src/components/shared/SamplesGeneration/SamplesGenerationPentestDialog/PromptsList/PromptsList.tsx","webpack://_N_E/./src/components/shared/SamplesGeneration/SamplesGenerationPentestDialog/CategoriesList/CategoriesList.styes.tsx","webpack://_N_E/./src/components/shared/SamplesGeneration/SamplesGenerationPentestDialog/CategoriesList/CategoriesList.tsx","webpack://_N_E/./src/components/shared/SamplesGeneration/SamplesGenerationPentestDialog/SamplesGenerationPentestDialog.tsx","webpack://_N_E/./src/components/shared/SamplesGeneration/SamplesGeneration.tsx","webpack://_N_E/./public/assets/logo.svg","webpack://_N_E/./public/assets/darkLogo.svg","webpack://_N_E/./node_modules/@mui/icons-material/esm/AppsRounded.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/LightModeOutlined.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/DarkModeOutlined.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/DescriptionOutlined.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/KeyOutlined.js","webpack://_N_E/./node_modules/@mui/material/internal/svg-icons/Person.js","webpack://_N_E/./node_modules/@mui/material/Avatar/avatarClasses.js","webpack://_N_E/./node_modules/@mui/material/Avatar/Avatar.js","webpack://_N_E/./src/components/Layout/Sidebar/UserInfo/UserInfo.styles.tsx","webpack://_N_E/./src/components/Layout/Sidebar/UserInfo/UserInfoMenu/UserInfoMenu.tsx","webpack://_N_E/./src/components/Layout/Sidebar/UserInfo/UserinfoSection.tsx","webpack://_N_E/./src/components/Layout/Sidebar/Sidebar.styles.tsx","webpack://_N_E/./node_modules/@mui/icons-material/esm/KeyboardArrowLeftRounded.js","webpack://_N_E/./node_modules/@mui/icons-material/esm/KeyboardArrowRightRounded.js","webpack://_N_E/./src/components/Layout/Layout.styles.tsx","webpack://_N_E/./src/components/Layout/Sidebar/Sidebar.tsx","webpack://_N_E/./src/components/Layout/CompleteDetailsDialog/CompleteDetailsDialog.tsx","webpack://_N_E/./node_modules/@hotjar/browser/dist/index.esm.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/display.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/catchUserErrors.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/monitor.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/utils/polyfills.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/boot/init.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/getGlobalObject.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/utils/byteUtils.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/getZoneJsOriginalValue.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/timer.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/utils/functionUtils.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/serialisation/jsonStringify.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/utils/objectUtils.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/context/customerDataTracker.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/utils/typeUtils.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/mergeInto.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/serialisation/sanitize.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/observable.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/context/contextManager.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/trackingConsent.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/browser/addEventListener.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/context/storeContextManager.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/encoder.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/stackTrace/computeStackTrace.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/stackTrace/handlingStack.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/error/error.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/experimentalFeatures.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/configuration/intakeSites.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/utils/numberUtils.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/utils/timeUtils.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/sendToExtension.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/connectivity/connectivity.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/utils/arrayUtils.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/boundedBuffer.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/telemetry/rawTelemetryEvent.types.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/telemetry/telemetry.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/user/user.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/boot/displayAlreadyInitializedError.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/commonContext.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/utils/stringUtils.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/vital/vitalCollection.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/transport/eventBridge.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/instrumentMethod.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/utils/urlPolyfill.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/browser/fetchObservable.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/browser/cookie.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/synthetics/syntheticsWorkerValues.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/utils/browserDetection.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/session/storeStrategies/sessionStoreStrategy.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/session/sessionConstants.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/session/sessionStateValidation.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/session/sessionState.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/session/oldCookiesMigration.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/session/storeStrategies/sessionInCookie.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/session/storeStrategies/sessionInLocalStorage.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/session/sessionStoreOperations.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/session/sessionStore.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/configuration/endpointBuilder.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/configuration/tags.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/configuration/transportConfiguration.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/configuration/configuration.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/matchOption.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/browser/crypto.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/tracing/identifier.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/tracing/sampler.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/tracing/tracer.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/configuration/configuration.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/configuration/remoteConfiguration.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/plugins.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/boot/preStartRum.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/boot/rumPublicApi.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/browser/pageExitObservable.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/browser/domMutationObservable.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/browser/windowOpenObservable.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/error/error.types.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/eventRateLimiter/createEventRateLimiter.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/syntheticsContext.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/limitModification.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/assembly.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/internalContext.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/abstractLifeCycle.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/lifeCycle.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/valueHistory.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/viewHistory.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/browser/xhrObservable.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/utils/responseUtils.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/readBytesFromStream.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/resource/resourceUtils.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/requestCollection.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/discardNegativeDuration.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/trackEventCounts.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/browser/firstInputPolyfill.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/browser/performanceObservable.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/waitPageActivityEnd.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/browser/polyfills.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/browser/htmlDomUtils.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/privacy.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/action/getActionNameFromElement.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/getSelectorFromElement.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/action/clickChain.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/action/listenActionEvents.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/action/computeFrustration.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/action/interactionSelectorCache.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/action/trackClickActions.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/action/actionCollection.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/error/trackRuntimeError.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/console/consoleObservable.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/error/trackConsoleError.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/report/reportObservable.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/error/trackReportError.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/error/errorCollection.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/longTask/longTaskCollection.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/requestIdleCallback.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/tools/taskQueue.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/resource/matchRequestResourceEntry.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/browser/runOnReadyState.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/tracing/getDocumentTraceId.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/browser/performanceUtils.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/resource/retrieveInitialDocumentResourceTiming.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/resource/resourceCollection.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/view/trackViewEventCounts.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackFirstContentfulPaint.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackFirstInput.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackNavigationTimings.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackLargestContentfulPaint.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackFirstHidden.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackInitialViewMetrics.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackCumulativeLayoutShift.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/interactionCountPolyfill.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackInteractionToNextPaint.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackLoadingTime.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/browser/scroll.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/browser/viewportObservable.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackScrollMetrics.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackCommonViewMetrics.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/view/trackViews.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewCollection.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/domain/session/sessionManager.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/rumSessionManager.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/transport/batch.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/transport/sendWithRetryStrategy.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/transport/httpRequest.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/transport/flushController.js","webpack://_N_E/./node_modules/@datadog/browser-core/esm/transport/startBatchWithReplica.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/transport/startRumBatch.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/transport/startRumEventBridge.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/urlContexts.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/browser/locationChangeObservable.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/featureFlagContext.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/startCustomerDataTelemetry.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/pageStateHistory.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/displayContext.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/browser/cookieObservable.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/ciVisibilityContext.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/longAnimationFrame/longAnimationFrameCollection.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/boot/startRum.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/domain/getSessionReplayUrl.js","webpack://_N_E/./node_modules/@datadog/browser-rum-core/esm/index.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/replayStats.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/serialization/serializationUtils.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/types/sessionReplayConstants.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/types/index.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/serialization/serializeStyleSheets.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/serialization/serializeAttribute.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/serialization/serializeAttributes.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/serialization/serializeNode.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/serialization/serializeDocument.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/serialization/index.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/eventsUtils.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/viewports.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/assembly.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackMove.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackMouseInteraction.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackScroll.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackViewportResize.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackMediaInteraction.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackStyleSheet.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackFocus.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackFrustration.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackViewEnd.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackInput.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/mutationBatch.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackMutation.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/trackers/index.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/elementsScrollPositions.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/shadowRootsController.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/startFullSnapshots.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/recordIds.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/record.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/record/index.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/segmentCollection/buildReplayPayload.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/segmentCollection/segment.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/segmentCollection/segmentCollection.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/segmentCollection/index.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/startRecordBridge.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/boot/startRecording.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/deflate/deflateEncoder.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/deflate/deflateWorker.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/deflate/index.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/boot/isBrowserSupported.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/domain/getSessionReplayLink.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/boot/postStartStrategy.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/boot/preStartStrategy.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/boot/recorderApi.js","webpack://_N_E/./node_modules/@datadog/browser-rum/esm/entries/main.js","webpack://_N_E/./src/helpers/services/initServices.ts","webpack://_N_E/./src/helpers/utils/getTimeByEnv.ts","webpack://_N_E/./src/components/Layout/Layout.tsx","webpack://_N_E/./src/components/shared/GlobalPopUp/GlobalPopUp.styles.tsx","webpack://_N_E/./src/components/shared/GlobalPopUp/GlobalPopUp.tsx","webpack://_N_E/./src/pages/_app.tsx","webpack://_N_E/./src/components/lib/assets/css/fonts.css","webpack://_N_E/./node_modules/next/head.js","webpack://_N_E/./node_modules/next/image.js","webpack://_N_E/./node_modules/next/router.js","webpack://_N_E/./node_modules/object-inspect/index.js","webpack://_N_E/./node_modules/parse-entities/decode-entity.browser.js","webpack://_N_E/./node_modules/parse-entities/index.js","webpack://_N_E/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://_N_E/./node_modules/prop-types/index.js","webpack://_N_E/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://_N_E/./node_modules/property-information/find.js","webpack://_N_E/./node_modules/property-information/html.js","webpack://_N_E/./node_modules/property-information/lib/aria.js","webpack://_N_E/./node_modules/property-information/lib/html.js","webpack://_N_E/./node_modules/property-information/lib/util/case-insensitive-transform.js","webpack://_N_E/./node_modules/property-information/lib/util/case-sensitive-transform.js","webpack://_N_E/./node_modules/property-information/lib/util/create.js","webpack://_N_E/./node_modules/property-information/lib/util/defined-info.js","webpack://_N_E/./node_modules/property-information/lib/util/info.js","webpack://_N_E/./node_modules/property-information/lib/util/merge.js","webpack://_N_E/./node_modules/property-information/lib/util/schema.js","webpack://_N_E/./node_modules/property-information/lib/util/types.js","webpack://_N_E/./node_modules/property-information/lib/xlink.js","webpack://_N_E/./node_modules/property-information/lib/xml.js","webpack://_N_E/./node_modules/property-information/lib/xmlns.js","webpack://_N_E/./node_modules/property-information/normalize.js","webpack://_N_E/./node_modules/qs/lib/formats.js","webpack://_N_E/./node_modules/qs/lib/index.js","webpack://_N_E/./node_modules/qs/lib/parse.js","webpack://_N_E/./node_modules/qs/lib/stringify.js","webpack://_N_E/./node_modules/qs/lib/utils.js","webpack://_N_E/./node_modules/react-is/cjs/react-is.production.min.js","webpack://_N_E/./node_modules/react-is/index.js","webpack://_N_E/./node_modules/react-query/es/core/focusManager.js","webpack://_N_E/./node_modules/react-query/es/core/index.js","webpack://_N_E/./node_modules/react-query/es/core/logger.js","webpack://_N_E/./node_modules/react-query/es/core/notifyManager.js","webpack://_N_E/./node_modules/react-query/es/core/onlineManager.js","webpack://_N_E/./node_modules/react-query/es/core/query.js","webpack://_N_E/./node_modules/react-query/es/core/queryCache.js","webpack://_N_E/./node_modules/react-query/es/core/mutation.js","webpack://_N_E/./node_modules/react-query/es/core/mutationCache.js","webpack://_N_E/./node_modules/react-query/es/core/infiniteQueryBehavior.js","webpack://_N_E/./node_modules/react-query/es/core/queryClient.js","webpack://_N_E/./node_modules/react-query/es/core/retryer.js","webpack://_N_E/./node_modules/react-query/es/core/subscribable.js","webpack://_N_E/./node_modules/react-query/es/core/types.js","webpack://_N_E/./node_modules/react-query/es/core/utils.js","webpack://_N_E/./node_modules/react-query/es/index.js","webpack://_N_E/./node_modules/react-query/es/react/reactBatchedUpdates.js","webpack://_N_E/./node_modules/react-query/es/react/setBatchUpdatesFn.js","webpack://_N_E/./node_modules/react-query/es/react/logger.js","webpack://_N_E/./node_modules/react-query/es/react/setLogger.js","webpack://_N_E/./node_modules/react-query/es/react/QueryClientProvider.js","webpack://_N_E/./node_modules/react-query/es/core/queryObserver.js","webpack://_N_E/./node_modules/react-query/es/react/QueryErrorResetBoundary.js","webpack://_N_E/./node_modules/react-query/es/react/utils.js","webpack://_N_E/./node_modules/react-query/es/react/useBaseQuery.js","webpack://_N_E/./node_modules/react-query/es/react/useQuery.js","webpack://_N_E/./node_modules/react-query/es/react/index.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/a11y-dark.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/atom-dark.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/base16-ateliersulphurpool.light.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/cb.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/coldark-cold.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/coldark-dark.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/coy-without-shadows.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/coy.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/darcula.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/dark.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/dracula.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-dark.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-earth.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-forest.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-light.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-sea.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-space.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/funky.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/ghcolors.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/gruvbox-dark.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/gruvbox-light.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/holi-theme.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/hopscotch.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/index.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/lucario.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/material-dark.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/material-light.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/material-oceanic.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/night-owl.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/nord.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/okaidia.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/one-dark.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/one-light.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/pojoaque.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/prism.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/shades-of-purple.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/solarized-dark-atom.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/solarizedlight.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/synthwave84.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/tomorrow.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/twilight.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/vs.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/vsc-dark-plus.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/xonokai.js","webpack://_N_E/./node_modules/react-syntax-highlighter/dist/cjs/styles/prism/z-touch.js","webpack://_N_E/./node_modules/react-transition-group/esm/config.js","webpack://_N_E/./node_modules/react-transition-group/esm/Transition.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://_N_E/./node_modules/react-transition-group/esm/utils/ChildMapping.js","webpack://_N_E/./node_modules/react-transition-group/esm/TransitionGroup.js","webpack://_N_E/./node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack://_N_E/./node_modules/react-transition-group/esm/utils/reflow.js","webpack://_N_E/./node_modules/refractor/core.js","webpack://_N_E/./node_modules/refractor/index.js","webpack://_N_E/./node_modules/refractor/lang/abap.js","webpack://_N_E/./node_modules/refractor/lang/abnf.js","webpack://_N_E/./node_modules/refractor/lang/actionscript.js","webpack://_N_E/./node_modules/refractor/lang/ada.js","webpack://_N_E/./node_modules/refractor/lang/agda.js","webpack://_N_E/./node_modules/refractor/lang/al.js","webpack://_N_E/./node_modules/refractor/lang/antlr4.js","webpack://_N_E/./node_modules/refractor/lang/apacheconf.js","webpack://_N_E/./node_modules/refractor/lang/apex.js","webpack://_N_E/./node_modules/refractor/lang/apl.js","webpack://_N_E/./node_modules/refractor/lang/applescript.js","webpack://_N_E/./node_modules/refractor/lang/aql.js","webpack://_N_E/./node_modules/refractor/lang/arduino.js","webpack://_N_E/./node_modules/refractor/lang/arff.js","webpack://_N_E/./node_modules/refractor/lang/asciidoc.js","webpack://_N_E/./node_modules/refractor/lang/asm6502.js","webpack://_N_E/./node_modules/refractor/lang/asmatmel.js","webpack://_N_E/./node_modules/refractor/lang/aspnet.js","webpack://_N_E/./node_modules/refractor/lang/autohotkey.js","webpack://_N_E/./node_modules/refractor/lang/autoit.js","webpack://_N_E/./node_modules/refractor/lang/avisynth.js","webpack://_N_E/./node_modules/refractor/lang/avro-idl.js","webpack://_N_E/./node_modules/refractor/lang/bash.js","webpack://_N_E/./node_modules/refractor/lang/basic.js","webpack://_N_E/./node_modules/refractor/lang/batch.js","webpack://_N_E/./node_modules/refractor/lang/bbcode.js","webpack://_N_E/./node_modules/refractor/lang/bicep.js","webpack://_N_E/./node_modules/refractor/lang/birb.js","webpack://_N_E/./node_modules/refractor/lang/bison.js","webpack://_N_E/./node_modules/refractor/lang/bnf.js","webpack://_N_E/./node_modules/refractor/lang/brainfuck.js","webpack://_N_E/./node_modules/refractor/lang/brightscript.js","webpack://_N_E/./node_modules/refractor/lang/bro.js","webpack://_N_E/./node_modules/refractor/lang/bsl.js","webpack://_N_E/./node_modules/refractor/lang/c.js","webpack://_N_E/./node_modules/refractor/lang/cfscript.js","webpack://_N_E/./node_modules/refractor/lang/chaiscript.js","webpack://_N_E/./node_modules/refractor/lang/cil.js","webpack://_N_E/./node_modules/refractor/lang/clike.js","webpack://_N_E/./node_modules/refractor/lang/clojure.js","webpack://_N_E/./node_modules/refractor/lang/cmake.js","webpack://_N_E/./node_modules/refractor/lang/cobol.js","webpack://_N_E/./node_modules/refractor/lang/coffeescript.js","webpack://_N_E/./node_modules/refractor/lang/concurnas.js","webpack://_N_E/./node_modules/refractor/lang/coq.js","webpack://_N_E/./node_modules/refractor/lang/cpp.js","webpack://_N_E/./node_modules/refractor/lang/crystal.js","webpack://_N_E/./node_modules/refractor/lang/csharp.js","webpack://_N_E/./node_modules/refractor/lang/cshtml.js","webpack://_N_E/./node_modules/refractor/lang/csp.js","webpack://_N_E/./node_modules/refractor/lang/css-extras.js","webpack://_N_E/./node_modules/refractor/lang/css.js","webpack://_N_E/./node_modules/refractor/lang/csv.js","webpack://_N_E/./node_modules/refractor/lang/cypher.js","webpack://_N_E/./node_modules/refractor/lang/d.js","webpack://_N_E/./node_modules/refractor/lang/dart.js","webpack://_N_E/./node_modules/refractor/lang/dataweave.js","webpack://_N_E/./node_modules/refractor/lang/dax.js","webpack://_N_E/./node_modules/refractor/lang/dhall.js","webpack://_N_E/./node_modules/refractor/lang/diff.js","webpack://_N_E/./node_modules/refractor/lang/django.js","webpack://_N_E/./node_modules/refractor/lang/dns-zone-file.js","webpack://_N_E/./node_modules/refractor/lang/docker.js","webpack://_N_E/./node_modules/refractor/lang/dot.js","webpack://_N_E/./node_modules/refractor/lang/ebnf.js","webpack://_N_E/./node_modules/refractor/lang/editorconfig.js","webpack://_N_E/./node_modules/refractor/lang/eiffel.js","webpack://_N_E/./node_modules/refractor/lang/ejs.js","webpack://_N_E/./node_modules/refractor/lang/elixir.js","webpack://_N_E/./node_modules/refractor/lang/elm.js","webpack://_N_E/./node_modules/refractor/lang/erb.js","webpack://_N_E/./node_modules/refractor/lang/erlang.js","webpack://_N_E/./node_modules/refractor/lang/etlua.js","webpack://_N_E/./node_modules/refractor/lang/excel-formula.js","webpack://_N_E/./node_modules/refractor/lang/factor.js","webpack://_N_E/./node_modules/refractor/lang/false.js","webpack://_N_E/./node_modules/refractor/lang/firestore-security-rules.js","webpack://_N_E/./node_modules/refractor/lang/flow.js","webpack://_N_E/./node_modules/refractor/lang/fortran.js","webpack://_N_E/./node_modules/refractor/lang/fsharp.js","webpack://_N_E/./node_modules/refractor/lang/ftl.js","webpack://_N_E/./node_modules/refractor/lang/gap.js","webpack://_N_E/./node_modules/refractor/lang/gcode.js","webpack://_N_E/./node_modules/refractor/lang/gdscript.js","webpack://_N_E/./node_modules/refractor/lang/gedcom.js","webpack://_N_E/./node_modules/refractor/lang/gherkin.js","webpack://_N_E/./node_modules/refractor/lang/git.js","webpack://_N_E/./node_modules/refractor/lang/glsl.js","webpack://_N_E/./node_modules/refractor/lang/gml.js","webpack://_N_E/./node_modules/refractor/lang/gn.js","webpack://_N_E/./node_modules/refractor/lang/go-module.js","webpack://_N_E/./node_modules/refractor/lang/go.js","webpack://_N_E/./node_modules/refractor/lang/graphql.js","webpack://_N_E/./node_modules/refractor/lang/groovy.js","webpack://_N_E/./node_modules/refractor/lang/haml.js","webpack://_N_E/./node_modules/refractor/lang/handlebars.js","webpack://_N_E/./node_modules/refractor/lang/haskell.js","webpack://_N_E/./node_modules/refractor/lang/haxe.js","webpack://_N_E/./node_modules/refractor/lang/hcl.js","webpack://_N_E/./node_modules/refractor/lang/hlsl.js","webpack://_N_E/./node_modules/refractor/lang/hoon.js","webpack://_N_E/./node_modules/refractor/lang/hpkp.js","webpack://_N_E/./node_modules/refractor/lang/hsts.js","webpack://_N_E/./node_modules/refractor/lang/http.js","webpack://_N_E/./node_modules/refractor/lang/ichigojam.js","webpack://_N_E/./node_modules/refractor/lang/icon.js","webpack://_N_E/./node_modules/refractor/lang/icu-message-format.js","webpack://_N_E/./node_modules/refractor/lang/idris.js","webpack://_N_E/./node_modules/refractor/lang/iecst.js","webpack://_N_E/./node_modules/refractor/lang/ignore.js","webpack://_N_E/./node_modules/refractor/lang/inform7.js","webpack://_N_E/./node_modules/refractor/lang/ini.js","webpack://_N_E/./node_modules/refractor/lang/io.js","webpack://_N_E/./node_modules/refractor/lang/j.js","webpack://_N_E/./node_modules/refractor/lang/java.js","webpack://_N_E/./node_modules/refractor/lang/javadoc.js","webpack://_N_E/./node_modules/refractor/lang/javadoclike.js","webpack://_N_E/./node_modules/refractor/lang/javascript.js","webpack://_N_E/./node_modules/refractor/lang/javastacktrace.js","webpack://_N_E/./node_modules/refractor/lang/jexl.js","webpack://_N_E/./node_modules/refractor/lang/jolie.js","webpack://_N_E/./node_modules/refractor/lang/jq.js","webpack://_N_E/./node_modules/refractor/lang/js-extras.js","webpack://_N_E/./node_modules/refractor/lang/js-templates.js","webpack://_N_E/./node_modules/refractor/lang/jsdoc.js","webpack://_N_E/./node_modules/refractor/lang/json.js","webpack://_N_E/./node_modules/refractor/lang/json5.js","webpack://_N_E/./node_modules/refractor/lang/jsonp.js","webpack://_N_E/./node_modules/refractor/lang/jsstacktrace.js","webpack://_N_E/./node_modules/refractor/lang/jsx.js","webpack://_N_E/./node_modules/refractor/lang/julia.js","webpack://_N_E/./node_modules/refractor/lang/keepalived.js","webpack://_N_E/./node_modules/refractor/lang/keyman.js","webpack://_N_E/./node_modules/refractor/lang/kotlin.js","webpack://_N_E/./node_modules/refractor/lang/kumir.js","webpack://_N_E/./node_modules/refractor/lang/kusto.js","webpack://_N_E/./node_modules/refractor/lang/latex.js","webpack://_N_E/./node_modules/refractor/lang/latte.js","webpack://_N_E/./node_modules/refractor/lang/less.js","webpack://_N_E/./node_modules/refractor/lang/lilypond.js","webpack://_N_E/./node_modules/refractor/lang/liquid.js","webpack://_N_E/./node_modules/refractor/lang/lisp.js","webpack://_N_E/./node_modules/refractor/lang/livescript.js","webpack://_N_E/./node_modules/refractor/lang/llvm.js","webpack://_N_E/./node_modules/refractor/lang/log.js","webpack://_N_E/./node_modules/refractor/lang/lolcode.js","webpack://_N_E/./node_modules/refractor/lang/lua.js","webpack://_N_E/./node_modules/refractor/lang/magma.js","webpack://_N_E/./node_modules/refractor/lang/makefile.js","webpack://_N_E/./node_modules/refractor/lang/markdown.js","webpack://_N_E/./node_modules/refractor/lang/markup-templating.js","webpack://_N_E/./node_modules/refractor/lang/markup.js","webpack://_N_E/./node_modules/refractor/lang/matlab.js","webpack://_N_E/./node_modules/refractor/lang/maxscript.js","webpack://_N_E/./node_modules/refractor/lang/mel.js","webpack://_N_E/./node_modules/refractor/lang/mermaid.js","webpack://_N_E/./node_modules/refractor/lang/mizar.js","webpack://_N_E/./node_modules/refractor/lang/mongodb.js","webpack://_N_E/./node_modules/refractor/lang/monkey.js","webpack://_N_E/./node_modules/refractor/lang/moonscript.js","webpack://_N_E/./node_modules/refractor/lang/n1ql.js","webpack://_N_E/./node_modules/refractor/lang/n4js.js","webpack://_N_E/./node_modules/refractor/lang/nand2tetris-hdl.js","webpack://_N_E/./node_modules/refractor/lang/naniscript.js","webpack://_N_E/./node_modules/refractor/lang/nasm.js","webpack://_N_E/./node_modules/refractor/lang/neon.js","webpack://_N_E/./node_modules/refractor/lang/nevod.js","webpack://_N_E/./node_modules/refractor/lang/nginx.js","webpack://_N_E/./node_modules/refractor/lang/nim.js","webpack://_N_E/./node_modules/refractor/lang/nix.js","webpack://_N_E/./node_modules/refractor/lang/nsis.js","webpack://_N_E/./node_modules/refractor/lang/objectivec.js","webpack://_N_E/./node_modules/refractor/lang/ocaml.js","webpack://_N_E/./node_modules/refractor/lang/opencl.js","webpack://_N_E/./node_modules/refractor/lang/openqasm.js","webpack://_N_E/./node_modules/refractor/lang/oz.js","webpack://_N_E/./node_modules/refractor/lang/parigp.js","webpack://_N_E/./node_modules/refractor/lang/parser.js","webpack://_N_E/./node_modules/refractor/lang/pascal.js","webpack://_N_E/./node_modules/refractor/lang/pascaligo.js","webpack://_N_E/./node_modules/refractor/lang/pcaxis.js","webpack://_N_E/./node_modules/refractor/lang/peoplecode.js","webpack://_N_E/./node_modules/refractor/lang/perl.js","webpack://_N_E/./node_modules/refractor/lang/php-extras.js","webpack://_N_E/./node_modules/refractor/lang/php.js","webpack://_N_E/./node_modules/refractor/lang/phpdoc.js","webpack://_N_E/./node_modules/refractor/lang/plsql.js","webpack://_N_E/./node_modules/refractor/lang/powerquery.js","webpack://_N_E/./node_modules/refractor/lang/powershell.js","webpack://_N_E/./node_modules/refractor/lang/processing.js","webpack://_N_E/./node_modules/refractor/lang/prolog.js","webpack://_N_E/./node_modules/refractor/lang/promql.js","webpack://_N_E/./node_modules/refractor/lang/properties.js","webpack://_N_E/./node_modules/refractor/lang/protobuf.js","webpack://_N_E/./node_modules/refractor/lang/psl.js","webpack://_N_E/./node_modules/refractor/lang/pug.js","webpack://_N_E/./node_modules/refractor/lang/puppet.js","webpack://_N_E/./node_modules/refractor/lang/pure.js","webpack://_N_E/./node_modules/refractor/lang/purebasic.js","webpack://_N_E/./node_modules/refractor/lang/purescript.js","webpack://_N_E/./node_modules/refractor/lang/python.js","webpack://_N_E/./node_modules/refractor/lang/q.js","webpack://_N_E/./node_modules/refractor/lang/qml.js","webpack://_N_E/./node_modules/refractor/lang/qore.js","webpack://_N_E/./node_modules/refractor/lang/qsharp.js","webpack://_N_E/./node_modules/refractor/lang/r.js","webpack://_N_E/./node_modules/refractor/lang/racket.js","webpack://_N_E/./node_modules/refractor/lang/reason.js","webpack://_N_E/./node_modules/refractor/lang/regex.js","webpack://_N_E/./node_modules/refractor/lang/rego.js","webpack://_N_E/./node_modules/refractor/lang/renpy.js","webpack://_N_E/./node_modules/refractor/lang/rest.js","webpack://_N_E/./node_modules/refractor/lang/rip.js","webpack://_N_E/./node_modules/refractor/lang/roboconf.js","webpack://_N_E/./node_modules/refractor/lang/robotframework.js","webpack://_N_E/./node_modules/refractor/lang/ruby.js","webpack://_N_E/./node_modules/refractor/lang/rust.js","webpack://_N_E/./node_modules/refractor/lang/sas.js","webpack://_N_E/./node_modules/refractor/lang/sass.js","webpack://_N_E/./node_modules/refractor/lang/scala.js","webpack://_N_E/./node_modules/refractor/lang/scheme.js","webpack://_N_E/./node_modules/refractor/lang/scss.js","webpack://_N_E/./node_modules/refractor/lang/shell-session.js","webpack://_N_E/./node_modules/refractor/lang/smali.js","webpack://_N_E/./node_modules/refractor/lang/smalltalk.js","webpack://_N_E/./node_modules/refractor/lang/smarty.js","webpack://_N_E/./node_modules/refractor/lang/sml.js","webpack://_N_E/./node_modules/refractor/lang/solidity.js","webpack://_N_E/./node_modules/refractor/lang/solution-file.js","webpack://_N_E/./node_modules/refractor/lang/soy.js","webpack://_N_E/./node_modules/refractor/lang/sparql.js","webpack://_N_E/./node_modules/refractor/lang/splunk-spl.js","webpack://_N_E/./node_modules/refractor/lang/sqf.js","webpack://_N_E/./node_modules/refractor/lang/sql.js","webpack://_N_E/./node_modules/refractor/lang/squirrel.js","webpack://_N_E/./node_modules/refractor/lang/stan.js","webpack://_N_E/./node_modules/refractor/lang/stylus.js","webpack://_N_E/./node_modules/refractor/lang/swift.js","webpack://_N_E/./node_modules/refractor/lang/systemd.js","webpack://_N_E/./node_modules/refractor/lang/t4-cs.js","webpack://_N_E/./node_modules/refractor/lang/t4-templating.js","webpack://_N_E/./node_modules/refractor/lang/t4-vb.js","webpack://_N_E/./node_modules/refractor/lang/tap.js","webpack://_N_E/./node_modules/refractor/lang/tcl.js","webpack://_N_E/./node_modules/refractor/lang/textile.js","webpack://_N_E/./node_modules/refractor/lang/toml.js","webpack://_N_E/./node_modules/refractor/lang/tremor.js","webpack://_N_E/./node_modules/refractor/lang/tsx.js","webpack://_N_E/./node_modules/refractor/lang/tt2.js","webpack://_N_E/./node_modules/refractor/lang/turtle.js","webpack://_N_E/./node_modules/refractor/lang/twig.js","webpack://_N_E/./node_modules/refractor/lang/typescript.js","webpack://_N_E/./node_modules/refractor/lang/typoscript.js","webpack://_N_E/./node_modules/refractor/lang/unrealscript.js","webpack://_N_E/./node_modules/refractor/lang/uorazor.js","webpack://_N_E/./node_modules/refractor/lang/uri.js","webpack://_N_E/./node_modules/refractor/lang/v.js","webpack://_N_E/./node_modules/refractor/lang/vala.js","webpack://_N_E/./node_modules/refractor/lang/vbnet.js","webpack://_N_E/./node_modules/refractor/lang/velocity.js","webpack://_N_E/./node_modules/refractor/lang/verilog.js","webpack://_N_E/./node_modules/refractor/lang/vhdl.js","webpack://_N_E/./node_modules/refractor/lang/vim.js","webpack://_N_E/./node_modules/refractor/lang/visual-basic.js","webpack://_N_E/./node_modules/refractor/lang/warpscript.js","webpack://_N_E/./node_modules/refractor/lang/wasm.js","webpack://_N_E/./node_modules/refractor/lang/web-idl.js","webpack://_N_E/./node_modules/refractor/lang/wiki.js","webpack://_N_E/./node_modules/refractor/lang/wolfram.js","webpack://_N_E/./node_modules/refractor/lang/wren.js","webpack://_N_E/./node_modules/refractor/lang/xeora.js","webpack://_N_E/./node_modules/refractor/lang/xml-doc.js","webpack://_N_E/./node_modules/refractor/lang/xojo.js","webpack://_N_E/./node_modules/refractor/lang/xquery.js","webpack://_N_E/./node_modules/refractor/lang/yaml.js","webpack://_N_E/./node_modules/refractor/lang/yang.js","webpack://_N_E/./node_modules/refractor/lang/zig.js","webpack://_N_E/./node_modules/refractor/node_modules/prismjs/components/prism-core.js","webpack://_N_E/./node_modules/side-channel-list/index.js","webpack://_N_E/./node_modules/side-channel-map/index.js","webpack://_N_E/./node_modules/side-channel-weakmap/index.js","webpack://_N_E/./node_modules/side-channel/index.js","webpack://_N_E/./node_modules/space-separated-tokens/index.js","webpack://_N_E/./node_modules/xtend/immutable.js","webpack://_N_E/ignored|/code/frontend/node_modules/object-inspect|./util.inspect","webpack://_N_E/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://_N_E/./node_modules/@swc/helpers/esm/_tagged_template_literal.js","webpack://_N_E/./node_modules/clsx/dist/clsx.mjs"],"sourcesContent":["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 {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","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","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 * 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","import { h as hasOwn, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isDevelopment } from './emotion-element-f0de968e.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-f0de968e.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar jsx = function jsx(type, props) {\n // eslint-disable-next-line prefer-rest-params\n var args = arguments;\n\n if (props == null || !hasOwn.call(props, 'css')) {\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n }\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\n(function (_jsx) {\n var JSX;\n\n (function (_JSX) {})(JSX || (JSX = _jsx.JSX || (_jsx.JSX = {})));\n})(jsx || (jsx = {}));\n\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false;\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nfunction keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name;\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n}\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && isDevelopment) {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && isDevelopment) {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\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","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","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","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","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","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { Global } from '@emotion/react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction isEmpty(obj) {\n return obj === undefined || obj === null || Object.keys(obj).length === 0;\n}\nexport default function GlobalStyles(props) {\n const {\n styles,\n defaultTheme = {}\n } = props;\n const globalStyles = typeof styles === 'function' ? themeInput => styles(isEmpty(themeInput) ? defaultTheme : themeInput) : styles;\n return /*#__PURE__*/_jsx(Global, {\n styles: globalStyles\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? GlobalStyles.propTypes = {\n defaultTheme: PropTypes.object,\n styles: PropTypes.oneOfType([PropTypes.array, PropTypes.string, PropTypes.object, PropTypes.func])\n} : void 0;","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.3\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\";","'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;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst RtlContext = /*#__PURE__*/React.createContext();\nfunction RtlProvider({\n value,\n ...props\n}) {\n return /*#__PURE__*/_jsx(RtlContext.Provider, {\n value: value ?? true,\n ...props\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? RtlProvider.propTypes = {\n children: PropTypes.node,\n value: PropTypes.bool\n} : void 0;\nexport const useRtl = () => {\n const value = React.useContext(RtlContext);\n return value ?? false;\n};\nexport default RtlProvider;","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/* 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}","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}","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}","// 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;","/**\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 _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 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 { 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}","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 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;","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 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 { isPlainObject } from '@mui/utils/deepmerge';\nimport defaultSxConfig from \"./defaultSxConfig.js\";\nconst splitProps = props => {\n const result = {\n systemProps: {},\n otherProps: {}\n };\n const config = props?.theme?.unstable_sxConfig ?? defaultSxConfig;\n Object.keys(props).forEach(prop => {\n if (config[prop]) {\n result.systemProps[prop] = props[prop];\n } else {\n result.otherProps[prop] = props[prop];\n }\n });\n return result;\n};\nexport default function extendSxProp(props) {\n const {\n sx: inSx,\n ...other\n } = props;\n const {\n systemProps,\n otherProps\n } = splitProps(other);\n let finalSx;\n if (Array.isArray(inSx)) {\n finalSx = [systemProps, ...inSx];\n } else if (typeof inSx === 'function') {\n finalSx = (...args) => {\n const result = inSx(...args);\n if (!isPlainObject(result)) {\n return systemProps;\n }\n return {\n ...systemProps,\n ...result\n };\n };\n } else {\n finalSx = {\n ...systemProps,\n ...inSx\n };\n }\n return {\n ...otherProps,\n sx: finalSx\n };\n}","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;","'use client';\n\nimport createTheme from \"../createTheme/index.js\";\nimport useThemeWithoutDefault from \"../useThemeWithoutDefault/index.js\";\nexport const systemDefaultTheme = createTheme();\nfunction useTheme(defaultTheme = systemDefaultTheme) {\n return useThemeWithoutDefault(defaultTheme);\n}\nexport default useTheme;","import resolveProps from '@mui/utils/resolveProps';\nexport default function getThemeProps(params) {\n const {\n theme,\n name,\n props\n } = params;\n if (!theme || !theme.components || !theme.components[name] || !theme.components[name].defaultProps) {\n return props;\n }\n return resolveProps(theme.components[name].defaultProps, props);\n}","'use client';\n\nimport getThemeProps from \"./getThemeProps.js\";\nimport useTheme from \"../useTheme/index.js\";\nexport default function useThemeProps({\n props,\n name,\n defaultTheme,\n themeId\n}) {\n let theme = useTheme(defaultTheme);\n if (themeId) {\n theme = theme[themeId] || theme;\n }\n return getThemeProps({\n theme,\n name,\n props\n });\n}","'use client';\n\nimport * as React from 'react';\nimport { ThemeContext } from '@mui/styled-engine';\nfunction isObjectEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction useTheme(defaultTheme = null) {\n const contextTheme = React.useContext(ThemeContext);\n return !contextTheme || isObjectEmpty(contextTheme) ? defaultTheme : contextTheme;\n}\nexport default useTheme;","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;","/**\n * Determines if a given element is a DOM element name (i.e. not a React component).\n */\nfunction isHostComponent(element) {\n return typeof element === 'string';\n}\nexport default isHostComponent;","import isHostComponent from \"../isHostComponent/index.js\";\n\n/**\n * Type of the ownerState based on the type of an element it applies to.\n * This resolves to the provided OwnerState for React components and `undefined` for host components.\n * Falls back to `OwnerState | undefined` when the exact type can't be determined in development time.\n */\n\n/**\n * Appends the ownerState object to the props, merging with the existing one if necessary.\n *\n * @param elementType Type of the element that owns the `existingProps`. If the element is a DOM node or undefined, `ownerState` is not applied.\n * @param otherProps Props of the element.\n * @param ownerState\n */\nfunction appendOwnerState(elementType, otherProps, ownerState) {\n if (elementType === undefined || isHostComponent(elementType)) {\n return otherProps;\n }\n return {\n ...otherProps,\n ownerState: {\n ...otherProps.ownerState,\n ...ownerState\n }\n };\n}\nexport default appendOwnerState;","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}","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;","/* 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}","/**\n * Safe chained function.\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n */\nexport default function createChainedFunction(...funcs) {\n return funcs.reduce((acc, func) => {\n if (func == null) {\n return acc;\n }\n return function chainedFunction(...args) {\n acc.apply(this, args);\n func.apply(this, args);\n };\n }, () => {});\n}","// Corresponds to 10 frames at 60 Hz.\n// A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B.\nexport default function debounce(func, wait = 166) {\n let timeout;\n function debounced(...args) {\n const later = () => {\n // @ts-ignore\n func.apply(this, args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n }\n debounced.clear = () => {\n clearTimeout(timeout);\n };\n return debounced;\n}","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}","/**\n * Extracts event handlers from a given object.\n * A prop is considered an event handler if it is a function and its name starts with `on`.\n *\n * @param object An object to extract event handlers from.\n * @param excludeKeys An array of keys to exclude from the returned object.\n */\nfunction extractEventHandlers(object, excludeKeys = []) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => prop.match(/^on[A-Z]/) && typeof object[prop] === 'function' && !excludeKeys.includes(prop)).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}\nexport default extractEventHandlers;","/**\n * WARNING: Don't import this directly. It's imported by the code generated by\n * `@mui/interal-babel-plugin-minify-errors`. Make sure to always use string literals in `Error`\n * constructors to ensure the plugin works as expected. Supported patterns include:\n * throw new Error('My message');\n * throw new Error(`My message: ${foo}`);\n * throw new Error(`My message: ${foo}` + 'another string');\n * ...\n * @param {number} code\n */\nexport default function formatMuiErrorMessage(code, ...args) {\n const url = new URL(`https://mui.com/production-error/?code=${code}`);\n args.forEach(arg => url.searchParams.append('args[]', arg));\n return `Minified MUI error #${code}; visit ${url} for the full message.`;\n}","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 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}","import * as React from 'react';\n\n/**\n * Returns the ref of a React element handling differences between React 19 and older versions.\n * It will throw runtime error if the element is not a valid React element.\n *\n * @param element React.ReactElement\n * @returns React.Ref | null\n */\nexport default function getReactElementRef(element) {\n // 'ref' is passed as prop in React 19, whereas 'ref' is directly attached to children in older versions\n if (parseInt(React.version, 10) >= 19) {\n return element?.props?.ref || null;\n }\n // @ts-expect-error element.ref is not included in the ReactElement type\n // https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/70189\n return element?.ref || null;\n}","// A change of the browser zoom change the scrollbar size.\n// Credit https://github.com/twbs/bootstrap/blob/488fd8afc535ca3a6ad4dc581f5e89217b6a36ac/js/src/util/scrollbar.js#L14-L18\nexport default function getScrollbarSize(win = window) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = win.document.documentElement.clientWidth;\n return win.innerWidth - documentWidth;\n}","/**\n * Returns a boolean indicating if the event's target has :focus-visible\n */\nexport default function isFocusVisible(element) {\n try {\n return element.matches(':focus-visible');\n } catch (error) {\n // Do not warn on jsdom tests, otherwise all tests that rely on focus have to be skipped\n // Tests that rely on `:focus-visible` will still have to be skipped in jsdom\n if (process.env.NODE_ENV !== 'production' && !/jsdom/.test(window.navigator.userAgent)) {\n console.warn(['MUI: The `:focus-visible` pseudo class is not supported in this browser.', 'Some components rely on this feature to work properly.'].join('\\n'));\n }\n }\n return false;\n}","/**\n * Removes event handlers from the given object.\n * A field is considered an event handler if it is a function with a name beginning with `on`.\n *\n * @param object Object to remove event handlers from.\n * @returns Object with event handlers removed.\n */\nfunction omitEventHandlers(object) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => !(prop.match(/^on[A-Z]/) && typeof object[prop] === 'function')).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}\nexport default omitEventHandlers;","import clsx from 'clsx';\nimport extractEventHandlers from \"../extractEventHandlers/index.js\";\nimport omitEventHandlers from \"../omitEventHandlers/index.js\";\n/**\n * Merges the slot component internal props (usually coming from a hook)\n * with the externally provided ones.\n *\n * The merge order is (the latter overrides the former):\n * 1. The internal props (specified as a getter function to work with get*Props hook result)\n * 2. Additional props (specified internally on a Base UI component)\n * 3. External props specified on the owner component. These should only be used on a root slot.\n * 4. External props specified in the `slotProps.*` prop.\n * 5. The `className` prop - combined from all the above.\n * @param parameters\n * @returns\n */\nfunction mergeSlotProps(parameters) {\n const {\n getSlotProps,\n additionalProps,\n externalSlotProps,\n externalForwardedProps,\n className\n } = parameters;\n if (!getSlotProps) {\n // The simpler case - getSlotProps is not defined, so no internal event handlers are defined,\n // so we can simply merge all the props without having to worry about extracting event handlers.\n const joinedClasses = clsx(additionalProps?.className, className, externalForwardedProps?.className, externalSlotProps?.className);\n const mergedStyle = {\n ...additionalProps?.style,\n ...externalForwardedProps?.style,\n ...externalSlotProps?.style\n };\n const props = {\n ...additionalProps,\n ...externalForwardedProps,\n ...externalSlotProps\n };\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: undefined\n };\n }\n\n // In this case, getSlotProps is responsible for calling the external event handlers.\n // We don't need to include them in the merged props because of this.\n\n const eventHandlers = extractEventHandlers({\n ...externalForwardedProps,\n ...externalSlotProps\n });\n const componentsPropsWithoutEventHandlers = omitEventHandlers(externalSlotProps);\n const otherPropsWithoutEventHandlers = omitEventHandlers(externalForwardedProps);\n const internalSlotProps = getSlotProps(eventHandlers);\n\n // The order of classes is important here.\n // Emotion (that we use in libraries consuming Base UI) depends on this order\n // to properly override style. It requires the most important classes to be last\n // (see https://github.com/mui/material-ui/pull/33205) for the related discussion.\n const joinedClasses = clsx(internalSlotProps?.className, additionalProps?.className, className, externalForwardedProps?.className, externalSlotProps?.className);\n const mergedStyle = {\n ...internalSlotProps?.style,\n ...additionalProps?.style,\n ...externalForwardedProps?.style,\n ...externalSlotProps?.style\n };\n const props = {\n ...internalSlotProps,\n ...additionalProps,\n ...otherPropsWithoutEventHandlers,\n ...componentsPropsWithoutEventHandlers\n };\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: internalSlotProps.ref\n };\n}\nexport default mergeSlotProps;","export default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}","import ownerDocument from \"../ownerDocument/index.js\";\nexport default function ownerWindow(node) {\n const doc = ownerDocument(node);\n return doc.defaultView || window;\n}","/**\n * If `componentProps` is a function, calls it with the provided `ownerState`.\n * Otherwise, just returns `componentProps`.\n */\nfunction resolveComponentProps(componentProps, ownerState, slotState) {\n if (typeof componentProps === 'function') {\n return componentProps(ownerState, slotState);\n }\n return componentProps;\n}\nexport default resolveComponentProps;","/**\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}","/**\n * TODO v5: consider making it private\n *\n * passes {value} to {ref}\n *\n * WARNING: Be sure to only call this inside a callback that is passed as a ref.\n * Otherwise, make sure to cleanup the previous {ref} if it changes. See\n * https://github.com/mui/material-ui/issues/13539\n *\n * Useful if you want to expose the ref of an inner component to the public API\n * while still using it inside the component.\n * @param ref A ref callback or ref object. If anything falsy, this is a no-op.\n */\nexport default function setRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}","'use client';\n\n// TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler -- process.env never changes, dependency arrays are intentionally ignored\n/* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */\nimport * as React from 'react';\nexport default function useControlled({\n controlled,\n default: defaultProp,\n name,\n state = 'value'\n}) {\n // isControlled is ignored in the hook dependency lists as it should never change.\n const {\n current: isControlled\n } = React.useRef(controlled !== undefined);\n const [valueState, setValue] = React.useState(defaultProp);\n const value = isControlled ? controlled : valueState;\n if (process.env.NODE_ENV !== 'production') {\n React.useEffect(() => {\n if (isControlled !== (controlled !== undefined)) {\n console.error([`MUI: A component is changing the ${isControlled ? '' : 'un'}controlled ${state} state of ${name} to be ${isControlled ? 'un' : ''}controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', `Decide between using a controlled or uncontrolled ${name} ` + 'element for the lifetime of the component.', \"The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.\", 'More info: https://fb.me/react-controlled-components'].join('\\n'));\n }\n }, [state, name, controlled]);\n const {\n current: defaultValue\n } = React.useRef(defaultProp);\n React.useEffect(() => {\n // Object.is() is not equivalent to the === operator.\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is for more details.\n if (!isControlled && !Object.is(defaultValue, defaultProp)) {\n console.error([`MUI: A component is changing the default ${state} state of an uncontrolled ${name} after being initialized. ` + `To suppress this warning opt to use a controlled ${name}.`].join('\\n'));\n }\n }, [JSON.stringify(defaultProp)]);\n }\n const setValueIfUncontrolled = React.useCallback(newValue => {\n if (!isControlled) {\n setValue(newValue);\n }\n }, []);\n return [value, setValueIfUncontrolled];\n}","'use client';\n\nimport * as React from 'react';\n\n/**\n * A version of `React.useLayoutEffect` that does not show a warning when server-side rendering.\n * This is useful for effects that are only needed for client-side rendering but not for SSR.\n *\n * Before you use this hook, make sure to read https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * and confirm it doesn't apply to your use-case.\n */\nconst useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nexport default useEnhancedEffect;","'use client';\n\nimport * as React from 'react';\nimport useEnhancedEffect from \"../useEnhancedEffect/index.js\";\n\n/**\n * Inspired by https://github.com/facebook/react/issues/14099#issuecomment-440013892\n * See RFC in https://github.com/reactjs/rfcs/pull/220\n */\n\nfunction useEventCallback(fn) {\n const ref = React.useRef(fn);\n useEnhancedEffect(() => {\n ref.current = fn;\n });\n return React.useRef((...args) =>\n // @ts-expect-error hide `this`\n (0, ref.current)(...args)).current;\n}\nexport default useEventCallback;","'use client';\n\nimport * as React from 'react';\nimport setRef from \"../setRef/index.js\";\n\n/**\n * Takes an array of refs and returns a new ref which will apply any modification to all of the refs.\n * This is useful when you want to have the ref used in multiple places.\n *\n * ```tsx\n * const rootRef = React.useRef(null);\n * const refFork = useForkRef(rootRef, props.ref);\n *\n * return (\n * \n * );\n * ```\n *\n * @param {Array | undefined>} refs The ref array.\n * @returns {React.RefCallback | null} The new ref callback.\n */\nexport default function useForkRef(...refs) {\n /**\n * This will create a new function if the refs passed to this hook change and are all defined.\n * This means react will call the old forkRef with `null` and the new forkRef\n * with the ref. Cleanup naturally emerges from this behavior.\n */\n return React.useMemo(() => {\n if (refs.every(ref => ref == null)) {\n return null;\n }\n return instance => {\n refs.forEach(ref => {\n setRef(ref, instance);\n });\n };\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler -- intentionally ignoring that the dependency array must be an array literal\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}","'use client';\n\nimport * as React from 'react';\nlet globalId = 0;\n\n// TODO React 17: Remove `useGlobalId` once React 17 support is removed\nfunction useGlobalId(idOverride) {\n const [defaultId, setDefaultId] = React.useState(idOverride);\n const id = idOverride || defaultId;\n React.useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`mui-${globalId}`);\n }\n }, [defaultId]);\n return id;\n}\n\n// See https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379 for why\nconst safeReact = {\n ...React\n};\nconst maybeReactUseId = safeReact.useId;\n\n/**\n *\n * @example
\n * @param idOverride\n * @returns {string}\n */\nexport default function useId(idOverride) {\n // React.useId() is only available from React 17.0.0.\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride ?? reactId;\n }\n\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.\n return useGlobalId(idOverride);\n}","'use client';\n\nimport * as React from 'react';\nconst UNINITIALIZED = {};\n\n/**\n * A React.useRef() that is initialized lazily with a function. Note that it accepts an optional\n * initialization argument, so the initialization function doesn't need to be an inline closure.\n *\n * @usage\n * const ref = useLazyRef(sortColumns, columns)\n */\nexport default function useLazyRef(init, initArg) {\n const ref = React.useRef(UNINITIALIZED);\n if (ref.current === UNINITIALIZED) {\n ref.current = init(initArg);\n }\n return ref;\n}","'use client';\n\nimport useForkRef from \"../useForkRef/index.js\";\nimport appendOwnerState from \"../appendOwnerState/index.js\";\nimport mergeSlotProps from \"../mergeSlotProps/index.js\";\nimport resolveComponentProps from \"../resolveComponentProps/index.js\";\n/**\n * @ignore - do not document.\n * Builds the props to be passed into the slot of an unstyled component.\n * It merges the internal props of the component with the ones supplied by the user, allowing to customize the behavior.\n * If the slot component is not a host component, it also merges in the `ownerState`.\n *\n * @param parameters.getSlotProps - A function that returns the props to be passed to the slot component.\n */\nfunction useSlotProps(parameters) {\n const {\n elementType,\n externalSlotProps,\n ownerState,\n skipResolvingSlotProps = false,\n ...other\n } = parameters;\n const resolvedComponentsProps = skipResolvingSlotProps ? {} : resolveComponentProps(externalSlotProps, ownerState);\n const {\n props: mergedProps,\n internalRef\n } = mergeSlotProps({\n ...other,\n externalSlotProps: resolvedComponentsProps\n });\n const ref = useForkRef(internalRef, resolvedComponentsProps?.ref, parameters.additionalProps?.ref);\n const props = appendOwnerState(elementType, {\n ...mergedProps,\n ref\n }, ownerState);\n return props;\n}\nexport default useSlotProps;","'use client';\n\nimport * as React from 'react';\nconst EMPTY = [];\n\n/**\n * A React.useEffect equivalent that runs once, when the component is mounted.\n */\nexport default function useOnMount(fn) {\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler -- no need to put `fn` in the dependency array\n /* eslint-disable react-hooks/exhaustive-deps */\n React.useEffect(fn, EMPTY);\n /* eslint-enable react-hooks/exhaustive-deps */\n}","'use client';\n\nimport useLazyRef from \"../useLazyRef/useLazyRef.js\";\nimport useOnMount from \"../useOnMount/useOnMount.js\";\nexport class Timeout {\n static create() {\n return new Timeout();\n }\n currentId = null;\n\n /**\n * Executes `fn` after `delay`, clearing any previously scheduled call.\n */\n start(delay, fn) {\n this.clear();\n this.currentId = setTimeout(() => {\n this.currentId = null;\n fn();\n }, delay);\n }\n clear = () => {\n if (this.currentId !== null) {\n clearTimeout(this.currentId);\n this.currentId = null;\n }\n };\n disposeEffect = () => {\n return this.clear;\n };\n}\nexport default function useTimeout() {\n const timeout = useLazyRef(Timeout.create).current;\n useOnMount(timeout.disposeEffect);\n return timeout;\n}","/**\n * @license React\n * react-is.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and 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\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\nSymbol.for(\"react.provider\");\nvar REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_OFFSCREEN_TYPE = Symbol.for(\"react.offscreen\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\nfunction typeOf(object) {\n if (\"object\" === typeof object && null !== object) {\n var $$typeof = object.$$typeof;\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n switch (((object = object.type), object)) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return object;\n default:\n switch (((object = object && object.$$typeof), object)) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n return object;\n case REACT_CONSUMER_TYPE:\n return object;\n default:\n return $$typeof;\n }\n }\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n}\nexports.ContextConsumer = REACT_CONSUMER_TYPE;\nexports.ContextProvider = REACT_CONTEXT_TYPE;\nexports.Element = REACT_ELEMENT_TYPE;\nexports.ForwardRef = REACT_FORWARD_REF_TYPE;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Lazy = REACT_LAZY_TYPE;\nexports.Memo = REACT_MEMO_TYPE;\nexports.Portal = REACT_PORTAL_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.SuspenseList = REACT_SUSPENSE_LIST_TYPE;\nexports.isContextConsumer = function (object) {\n return typeOf(object) === REACT_CONSUMER_TYPE;\n};\nexports.isContextProvider = function (object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n};\nexports.isElement = function (object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n};\nexports.isForwardRef = function (object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n};\nexports.isFragment = function (object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n};\nexports.isLazy = function (object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n};\nexports.isMemo = function (object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n};\nexports.isPortal = function (object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n};\nexports.isProfiler = function (object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n};\nexports.isStrictMode = function (object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n};\nexports.isSuspense = function (object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n};\nexports.isSuspenseList = function (object) {\n return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n};\nexports.isValidElementType = function (type) {\n return \"string\" === typeof type ||\n \"function\" === typeof type ||\n type === REACT_FRAGMENT_TYPE ||\n type === REACT_PROFILER_TYPE ||\n type === REACT_STRICT_MODE_TYPE ||\n type === REACT_SUSPENSE_TYPE ||\n type === REACT_SUSPENSE_LIST_TYPE ||\n type === REACT_OFFSCREEN_TYPE ||\n (\"object\" === typeof type &&\n null !== type &&\n (type.$$typeof === REACT_LAZY_TYPE ||\n type.$$typeof === REACT_MEMO_TYPE ||\n type.$$typeof === REACT_CONTEXT_TYPE ||\n type.$$typeof === REACT_CONSUMER_TYPE ||\n type.$$typeof === REACT_FORWARD_REF_TYPE ||\n type.$$typeof === REACT_CLIENT_REFERENCE ||\n void 0 !== type.getModuleId))\n ? !0\n : !1;\n};\nexports.typeOf = typeOf;\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nvar K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n var arr = new Uint8Array(1)\n var proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n var buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n var valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n var b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(\n value[Symbol.toPrimitive]('string'), encodingOrOffset, length\n )\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n var length = byteLength(string, encoding) | 0\n var buf = createBuffer(length)\n\n var actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n var buf = createBuffer(length)\n for (var i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n var copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n var buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n var buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n Buffer.from(buf).copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n var len = string.length\n var mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n var strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (var i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n var len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nvar hexSliceLookupTable = (function () {\n var alphabet = '0123456789abcdef'\n var table = new Array(256)\n for (var i = 0; i < 16; ++i) {\n var i16 = i * 16\n for (var j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\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 {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use 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\nexports.parse = parse\nexports.stringify = stringify\n\nvar comma = ','\nvar space = ' '\nvar empty = ''\n\n// Parse comma-separated tokens to an array.\nfunction parse(value) {\n var values = []\n var input = String(value || empty)\n var index = input.indexOf(comma)\n var lastIndex = 0\n var end = false\n var val\n\n while (!end) {\n if (index === -1) {\n index = input.length\n end = true\n }\n\n val = input.slice(lastIndex, index).trim()\n\n if (val || !end) {\n values.push(val)\n }\n\n lastIndex = index + 1\n index = input.indexOf(comma, lastIndex)\n }\n\n return values\n}\n\n// Compile an array to comma-separated tokens.\n// `options.padLeft` (default: `true`) pads a space left of each token, and\n// `options.padRight` (default: `false`) pads a space to the right of each token.\nfunction stringify(values, options) {\n var settings = options || {}\n var left = settings.padLeft === false ? empty : space\n var right = settings.padRight ? space : empty\n\n // Ensure the last empty entry is seen.\n if (values[values.length - 1] === empty) {\n values = values.concat(empty)\n }\n\n return values.join(right + comma + left).trim()\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)68?1900:2e3)};var f=function(e){return function(t){this[e]=+t}},h=[/[+-]\\d\\d:?(\\d\\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if(\"Z\"===e)return 0;var t=e.match(/([+-]|\\d\\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:\"+\"===t[0]?-n:n}(e)}],u=function(e){var t=s[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var n,r=s.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?\"pm\":\"PM\");return n},c={A:[o,function(e){this.afternoon=d(e,!1)}],a:[o,function(e){this.afternoon=d(e,!0)}],Q:[n,function(e){this.month=3*(e-1)+1}],S:[n,function(e){this.milliseconds=100*+e}],SS:[r,function(e){this.milliseconds=10*+e}],SSS:[/\\d{3}/,function(e){this.milliseconds=+e}],s:[i,f(\"seconds\")],ss:[i,f(\"seconds\")],m:[i,f(\"minutes\")],mm:[i,f(\"minutes\")],H:[i,f(\"hours\")],h:[i,f(\"hours\")],HH:[i,f(\"hours\")],hh:[i,f(\"hours\")],D:[i,f(\"day\")],DD:[r,f(\"day\")],Do:[o,function(e){var t=s.ordinal,n=e.match(/\\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\\[|\\]/g,\"\")===e&&(this.day=r)}],w:[i,f(\"week\")],ww:[r,f(\"week\")],M:[i,f(\"month\")],MM:[r,f(\"month\")],MMM:[o,function(e){var t=u(\"months\"),n=(u(\"monthsShort\")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[o,function(e){var t=u(\"months\").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\\d+/,f(\"year\")],YY:[r,function(e){this.year=a(e)}],YYYY:[/\\d{4}/,f(\"year\")],Z:h,ZZ:h};function l(n){var r,i;r=n,i=s&&s.formats;for(var o=(n=r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=o.length,f=0;f-1)return new Date((\"X\"===t?1e3:1)*e);var i=l(t)(e),o=i.year,s=i.month,a=i.day,f=i.hours,h=i.minutes,u=i.seconds,d=i.milliseconds,c=i.zone,m=i.week,M=new Date,Y=a||(o||s?1:M.getDate()),p=o||M.getFullYear(),v=0;o&&!s||(v=s>0?s-1:M.getMonth());var D,w=f||0,g=h||0,y=u||0,L=d||0;return c?new Date(Date.UTC(p,v,Y,w,g,y,L+60*c.offset*1e3)):n?new Date(Date.UTC(p,v,Y,w,g,y,L)):(D=new Date(p,v,Y,w,g,y,L),m&&(D=r(D).week(m).toDate()),D)}catch(e){return new Date(\"\")}}(t,a,r,n),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date(\"\")),s={}}else if(a instanceof Array)for(var c=a.length,m=1;m<=c;m+=1){o[1]=a[m-1];var M=n.apply(this,o);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===c&&(this.$d=new Date(\"\"))}else i.call(this,e)}}}));","!function(e,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isBetween=i()}(this,(function(){\"use strict\";return function(e,i,t){i.prototype.isBetween=function(e,i,s,f){var n=t(e),o=t(i),r=\"(\"===(f=f||\"()\")[0],u=\")\"===f[1];return(r?this.isAfter(n,s):!this.isBefore(n,s))&&(u?this.isBefore(o,s):!this.isAfter(o,s))||(r?this.isBefore(n,s):!this.isAfter(n,s))&&(u?this.isAfter(o,s):!this.isBefore(o,s))}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_localizedFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"};return function(t,o,n){var r=o.prototype,i=r.format;n.en.formats=e,r.format=function(t){void 0===t&&(t=\"YYYY-MM-DDTHH:mm:ssZ\");var o=this.$locale().formats,n=function(t,o){return t.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var i=r&&r.toUpperCase();return n||o[r]||e[r]||o[i].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,o){return t||o.slice(1)}))}))}(t,void 0===o?{}:o);return i.call(this,n)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekOfYear=t()}(this,(function(){\"use strict\";var e=\"week\",t=\"year\";return function(i,n,r){var f=n.prototype;f.week=function(i){if(void 0===i&&(i=null),null!==i)return this.add(7*(i-this.week()),\"day\");var n=this.$locale().yearStart||1;if(11===this.month()&&this.date()>25){var f=r(this).startOf(t).add(1,t).date(n),s=r(this).endOf(e);if(f.isBefore(s))return 1}var a=r(this).startOf(t).date(n).startOf(e).subtract(1,\"millisecond\"),o=this.diff(a,e,!0);return o<0?r(this).startOf(\"week\").week():Math.ceil(o)},f.weeks=function(e){return void 0===e&&(e=null),this.week(e)}}}));","'use strict';\n\nvar callBind = require('call-bind-apply-helpers');\nvar gOPD = require('gopd');\n\nvar hasProtoAccessor;\ntry {\n\t// eslint-disable-next-line no-extra-parens, no-proto\n\thasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype;\n} catch (e) {\n\tif (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') {\n\t\tthrow e;\n\t}\n}\n\n// eslint-disable-next-line no-extra-parens\nvar desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__'));\n\nvar $Object = Object;\nvar $getPrototypeOf = $Object.getPrototypeOf;\n\n/** @type {import('./get')} */\nmodule.exports = desc && typeof desc.get === 'function'\n\t? callBind([desc.get])\n\t: typeof $getPrototypeOf === 'function'\n\t\t? /** @type {import('./get')} */ function getDunder(value) {\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\treturn $getPrototypeOf(value == null ? value : $Object(value));\n\t\t}\n\t\t: false;\n","'use strict';\n\n/** @type {import('.')} */\nvar $defineProperty = Object.defineProperty || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Object;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $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","'use strict'\n\nmodule.exports = parse\n\nvar search = /[#.]/g\n\n// Create a hast element from a simple CSS selector.\nfunction parse(selector, defaultTagName) {\n var value = selector || ''\n var name = defaultTagName || 'div'\n var props = {}\n var start = 0\n var subvalue\n var previous\n var match\n\n while (start < value.length) {\n search.lastIndex = start\n match = search.exec(value)\n subvalue = value.slice(start, match ? match.index : value.length)\n\n if (subvalue) {\n if (!previous) {\n name = subvalue\n } else if (previous === '#') {\n props.id = subvalue\n } else if (props.className) {\n props.className.push(subvalue)\n } else {\n props.className = [subvalue]\n }\n\n start += subvalue.length\n }\n\n if (match) {\n previous = match[0]\n start++\n }\n }\n\n return {type: 'element', tagName: name, properties: props, children: []}\n}\n","'use strict'\n\nvar find = require('property-information/find')\nvar normalize = require('property-information/normalize')\nvar parseSelector = require('hast-util-parse-selector')\nvar spaces = require('space-separated-tokens').parse\nvar commas = require('comma-separated-tokens').parse\n\nmodule.exports = factory\n\nvar own = {}.hasOwnProperty\n\nfunction factory(schema, defaultTagName, caseSensitive) {\n var adjust = caseSensitive ? createAdjustMap(caseSensitive) : null\n\n return h\n\n // Hyperscript compatible DSL for creating virtual hast trees.\n function h(selector, properties) {\n var node = parseSelector(selector, defaultTagName)\n var children = Array.prototype.slice.call(arguments, 2)\n var name = node.tagName.toLowerCase()\n var property\n\n node.tagName = adjust && own.call(adjust, name) ? adjust[name] : name\n\n if (properties && isChildren(properties, node)) {\n children.unshift(properties)\n properties = null\n }\n\n if (properties) {\n for (property in properties) {\n addProperty(node.properties, property, properties[property])\n }\n }\n\n addChild(node.children, children)\n\n if (node.tagName === 'template') {\n node.content = {type: 'root', children: node.children}\n node.children = []\n }\n\n return node\n }\n\n function addProperty(properties, key, value) {\n var info\n var property\n var result\n\n // Ignore nullish and NaN values.\n if (value === null || value === undefined || value !== value) {\n return\n }\n\n info = find(schema, key)\n property = info.property\n result = value\n\n // Handle list values.\n if (typeof result === 'string') {\n if (info.spaceSeparated) {\n result = spaces(result)\n } else if (info.commaSeparated) {\n result = commas(result)\n } else if (info.commaOrSpaceSeparated) {\n result = spaces(commas(result).join(' '))\n }\n }\n\n // Accept `object` on style.\n if (property === 'style' && typeof value !== 'string') {\n result = style(result)\n }\n\n // Class-names (which can be added both on the `selector` and here).\n if (property === 'className' && properties.className) {\n result = properties.className.concat(result)\n }\n\n properties[property] = parsePrimitives(info, property, result)\n }\n}\n\nfunction isChildren(value, node) {\n return (\n typeof value === 'string' ||\n 'length' in value ||\n isNode(node.tagName, value)\n )\n}\n\nfunction isNode(tagName, value) {\n var type = value.type\n\n if (tagName === 'input' || !type || typeof type !== 'string') {\n return false\n }\n\n if (typeof value.children === 'object' && 'length' in value.children) {\n return true\n }\n\n type = type.toLowerCase()\n\n if (tagName === 'button') {\n return (\n type !== 'menu' &&\n type !== 'submit' &&\n type !== 'reset' &&\n type !== 'button'\n )\n }\n\n return 'value' in value\n}\n\nfunction addChild(nodes, value) {\n var index\n var length\n\n if (typeof value === 'string' || typeof value === 'number') {\n nodes.push({type: 'text', value: String(value)})\n return\n }\n\n if (typeof value === 'object' && 'length' in value) {\n index = -1\n length = value.length\n\n while (++index < length) {\n addChild(nodes, value[index])\n }\n\n return\n }\n\n if (typeof value !== 'object' || !('type' in value)) {\n throw new Error('Expected node, nodes, or string, got `' + value + '`')\n }\n\n nodes.push(value)\n}\n\n// Parse a (list of) primitives.\nfunction parsePrimitives(info, name, value) {\n var index\n var length\n var result\n\n if (typeof value !== 'object' || !('length' in value)) {\n return parsePrimitive(info, name, value)\n }\n\n length = value.length\n index = -1\n result = []\n\n while (++index < length) {\n result[index] = parsePrimitive(info, name, value[index])\n }\n\n return result\n}\n\n// Parse a single primitives.\nfunction parsePrimitive(info, name, value) {\n var result = value\n\n if (info.number || info.positiveNumber) {\n if (!isNaN(result) && result !== '') {\n result = Number(result)\n }\n } else if (info.boolean || info.overloadedBoolean) {\n // Accept `boolean` and `string`.\n if (\n typeof result === 'string' &&\n (result === '' || normalize(value) === normalize(name))\n ) {\n result = true\n }\n }\n\n return result\n}\n\nfunction style(value) {\n var result = []\n var key\n\n for (key in value) {\n result.push([key, value[key]].join(': '))\n }\n\n return result.join('; ')\n}\n\nfunction createAdjustMap(values) {\n var length = values.length\n var index = -1\n var result = {}\n var value\n\n while (++index < length) {\n value = values[index]\n result[value.toLowerCase()] = value\n }\n\n return result\n}\n","'use strict'\n\nvar schema = require('property-information/html')\nvar factory = require('./factory')\n\nvar html = factory(schema, 'div')\nhtml.displayName = 'html'\n\nmodule.exports = html\n","'use strict'\n\nmodule.exports = require('./html')\n","'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","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","'use strict'\n\nmodule.exports = alphabetical\n\n// Check if the given character code, or the character code at the first\n// character, is alphabetical.\nfunction alphabetical(character) {\n var code = typeof character === 'string' ? character.charCodeAt(0) : character\n\n return (\n (code >= 97 && code <= 122) /* a-z */ ||\n (code >= 65 && code <= 90) /* A-Z */\n )\n}\n","'use strict'\n\nvar alphabetical = require('is-alphabetical')\nvar decimal = require('is-decimal')\n\nmodule.exports = alphanumerical\n\n// Check if the given character code, or the character code at the first\n// character, is alphanumerical.\nfunction alphanumerical(character) {\n return alphabetical(character) || decimal(character)\n}\n","'use strict'\n\nmodule.exports = decimal\n\n// Check if the given character code, or the character code at the first\n// character, is decimal.\nfunction decimal(character) {\n var code = typeof character === 'string' ? character.charCodeAt(0) : character\n\n return code >= 48 && code <= 57 /* 0-9 */\n}\n","'use strict'\n\nmodule.exports = hexadecimal\n\n// Check if the given character code, or the character code at the first\n// character, is hexadecimal.\nfunction hexadecimal(character) {\n var code = typeof character === 'string' ? character.charCodeAt(0) : character\n\n return (\n (code >= 97 /* a */ && code <= 102) /* z */ ||\n (code >= 65 /* A */ && code <= 70) /* Z */ ||\n (code >= 48 /* A */ && code <= 57) /* Z */\n )\n}\n","'use strict';\n\n/** @type {import('./abs')} */\nmodule.exports = Math.abs;\n","'use strict';\n\n/** @type {import('./floor')} */\nmodule.exports = Math.floor;\n","'use strict';\n\n/** @type {import('./isNaN')} */\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","'use strict';\n\n/** @type {import('./max')} */\nmodule.exports = Math.max;\n","'use strict';\n\n/** @type {import('./min')} */\nmodule.exports = Math.min;\n","'use strict';\n\n/** @type {import('./pow')} */\nmodule.exports = Math.pow;\n","'use strict';\n\n/** @type {import('./round')} */\nmodule.exports = Math.round;\n","'use strict';\n\nvar $isNaN = require('./isNaN');\n\n/** @type {import('./sign')} */\nmodule.exports = function sign(number) {\n\tif ($isNaN(number) || number === 0) {\n\t\treturn number;\n\t}\n\treturn number < 0 ? -1 : +1;\n};\n","var NodeType;\r\n(function (NodeType) {\r\n NodeType[NodeType[\"Document\"] = 0] = \"Document\";\r\n NodeType[NodeType[\"DocumentType\"] = 1] = \"DocumentType\";\r\n NodeType[NodeType[\"Element\"] = 2] = \"Element\";\r\n NodeType[NodeType[\"Text\"] = 3] = \"Text\";\r\n NodeType[NodeType[\"CDATA\"] = 4] = \"CDATA\";\r\n NodeType[NodeType[\"Comment\"] = 5] = \"Comment\";\r\n})(NodeType || (NodeType = {}));\n\nfunction isElement(n) {\r\n return n.nodeType === n.ELEMENT_NODE;\r\n}\r\nfunction isShadowRoot(n) {\r\n const host = n === null || n === void 0 ? void 0 : n.host;\r\n return Boolean((host === null || host === void 0 ? void 0 : host.shadowRoot) === n);\r\n}\r\nfunction isNativeShadowDom(shadowRoot) {\r\n return Object.prototype.toString.call(shadowRoot) === '[object ShadowRoot]';\r\n}\r\nfunction fixBrowserCompatibilityIssuesInCSS(cssText) {\r\n if (cssText.includes(' background-clip: text;') &&\r\n !cssText.includes(' -webkit-background-clip: text;')) {\r\n cssText = cssText.replace(' background-clip: text;', ' -webkit-background-clip: text; background-clip: text;');\r\n }\r\n return cssText;\r\n}\r\nfunction escapeImportStatement(rule) {\r\n const { cssText } = rule;\r\n if (cssText.split('\"').length < 3)\r\n return cssText;\r\n const statement = ['@import', `url(${JSON.stringify(rule.href)})`];\r\n if (rule.layerName === '') {\r\n statement.push(`layer`);\r\n }\r\n else if (rule.layerName) {\r\n statement.push(`layer(${rule.layerName})`);\r\n }\r\n if (rule.supportsText) {\r\n statement.push(`supports(${rule.supportsText})`);\r\n }\r\n if (rule.media.length) {\r\n statement.push(rule.media.mediaText);\r\n }\r\n return statement.join(' ') + ';';\r\n}\r\nfunction stringifyStylesheet(s) {\r\n try {\r\n const rules = s.rules || s.cssRules;\r\n return rules\r\n ? fixBrowserCompatibilityIssuesInCSS(Array.from(rules, stringifyRule).join(''))\r\n : null;\r\n }\r\n catch (error) {\r\n return null;\r\n }\r\n}\r\nfunction stringifyRule(rule) {\r\n let importStringified;\r\n if (isCSSImportRule(rule)) {\r\n try {\r\n importStringified =\r\n stringifyStylesheet(rule.styleSheet) ||\r\n escapeImportStatement(rule);\r\n }\r\n catch (error) {\r\n }\r\n }\r\n else if (isCSSStyleRule(rule) && rule.selectorText.includes(':')) {\r\n return fixSafariColons(rule.cssText);\r\n }\r\n return importStringified || rule.cssText;\r\n}\r\nfunction fixSafariColons(cssStringified) {\r\n const regex = /(\\[(?:[\\w-]+)[^\\\\])(:(?:[\\w-]+)\\])/gm;\r\n return cssStringified.replace(regex, '$1\\\\$2');\r\n}\r\nfunction isCSSImportRule(rule) {\r\n return 'styleSheet' in rule;\r\n}\r\nfunction isCSSStyleRule(rule) {\r\n return 'selectorText' in rule;\r\n}\r\nclass Mirror {\r\n constructor() {\r\n this.idNodeMap = new Map();\r\n this.nodeMetaMap = new WeakMap();\r\n }\r\n getId(n) {\r\n var _a;\r\n if (!n)\r\n return -1;\r\n const id = (_a = this.getMeta(n)) === null || _a === void 0 ? void 0 : _a.id;\r\n return id !== null && id !== void 0 ? id : -1;\r\n }\r\n getNode(id) {\r\n return this.idNodeMap.get(id) || null;\r\n }\r\n getIds() {\r\n return Array.from(this.idNodeMap.keys());\r\n }\r\n getMeta(n) {\r\n return this.nodeMetaMap.get(n) || null;\r\n }\r\n removeNodeFromMap(n) {\r\n const id = this.getId(n);\r\n this.idNodeMap.delete(id);\r\n if (n.childNodes) {\r\n n.childNodes.forEach((childNode) => this.removeNodeFromMap(childNode));\r\n }\r\n }\r\n has(id) {\r\n return this.idNodeMap.has(id);\r\n }\r\n hasNode(node) {\r\n return this.nodeMetaMap.has(node);\r\n }\r\n add(n, meta) {\r\n const id = meta.id;\r\n this.idNodeMap.set(id, n);\r\n this.nodeMetaMap.set(n, meta);\r\n }\r\n replace(id, n) {\r\n const oldNode = this.getNode(id);\r\n if (oldNode) {\r\n const meta = this.nodeMetaMap.get(oldNode);\r\n if (meta)\r\n this.nodeMetaMap.set(n, meta);\r\n }\r\n this.idNodeMap.set(id, n);\r\n }\r\n reset() {\r\n this.idNodeMap = new Map();\r\n this.nodeMetaMap = new WeakMap();\r\n }\r\n}\r\nfunction createMirror() {\r\n return new Mirror();\r\n}\r\nfunction maskInputValue({ element, maskInputOptions, tagName, type, value, maskInputFn, }) {\r\n let text = value || '';\r\n const actualType = type && toLowerCase(type);\r\n if (maskInputOptions[tagName.toLowerCase()] ||\r\n (actualType && maskInputOptions[actualType])) {\r\n if (maskInputFn) {\r\n text = maskInputFn(text, element);\r\n }\r\n else {\r\n text = '*'.repeat(text.length);\r\n }\r\n }\r\n return text;\r\n}\r\nfunction toLowerCase(str) {\r\n return str.toLowerCase();\r\n}\r\nconst ORIGINAL_ATTRIBUTE_NAME = '__rrweb_original__';\r\nfunction is2DCanvasBlank(canvas) {\r\n const ctx = canvas.getContext('2d');\r\n if (!ctx)\r\n return true;\r\n const chunkSize = 50;\r\n for (let x = 0; x < canvas.width; x += chunkSize) {\r\n for (let y = 0; y < canvas.height; y += chunkSize) {\r\n const getImageData = ctx.getImageData;\r\n const originalGetImageData = ORIGINAL_ATTRIBUTE_NAME in getImageData\r\n ? getImageData[ORIGINAL_ATTRIBUTE_NAME]\r\n : getImageData;\r\n const pixelBuffer = new Uint32Array(originalGetImageData.call(ctx, x, y, Math.min(chunkSize, canvas.width - x), Math.min(chunkSize, canvas.height - y)).data.buffer);\r\n if (pixelBuffer.some((pixel) => pixel !== 0))\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction getInputType(element) {\r\n const type = element.type;\r\n return element.hasAttribute('data-rr-is-password')\r\n ? 'password'\r\n : type\r\n ?\r\n toLowerCase(type)\r\n : null;\r\n}\r\nfunction extractFileExtension(path, baseURL) {\r\n var _a;\r\n let url;\r\n try {\r\n url = new URL(path, baseURL !== null && baseURL !== void 0 ? baseURL : window.location.href);\r\n }\r\n catch (err) {\r\n return null;\r\n }\r\n const regex = /\\.([0-9a-z]+)(?:$)/i;\r\n const match = url.pathname.match(regex);\r\n return (_a = match === null || match === void 0 ? void 0 : match[1]) !== null && _a !== void 0 ? _a : null;\r\n}\n\nlet _id = 1;\r\nconst tagNameRegex = new RegExp('[^a-z0-9-_:]');\r\nconst IGNORED_NODE = -2;\r\nfunction genId() {\r\n return _id++;\r\n}\r\nfunction getValidTagName(element) {\r\n if (element instanceof HTMLFormElement) {\r\n return 'form';\r\n }\r\n const processedTagName = toLowerCase(element.tagName);\r\n if (tagNameRegex.test(processedTagName)) {\r\n return 'div';\r\n }\r\n return processedTagName;\r\n}\r\nfunction extractOrigin(url) {\r\n let origin = '';\r\n if (url.indexOf('//') > -1) {\r\n origin = url.split('/').slice(0, 3).join('/');\r\n }\r\n else {\r\n origin = url.split('/')[0];\r\n }\r\n origin = origin.split('?')[0];\r\n return origin;\r\n}\r\nlet canvasService;\r\nlet canvasCtx;\r\nconst URL_IN_CSS_REF = /url\\((?:(')([^']*)'|(\")(.*?)\"|([^)]*))\\)/gm;\r\nconst URL_PROTOCOL_MATCH = /^(?:[a-z+]+:)?\\/\\//i;\r\nconst URL_WWW_MATCH = /^www\\..*/i;\r\nconst DATA_URI = /^(data:)([^,]*),(.*)/i;\r\nfunction absoluteToStylesheet(cssText, href) {\r\n return (cssText || '').replace(URL_IN_CSS_REF, (origin, quote1, path1, quote2, path2, path3) => {\r\n const filePath = path1 || path2 || path3;\r\n const maybeQuote = quote1 || quote2 || '';\r\n if (!filePath) {\r\n return origin;\r\n }\r\n if (URL_PROTOCOL_MATCH.test(filePath) || URL_WWW_MATCH.test(filePath)) {\r\n return `url(${maybeQuote}${filePath}${maybeQuote})`;\r\n }\r\n if (DATA_URI.test(filePath)) {\r\n return `url(${maybeQuote}${filePath}${maybeQuote})`;\r\n }\r\n if (filePath[0] === '/') {\r\n return `url(${maybeQuote}${extractOrigin(href) + filePath}${maybeQuote})`;\r\n }\r\n const stack = href.split('/');\r\n const parts = filePath.split('/');\r\n stack.pop();\r\n for (const part of parts) {\r\n if (part === '.') {\r\n continue;\r\n }\r\n else if (part === '..') {\r\n stack.pop();\r\n }\r\n else {\r\n stack.push(part);\r\n }\r\n }\r\n return `url(${maybeQuote}${stack.join('/')}${maybeQuote})`;\r\n });\r\n}\r\nconst SRCSET_NOT_SPACES = /^[^ \\t\\n\\r\\u000c]+/;\r\nconst SRCSET_COMMAS_OR_SPACES = /^[, \\t\\n\\r\\u000c]+/;\r\nfunction getAbsoluteSrcsetString(doc, attributeValue) {\r\n if (attributeValue.trim() === '') {\r\n return attributeValue;\r\n }\r\n let pos = 0;\r\n function collectCharacters(regEx) {\r\n let chars;\r\n const match = regEx.exec(attributeValue.substring(pos));\r\n if (match) {\r\n chars = match[0];\r\n pos += chars.length;\r\n return chars;\r\n }\r\n return '';\r\n }\r\n const output = [];\r\n while (true) {\r\n collectCharacters(SRCSET_COMMAS_OR_SPACES);\r\n if (pos >= attributeValue.length) {\r\n break;\r\n }\r\n let url = collectCharacters(SRCSET_NOT_SPACES);\r\n if (url.slice(-1) === ',') {\r\n url = absoluteToDoc(doc, url.substring(0, url.length - 1));\r\n output.push(url);\r\n }\r\n else {\r\n let descriptorsStr = '';\r\n url = absoluteToDoc(doc, url);\r\n let inParens = false;\r\n while (true) {\r\n const c = attributeValue.charAt(pos);\r\n if (c === '') {\r\n output.push((url + descriptorsStr).trim());\r\n break;\r\n }\r\n else if (!inParens) {\r\n if (c === ',') {\r\n pos += 1;\r\n output.push((url + descriptorsStr).trim());\r\n break;\r\n }\r\n else if (c === '(') {\r\n inParens = true;\r\n }\r\n }\r\n else {\r\n if (c === ')') {\r\n inParens = false;\r\n }\r\n }\r\n descriptorsStr += c;\r\n pos += 1;\r\n }\r\n }\r\n }\r\n return output.join(', ');\r\n}\r\nfunction absoluteToDoc(doc, attributeValue) {\r\n if (!attributeValue || attributeValue.trim() === '') {\r\n return attributeValue;\r\n }\r\n const a = doc.createElement('a');\r\n a.href = attributeValue;\r\n return a.href;\r\n}\r\nfunction isSVGElement(el) {\r\n return Boolean(el.tagName === 'svg' || el.ownerSVGElement);\r\n}\r\nfunction getHref() {\r\n const a = document.createElement('a');\r\n a.href = '';\r\n return a.href;\r\n}\r\nfunction transformAttribute(doc, tagName, name, value) {\r\n if (!value) {\r\n return value;\r\n }\r\n if (name === 'src' ||\r\n (name === 'href' && !(tagName === 'use' && value[0] === '#'))) {\r\n return absoluteToDoc(doc, value);\r\n }\r\n else if (name === 'xlink:href' && value[0] !== '#') {\r\n return absoluteToDoc(doc, value);\r\n }\r\n else if (name === 'background' &&\r\n (tagName === 'table' || tagName === 'td' || tagName === 'th')) {\r\n return absoluteToDoc(doc, value);\r\n }\r\n else if (name === 'srcset') {\r\n return getAbsoluteSrcsetString(doc, value);\r\n }\r\n else if (name === 'style') {\r\n return absoluteToStylesheet(value, getHref());\r\n }\r\n else if (tagName === 'object' && name === 'data') {\r\n return absoluteToDoc(doc, value);\r\n }\r\n return value;\r\n}\r\nfunction ignoreAttribute(tagName, name, _value) {\r\n return (tagName === 'video' || tagName === 'audio') && name === 'autoplay';\r\n}\r\nfunction _isBlockedElement(element, blockClass, blockSelector) {\r\n try {\r\n if (typeof blockClass === 'string') {\r\n if (element.classList.contains(blockClass)) {\r\n return true;\r\n }\r\n }\r\n else {\r\n for (let eIndex = element.classList.length; eIndex--;) {\r\n const className = element.classList[eIndex];\r\n if (blockClass.test(className)) {\r\n return true;\r\n }\r\n }\r\n }\r\n if (blockSelector) {\r\n return element.matches(blockSelector);\r\n }\r\n }\r\n catch (e) {\r\n }\r\n return false;\r\n}\r\nfunction classMatchesRegex(node, regex, checkAncestors) {\r\n if (!node)\r\n return false;\r\n if (node.nodeType !== node.ELEMENT_NODE) {\r\n if (!checkAncestors)\r\n return false;\r\n return classMatchesRegex(node.parentNode, regex, checkAncestors);\r\n }\r\n for (let eIndex = node.classList.length; eIndex--;) {\r\n const className = node.classList[eIndex];\r\n if (regex.test(className)) {\r\n return true;\r\n }\r\n }\r\n if (!checkAncestors)\r\n return false;\r\n return classMatchesRegex(node.parentNode, regex, checkAncestors);\r\n}\r\nfunction needMaskingText(node, maskTextClass, maskTextSelector, checkAncestors) {\r\n try {\r\n const el = node.nodeType === node.ELEMENT_NODE\r\n ? node\r\n : node.parentElement;\r\n if (el === null)\r\n return false;\r\n if (typeof maskTextClass === 'string') {\r\n if (checkAncestors) {\r\n if (el.closest(`.${maskTextClass}`))\r\n return true;\r\n }\r\n else {\r\n if (el.classList.contains(maskTextClass))\r\n return true;\r\n }\r\n }\r\n else {\r\n if (classMatchesRegex(el, maskTextClass, checkAncestors))\r\n return true;\r\n }\r\n if (maskTextSelector) {\r\n if (checkAncestors) {\r\n if (el.closest(maskTextSelector))\r\n return true;\r\n }\r\n else {\r\n if (el.matches(maskTextSelector))\r\n return true;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n }\r\n return false;\r\n}\r\nfunction onceIframeLoaded(iframeEl, listener, iframeLoadTimeout) {\r\n const win = iframeEl.contentWindow;\r\n if (!win) {\r\n return;\r\n }\r\n let fired = false;\r\n let readyState;\r\n try {\r\n readyState = win.document.readyState;\r\n }\r\n catch (error) {\r\n return;\r\n }\r\n if (readyState !== 'complete') {\r\n const timer = setTimeout(() => {\r\n if (!fired) {\r\n listener();\r\n fired = true;\r\n }\r\n }, iframeLoadTimeout);\r\n iframeEl.addEventListener('load', () => {\r\n clearTimeout(timer);\r\n fired = true;\r\n listener();\r\n });\r\n return;\r\n }\r\n const blankUrl = 'about:blank';\r\n if (win.location.href !== blankUrl ||\r\n iframeEl.src === blankUrl ||\r\n iframeEl.src === '') {\r\n setTimeout(listener, 0);\r\n return iframeEl.addEventListener('load', listener);\r\n }\r\n iframeEl.addEventListener('load', listener);\r\n}\r\nfunction onceStylesheetLoaded(link, listener, styleSheetLoadTimeout) {\r\n let fired = false;\r\n let styleSheetLoaded;\r\n try {\r\n styleSheetLoaded = link.sheet;\r\n }\r\n catch (error) {\r\n return;\r\n }\r\n if (styleSheetLoaded)\r\n return;\r\n const timer = setTimeout(() => {\r\n if (!fired) {\r\n listener();\r\n fired = true;\r\n }\r\n }, styleSheetLoadTimeout);\r\n link.addEventListener('load', () => {\r\n clearTimeout(timer);\r\n fired = true;\r\n listener();\r\n });\r\n}\r\nfunction serializeNode(n, options) {\r\n const { doc, mirror, blockClass, blockSelector, needsMask, inlineStylesheet, maskInputOptions = {}, maskTextFn, maskInputFn, dataURLOptions = {}, inlineImages, recordCanvas, keepIframeSrcFn, newlyAddedElement = false, } = options;\r\n const rootId = getRootId(doc, mirror);\r\n switch (n.nodeType) {\r\n case n.DOCUMENT_NODE:\r\n if (n.compatMode !== 'CSS1Compat') {\r\n return {\r\n type: NodeType.Document,\r\n childNodes: [],\r\n compatMode: n.compatMode,\r\n };\r\n }\r\n else {\r\n return {\r\n type: NodeType.Document,\r\n childNodes: [],\r\n };\r\n }\r\n case n.DOCUMENT_TYPE_NODE:\r\n return {\r\n type: NodeType.DocumentType,\r\n name: n.name,\r\n publicId: n.publicId,\r\n systemId: n.systemId,\r\n rootId,\r\n };\r\n case n.ELEMENT_NODE:\r\n return serializeElementNode(n, {\r\n doc,\r\n blockClass,\r\n blockSelector,\r\n inlineStylesheet,\r\n maskInputOptions,\r\n maskInputFn,\r\n dataURLOptions,\r\n inlineImages,\r\n recordCanvas,\r\n keepIframeSrcFn,\r\n newlyAddedElement,\r\n rootId,\r\n });\r\n case n.TEXT_NODE:\r\n return serializeTextNode(n, {\r\n needsMask,\r\n maskTextFn,\r\n rootId,\r\n });\r\n case n.CDATA_SECTION_NODE:\r\n return {\r\n type: NodeType.CDATA,\r\n textContent: '',\r\n rootId,\r\n };\r\n case n.COMMENT_NODE:\r\n return {\r\n type: NodeType.Comment,\r\n textContent: n.textContent || '',\r\n rootId,\r\n };\r\n default:\r\n return false;\r\n }\r\n}\r\nfunction getRootId(doc, mirror) {\r\n if (!mirror.hasNode(doc))\r\n return undefined;\r\n const docId = mirror.getId(doc);\r\n return docId === 1 ? undefined : docId;\r\n}\r\nfunction serializeTextNode(n, options) {\r\n var _a;\r\n const { needsMask, maskTextFn, rootId } = options;\r\n const parentTagName = n.parentNode && n.parentNode.tagName;\r\n let textContent = n.textContent;\r\n const isStyle = parentTagName === 'STYLE' ? true : undefined;\r\n const isScript = parentTagName === 'SCRIPT' ? true : undefined;\r\n if (isStyle && textContent) {\r\n try {\r\n if (n.nextSibling || n.previousSibling) {\r\n }\r\n else if ((_a = n.parentNode.sheet) === null || _a === void 0 ? void 0 : _a.cssRules) {\r\n textContent = stringifyStylesheet(n.parentNode.sheet);\r\n }\r\n }\r\n catch (err) {\r\n console.warn(`Cannot get CSS styles from text's parentNode. Error: ${err}`, n);\r\n }\r\n textContent = absoluteToStylesheet(textContent, getHref());\r\n }\r\n if (isScript) {\r\n textContent = 'SCRIPT_PLACEHOLDER';\r\n }\r\n if (!isStyle && !isScript && textContent && needsMask) {\r\n textContent = maskTextFn\r\n ? maskTextFn(textContent, n.parentElement)\r\n : textContent.replace(/[\\S]/g, '*');\r\n }\r\n return {\r\n type: NodeType.Text,\r\n textContent: textContent || '',\r\n isStyle,\r\n rootId,\r\n };\r\n}\r\nfunction serializeElementNode(n, options) {\r\n const { doc, blockClass, blockSelector, inlineStylesheet, maskInputOptions = {}, maskInputFn, dataURLOptions = {}, inlineImages, recordCanvas, keepIframeSrcFn, newlyAddedElement = false, rootId, } = options;\r\n const needBlock = _isBlockedElement(n, blockClass, blockSelector);\r\n const tagName = getValidTagName(n);\r\n let attributes = {};\r\n const len = n.attributes.length;\r\n for (let i = 0; i < len; i++) {\r\n const attr = n.attributes[i];\r\n if (!ignoreAttribute(tagName, attr.name, attr.value)) {\r\n attributes[attr.name] = transformAttribute(doc, tagName, toLowerCase(attr.name), attr.value);\r\n }\r\n }\r\n if (tagName === 'link' && inlineStylesheet) {\r\n const stylesheet = Array.from(doc.styleSheets).find((s) => {\r\n return s.href === n.href;\r\n });\r\n let cssText = null;\r\n if (stylesheet) {\r\n cssText = stringifyStylesheet(stylesheet);\r\n }\r\n if (cssText) {\r\n delete attributes.rel;\r\n delete attributes.href;\r\n attributes._cssText = absoluteToStylesheet(cssText, stylesheet.href);\r\n }\r\n }\r\n if (tagName === 'style' &&\r\n n.sheet &&\r\n !(n.innerText || n.textContent || '').trim().length) {\r\n const cssText = stringifyStylesheet(n.sheet);\r\n if (cssText) {\r\n attributes._cssText = absoluteToStylesheet(cssText, getHref());\r\n }\r\n }\r\n if (tagName === 'input' || tagName === 'textarea' || tagName === 'select') {\r\n const value = n.value;\r\n const checked = n.checked;\r\n if (attributes.type !== 'radio' &&\r\n attributes.type !== 'checkbox' &&\r\n attributes.type !== 'submit' &&\r\n attributes.type !== 'button' &&\r\n value) {\r\n attributes.value = maskInputValue({\r\n element: n,\r\n type: getInputType(n),\r\n tagName,\r\n value,\r\n maskInputOptions,\r\n maskInputFn,\r\n });\r\n }\r\n else if (checked) {\r\n attributes.checked = checked;\r\n }\r\n }\r\n if (tagName === 'option') {\r\n if (n.selected && !maskInputOptions['select']) {\r\n attributes.selected = true;\r\n }\r\n else {\r\n delete attributes.selected;\r\n }\r\n }\r\n if (tagName === 'canvas' && recordCanvas) {\r\n if (n.__context === '2d') {\r\n if (!is2DCanvasBlank(n)) {\r\n attributes.rr_dataURL = n.toDataURL(dataURLOptions.type, dataURLOptions.quality);\r\n }\r\n }\r\n else if (!('__context' in n)) {\r\n const canvasDataURL = n.toDataURL(dataURLOptions.type, dataURLOptions.quality);\r\n const blankCanvas = document.createElement('canvas');\r\n blankCanvas.width = n.width;\r\n blankCanvas.height = n.height;\r\n const blankCanvasDataURL = blankCanvas.toDataURL(dataURLOptions.type, dataURLOptions.quality);\r\n if (canvasDataURL !== blankCanvasDataURL) {\r\n attributes.rr_dataURL = canvasDataURL;\r\n }\r\n }\r\n }\r\n if (tagName === 'img' && inlineImages) {\r\n if (!canvasService) {\r\n canvasService = doc.createElement('canvas');\r\n canvasCtx = canvasService.getContext('2d');\r\n }\r\n const image = n;\r\n const oldValue = image.crossOrigin;\r\n image.crossOrigin = 'anonymous';\r\n const recordInlineImage = () => {\r\n image.removeEventListener('load', recordInlineImage);\r\n try {\r\n canvasService.width = image.naturalWidth;\r\n canvasService.height = image.naturalHeight;\r\n canvasCtx.drawImage(image, 0, 0);\r\n attributes.rr_dataURL = canvasService.toDataURL(dataURLOptions.type, dataURLOptions.quality);\r\n }\r\n catch (err) {\r\n console.warn(`Cannot inline img src=${image.currentSrc}! Error: ${err}`);\r\n }\r\n oldValue\r\n ? (attributes.crossOrigin = oldValue)\r\n : image.removeAttribute('crossorigin');\r\n };\r\n if (image.complete && image.naturalWidth !== 0)\r\n recordInlineImage();\r\n else\r\n image.addEventListener('load', recordInlineImage);\r\n }\r\n if (tagName === 'audio' || tagName === 'video') {\r\n const mediaAttributes = attributes;\r\n mediaAttributes.rr_mediaState = n.paused\r\n ? 'paused'\r\n : 'played';\r\n mediaAttributes.rr_mediaCurrentTime = n.currentTime;\r\n mediaAttributes.rr_mediaPlaybackRate = n.playbackRate;\r\n mediaAttributes.rr_mediaMuted = n.muted;\r\n mediaAttributes.rr_mediaLoop = n.loop;\r\n mediaAttributes.rr_mediaVolume = n.volume;\r\n }\r\n if (!newlyAddedElement) {\r\n if (n.scrollLeft) {\r\n attributes.rr_scrollLeft = n.scrollLeft;\r\n }\r\n if (n.scrollTop) {\r\n attributes.rr_scrollTop = n.scrollTop;\r\n }\r\n }\r\n if (needBlock) {\r\n const { width, height } = n.getBoundingClientRect();\r\n attributes = {\r\n class: attributes.class,\r\n rr_width: `${width}px`,\r\n rr_height: `${height}px`,\r\n };\r\n }\r\n if (tagName === 'iframe' && !keepIframeSrcFn(attributes.src)) {\r\n if (!n.contentDocument) {\r\n attributes.rr_src = attributes.src;\r\n }\r\n delete attributes.src;\r\n }\r\n let isCustomElement;\r\n try {\r\n if (customElements.get(tagName))\r\n isCustomElement = true;\r\n }\r\n catch (e) {\r\n }\r\n return {\r\n type: NodeType.Element,\r\n tagName,\r\n attributes,\r\n childNodes: [],\r\n isSVG: isSVGElement(n) || undefined,\r\n needBlock,\r\n rootId,\r\n isCustom: isCustomElement,\r\n };\r\n}\r\nfunction lowerIfExists(maybeAttr) {\r\n if (maybeAttr === undefined || maybeAttr === null) {\r\n return '';\r\n }\r\n else {\r\n return maybeAttr.toLowerCase();\r\n }\r\n}\r\nfunction slimDOMExcluded(sn, slimDOMOptions) {\r\n if (slimDOMOptions.comment && sn.type === NodeType.Comment) {\r\n return true;\r\n }\r\n else if (sn.type === NodeType.Element) {\r\n if (slimDOMOptions.script &&\r\n (sn.tagName === 'script' ||\r\n (sn.tagName === 'link' &&\r\n (sn.attributes.rel === 'preload' ||\r\n sn.attributes.rel === 'modulepreload') &&\r\n sn.attributes.as === 'script') ||\r\n (sn.tagName === 'link' &&\r\n sn.attributes.rel === 'prefetch' &&\r\n typeof sn.attributes.href === 'string' &&\r\n extractFileExtension(sn.attributes.href) === 'js'))) {\r\n return true;\r\n }\r\n else if (slimDOMOptions.headFavicon &&\r\n ((sn.tagName === 'link' && sn.attributes.rel === 'shortcut icon') ||\r\n (sn.tagName === 'meta' &&\r\n (lowerIfExists(sn.attributes.name).match(/^msapplication-tile(image|color)$/) ||\r\n lowerIfExists(sn.attributes.name) === 'application-name' ||\r\n lowerIfExists(sn.attributes.rel) === 'icon' ||\r\n lowerIfExists(sn.attributes.rel) === 'apple-touch-icon' ||\r\n lowerIfExists(sn.attributes.rel) === 'shortcut icon')))) {\r\n return true;\r\n }\r\n else if (sn.tagName === 'meta') {\r\n if (slimDOMOptions.headMetaDescKeywords &&\r\n lowerIfExists(sn.attributes.name).match(/^description|keywords$/)) {\r\n return true;\r\n }\r\n else if (slimDOMOptions.headMetaSocial &&\r\n (lowerIfExists(sn.attributes.property).match(/^(og|twitter|fb):/) ||\r\n lowerIfExists(sn.attributes.name).match(/^(og|twitter):/) ||\r\n lowerIfExists(sn.attributes.name) === 'pinterest')) {\r\n return true;\r\n }\r\n else if (slimDOMOptions.headMetaRobots &&\r\n (lowerIfExists(sn.attributes.name) === 'robots' ||\r\n lowerIfExists(sn.attributes.name) === 'googlebot' ||\r\n lowerIfExists(sn.attributes.name) === 'bingbot')) {\r\n return true;\r\n }\r\n else if (slimDOMOptions.headMetaHttpEquiv &&\r\n sn.attributes['http-equiv'] !== undefined) {\r\n return true;\r\n }\r\n else if (slimDOMOptions.headMetaAuthorship &&\r\n (lowerIfExists(sn.attributes.name) === 'author' ||\r\n lowerIfExists(sn.attributes.name) === 'generator' ||\r\n lowerIfExists(sn.attributes.name) === 'framework' ||\r\n lowerIfExists(sn.attributes.name) === 'publisher' ||\r\n lowerIfExists(sn.attributes.name) === 'progid' ||\r\n lowerIfExists(sn.attributes.property).match(/^article:/) ||\r\n lowerIfExists(sn.attributes.property).match(/^product:/))) {\r\n return true;\r\n }\r\n else if (slimDOMOptions.headMetaVerification &&\r\n (lowerIfExists(sn.attributes.name) === 'google-site-verification' ||\r\n lowerIfExists(sn.attributes.name) === 'yandex-verification' ||\r\n lowerIfExists(sn.attributes.name) === 'csrf-token' ||\r\n lowerIfExists(sn.attributes.name) === 'p:domain_verify' ||\r\n lowerIfExists(sn.attributes.name) === 'verify-v1' ||\r\n lowerIfExists(sn.attributes.name) === 'verification' ||\r\n lowerIfExists(sn.attributes.name) === 'shopify-checkout-api-token')) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n}\r\nfunction serializeNodeWithId(n, options) {\r\n const { doc, mirror, blockClass, blockSelector, maskTextClass, maskTextSelector, skipChild = false, inlineStylesheet = true, maskInputOptions = {}, maskTextFn, maskInputFn, slimDOMOptions, dataURLOptions = {}, inlineImages = false, recordCanvas = false, onSerialize, onIframeLoad, iframeLoadTimeout = 5000, onStylesheetLoad, stylesheetLoadTimeout = 5000, keepIframeSrcFn = () => false, newlyAddedElement = false, } = options;\r\n let { needsMask } = options;\r\n let { preserveWhiteSpace = true } = options;\r\n if (!needsMask &&\r\n n.childNodes) {\r\n const checkAncestors = needsMask === undefined;\r\n needsMask = needMaskingText(n, maskTextClass, maskTextSelector, checkAncestors);\r\n }\r\n const _serializedNode = serializeNode(n, {\r\n doc,\r\n mirror,\r\n blockClass,\r\n blockSelector,\r\n needsMask,\r\n inlineStylesheet,\r\n maskInputOptions,\r\n maskTextFn,\r\n maskInputFn,\r\n dataURLOptions,\r\n inlineImages,\r\n recordCanvas,\r\n keepIframeSrcFn,\r\n newlyAddedElement,\r\n });\r\n if (!_serializedNode) {\r\n console.warn(n, 'not serialized');\r\n return null;\r\n }\r\n let id;\r\n if (mirror.hasNode(n)) {\r\n id = mirror.getId(n);\r\n }\r\n else if (slimDOMExcluded(_serializedNode, slimDOMOptions) ||\r\n (!preserveWhiteSpace &&\r\n _serializedNode.type === NodeType.Text &&\r\n !_serializedNode.isStyle &&\r\n !_serializedNode.textContent.replace(/^\\s+|\\s+$/gm, '').length)) {\r\n id = IGNORED_NODE;\r\n }\r\n else {\r\n id = genId();\r\n }\r\n const serializedNode = Object.assign(_serializedNode, { id });\r\n mirror.add(n, serializedNode);\r\n if (id === IGNORED_NODE) {\r\n return null;\r\n }\r\n if (onSerialize) {\r\n onSerialize(n);\r\n }\r\n let recordChild = !skipChild;\r\n if (serializedNode.type === NodeType.Element) {\r\n recordChild = recordChild && !serializedNode.needBlock;\r\n delete serializedNode.needBlock;\r\n const shadowRoot = n.shadowRoot;\r\n if (shadowRoot && isNativeShadowDom(shadowRoot))\r\n serializedNode.isShadowHost = true;\r\n }\r\n if ((serializedNode.type === NodeType.Document ||\r\n serializedNode.type === NodeType.Element) &&\r\n recordChild) {\r\n if (slimDOMOptions.headWhitespace &&\r\n serializedNode.type === NodeType.Element &&\r\n serializedNode.tagName === 'head') {\r\n preserveWhiteSpace = false;\r\n }\r\n const bypassOptions = {\r\n doc,\r\n mirror,\r\n blockClass,\r\n blockSelector,\r\n needsMask,\r\n maskTextClass,\r\n maskTextSelector,\r\n skipChild,\r\n inlineStylesheet,\r\n maskInputOptions,\r\n maskTextFn,\r\n maskInputFn,\r\n slimDOMOptions,\r\n dataURLOptions,\r\n inlineImages,\r\n recordCanvas,\r\n preserveWhiteSpace,\r\n onSerialize,\r\n onIframeLoad,\r\n iframeLoadTimeout,\r\n onStylesheetLoad,\r\n stylesheetLoadTimeout,\r\n keepIframeSrcFn,\r\n };\r\n if (serializedNode.type === NodeType.Element &&\r\n serializedNode.tagName === 'textarea' &&\r\n serializedNode.attributes.value !== undefined) ;\r\n else {\r\n for (const childN of Array.from(n.childNodes)) {\r\n const serializedChildNode = serializeNodeWithId(childN, bypassOptions);\r\n if (serializedChildNode) {\r\n serializedNode.childNodes.push(serializedChildNode);\r\n }\r\n }\r\n }\r\n if (isElement(n) && n.shadowRoot) {\r\n for (const childN of Array.from(n.shadowRoot.childNodes)) {\r\n const serializedChildNode = serializeNodeWithId(childN, bypassOptions);\r\n if (serializedChildNode) {\r\n isNativeShadowDom(n.shadowRoot) &&\r\n (serializedChildNode.isShadow = true);\r\n serializedNode.childNodes.push(serializedChildNode);\r\n }\r\n }\r\n }\r\n }\r\n if (n.parentNode &&\r\n isShadowRoot(n.parentNode) &&\r\n isNativeShadowDom(n.parentNode)) {\r\n serializedNode.isShadow = true;\r\n }\r\n if (serializedNode.type === NodeType.Element &&\r\n serializedNode.tagName === 'iframe') {\r\n onceIframeLoaded(n, () => {\r\n const iframeDoc = n.contentDocument;\r\n if (iframeDoc && onIframeLoad) {\r\n const serializedIframeNode = serializeNodeWithId(iframeDoc, {\r\n doc: iframeDoc,\r\n mirror,\r\n blockClass,\r\n blockSelector,\r\n needsMask,\r\n maskTextClass,\r\n maskTextSelector,\r\n skipChild: false,\r\n inlineStylesheet,\r\n maskInputOptions,\r\n maskTextFn,\r\n maskInputFn,\r\n slimDOMOptions,\r\n dataURLOptions,\r\n inlineImages,\r\n recordCanvas,\r\n preserveWhiteSpace,\r\n onSerialize,\r\n onIframeLoad,\r\n iframeLoadTimeout,\r\n onStylesheetLoad,\r\n stylesheetLoadTimeout,\r\n keepIframeSrcFn,\r\n });\r\n if (serializedIframeNode) {\r\n onIframeLoad(n, serializedIframeNode);\r\n }\r\n }\r\n }, iframeLoadTimeout);\r\n }\r\n if (serializedNode.type === NodeType.Element &&\r\n serializedNode.tagName === 'link' &&\r\n typeof serializedNode.attributes.rel === 'string' &&\r\n (serializedNode.attributes.rel === 'stylesheet' ||\r\n (serializedNode.attributes.rel === 'preload' &&\r\n typeof serializedNode.attributes.href === 'string' &&\r\n extractFileExtension(serializedNode.attributes.href) === 'css'))) {\r\n onceStylesheetLoaded(n, () => {\r\n if (onStylesheetLoad) {\r\n const serializedLinkNode = serializeNodeWithId(n, {\r\n doc,\r\n mirror,\r\n blockClass,\r\n blockSelector,\r\n needsMask,\r\n maskTextClass,\r\n maskTextSelector,\r\n skipChild: false,\r\n inlineStylesheet,\r\n maskInputOptions,\r\n maskTextFn,\r\n maskInputFn,\r\n slimDOMOptions,\r\n dataURLOptions,\r\n inlineImages,\r\n recordCanvas,\r\n preserveWhiteSpace,\r\n onSerialize,\r\n onIframeLoad,\r\n iframeLoadTimeout,\r\n onStylesheetLoad,\r\n stylesheetLoadTimeout,\r\n keepIframeSrcFn,\r\n });\r\n if (serializedLinkNode) {\r\n onStylesheetLoad(n, serializedLinkNode);\r\n }\r\n }\r\n }, stylesheetLoadTimeout);\r\n }\r\n return serializedNode;\r\n}\r\nfunction snapshot(n, options) {\r\n const { mirror = new Mirror(), blockClass = 'rr-block', blockSelector = null, maskTextClass = 'rr-mask', maskTextSelector = null, inlineStylesheet = true, inlineImages = false, recordCanvas = false, maskAllInputs = false, maskTextFn, maskInputFn, slimDOM = false, dataURLOptions, preserveWhiteSpace, onSerialize, onIframeLoad, iframeLoadTimeout, onStylesheetLoad, stylesheetLoadTimeout, keepIframeSrcFn = () => false, } = options || {};\r\n const maskInputOptions = maskAllInputs === true\r\n ? {\r\n color: true,\r\n date: true,\r\n 'datetime-local': true,\r\n email: true,\r\n month: true,\r\n number: true,\r\n range: true,\r\n search: true,\r\n tel: true,\r\n text: true,\r\n time: true,\r\n url: true,\r\n week: true,\r\n textarea: true,\r\n select: true,\r\n password: true,\r\n }\r\n : maskAllInputs === false\r\n ? {\r\n password: true,\r\n }\r\n : maskAllInputs;\r\n const slimDOMOptions = slimDOM === true || slimDOM === 'all'\r\n ?\r\n {\r\n script: true,\r\n comment: true,\r\n headFavicon: true,\r\n headWhitespace: true,\r\n headMetaDescKeywords: slimDOM === 'all',\r\n headMetaSocial: true,\r\n headMetaRobots: true,\r\n headMetaHttpEquiv: true,\r\n headMetaAuthorship: true,\r\n headMetaVerification: true,\r\n }\r\n : slimDOM === false\r\n ? {}\r\n : slimDOM;\r\n return serializeNodeWithId(n, {\r\n doc: n,\r\n mirror,\r\n blockClass,\r\n blockSelector,\r\n maskTextClass,\r\n maskTextSelector,\r\n skipChild: false,\r\n inlineStylesheet,\r\n maskInputOptions,\r\n maskTextFn,\r\n maskInputFn,\r\n slimDOMOptions,\r\n dataURLOptions,\r\n inlineImages,\r\n recordCanvas,\r\n preserveWhiteSpace,\r\n onSerialize,\r\n onIframeLoad,\r\n iframeLoadTimeout,\r\n onStylesheetLoad,\r\n stylesheetLoadTimeout,\r\n keepIframeSrcFn,\r\n newlyAddedElement: false,\r\n });\r\n}\n\nfunction on(type, fn, target = document) {\r\n const options = { capture: true, passive: true };\r\n target.addEventListener(type, fn, options);\r\n return () => target.removeEventListener(type, fn, options);\r\n}\r\nconst DEPARTED_MIRROR_ACCESS_WARNING = 'Please stop import mirror directly. Instead of that,' +\r\n '\\r\\n' +\r\n 'now you can use replayer.getMirror() to access the mirror instance of a replayer,' +\r\n '\\r\\n' +\r\n 'or you can use record.mirror to access the mirror instance during recording.';\r\nlet _mirror = {\r\n map: {},\r\n getId() {\r\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\r\n return -1;\r\n },\r\n getNode() {\r\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\r\n return null;\r\n },\r\n removeNodeFromMap() {\r\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\r\n },\r\n has() {\r\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\r\n return false;\r\n },\r\n reset() {\r\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\r\n },\r\n};\r\nif (typeof window !== 'undefined' && window.Proxy && window.Reflect) {\r\n _mirror = new Proxy(_mirror, {\r\n get(target, prop, receiver) {\r\n if (prop === 'map') {\r\n console.error(DEPARTED_MIRROR_ACCESS_WARNING);\r\n }\r\n return Reflect.get(target, prop, receiver);\r\n },\r\n });\r\n}\r\nfunction throttle(func, wait, options = {}) {\r\n let timeout = null;\r\n let previous = 0;\r\n return function (...args) {\r\n const now = Date.now();\r\n if (!previous && options.leading === false) {\r\n previous = now;\r\n }\r\n const remaining = wait - (now - previous);\r\n const context = this;\r\n if (remaining <= 0 || remaining > wait) {\r\n if (timeout) {\r\n clearTimeout(timeout);\r\n timeout = null;\r\n }\r\n previous = now;\r\n func.apply(context, args);\r\n }\r\n else if (!timeout && options.trailing !== false) {\r\n timeout = setTimeout(() => {\r\n previous = options.leading === false ? 0 : Date.now();\r\n timeout = null;\r\n func.apply(context, args);\r\n }, remaining);\r\n }\r\n };\r\n}\r\nfunction hookSetter(target, key, d, isRevoked, win = window) {\r\n const original = win.Object.getOwnPropertyDescriptor(target, key);\r\n win.Object.defineProperty(target, key, isRevoked\r\n ? d\r\n : {\r\n set(value) {\r\n setTimeout(() => {\r\n d.set.call(this, value);\r\n }, 0);\r\n if (original && original.set) {\r\n original.set.call(this, value);\r\n }\r\n },\r\n });\r\n return () => hookSetter(target, key, original || {}, true);\r\n}\r\nfunction patch(source, name, replacement) {\r\n try {\r\n if (!(name in source)) {\r\n return () => {\r\n };\r\n }\r\n const original = source[name];\r\n const wrapped = replacement(original);\r\n if (typeof wrapped === 'function') {\r\n wrapped.prototype = wrapped.prototype || {};\r\n Object.defineProperties(wrapped, {\r\n __rrweb_original__: {\r\n enumerable: false,\r\n value: original,\r\n },\r\n });\r\n }\r\n source[name] = wrapped;\r\n return () => {\r\n source[name] = original;\r\n };\r\n }\r\n catch (_a) {\r\n return () => {\r\n };\r\n }\r\n}\r\nlet nowTimestamp = Date.now;\r\nif (!(/[1-9][0-9]{12}/.test(Date.now().toString()))) {\r\n nowTimestamp = () => new Date().getTime();\r\n}\r\nfunction getWindowScroll(win) {\r\n var _a, _b, _c, _d, _e, _f;\r\n const doc = win.document;\r\n return {\r\n left: doc.scrollingElement\r\n ? doc.scrollingElement.scrollLeft\r\n : win.pageXOffset !== undefined\r\n ? win.pageXOffset\r\n : (doc === null || doc === void 0 ? void 0 : doc.documentElement.scrollLeft) ||\r\n ((_b = (_a = doc === null || doc === void 0 ? void 0 : doc.body) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.scrollLeft) ||\r\n ((_c = doc === null || doc === void 0 ? void 0 : doc.body) === null || _c === void 0 ? void 0 : _c.scrollLeft) ||\r\n 0,\r\n top: doc.scrollingElement\r\n ? doc.scrollingElement.scrollTop\r\n : win.pageYOffset !== undefined\r\n ? win.pageYOffset\r\n : (doc === null || doc === void 0 ? void 0 : doc.documentElement.scrollTop) ||\r\n ((_e = (_d = doc === null || doc === void 0 ? void 0 : doc.body) === null || _d === void 0 ? void 0 : _d.parentElement) === null || _e === void 0 ? void 0 : _e.scrollTop) ||\r\n ((_f = doc === null || doc === void 0 ? void 0 : doc.body) === null || _f === void 0 ? void 0 : _f.scrollTop) ||\r\n 0,\r\n };\r\n}\r\nfunction getWindowHeight() {\r\n return (window.innerHeight ||\r\n (document.documentElement && document.documentElement.clientHeight) ||\r\n (document.body && document.body.clientHeight));\r\n}\r\nfunction getWindowWidth() {\r\n return (window.innerWidth ||\r\n (document.documentElement && document.documentElement.clientWidth) ||\r\n (document.body && document.body.clientWidth));\r\n}\r\nfunction closestElementOfNode(node) {\r\n if (!node) {\r\n return null;\r\n }\r\n const el = node.nodeType === node.ELEMENT_NODE\r\n ? node\r\n : node.parentElement;\r\n return el;\r\n}\r\nfunction isBlocked(node, blockClass, blockSelector, checkAncestors) {\r\n if (!node) {\r\n return false;\r\n }\r\n const el = closestElementOfNode(node);\r\n if (!el) {\r\n return false;\r\n }\r\n try {\r\n if (typeof blockClass === 'string') {\r\n if (el.classList.contains(blockClass))\r\n return true;\r\n if (checkAncestors && el.closest('.' + blockClass) !== null)\r\n return true;\r\n }\r\n else {\r\n if (classMatchesRegex(el, blockClass, checkAncestors))\r\n return true;\r\n }\r\n }\r\n catch (e) {\r\n }\r\n if (blockSelector) {\r\n if (el.matches(blockSelector))\r\n return true;\r\n if (checkAncestors && el.closest(blockSelector) !== null)\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction isSerialized(n, mirror) {\r\n return mirror.getId(n) !== -1;\r\n}\r\nfunction isIgnored(n, mirror) {\r\n return mirror.getId(n) === IGNORED_NODE;\r\n}\r\nfunction isAncestorRemoved(target, mirror) {\r\n if (isShadowRoot(target)) {\r\n return false;\r\n }\r\n const id = mirror.getId(target);\r\n if (!mirror.has(id)) {\r\n return true;\r\n }\r\n if (target.parentNode &&\r\n target.parentNode.nodeType === target.DOCUMENT_NODE) {\r\n return false;\r\n }\r\n if (!target.parentNode) {\r\n return true;\r\n }\r\n return isAncestorRemoved(target.parentNode, mirror);\r\n}\r\nfunction legacy_isTouchEvent(event) {\r\n return Boolean(event.changedTouches);\r\n}\r\nfunction polyfill(win = window) {\r\n if ('NodeList' in win && !win.NodeList.prototype.forEach) {\r\n win.NodeList.prototype.forEach = Array.prototype\r\n .forEach;\r\n }\r\n if ('DOMTokenList' in win && !win.DOMTokenList.prototype.forEach) {\r\n win.DOMTokenList.prototype.forEach = Array.prototype\r\n .forEach;\r\n }\r\n if (!Node.prototype.contains) {\r\n Node.prototype.contains = (...args) => {\r\n let node = args[0];\r\n if (!(0 in args)) {\r\n throw new TypeError('1 argument is required');\r\n }\r\n do {\r\n if (this === node) {\r\n return true;\r\n }\r\n } while ((node = node && node.parentNode));\r\n return false;\r\n };\r\n }\r\n}\r\nfunction isSerializedIframe(n, mirror) {\r\n return Boolean(n.nodeName === 'IFRAME' && mirror.getMeta(n));\r\n}\r\nfunction isSerializedStylesheet(n, mirror) {\r\n return Boolean(n.nodeName === 'LINK' &&\r\n n.nodeType === n.ELEMENT_NODE &&\r\n n.getAttribute &&\r\n n.getAttribute('rel') === 'stylesheet' &&\r\n mirror.getMeta(n));\r\n}\r\nfunction hasShadowRoot(n) {\r\n return Boolean(n === null || n === void 0 ? void 0 : n.shadowRoot);\r\n}\r\nclass StyleSheetMirror {\r\n constructor() {\r\n this.id = 1;\r\n this.styleIDMap = new WeakMap();\r\n this.idStyleMap = new Map();\r\n }\r\n getId(stylesheet) {\r\n var _a;\r\n return (_a = this.styleIDMap.get(stylesheet)) !== null && _a !== void 0 ? _a : -1;\r\n }\r\n has(stylesheet) {\r\n return this.styleIDMap.has(stylesheet);\r\n }\r\n add(stylesheet, id) {\r\n if (this.has(stylesheet))\r\n return this.getId(stylesheet);\r\n let newId;\r\n if (id === undefined) {\r\n newId = this.id++;\r\n }\r\n else\r\n newId = id;\r\n this.styleIDMap.set(stylesheet, newId);\r\n this.idStyleMap.set(newId, stylesheet);\r\n return newId;\r\n }\r\n getStyle(id) {\r\n return this.idStyleMap.get(id) || null;\r\n }\r\n reset() {\r\n this.styleIDMap = new WeakMap();\r\n this.idStyleMap = new Map();\r\n this.id = 1;\r\n }\r\n generateId() {\r\n return this.id++;\r\n }\r\n}\r\nfunction getShadowHost(n) {\r\n var _a, _b;\r\n let shadowHost = null;\r\n if (((_b = (_a = n.getRootNode) === null || _a === void 0 ? void 0 : _a.call(n)) === null || _b === void 0 ? void 0 : _b.nodeType) === Node.DOCUMENT_FRAGMENT_NODE &&\r\n n.getRootNode().host)\r\n shadowHost = n.getRootNode().host;\r\n return shadowHost;\r\n}\r\nfunction getRootShadowHost(n) {\r\n let rootShadowHost = n;\r\n let shadowHost;\r\n while ((shadowHost = getShadowHost(rootShadowHost)))\r\n rootShadowHost = shadowHost;\r\n return rootShadowHost;\r\n}\r\nfunction shadowHostInDom(n) {\r\n const doc = n.ownerDocument;\r\n if (!doc)\r\n return false;\r\n const shadowHost = getRootShadowHost(n);\r\n return doc.contains(shadowHost);\r\n}\r\nfunction inDom(n) {\r\n const doc = n.ownerDocument;\r\n if (!doc)\r\n return false;\r\n return doc.contains(n) || shadowHostInDom(n);\r\n}\n\nvar EventType$1 = /* @__PURE__ */ ((EventType2) => {\n EventType2[EventType2[\"DomContentLoaded\"] = 0] = \"DomContentLoaded\";\n EventType2[EventType2[\"Load\"] = 1] = \"Load\";\n EventType2[EventType2[\"FullSnapshot\"] = 2] = \"FullSnapshot\";\n EventType2[EventType2[\"IncrementalSnapshot\"] = 3] = \"IncrementalSnapshot\";\n EventType2[EventType2[\"Meta\"] = 4] = \"Meta\";\n EventType2[EventType2[\"Custom\"] = 5] = \"Custom\";\n EventType2[EventType2[\"Plugin\"] = 6] = \"Plugin\";\n return EventType2;\n})(EventType$1 || {});\nvar IncrementalSource$1 = /* @__PURE__ */ ((IncrementalSource2) => {\n IncrementalSource2[IncrementalSource2[\"Mutation\"] = 0] = \"Mutation\";\n IncrementalSource2[IncrementalSource2[\"MouseMove\"] = 1] = \"MouseMove\";\n IncrementalSource2[IncrementalSource2[\"MouseInteraction\"] = 2] = \"MouseInteraction\";\n IncrementalSource2[IncrementalSource2[\"Scroll\"] = 3] = \"Scroll\";\n IncrementalSource2[IncrementalSource2[\"ViewportResize\"] = 4] = \"ViewportResize\";\n IncrementalSource2[IncrementalSource2[\"Input\"] = 5] = \"Input\";\n IncrementalSource2[IncrementalSource2[\"TouchMove\"] = 6] = \"TouchMove\";\n IncrementalSource2[IncrementalSource2[\"MediaInteraction\"] = 7] = \"MediaInteraction\";\n IncrementalSource2[IncrementalSource2[\"StyleSheetRule\"] = 8] = \"StyleSheetRule\";\n IncrementalSource2[IncrementalSource2[\"CanvasMutation\"] = 9] = \"CanvasMutation\";\n IncrementalSource2[IncrementalSource2[\"Font\"] = 10] = \"Font\";\n IncrementalSource2[IncrementalSource2[\"Log\"] = 11] = \"Log\";\n IncrementalSource2[IncrementalSource2[\"Drag\"] = 12] = \"Drag\";\n IncrementalSource2[IncrementalSource2[\"StyleDeclaration\"] = 13] = \"StyleDeclaration\";\n IncrementalSource2[IncrementalSource2[\"Selection\"] = 14] = \"Selection\";\n IncrementalSource2[IncrementalSource2[\"AdoptedStyleSheet\"] = 15] = \"AdoptedStyleSheet\";\n IncrementalSource2[IncrementalSource2[\"CustomElement\"] = 16] = \"CustomElement\";\n return IncrementalSource2;\n})(IncrementalSource$1 || {});\nvar MouseInteractions = /* @__PURE__ */ ((MouseInteractions2) => {\n MouseInteractions2[MouseInteractions2[\"MouseUp\"] = 0] = \"MouseUp\";\n MouseInteractions2[MouseInteractions2[\"MouseDown\"] = 1] = \"MouseDown\";\n MouseInteractions2[MouseInteractions2[\"Click\"] = 2] = \"Click\";\n MouseInteractions2[MouseInteractions2[\"ContextMenu\"] = 3] = \"ContextMenu\";\n MouseInteractions2[MouseInteractions2[\"DblClick\"] = 4] = \"DblClick\";\n MouseInteractions2[MouseInteractions2[\"Focus\"] = 5] = \"Focus\";\n MouseInteractions2[MouseInteractions2[\"Blur\"] = 6] = \"Blur\";\n MouseInteractions2[MouseInteractions2[\"TouchStart\"] = 7] = \"TouchStart\";\n MouseInteractions2[MouseInteractions2[\"TouchMove_Departed\"] = 8] = \"TouchMove_Departed\";\n MouseInteractions2[MouseInteractions2[\"TouchEnd\"] = 9] = \"TouchEnd\";\n MouseInteractions2[MouseInteractions2[\"TouchCancel\"] = 10] = \"TouchCancel\";\n return MouseInteractions2;\n})(MouseInteractions || {});\nvar PointerTypes = /* @__PURE__ */ ((PointerTypes2) => {\n PointerTypes2[PointerTypes2[\"Mouse\"] = 0] = \"Mouse\";\n PointerTypes2[PointerTypes2[\"Pen\"] = 1] = \"Pen\";\n PointerTypes2[PointerTypes2[\"Touch\"] = 2] = \"Touch\";\n return PointerTypes2;\n})(PointerTypes || {});\nvar CanvasContext = /* @__PURE__ */ ((CanvasContext2) => {\n CanvasContext2[CanvasContext2[\"2D\"] = 0] = \"2D\";\n CanvasContext2[CanvasContext2[\"WebGL\"] = 1] = \"WebGL\";\n CanvasContext2[CanvasContext2[\"WebGL2\"] = 2] = \"WebGL2\";\n return CanvasContext2;\n})(CanvasContext || {});\n\nfunction isNodeInLinkedList(n) {\r\n return '__ln' in n;\r\n}\r\nclass DoubleLinkedList {\r\n constructor() {\r\n this.length = 0;\r\n this.head = null;\r\n this.tail = null;\r\n }\r\n get(position) {\r\n if (position >= this.length) {\r\n throw new Error('Position outside of list range');\r\n }\r\n let current = this.head;\r\n for (let index = 0; index < position; index++) {\r\n current = (current === null || current === void 0 ? void 0 : current.next) || null;\r\n }\r\n return current;\r\n }\r\n addNode(n) {\r\n const node = {\r\n value: n,\r\n previous: null,\r\n next: null,\r\n };\r\n n.__ln = node;\r\n if (n.previousSibling && isNodeInLinkedList(n.previousSibling)) {\r\n const current = n.previousSibling.__ln.next;\r\n node.next = current;\r\n node.previous = n.previousSibling.__ln;\r\n n.previousSibling.__ln.next = node;\r\n if (current) {\r\n current.previous = node;\r\n }\r\n }\r\n else if (n.nextSibling &&\r\n isNodeInLinkedList(n.nextSibling) &&\r\n n.nextSibling.__ln.previous) {\r\n const current = n.nextSibling.__ln.previous;\r\n node.previous = current;\r\n node.next = n.nextSibling.__ln;\r\n n.nextSibling.__ln.previous = node;\r\n if (current) {\r\n current.next = node;\r\n }\r\n }\r\n else {\r\n if (this.head) {\r\n this.head.previous = node;\r\n }\r\n node.next = this.head;\r\n this.head = node;\r\n }\r\n if (node.next === null) {\r\n this.tail = node;\r\n }\r\n this.length++;\r\n }\r\n removeNode(n) {\r\n const current = n.__ln;\r\n if (!this.head) {\r\n return;\r\n }\r\n if (!current.previous) {\r\n this.head = current.next;\r\n if (this.head) {\r\n this.head.previous = null;\r\n }\r\n else {\r\n this.tail = null;\r\n }\r\n }\r\n else {\r\n current.previous.next = current.next;\r\n if (current.next) {\r\n current.next.previous = current.previous;\r\n }\r\n else {\r\n this.tail = current.previous;\r\n }\r\n }\r\n if (n.__ln) {\r\n delete n.__ln;\r\n }\r\n this.length--;\r\n }\r\n}\r\nconst moveKey = (id, parentId) => `${id}@${parentId}`;\r\nclass MutationBuffer {\r\n constructor() {\r\n this.frozen = false;\r\n this.locked = false;\r\n this.texts = [];\r\n this.attributes = [];\r\n this.attributeMap = new WeakMap();\r\n this.removes = [];\r\n this.mapRemoves = [];\r\n this.movedMap = {};\r\n this.addedSet = new Set();\r\n this.movedSet = new Set();\r\n this.droppedSet = new Set();\r\n this.processMutations = (mutations) => {\r\n mutations.forEach(this.processMutation);\r\n this.emit();\r\n };\r\n this.emit = () => {\r\n if (this.frozen || this.locked) {\r\n return;\r\n }\r\n const adds = [];\r\n const addedIds = new Set();\r\n const addList = new DoubleLinkedList();\r\n const getNextId = (n) => {\r\n let ns = n;\r\n let nextId = IGNORED_NODE;\r\n while (nextId === IGNORED_NODE) {\r\n ns = ns && ns.nextSibling;\r\n nextId = ns && this.mirror.getId(ns);\r\n }\r\n return nextId;\r\n };\r\n const pushAdd = (n) => {\r\n if (!n.parentNode ||\r\n !inDom(n) ||\r\n n.parentNode.tagName === 'TEXTAREA') {\r\n return;\r\n }\r\n const parentId = isShadowRoot(n.parentNode)\r\n ? this.mirror.getId(getShadowHost(n))\r\n : this.mirror.getId(n.parentNode);\r\n const nextId = getNextId(n);\r\n if (parentId === -1 || nextId === -1) {\r\n return addList.addNode(n);\r\n }\r\n const sn = serializeNodeWithId(n, {\r\n doc: this.doc,\r\n mirror: this.mirror,\r\n blockClass: this.blockClass,\r\n blockSelector: this.blockSelector,\r\n maskTextClass: this.maskTextClass,\r\n maskTextSelector: this.maskTextSelector,\r\n skipChild: true,\r\n newlyAddedElement: true,\r\n inlineStylesheet: this.inlineStylesheet,\r\n maskInputOptions: this.maskInputOptions,\r\n maskTextFn: this.maskTextFn,\r\n maskInputFn: this.maskInputFn,\r\n slimDOMOptions: this.slimDOMOptions,\r\n dataURLOptions: this.dataURLOptions,\r\n recordCanvas: this.recordCanvas,\r\n inlineImages: this.inlineImages,\r\n onSerialize: (currentN) => {\r\n if (isSerializedIframe(currentN, this.mirror)) {\r\n this.iframeManager.addIframe(currentN);\r\n }\r\n if (isSerializedStylesheet(currentN, this.mirror)) {\r\n this.stylesheetManager.trackLinkElement(currentN);\r\n }\r\n if (hasShadowRoot(n)) {\r\n this.shadowDomManager.addShadowRoot(n.shadowRoot, this.doc);\r\n }\r\n },\r\n onIframeLoad: (iframe, childSn) => {\r\n this.iframeManager.attachIframe(iframe, childSn);\r\n this.shadowDomManager.observeAttachShadow(iframe);\r\n },\r\n onStylesheetLoad: (link, childSn) => {\r\n this.stylesheetManager.attachLinkElement(link, childSn);\r\n },\r\n });\r\n if (sn) {\r\n adds.push({\r\n parentId,\r\n nextId,\r\n node: sn,\r\n });\r\n addedIds.add(sn.id);\r\n }\r\n };\r\n while (this.mapRemoves.length) {\r\n this.mirror.removeNodeFromMap(this.mapRemoves.shift());\r\n }\r\n for (const n of this.movedSet) {\r\n if (isParentRemoved(this.removes, n, this.mirror) &&\r\n !this.movedSet.has(n.parentNode)) {\r\n continue;\r\n }\r\n pushAdd(n);\r\n }\r\n for (const n of this.addedSet) {\r\n if (!isAncestorInSet(this.droppedSet, n) &&\r\n !isParentRemoved(this.removes, n, this.mirror)) {\r\n pushAdd(n);\r\n }\r\n else if (isAncestorInSet(this.movedSet, n)) {\r\n pushAdd(n);\r\n }\r\n else {\r\n this.droppedSet.add(n);\r\n }\r\n }\r\n let candidate = null;\r\n while (addList.length) {\r\n let node = null;\r\n if (candidate) {\r\n const parentId = this.mirror.getId(candidate.value.parentNode);\r\n const nextId = getNextId(candidate.value);\r\n if (parentId !== -1 && nextId !== -1) {\r\n node = candidate;\r\n }\r\n }\r\n if (!node) {\r\n let tailNode = addList.tail;\r\n while (tailNode) {\r\n const _node = tailNode;\r\n tailNode = tailNode.previous;\r\n if (_node) {\r\n const parentId = this.mirror.getId(_node.value.parentNode);\r\n const nextId = getNextId(_node.value);\r\n if (nextId === -1)\r\n continue;\r\n else if (parentId !== -1) {\r\n node = _node;\r\n break;\r\n }\r\n else {\r\n const unhandledNode = _node.value;\r\n if (unhandledNode.parentNode &&\r\n unhandledNode.parentNode.nodeType ===\r\n Node.DOCUMENT_FRAGMENT_NODE) {\r\n const shadowHost = unhandledNode.parentNode\r\n .host;\r\n const parentId = this.mirror.getId(shadowHost);\r\n if (parentId !== -1) {\r\n node = _node;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (!node) {\r\n while (addList.head) {\r\n addList.removeNode(addList.head.value);\r\n }\r\n break;\r\n }\r\n candidate = node.previous;\r\n addList.removeNode(node.value);\r\n pushAdd(node.value);\r\n }\r\n const payload = {\r\n texts: this.texts\r\n .map((text) => {\r\n const n = text.node;\r\n if (n.parentNode &&\r\n n.parentNode.tagName === 'TEXTAREA') {\r\n this.genTextAreaValueMutation(n.parentNode);\r\n }\r\n return {\r\n id: this.mirror.getId(n),\r\n value: text.value,\r\n };\r\n })\r\n .filter((text) => !addedIds.has(text.id))\r\n .filter((text) => this.mirror.has(text.id)),\r\n attributes: this.attributes\r\n .map((attribute) => {\r\n const { attributes } = attribute;\r\n if (typeof attributes.style === 'string') {\r\n const diffAsStr = JSON.stringify(attribute.styleDiff);\r\n const unchangedAsStr = JSON.stringify(attribute._unchangedStyles);\r\n if (diffAsStr.length < attributes.style.length) {\r\n if ((diffAsStr + unchangedAsStr).split('var(').length ===\r\n attributes.style.split('var(').length) {\r\n attributes.style = attribute.styleDiff;\r\n }\r\n }\r\n }\r\n return {\r\n id: this.mirror.getId(attribute.node),\r\n attributes: attributes,\r\n };\r\n })\r\n .filter((attribute) => !addedIds.has(attribute.id))\r\n .filter((attribute) => this.mirror.has(attribute.id)),\r\n removes: this.removes,\r\n adds,\r\n };\r\n if (!payload.texts.length &&\r\n !payload.attributes.length &&\r\n !payload.removes.length &&\r\n !payload.adds.length) {\r\n return;\r\n }\r\n this.texts = [];\r\n this.attributes = [];\r\n this.attributeMap = new WeakMap();\r\n this.removes = [];\r\n this.addedSet = new Set();\r\n this.movedSet = new Set();\r\n this.droppedSet = new Set();\r\n this.movedMap = {};\r\n this.mutationCb(payload);\r\n };\r\n this.genTextAreaValueMutation = (textarea) => {\r\n let item = this.attributeMap.get(textarea);\r\n if (!item) {\r\n item = {\r\n node: textarea,\r\n attributes: {},\r\n styleDiff: {},\r\n _unchangedStyles: {},\r\n };\r\n this.attributes.push(item);\r\n this.attributeMap.set(textarea, item);\r\n }\r\n item.attributes.value = Array.from(textarea.childNodes, (cn) => cn.textContent || '').join('');\r\n };\r\n this.processMutation = (m) => {\r\n if (isIgnored(m.target, this.mirror)) {\r\n return;\r\n }\r\n switch (m.type) {\r\n case 'characterData': {\r\n const value = m.target.textContent;\r\n if (!isBlocked(m.target, this.blockClass, this.blockSelector, false) &&\r\n value !== m.oldValue) {\r\n this.texts.push({\r\n value: needMaskingText(m.target, this.maskTextClass, this.maskTextSelector, true) && value\r\n ? this.maskTextFn\r\n ? this.maskTextFn(value, closestElementOfNode(m.target))\r\n : value.replace(/[\\S]/g, '*')\r\n : value,\r\n node: m.target,\r\n });\r\n }\r\n break;\r\n }\r\n case 'attributes': {\r\n const target = m.target;\r\n let attributeName = m.attributeName;\r\n let value = m.target.getAttribute(attributeName);\r\n if (attributeName === 'value') {\r\n const type = getInputType(target);\r\n value = maskInputValue({\r\n element: target,\r\n maskInputOptions: this.maskInputOptions,\r\n tagName: target.tagName,\r\n type,\r\n value,\r\n maskInputFn: this.maskInputFn,\r\n });\r\n }\r\n if (isBlocked(m.target, this.blockClass, this.blockSelector, false) ||\r\n value === m.oldValue) {\r\n return;\r\n }\r\n let item = this.attributeMap.get(m.target);\r\n if (target.tagName === 'IFRAME' &&\r\n attributeName === 'src' &&\r\n !this.keepIframeSrcFn(value)) {\r\n if (!target.contentDocument) {\r\n attributeName = 'rr_src';\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n if (!item) {\r\n item = {\r\n node: m.target,\r\n attributes: {},\r\n styleDiff: {},\r\n _unchangedStyles: {},\r\n };\r\n this.attributes.push(item);\r\n this.attributeMap.set(m.target, item);\r\n }\r\n if (attributeName === 'type' &&\r\n target.tagName === 'INPUT' &&\r\n (m.oldValue || '').toLowerCase() === 'password') {\r\n target.setAttribute('data-rr-is-password', 'true');\r\n }\r\n if (!ignoreAttribute(target.tagName, attributeName)) {\r\n item.attributes[attributeName] = transformAttribute(this.doc, toLowerCase(target.tagName), toLowerCase(attributeName), value);\r\n if (attributeName === 'style') {\r\n if (!this.unattachedDoc) {\r\n try {\r\n this.unattachedDoc =\r\n document.implementation.createHTMLDocument();\r\n }\r\n catch (e) {\r\n this.unattachedDoc = this.doc;\r\n }\r\n }\r\n const old = this.unattachedDoc.createElement('span');\r\n if (m.oldValue) {\r\n old.setAttribute('style', m.oldValue);\r\n }\r\n for (const pname of Array.from(target.style)) {\r\n const newValue = target.style.getPropertyValue(pname);\r\n const newPriority = target.style.getPropertyPriority(pname);\r\n if (newValue !== old.style.getPropertyValue(pname) ||\r\n newPriority !== old.style.getPropertyPriority(pname)) {\r\n if (newPriority === '') {\r\n item.styleDiff[pname] = newValue;\r\n }\r\n else {\r\n item.styleDiff[pname] = [newValue, newPriority];\r\n }\r\n }\r\n else {\r\n item._unchangedStyles[pname] = [newValue, newPriority];\r\n }\r\n }\r\n for (const pname of Array.from(old.style)) {\r\n if (target.style.getPropertyValue(pname) === '') {\r\n item.styleDiff[pname] = false;\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n }\r\n case 'childList': {\r\n if (isBlocked(m.target, this.blockClass, this.blockSelector, true))\r\n return;\r\n if (m.target.tagName === 'TEXTAREA') {\r\n this.genTextAreaValueMutation(m.target);\r\n return;\r\n }\r\n m.addedNodes.forEach((n) => this.genAdds(n, m.target));\r\n m.removedNodes.forEach((n) => {\r\n const nodeId = this.mirror.getId(n);\r\n const parentId = isShadowRoot(m.target)\r\n ? this.mirror.getId(m.target.host)\r\n : this.mirror.getId(m.target);\r\n if (isBlocked(m.target, this.blockClass, this.blockSelector, false) ||\r\n isIgnored(n, this.mirror) ||\r\n !isSerialized(n, this.mirror)) {\r\n return;\r\n }\r\n if (this.addedSet.has(n)) {\r\n deepDelete(this.addedSet, n);\r\n this.droppedSet.add(n);\r\n }\r\n else if (this.addedSet.has(m.target) && nodeId === -1) ;\r\n else if (isAncestorRemoved(m.target, this.mirror)) ;\r\n else if (this.movedSet.has(n) &&\r\n this.movedMap[moveKey(nodeId, parentId)]) {\r\n deepDelete(this.movedSet, n);\r\n }\r\n else {\r\n this.removes.push({\r\n parentId,\r\n id: nodeId,\r\n isShadow: isShadowRoot(m.target) && isNativeShadowDom(m.target)\r\n ? true\r\n : undefined,\r\n });\r\n }\r\n this.mapRemoves.push(n);\r\n });\r\n break;\r\n }\r\n }\r\n };\r\n this.genAdds = (n, target) => {\r\n if (this.processedNodeManager.inOtherBuffer(n, this))\r\n return;\r\n if (this.addedSet.has(n) || this.movedSet.has(n))\r\n return;\r\n if (this.mirror.hasNode(n)) {\r\n if (isIgnored(n, this.mirror)) {\r\n return;\r\n }\r\n this.movedSet.add(n);\r\n let targetId = null;\r\n if (target && this.mirror.hasNode(target)) {\r\n targetId = this.mirror.getId(target);\r\n }\r\n if (targetId && targetId !== -1) {\r\n this.movedMap[moveKey(this.mirror.getId(n), targetId)] = true;\r\n }\r\n }\r\n else {\r\n this.addedSet.add(n);\r\n this.droppedSet.delete(n);\r\n }\r\n if (!isBlocked(n, this.blockClass, this.blockSelector, false)) {\r\n n.childNodes.forEach((childN) => this.genAdds(childN));\r\n if (hasShadowRoot(n)) {\r\n n.shadowRoot.childNodes.forEach((childN) => {\r\n this.processedNodeManager.add(childN, this);\r\n this.genAdds(childN, n);\r\n });\r\n }\r\n }\r\n };\r\n }\r\n init(options) {\r\n [\r\n 'mutationCb',\r\n 'blockClass',\r\n 'blockSelector',\r\n 'maskTextClass',\r\n 'maskTextSelector',\r\n 'inlineStylesheet',\r\n 'maskInputOptions',\r\n 'maskTextFn',\r\n 'maskInputFn',\r\n 'keepIframeSrcFn',\r\n 'recordCanvas',\r\n 'inlineImages',\r\n 'slimDOMOptions',\r\n 'dataURLOptions',\r\n 'doc',\r\n 'mirror',\r\n 'iframeManager',\r\n 'stylesheetManager',\r\n 'shadowDomManager',\r\n 'canvasManager',\r\n 'processedNodeManager',\r\n ].forEach((key) => {\r\n this[key] = options[key];\r\n });\r\n }\r\n freeze() {\r\n this.frozen = true;\r\n this.canvasManager.freeze();\r\n }\r\n unfreeze() {\r\n this.frozen = false;\r\n this.canvasManager.unfreeze();\r\n this.emit();\r\n }\r\n isFrozen() {\r\n return this.frozen;\r\n }\r\n lock() {\r\n this.locked = true;\r\n this.canvasManager.lock();\r\n }\r\n unlock() {\r\n this.locked = false;\r\n this.canvasManager.unlock();\r\n this.emit();\r\n }\r\n reset() {\r\n this.shadowDomManager.reset();\r\n this.canvasManager.reset();\r\n }\r\n}\r\nfunction deepDelete(addsSet, n) {\r\n addsSet.delete(n);\r\n n.childNodes.forEach((childN) => deepDelete(addsSet, childN));\r\n}\r\nfunction isParentRemoved(removes, n, mirror) {\r\n if (removes.length === 0)\r\n return false;\r\n return _isParentRemoved(removes, n, mirror);\r\n}\r\nfunction _isParentRemoved(removes, n, mirror) {\r\n const { parentNode } = n;\r\n if (!parentNode) {\r\n return false;\r\n }\r\n const parentId = mirror.getId(parentNode);\r\n if (removes.some((r) => r.id === parentId)) {\r\n return true;\r\n }\r\n return _isParentRemoved(removes, parentNode, mirror);\r\n}\r\nfunction isAncestorInSet(set, n) {\r\n if (set.size === 0)\r\n return false;\r\n return _isAncestorInSet(set, n);\r\n}\r\nfunction _isAncestorInSet(set, n) {\r\n const { parentNode } = n;\r\n if (!parentNode) {\r\n return false;\r\n }\r\n if (set.has(parentNode)) {\r\n return true;\r\n }\r\n return _isAncestorInSet(set, parentNode);\r\n}\n\nlet errorHandler;\r\nfunction registerErrorHandler(handler) {\r\n errorHandler = handler;\r\n}\r\nfunction unregisterErrorHandler() {\r\n errorHandler = undefined;\r\n}\r\nconst callbackWrapper = (cb) => {\r\n if (!errorHandler) {\r\n return cb;\r\n }\r\n const rrwebWrapped = ((...rest) => {\r\n try {\r\n return cb(...rest);\r\n }\r\n catch (error) {\r\n if (errorHandler && errorHandler(error) === true) {\r\n return;\r\n }\r\n throw error;\r\n }\r\n });\r\n return rrwebWrapped;\r\n};\n\nconst mutationBuffers = [];\r\nfunction getEventTarget(event) {\r\n try {\r\n if ('composedPath' in event) {\r\n const path = event.composedPath();\r\n if (path.length) {\r\n return path[0];\r\n }\r\n }\r\n else if ('path' in event && event.path.length) {\r\n return event.path[0];\r\n }\r\n }\r\n catch (_a) {\r\n }\r\n return event && event.target;\r\n}\r\nfunction initMutationObserver(options, rootEl) {\r\n var _a, _b;\r\n const mutationBuffer = new MutationBuffer();\r\n mutationBuffers.push(mutationBuffer);\r\n mutationBuffer.init(options);\r\n let mutationObserverCtor = window.MutationObserver ||\r\n window.__rrMutationObserver;\r\n const angularZoneSymbol = (_b = (_a = window === null || window === void 0 ? void 0 : window.Zone) === null || _a === void 0 ? void 0 : _a.__symbol__) === null || _b === void 0 ? void 0 : _b.call(_a, 'MutationObserver');\r\n if (angularZoneSymbol &&\r\n window[angularZoneSymbol]) {\r\n mutationObserverCtor = window[angularZoneSymbol];\r\n }\r\n const observer = new mutationObserverCtor(callbackWrapper(mutationBuffer.processMutations.bind(mutationBuffer)));\r\n observer.observe(rootEl, {\r\n attributes: true,\r\n attributeOldValue: true,\r\n characterData: true,\r\n characterDataOldValue: true,\r\n childList: true,\r\n subtree: true,\r\n });\r\n return observer;\r\n}\r\nfunction initMoveObserver({ mousemoveCb, sampling, doc, mirror, }) {\r\n if (sampling.mousemove === false) {\r\n return () => {\r\n };\r\n }\r\n const threshold = typeof sampling.mousemove === 'number' ? sampling.mousemove : 50;\r\n const callbackThreshold = typeof sampling.mousemoveCallback === 'number'\r\n ? sampling.mousemoveCallback\r\n : 500;\r\n let positions = [];\r\n let timeBaseline;\r\n const wrappedCb = throttle(callbackWrapper((source) => {\r\n const totalOffset = Date.now() - timeBaseline;\r\n mousemoveCb(positions.map((p) => {\r\n p.timeOffset -= totalOffset;\r\n return p;\r\n }), source);\r\n positions = [];\r\n timeBaseline = null;\r\n }), callbackThreshold);\r\n const updatePosition = callbackWrapper(throttle(callbackWrapper((evt) => {\r\n const target = getEventTarget(evt);\r\n const { clientX, clientY } = legacy_isTouchEvent(evt)\r\n ? evt.changedTouches[0]\r\n : evt;\r\n if (!timeBaseline) {\r\n timeBaseline = nowTimestamp();\r\n }\r\n positions.push({\r\n x: clientX,\r\n y: clientY,\r\n id: mirror.getId(target),\r\n timeOffset: nowTimestamp() - timeBaseline,\r\n });\r\n wrappedCb(typeof DragEvent !== 'undefined' && evt instanceof DragEvent\r\n ? IncrementalSource$1.Drag\r\n : evt instanceof MouseEvent\r\n ? IncrementalSource$1.MouseMove\r\n : IncrementalSource$1.TouchMove);\r\n }), threshold, {\r\n trailing: false,\r\n }));\r\n const handlers = [\r\n on('mousemove', updatePosition, doc),\r\n on('touchmove', updatePosition, doc),\r\n on('drag', updatePosition, doc),\r\n ];\r\n return callbackWrapper(() => {\r\n handlers.forEach((h) => h());\r\n });\r\n}\r\nfunction initMouseInteractionObserver({ mouseInteractionCb, doc, mirror, blockClass, blockSelector, sampling, }) {\r\n if (sampling.mouseInteraction === false) {\r\n return () => {\r\n };\r\n }\r\n const disableMap = sampling.mouseInteraction === true ||\r\n sampling.mouseInteraction === undefined\r\n ? {}\r\n : sampling.mouseInteraction;\r\n const handlers = [];\r\n let currentPointerType = null;\r\n const getHandler = (eventKey) => {\r\n return (event) => {\r\n const target = getEventTarget(event);\r\n if (isBlocked(target, blockClass, blockSelector, true)) {\r\n return;\r\n }\r\n let pointerType = null;\r\n let thisEventKey = eventKey;\r\n if ('pointerType' in event) {\r\n switch (event.pointerType) {\r\n case 'mouse':\r\n pointerType = PointerTypes.Mouse;\r\n break;\r\n case 'touch':\r\n pointerType = PointerTypes.Touch;\r\n break;\r\n case 'pen':\r\n pointerType = PointerTypes.Pen;\r\n break;\r\n }\r\n if (pointerType === PointerTypes.Touch) {\r\n if (MouseInteractions[eventKey] === MouseInteractions.MouseDown) {\r\n thisEventKey = 'TouchStart';\r\n }\r\n else if (MouseInteractions[eventKey] === MouseInteractions.MouseUp) {\r\n thisEventKey = 'TouchEnd';\r\n }\r\n }\r\n else if (pointerType === PointerTypes.Pen) ;\r\n }\r\n else if (legacy_isTouchEvent(event)) {\r\n pointerType = PointerTypes.Touch;\r\n }\r\n if (pointerType !== null) {\r\n currentPointerType = pointerType;\r\n if ((thisEventKey.startsWith('Touch') &&\r\n pointerType === PointerTypes.Touch) ||\r\n (thisEventKey.startsWith('Mouse') &&\r\n pointerType === PointerTypes.Mouse)) {\r\n pointerType = null;\r\n }\r\n }\r\n else if (MouseInteractions[eventKey] === MouseInteractions.Click) {\r\n pointerType = currentPointerType;\r\n currentPointerType = null;\r\n }\r\n const e = legacy_isTouchEvent(event) ? event.changedTouches[0] : event;\r\n if (!e) {\r\n return;\r\n }\r\n const id = mirror.getId(target);\r\n const { clientX, clientY } = e;\r\n callbackWrapper(mouseInteractionCb)(Object.assign({ type: MouseInteractions[thisEventKey], id, x: clientX, y: clientY }, (pointerType !== null && { pointerType })));\r\n };\r\n };\r\n Object.keys(MouseInteractions)\r\n .filter((key) => Number.isNaN(Number(key)) &&\r\n !key.endsWith('_Departed') &&\r\n disableMap[key] !== false)\r\n .forEach((eventKey) => {\r\n let eventName = toLowerCase(eventKey);\r\n const handler = getHandler(eventKey);\r\n if (window.PointerEvent) {\r\n switch (MouseInteractions[eventKey]) {\r\n case MouseInteractions.MouseDown:\r\n case MouseInteractions.MouseUp:\r\n eventName = eventName.replace('mouse', 'pointer');\r\n break;\r\n case MouseInteractions.TouchStart:\r\n case MouseInteractions.TouchEnd:\r\n return;\r\n }\r\n }\r\n handlers.push(on(eventName, handler, doc));\r\n });\r\n return callbackWrapper(() => {\r\n handlers.forEach((h) => h());\r\n });\r\n}\r\nfunction initScrollObserver({ scrollCb, doc, mirror, blockClass, blockSelector, sampling, }) {\r\n const updatePosition = callbackWrapper(throttle(callbackWrapper((evt) => {\r\n const target = getEventTarget(evt);\r\n if (!target ||\r\n isBlocked(target, blockClass, blockSelector, true)) {\r\n return;\r\n }\r\n const id = mirror.getId(target);\r\n if (target === doc && doc.defaultView) {\r\n const scrollLeftTop = getWindowScroll(doc.defaultView);\r\n scrollCb({\r\n id,\r\n x: scrollLeftTop.left,\r\n y: scrollLeftTop.top,\r\n });\r\n }\r\n else {\r\n scrollCb({\r\n id,\r\n x: target.scrollLeft,\r\n y: target.scrollTop,\r\n });\r\n }\r\n }), sampling.scroll || 100));\r\n return on('scroll', updatePosition, doc);\r\n}\r\nfunction initViewportResizeObserver({ viewportResizeCb }, { win }) {\r\n let lastH = -1;\r\n let lastW = -1;\r\n const updateDimension = callbackWrapper(throttle(callbackWrapper(() => {\r\n const height = getWindowHeight();\r\n const width = getWindowWidth();\r\n if (lastH !== height || lastW !== width) {\r\n viewportResizeCb({\r\n width: Number(width),\r\n height: Number(height),\r\n });\r\n lastH = height;\r\n lastW = width;\r\n }\r\n }), 200));\r\n return on('resize', updateDimension, win);\r\n}\r\nconst INPUT_TAGS = ['INPUT', 'TEXTAREA', 'SELECT'];\r\nconst lastInputValueMap = new WeakMap();\r\nfunction initInputObserver({ inputCb, doc, mirror, blockClass, blockSelector, ignoreClass, ignoreSelector, maskInputOptions, maskInputFn, sampling, userTriggeredOnInput, }) {\r\n function eventHandler(event) {\r\n let target = getEventTarget(event);\r\n const userTriggered = event.isTrusted;\r\n const tagName = target && target.tagName;\r\n if (target && tagName === 'OPTION') {\r\n target = target.parentElement;\r\n }\r\n if (!target ||\r\n !tagName ||\r\n INPUT_TAGS.indexOf(tagName) < 0 ||\r\n isBlocked(target, blockClass, blockSelector, true)) {\r\n return;\r\n }\r\n if (target.classList.contains(ignoreClass) ||\r\n (ignoreSelector && target.matches(ignoreSelector))) {\r\n return;\r\n }\r\n let text = target.value;\r\n let isChecked = false;\r\n const type = getInputType(target) || '';\r\n if (type === 'radio' || type === 'checkbox') {\r\n isChecked = target.checked;\r\n }\r\n else if (maskInputOptions[tagName.toLowerCase()] ||\r\n maskInputOptions[type]) {\r\n text = maskInputValue({\r\n element: target,\r\n maskInputOptions,\r\n tagName,\r\n type,\r\n value: text,\r\n maskInputFn,\r\n });\r\n }\r\n cbWithDedup(target, userTriggeredOnInput\r\n ? { text, isChecked, userTriggered }\r\n : { text, isChecked });\r\n const name = target.name;\r\n if (type === 'radio' && name && isChecked) {\r\n doc\r\n .querySelectorAll(`input[type=\"radio\"][name=\"${name}\"]`)\r\n .forEach((el) => {\r\n if (el !== target) {\r\n const text = el.value;\r\n cbWithDedup(el, userTriggeredOnInput\r\n ? { text, isChecked: !isChecked, userTriggered: false }\r\n : { text, isChecked: !isChecked });\r\n }\r\n });\r\n }\r\n }\r\n function cbWithDedup(target, v) {\r\n const lastInputValue = lastInputValueMap.get(target);\r\n if (!lastInputValue ||\r\n lastInputValue.text !== v.text ||\r\n lastInputValue.isChecked !== v.isChecked) {\r\n lastInputValueMap.set(target, v);\r\n const id = mirror.getId(target);\r\n callbackWrapper(inputCb)(Object.assign(Object.assign({}, v), { id }));\r\n }\r\n }\r\n const events = sampling.input === 'last' ? ['change'] : ['input', 'change'];\r\n const handlers = events.map((eventName) => on(eventName, callbackWrapper(eventHandler), doc));\r\n const currentWindow = doc.defaultView;\r\n if (!currentWindow) {\r\n return () => {\r\n handlers.forEach((h) => h());\r\n };\r\n }\r\n const propertyDescriptor = currentWindow.Object.getOwnPropertyDescriptor(currentWindow.HTMLInputElement.prototype, 'value');\r\n const hookProperties = [\r\n [currentWindow.HTMLInputElement.prototype, 'value'],\r\n [currentWindow.HTMLInputElement.prototype, 'checked'],\r\n [currentWindow.HTMLSelectElement.prototype, 'value'],\r\n [currentWindow.HTMLTextAreaElement.prototype, 'value'],\r\n [currentWindow.HTMLSelectElement.prototype, 'selectedIndex'],\r\n [currentWindow.HTMLOptionElement.prototype, 'selected'],\r\n ];\r\n if (propertyDescriptor && propertyDescriptor.set) {\r\n handlers.push(...hookProperties.map((p) => hookSetter(p[0], p[1], {\r\n set() {\r\n callbackWrapper(eventHandler)({\r\n target: this,\r\n isTrusted: false,\r\n });\r\n },\r\n }, false, currentWindow)));\r\n }\r\n return callbackWrapper(() => {\r\n handlers.forEach((h) => h());\r\n });\r\n}\r\nfunction getNestedCSSRulePositions(rule) {\r\n const positions = [];\r\n function recurse(childRule, pos) {\r\n if ((hasNestedCSSRule('CSSGroupingRule') &&\r\n childRule.parentRule instanceof CSSGroupingRule) ||\r\n (hasNestedCSSRule('CSSMediaRule') &&\r\n childRule.parentRule instanceof CSSMediaRule) ||\r\n (hasNestedCSSRule('CSSSupportsRule') &&\r\n childRule.parentRule instanceof CSSSupportsRule) ||\r\n (hasNestedCSSRule('CSSConditionRule') &&\r\n childRule.parentRule instanceof CSSConditionRule)) {\r\n const rules = Array.from(childRule.parentRule.cssRules);\r\n const index = rules.indexOf(childRule);\r\n pos.unshift(index);\r\n }\r\n else if (childRule.parentStyleSheet) {\r\n const rules = Array.from(childRule.parentStyleSheet.cssRules);\r\n const index = rules.indexOf(childRule);\r\n pos.unshift(index);\r\n }\r\n return pos;\r\n }\r\n return recurse(rule, positions);\r\n}\r\nfunction getIdAndStyleId(sheet, mirror, styleMirror) {\r\n let id, styleId;\r\n if (!sheet)\r\n return {};\r\n if (sheet.ownerNode)\r\n id = mirror.getId(sheet.ownerNode);\r\n else\r\n styleId = styleMirror.getId(sheet);\r\n return {\r\n styleId,\r\n id,\r\n };\r\n}\r\nfunction initStyleSheetObserver({ styleSheetRuleCb, mirror, stylesheetManager }, { win }) {\r\n if (!win.CSSStyleSheet || !win.CSSStyleSheet.prototype) {\r\n return () => {\r\n };\r\n }\r\n const insertRule = win.CSSStyleSheet.prototype.insertRule;\r\n win.CSSStyleSheet.prototype.insertRule = new Proxy(insertRule, {\r\n apply: callbackWrapper((target, thisArg, argumentsList) => {\r\n const [rule, index] = argumentsList;\r\n const { id, styleId } = getIdAndStyleId(thisArg, mirror, stylesheetManager.styleMirror);\r\n if ((id && id !== -1) || (styleId && styleId !== -1)) {\r\n styleSheetRuleCb({\r\n id,\r\n styleId,\r\n adds: [{ rule, index }],\r\n });\r\n }\r\n return target.apply(thisArg, argumentsList);\r\n }),\r\n });\r\n const deleteRule = win.CSSStyleSheet.prototype.deleteRule;\r\n win.CSSStyleSheet.prototype.deleteRule = new Proxy(deleteRule, {\r\n apply: callbackWrapper((target, thisArg, argumentsList) => {\r\n const [index] = argumentsList;\r\n const { id, styleId } = getIdAndStyleId(thisArg, mirror, stylesheetManager.styleMirror);\r\n if ((id && id !== -1) || (styleId && styleId !== -1)) {\r\n styleSheetRuleCb({\r\n id,\r\n styleId,\r\n removes: [{ index }],\r\n });\r\n }\r\n return target.apply(thisArg, argumentsList);\r\n }),\r\n });\r\n let replace;\r\n if (win.CSSStyleSheet.prototype.replace) {\r\n replace = win.CSSStyleSheet.prototype.replace;\r\n win.CSSStyleSheet.prototype.replace = new Proxy(replace, {\r\n apply: callbackWrapper((target, thisArg, argumentsList) => {\r\n const [text] = argumentsList;\r\n const { id, styleId } = getIdAndStyleId(thisArg, mirror, stylesheetManager.styleMirror);\r\n if ((id && id !== -1) || (styleId && styleId !== -1)) {\r\n styleSheetRuleCb({\r\n id,\r\n styleId,\r\n replace: text,\r\n });\r\n }\r\n return target.apply(thisArg, argumentsList);\r\n }),\r\n });\r\n }\r\n let replaceSync;\r\n if (win.CSSStyleSheet.prototype.replaceSync) {\r\n replaceSync = win.CSSStyleSheet.prototype.replaceSync;\r\n win.CSSStyleSheet.prototype.replaceSync = new Proxy(replaceSync, {\r\n apply: callbackWrapper((target, thisArg, argumentsList) => {\r\n const [text] = argumentsList;\r\n const { id, styleId } = getIdAndStyleId(thisArg, mirror, stylesheetManager.styleMirror);\r\n if ((id && id !== -1) || (styleId && styleId !== -1)) {\r\n styleSheetRuleCb({\r\n id,\r\n styleId,\r\n replaceSync: text,\r\n });\r\n }\r\n return target.apply(thisArg, argumentsList);\r\n }),\r\n });\r\n }\r\n const supportedNestedCSSRuleTypes = {};\r\n if (canMonkeyPatchNestedCSSRule('CSSGroupingRule')) {\r\n supportedNestedCSSRuleTypes.CSSGroupingRule = win.CSSGroupingRule;\r\n }\r\n else {\r\n if (canMonkeyPatchNestedCSSRule('CSSMediaRule')) {\r\n supportedNestedCSSRuleTypes.CSSMediaRule = win.CSSMediaRule;\r\n }\r\n if (canMonkeyPatchNestedCSSRule('CSSConditionRule')) {\r\n supportedNestedCSSRuleTypes.CSSConditionRule = win.CSSConditionRule;\r\n }\r\n if (canMonkeyPatchNestedCSSRule('CSSSupportsRule')) {\r\n supportedNestedCSSRuleTypes.CSSSupportsRule = win.CSSSupportsRule;\r\n }\r\n }\r\n const unmodifiedFunctions = {};\r\n Object.entries(supportedNestedCSSRuleTypes).forEach(([typeKey, type]) => {\r\n unmodifiedFunctions[typeKey] = {\r\n insertRule: type.prototype.insertRule,\r\n deleteRule: type.prototype.deleteRule,\r\n };\r\n type.prototype.insertRule = new Proxy(unmodifiedFunctions[typeKey].insertRule, {\r\n apply: callbackWrapper((target, thisArg, argumentsList) => {\r\n const [rule, index] = argumentsList;\r\n const { id, styleId } = getIdAndStyleId(thisArg.parentStyleSheet, mirror, stylesheetManager.styleMirror);\r\n if ((id && id !== -1) || (styleId && styleId !== -1)) {\r\n styleSheetRuleCb({\r\n id,\r\n styleId,\r\n adds: [\r\n {\r\n rule,\r\n index: [\r\n ...getNestedCSSRulePositions(thisArg),\r\n index || 0,\r\n ],\r\n },\r\n ],\r\n });\r\n }\r\n return target.apply(thisArg, argumentsList);\r\n }),\r\n });\r\n type.prototype.deleteRule = new Proxy(unmodifiedFunctions[typeKey].deleteRule, {\r\n apply: callbackWrapper((target, thisArg, argumentsList) => {\r\n const [index] = argumentsList;\r\n const { id, styleId } = getIdAndStyleId(thisArg.parentStyleSheet, mirror, stylesheetManager.styleMirror);\r\n if ((id && id !== -1) || (styleId && styleId !== -1)) {\r\n styleSheetRuleCb({\r\n id,\r\n styleId,\r\n removes: [\r\n { index: [...getNestedCSSRulePositions(thisArg), index] },\r\n ],\r\n });\r\n }\r\n return target.apply(thisArg, argumentsList);\r\n }),\r\n });\r\n });\r\n return callbackWrapper(() => {\r\n win.CSSStyleSheet.prototype.insertRule = insertRule;\r\n win.CSSStyleSheet.prototype.deleteRule = deleteRule;\r\n replace && (win.CSSStyleSheet.prototype.replace = replace);\r\n replaceSync && (win.CSSStyleSheet.prototype.replaceSync = replaceSync);\r\n Object.entries(supportedNestedCSSRuleTypes).forEach(([typeKey, type]) => {\r\n type.prototype.insertRule = unmodifiedFunctions[typeKey].insertRule;\r\n type.prototype.deleteRule = unmodifiedFunctions[typeKey].deleteRule;\r\n });\r\n });\r\n}\r\nfunction initAdoptedStyleSheetObserver({ mirror, stylesheetManager, }, host) {\r\n var _a, _b, _c;\r\n let hostId = null;\r\n if (host.nodeName === '#document')\r\n hostId = mirror.getId(host);\r\n else\r\n hostId = mirror.getId(host.host);\r\n const patchTarget = host.nodeName === '#document'\r\n ? (_a = host.defaultView) === null || _a === void 0 ? void 0 : _a.Document\r\n : (_c = (_b = host.ownerDocument) === null || _b === void 0 ? void 0 : _b.defaultView) === null || _c === void 0 ? void 0 : _c.ShadowRoot;\r\n const originalPropertyDescriptor = (patchTarget === null || patchTarget === void 0 ? void 0 : patchTarget.prototype)\r\n ? Object.getOwnPropertyDescriptor(patchTarget === null || patchTarget === void 0 ? void 0 : patchTarget.prototype, 'adoptedStyleSheets')\r\n : undefined;\r\n if (hostId === null ||\r\n hostId === -1 ||\r\n !patchTarget ||\r\n !originalPropertyDescriptor)\r\n return () => {\r\n };\r\n Object.defineProperty(host, 'adoptedStyleSheets', {\r\n configurable: originalPropertyDescriptor.configurable,\r\n enumerable: originalPropertyDescriptor.enumerable,\r\n get() {\r\n var _a;\r\n return (_a = originalPropertyDescriptor.get) === null || _a === void 0 ? void 0 : _a.call(this);\r\n },\r\n set(sheets) {\r\n var _a;\r\n const result = (_a = originalPropertyDescriptor.set) === null || _a === void 0 ? void 0 : _a.call(this, sheets);\r\n if (hostId !== null && hostId !== -1) {\r\n try {\r\n stylesheetManager.adoptStyleSheets(sheets, hostId);\r\n }\r\n catch (e) {\r\n }\r\n }\r\n return result;\r\n },\r\n });\r\n return callbackWrapper(() => {\r\n Object.defineProperty(host, 'adoptedStyleSheets', {\r\n configurable: originalPropertyDescriptor.configurable,\r\n enumerable: originalPropertyDescriptor.enumerable,\r\n get: originalPropertyDescriptor.get,\r\n set: originalPropertyDescriptor.set,\r\n });\r\n });\r\n}\r\nfunction initStyleDeclarationObserver({ styleDeclarationCb, mirror, ignoreCSSAttributes, stylesheetManager, }, { win }) {\r\n const setProperty = win.CSSStyleDeclaration.prototype.setProperty;\r\n win.CSSStyleDeclaration.prototype.setProperty = new Proxy(setProperty, {\r\n apply: callbackWrapper((target, thisArg, argumentsList) => {\r\n var _a;\r\n const [property, value, priority] = argumentsList;\r\n if (ignoreCSSAttributes.has(property)) {\r\n return setProperty.apply(thisArg, [property, value, priority]);\r\n }\r\n const { id, styleId } = getIdAndStyleId((_a = thisArg.parentRule) === null || _a === void 0 ? void 0 : _a.parentStyleSheet, mirror, stylesheetManager.styleMirror);\r\n if ((id && id !== -1) || (styleId && styleId !== -1)) {\r\n styleDeclarationCb({\r\n id,\r\n styleId,\r\n set: {\r\n property,\r\n value,\r\n priority,\r\n },\r\n index: getNestedCSSRulePositions(thisArg.parentRule),\r\n });\r\n }\r\n return target.apply(thisArg, argumentsList);\r\n }),\r\n });\r\n const removeProperty = win.CSSStyleDeclaration.prototype.removeProperty;\r\n win.CSSStyleDeclaration.prototype.removeProperty = new Proxy(removeProperty, {\r\n apply: callbackWrapper((target, thisArg, argumentsList) => {\r\n var _a;\r\n const [property] = argumentsList;\r\n if (ignoreCSSAttributes.has(property)) {\r\n return removeProperty.apply(thisArg, [property]);\r\n }\r\n const { id, styleId } = getIdAndStyleId((_a = thisArg.parentRule) === null || _a === void 0 ? void 0 : _a.parentStyleSheet, mirror, stylesheetManager.styleMirror);\r\n if ((id && id !== -1) || (styleId && styleId !== -1)) {\r\n styleDeclarationCb({\r\n id,\r\n styleId,\r\n remove: {\r\n property,\r\n },\r\n index: getNestedCSSRulePositions(thisArg.parentRule),\r\n });\r\n }\r\n return target.apply(thisArg, argumentsList);\r\n }),\r\n });\r\n return callbackWrapper(() => {\r\n win.CSSStyleDeclaration.prototype.setProperty = setProperty;\r\n win.CSSStyleDeclaration.prototype.removeProperty = removeProperty;\r\n });\r\n}\r\nfunction initMediaInteractionObserver({ mediaInteractionCb, blockClass, blockSelector, mirror, sampling, doc, }) {\r\n const handler = callbackWrapper((type) => throttle(callbackWrapper((event) => {\r\n const target = getEventTarget(event);\r\n if (!target ||\r\n isBlocked(target, blockClass, blockSelector, true)) {\r\n return;\r\n }\r\n const { currentTime, volume, muted, playbackRate, loop } = target;\r\n mediaInteractionCb({\r\n type,\r\n id: mirror.getId(target),\r\n currentTime,\r\n volume,\r\n muted,\r\n playbackRate,\r\n loop,\r\n });\r\n }), sampling.media || 500));\r\n const handlers = [\r\n on('play', handler(0), doc),\r\n on('pause', handler(1), doc),\r\n on('seeked', handler(2), doc),\r\n on('volumechange', handler(3), doc),\r\n on('ratechange', handler(4), doc),\r\n ];\r\n return callbackWrapper(() => {\r\n handlers.forEach((h) => h());\r\n });\r\n}\r\nfunction initFontObserver({ fontCb, doc }) {\r\n const win = doc.defaultView;\r\n if (!win) {\r\n return () => {\r\n };\r\n }\r\n const handlers = [];\r\n const fontMap = new WeakMap();\r\n const originalFontFace = win.FontFace;\r\n win.FontFace = function FontFace(family, source, descriptors) {\r\n const fontFace = new originalFontFace(family, source, descriptors);\r\n fontMap.set(fontFace, {\r\n family,\r\n buffer: typeof source !== 'string',\r\n descriptors,\r\n fontSource: typeof source === 'string'\r\n ? source\r\n : JSON.stringify(Array.from(new Uint8Array(source))),\r\n });\r\n return fontFace;\r\n };\r\n const restoreHandler = patch(doc.fonts, 'add', function (original) {\r\n return function (fontFace) {\r\n setTimeout(callbackWrapper(() => {\r\n const p = fontMap.get(fontFace);\r\n if (p) {\r\n fontCb(p);\r\n fontMap.delete(fontFace);\r\n }\r\n }), 0);\r\n return original.apply(this, [fontFace]);\r\n };\r\n });\r\n handlers.push(() => {\r\n win.FontFace = originalFontFace;\r\n });\r\n handlers.push(restoreHandler);\r\n return callbackWrapper(() => {\r\n handlers.forEach((h) => h());\r\n });\r\n}\r\nfunction initSelectionObserver(param) {\r\n const { doc, mirror, blockClass, blockSelector, selectionCb } = param;\r\n let collapsed = true;\r\n const updateSelection = callbackWrapper(() => {\r\n const selection = doc.getSelection();\r\n if (!selection || (collapsed && (selection === null || selection === void 0 ? void 0 : selection.isCollapsed)))\r\n return;\r\n collapsed = selection.isCollapsed || false;\r\n const ranges = [];\r\n const count = selection.rangeCount || 0;\r\n for (let i = 0; i < count; i++) {\r\n const range = selection.getRangeAt(i);\r\n const { startContainer, startOffset, endContainer, endOffset } = range;\r\n const blocked = isBlocked(startContainer, blockClass, blockSelector, true) ||\r\n isBlocked(endContainer, blockClass, blockSelector, true);\r\n if (blocked)\r\n continue;\r\n ranges.push({\r\n start: mirror.getId(startContainer),\r\n startOffset,\r\n end: mirror.getId(endContainer),\r\n endOffset,\r\n });\r\n }\r\n selectionCb({ ranges });\r\n });\r\n updateSelection();\r\n return on('selectionchange', updateSelection);\r\n}\r\nfunction initCustomElementObserver({ doc, customElementCb, }) {\r\n const win = doc.defaultView;\r\n if (!win || !win.customElements)\r\n return () => { };\r\n const restoreHandler = patch(win.customElements, 'define', function (original) {\r\n return function (name, constructor, options) {\r\n try {\r\n customElementCb({\r\n define: {\r\n name,\r\n },\r\n });\r\n }\r\n catch (e) {\r\n console.warn(`Custom element callback failed for ${name}`);\r\n }\r\n return original.apply(this, [name, constructor, options]);\r\n };\r\n });\r\n return restoreHandler;\r\n}\r\nfunction mergeHooks(o, hooks) {\r\n const { mutationCb, mousemoveCb, mouseInteractionCb, scrollCb, viewportResizeCb, inputCb, mediaInteractionCb, styleSheetRuleCb, styleDeclarationCb, canvasMutationCb, fontCb, selectionCb, customElementCb, } = o;\r\n o.mutationCb = (...p) => {\r\n if (hooks.mutation) {\r\n hooks.mutation(...p);\r\n }\r\n mutationCb(...p);\r\n };\r\n o.mousemoveCb = (...p) => {\r\n if (hooks.mousemove) {\r\n hooks.mousemove(...p);\r\n }\r\n mousemoveCb(...p);\r\n };\r\n o.mouseInteractionCb = (...p) => {\r\n if (hooks.mouseInteraction) {\r\n hooks.mouseInteraction(...p);\r\n }\r\n mouseInteractionCb(...p);\r\n };\r\n o.scrollCb = (...p) => {\r\n if (hooks.scroll) {\r\n hooks.scroll(...p);\r\n }\r\n scrollCb(...p);\r\n };\r\n o.viewportResizeCb = (...p) => {\r\n if (hooks.viewportResize) {\r\n hooks.viewportResize(...p);\r\n }\r\n viewportResizeCb(...p);\r\n };\r\n o.inputCb = (...p) => {\r\n if (hooks.input) {\r\n hooks.input(...p);\r\n }\r\n inputCb(...p);\r\n };\r\n o.mediaInteractionCb = (...p) => {\r\n if (hooks.mediaInteaction) {\r\n hooks.mediaInteaction(...p);\r\n }\r\n mediaInteractionCb(...p);\r\n };\r\n o.styleSheetRuleCb = (...p) => {\r\n if (hooks.styleSheetRule) {\r\n hooks.styleSheetRule(...p);\r\n }\r\n styleSheetRuleCb(...p);\r\n };\r\n o.styleDeclarationCb = (...p) => {\r\n if (hooks.styleDeclaration) {\r\n hooks.styleDeclaration(...p);\r\n }\r\n styleDeclarationCb(...p);\r\n };\r\n o.canvasMutationCb = (...p) => {\r\n if (hooks.canvasMutation) {\r\n hooks.canvasMutation(...p);\r\n }\r\n canvasMutationCb(...p);\r\n };\r\n o.fontCb = (...p) => {\r\n if (hooks.font) {\r\n hooks.font(...p);\r\n }\r\n fontCb(...p);\r\n };\r\n o.selectionCb = (...p) => {\r\n if (hooks.selection) {\r\n hooks.selection(...p);\r\n }\r\n selectionCb(...p);\r\n };\r\n o.customElementCb = (...c) => {\r\n if (hooks.customElement) {\r\n hooks.customElement(...c);\r\n }\r\n customElementCb(...c);\r\n };\r\n}\r\nfunction initObservers(o, hooks = {}) {\r\n const currentWindow = o.doc.defaultView;\r\n if (!currentWindow) {\r\n return () => {\r\n };\r\n }\r\n mergeHooks(o, hooks);\r\n let mutationObserver;\r\n if (o.recordDOM) {\r\n mutationObserver = initMutationObserver(o, o.doc);\r\n }\r\n const mousemoveHandler = initMoveObserver(o);\r\n const mouseInteractionHandler = initMouseInteractionObserver(o);\r\n const scrollHandler = initScrollObserver(o);\r\n const viewportResizeHandler = initViewportResizeObserver(o, {\r\n win: currentWindow,\r\n });\r\n const inputHandler = initInputObserver(o);\r\n const mediaInteractionHandler = initMediaInteractionObserver(o);\r\n let styleSheetObserver = () => { };\r\n let adoptedStyleSheetObserver = () => { };\r\n let styleDeclarationObserver = () => { };\r\n let fontObserver = () => { };\r\n if (o.recordDOM) {\r\n styleSheetObserver = initStyleSheetObserver(o, { win: currentWindow });\r\n adoptedStyleSheetObserver = initAdoptedStyleSheetObserver(o, o.doc);\r\n styleDeclarationObserver = initStyleDeclarationObserver(o, {\r\n win: currentWindow,\r\n });\r\n if (o.collectFonts) {\r\n fontObserver = initFontObserver(o);\r\n }\r\n }\r\n const selectionObserver = initSelectionObserver(o);\r\n const customElementObserver = initCustomElementObserver(o);\r\n const pluginHandlers = [];\r\n for (const plugin of o.plugins) {\r\n pluginHandlers.push(plugin.observer(plugin.callback, currentWindow, plugin.options));\r\n }\r\n return callbackWrapper(() => {\r\n mutationBuffers.forEach((b) => b.reset());\r\n mutationObserver === null || mutationObserver === void 0 ? void 0 : mutationObserver.disconnect();\r\n mousemoveHandler();\r\n mouseInteractionHandler();\r\n scrollHandler();\r\n viewportResizeHandler();\r\n inputHandler();\r\n mediaInteractionHandler();\r\n styleSheetObserver();\r\n adoptedStyleSheetObserver();\r\n styleDeclarationObserver();\r\n fontObserver();\r\n selectionObserver();\r\n customElementObserver();\r\n pluginHandlers.forEach((h) => h());\r\n });\r\n}\r\nfunction hasNestedCSSRule(prop) {\r\n return typeof window[prop] !== 'undefined';\r\n}\r\nfunction canMonkeyPatchNestedCSSRule(prop) {\r\n return Boolean(typeof window[prop] !== 'undefined' &&\r\n window[prop].prototype &&\r\n 'insertRule' in window[prop].prototype &&\r\n 'deleteRule' in window[prop].prototype);\r\n}\n\nclass CrossOriginIframeMirror {\r\n constructor(generateIdFn) {\r\n this.generateIdFn = generateIdFn;\r\n this.iframeIdToRemoteIdMap = new WeakMap();\r\n this.iframeRemoteIdToIdMap = new WeakMap();\r\n }\r\n getId(iframe, remoteId, idToRemoteMap, remoteToIdMap) {\r\n const idToRemoteIdMap = idToRemoteMap || this.getIdToRemoteIdMap(iframe);\r\n const remoteIdToIdMap = remoteToIdMap || this.getRemoteIdToIdMap(iframe);\r\n let id = idToRemoteIdMap.get(remoteId);\r\n if (!id) {\r\n id = this.generateIdFn();\r\n idToRemoteIdMap.set(remoteId, id);\r\n remoteIdToIdMap.set(id, remoteId);\r\n }\r\n return id;\r\n }\r\n getIds(iframe, remoteId) {\r\n const idToRemoteIdMap = this.getIdToRemoteIdMap(iframe);\r\n const remoteIdToIdMap = this.getRemoteIdToIdMap(iframe);\r\n return remoteId.map((id) => this.getId(iframe, id, idToRemoteIdMap, remoteIdToIdMap));\r\n }\r\n getRemoteId(iframe, id, map) {\r\n const remoteIdToIdMap = map || this.getRemoteIdToIdMap(iframe);\r\n if (typeof id !== 'number')\r\n return id;\r\n const remoteId = remoteIdToIdMap.get(id);\r\n if (!remoteId)\r\n return -1;\r\n return remoteId;\r\n }\r\n getRemoteIds(iframe, ids) {\r\n const remoteIdToIdMap = this.getRemoteIdToIdMap(iframe);\r\n return ids.map((id) => this.getRemoteId(iframe, id, remoteIdToIdMap));\r\n }\r\n reset(iframe) {\r\n if (!iframe) {\r\n this.iframeIdToRemoteIdMap = new WeakMap();\r\n this.iframeRemoteIdToIdMap = new WeakMap();\r\n return;\r\n }\r\n this.iframeIdToRemoteIdMap.delete(iframe);\r\n this.iframeRemoteIdToIdMap.delete(iframe);\r\n }\r\n getIdToRemoteIdMap(iframe) {\r\n let idToRemoteIdMap = this.iframeIdToRemoteIdMap.get(iframe);\r\n if (!idToRemoteIdMap) {\r\n idToRemoteIdMap = new Map();\r\n this.iframeIdToRemoteIdMap.set(iframe, idToRemoteIdMap);\r\n }\r\n return idToRemoteIdMap;\r\n }\r\n getRemoteIdToIdMap(iframe) {\r\n let remoteIdToIdMap = this.iframeRemoteIdToIdMap.get(iframe);\r\n if (!remoteIdToIdMap) {\r\n remoteIdToIdMap = new Map();\r\n this.iframeRemoteIdToIdMap.set(iframe, remoteIdToIdMap);\r\n }\r\n return remoteIdToIdMap;\r\n }\r\n}\n\nclass IframeManager {\r\n constructor(options) {\r\n this.iframes = new WeakMap();\r\n this.crossOriginIframeMap = new WeakMap();\r\n this.crossOriginIframeMirror = new CrossOriginIframeMirror(genId);\r\n this.crossOriginIframeRootIdMap = new WeakMap();\r\n this.mutationCb = options.mutationCb;\r\n this.wrappedEmit = options.wrappedEmit;\r\n this.stylesheetManager = options.stylesheetManager;\r\n this.recordCrossOriginIframes = options.recordCrossOriginIframes;\r\n this.crossOriginIframeStyleMirror = new CrossOriginIframeMirror(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror));\r\n this.mirror = options.mirror;\r\n if (this.recordCrossOriginIframes) {\r\n window.addEventListener('message', this.handleMessage.bind(this));\r\n }\r\n }\r\n addIframe(iframeEl) {\r\n this.iframes.set(iframeEl, true);\r\n if (iframeEl.contentWindow)\r\n this.crossOriginIframeMap.set(iframeEl.contentWindow, iframeEl);\r\n }\r\n addLoadListener(cb) {\r\n this.loadListener = cb;\r\n }\r\n attachIframe(iframeEl, childSn) {\r\n var _a;\r\n this.mutationCb({\r\n adds: [\r\n {\r\n parentId: this.mirror.getId(iframeEl),\r\n nextId: null,\r\n node: childSn,\r\n },\r\n ],\r\n removes: [],\r\n texts: [],\r\n attributes: [],\r\n isAttachIframe: true,\r\n });\r\n (_a = this.loadListener) === null || _a === void 0 ? void 0 : _a.call(this, iframeEl);\r\n if (iframeEl.contentDocument &&\r\n iframeEl.contentDocument.adoptedStyleSheets &&\r\n iframeEl.contentDocument.adoptedStyleSheets.length > 0)\r\n this.stylesheetManager.adoptStyleSheets(iframeEl.contentDocument.adoptedStyleSheets, this.mirror.getId(iframeEl.contentDocument));\r\n }\r\n handleMessage(message) {\r\n const crossOriginMessageEvent = message;\r\n if (crossOriginMessageEvent.data.type !== 'rrweb' ||\r\n crossOriginMessageEvent.origin !== crossOriginMessageEvent.data.origin)\r\n return;\r\n const iframeSourceWindow = message.source;\r\n if (!iframeSourceWindow)\r\n return;\r\n const iframeEl = this.crossOriginIframeMap.get(message.source);\r\n if (!iframeEl)\r\n return;\r\n const transformedEvent = this.transformCrossOriginEvent(iframeEl, crossOriginMessageEvent.data.event);\r\n if (transformedEvent)\r\n this.wrappedEmit(transformedEvent, crossOriginMessageEvent.data.isCheckout);\r\n }\r\n transformCrossOriginEvent(iframeEl, e) {\r\n var _a;\r\n switch (e.type) {\r\n case EventType$1.FullSnapshot: {\r\n this.crossOriginIframeMirror.reset(iframeEl);\r\n this.crossOriginIframeStyleMirror.reset(iframeEl);\r\n this.replaceIdOnNode(e.data.node, iframeEl);\r\n const rootId = e.data.node.id;\r\n this.crossOriginIframeRootIdMap.set(iframeEl, rootId);\r\n this.patchRootIdOnNode(e.data.node, rootId);\r\n return {\r\n timestamp: e.timestamp,\r\n type: EventType$1.IncrementalSnapshot,\r\n data: {\r\n source: IncrementalSource$1.Mutation,\r\n adds: [\r\n {\r\n parentId: this.mirror.getId(iframeEl),\r\n nextId: null,\r\n node: e.data.node,\r\n },\r\n ],\r\n removes: [],\r\n texts: [],\r\n attributes: [],\r\n isAttachIframe: true,\r\n },\r\n };\r\n }\r\n case EventType$1.Meta:\r\n case EventType$1.Load:\r\n case EventType$1.DomContentLoaded: {\r\n return false;\r\n }\r\n case EventType$1.Plugin: {\r\n return e;\r\n }\r\n case EventType$1.Custom: {\r\n this.replaceIds(e.data.payload, iframeEl, ['id', 'parentId', 'previousId', 'nextId']);\r\n return e;\r\n }\r\n case EventType$1.IncrementalSnapshot: {\r\n switch (e.data.source) {\r\n case IncrementalSource$1.Mutation: {\r\n e.data.adds.forEach((n) => {\r\n this.replaceIds(n, iframeEl, [\r\n 'parentId',\r\n 'nextId',\r\n 'previousId',\r\n ]);\r\n this.replaceIdOnNode(n.node, iframeEl);\r\n const rootId = this.crossOriginIframeRootIdMap.get(iframeEl);\r\n rootId && this.patchRootIdOnNode(n.node, rootId);\r\n });\r\n e.data.removes.forEach((n) => {\r\n this.replaceIds(n, iframeEl, ['parentId', 'id']);\r\n });\r\n e.data.attributes.forEach((n) => {\r\n this.replaceIds(n, iframeEl, ['id']);\r\n });\r\n e.data.texts.forEach((n) => {\r\n this.replaceIds(n, iframeEl, ['id']);\r\n });\r\n return e;\r\n }\r\n case IncrementalSource$1.Drag:\r\n case IncrementalSource$1.TouchMove:\r\n case IncrementalSource$1.MouseMove: {\r\n e.data.positions.forEach((p) => {\r\n this.replaceIds(p, iframeEl, ['id']);\r\n });\r\n return e;\r\n }\r\n case IncrementalSource$1.ViewportResize: {\r\n return false;\r\n }\r\n case IncrementalSource$1.MediaInteraction:\r\n case IncrementalSource$1.MouseInteraction:\r\n case IncrementalSource$1.Scroll:\r\n case IncrementalSource$1.CanvasMutation:\r\n case IncrementalSource$1.Input: {\r\n this.replaceIds(e.data, iframeEl, ['id']);\r\n return e;\r\n }\r\n case IncrementalSource$1.StyleSheetRule:\r\n case IncrementalSource$1.StyleDeclaration: {\r\n this.replaceIds(e.data, iframeEl, ['id']);\r\n this.replaceStyleIds(e.data, iframeEl, ['styleId']);\r\n return e;\r\n }\r\n case IncrementalSource$1.Font: {\r\n return e;\r\n }\r\n case IncrementalSource$1.Selection: {\r\n e.data.ranges.forEach((range) => {\r\n this.replaceIds(range, iframeEl, ['start', 'end']);\r\n });\r\n return e;\r\n }\r\n case IncrementalSource$1.AdoptedStyleSheet: {\r\n this.replaceIds(e.data, iframeEl, ['id']);\r\n this.replaceStyleIds(e.data, iframeEl, ['styleIds']);\r\n (_a = e.data.styles) === null || _a === void 0 ? void 0 : _a.forEach((style) => {\r\n this.replaceStyleIds(style, iframeEl, ['styleId']);\r\n });\r\n return e;\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n replace(iframeMirror, obj, iframeEl, keys) {\r\n for (const key of keys) {\r\n if (!Array.isArray(obj[key]) && typeof obj[key] !== 'number')\r\n continue;\r\n if (Array.isArray(obj[key])) {\r\n obj[key] = iframeMirror.getIds(iframeEl, obj[key]);\r\n }\r\n else {\r\n obj[key] = iframeMirror.getId(iframeEl, obj[key]);\r\n }\r\n }\r\n return obj;\r\n }\r\n replaceIds(obj, iframeEl, keys) {\r\n return this.replace(this.crossOriginIframeMirror, obj, iframeEl, keys);\r\n }\r\n replaceStyleIds(obj, iframeEl, keys) {\r\n return this.replace(this.crossOriginIframeStyleMirror, obj, iframeEl, keys);\r\n }\r\n replaceIdOnNode(node, iframeEl) {\r\n this.replaceIds(node, iframeEl, ['id', 'rootId']);\r\n if ('childNodes' in node) {\r\n node.childNodes.forEach((child) => {\r\n this.replaceIdOnNode(child, iframeEl);\r\n });\r\n }\r\n }\r\n patchRootIdOnNode(node, rootId) {\r\n if (node.type !== NodeType.Document && !node.rootId)\r\n node.rootId = rootId;\r\n if ('childNodes' in node) {\r\n node.childNodes.forEach((child) => {\r\n this.patchRootIdOnNode(child, rootId);\r\n });\r\n }\r\n }\r\n}\n\nclass ShadowDomManager {\r\n constructor(options) {\r\n this.shadowDoms = new WeakSet();\r\n this.restoreHandlers = [];\r\n this.mutationCb = options.mutationCb;\r\n this.scrollCb = options.scrollCb;\r\n this.bypassOptions = options.bypassOptions;\r\n this.mirror = options.mirror;\r\n this.init();\r\n }\r\n init() {\r\n this.reset();\r\n this.patchAttachShadow(Element, document);\r\n }\r\n addShadowRoot(shadowRoot, doc) {\r\n if (!isNativeShadowDom(shadowRoot))\r\n return;\r\n if (this.shadowDoms.has(shadowRoot))\r\n return;\r\n this.shadowDoms.add(shadowRoot);\r\n const observer = initMutationObserver(Object.assign(Object.assign({}, this.bypassOptions), { doc, mutationCb: this.mutationCb, mirror: this.mirror, shadowDomManager: this }), shadowRoot);\r\n this.restoreHandlers.push(() => observer.disconnect());\r\n this.restoreHandlers.push(initScrollObserver(Object.assign(Object.assign({}, this.bypassOptions), { scrollCb: this.scrollCb, doc: shadowRoot, mirror: this.mirror })));\r\n setTimeout(() => {\r\n if (shadowRoot.adoptedStyleSheets &&\r\n shadowRoot.adoptedStyleSheets.length > 0)\r\n this.bypassOptions.stylesheetManager.adoptStyleSheets(shadowRoot.adoptedStyleSheets, this.mirror.getId(shadowRoot.host));\r\n this.restoreHandlers.push(initAdoptedStyleSheetObserver({\r\n mirror: this.mirror,\r\n stylesheetManager: this.bypassOptions.stylesheetManager,\r\n }, shadowRoot));\r\n }, 0);\r\n }\r\n observeAttachShadow(iframeElement) {\r\n if (!iframeElement.contentWindow || !iframeElement.contentDocument)\r\n return;\r\n this.patchAttachShadow(iframeElement.contentWindow.Element, iframeElement.contentDocument);\r\n }\r\n patchAttachShadow(element, doc) {\r\n const manager = this;\r\n this.restoreHandlers.push(patch(element.prototype, 'attachShadow', function (original) {\r\n return function (option) {\r\n const shadowRoot = original.call(this, option);\r\n if (this.shadowRoot && inDom(this))\r\n manager.addShadowRoot(this.shadowRoot, doc);\r\n return shadowRoot;\r\n };\r\n }));\r\n }\r\n reset() {\r\n this.restoreHandlers.forEach((handler) => {\r\n try {\r\n handler();\r\n }\r\n catch (e) {\r\n }\r\n });\r\n this.restoreHandlers = [];\r\n this.shadowDoms = new WeakSet();\r\n }\r\n}\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\n\n/*\n * base64-arraybuffer 1.0.1 \n * Copyright (c) 2021 Niklas von Hertzen \n * Released under MIT License\n */\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\nvar encode = function (arraybuffer) {\n var bytes = new Uint8Array(arraybuffer), i, len = bytes.length, base64 = '';\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n }\n else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n return base64;\n};\n\nconst canvasVarMap = new Map();\r\nfunction variableListFor(ctx, ctor) {\r\n let contextMap = canvasVarMap.get(ctx);\r\n if (!contextMap) {\r\n contextMap = new Map();\r\n canvasVarMap.set(ctx, contextMap);\r\n }\r\n if (!contextMap.has(ctor)) {\r\n contextMap.set(ctor, []);\r\n }\r\n return contextMap.get(ctor);\r\n}\r\nconst saveWebGLVar = (value, win, ctx) => {\r\n if (!value ||\r\n !(isInstanceOfWebGLObject(value, win) || typeof value === 'object'))\r\n return;\r\n const name = value.constructor.name;\r\n const list = variableListFor(ctx, name);\r\n let index = list.indexOf(value);\r\n if (index === -1) {\r\n index = list.length;\r\n list.push(value);\r\n }\r\n return index;\r\n};\r\nfunction serializeArg(value, win, ctx) {\r\n if (value instanceof Array) {\r\n return value.map((arg) => serializeArg(arg, win, ctx));\r\n }\r\n else if (value === null) {\r\n return value;\r\n }\r\n else if (value instanceof Float32Array ||\r\n value instanceof Float64Array ||\r\n value instanceof Int32Array ||\r\n value instanceof Uint32Array ||\r\n value instanceof Uint8Array ||\r\n value instanceof Uint16Array ||\r\n value instanceof Int16Array ||\r\n value instanceof Int8Array ||\r\n value instanceof Uint8ClampedArray) {\r\n const name = value.constructor.name;\r\n return {\r\n rr_type: name,\r\n args: [Object.values(value)],\r\n };\r\n }\r\n else if (value instanceof ArrayBuffer) {\r\n const name = value.constructor.name;\r\n const base64 = encode(value);\r\n return {\r\n rr_type: name,\r\n base64,\r\n };\r\n }\r\n else if (value instanceof DataView) {\r\n const name = value.constructor.name;\r\n return {\r\n rr_type: name,\r\n args: [\r\n serializeArg(value.buffer, win, ctx),\r\n value.byteOffset,\r\n value.byteLength,\r\n ],\r\n };\r\n }\r\n else if (value instanceof HTMLImageElement) {\r\n const name = value.constructor.name;\r\n const { src } = value;\r\n return {\r\n rr_type: name,\r\n src,\r\n };\r\n }\r\n else if (value instanceof HTMLCanvasElement) {\r\n const name = 'HTMLImageElement';\r\n const src = value.toDataURL();\r\n return {\r\n rr_type: name,\r\n src,\r\n };\r\n }\r\n else if (value instanceof ImageData) {\r\n const name = value.constructor.name;\r\n return {\r\n rr_type: name,\r\n args: [serializeArg(value.data, win, ctx), value.width, value.height],\r\n };\r\n }\r\n else if (isInstanceOfWebGLObject(value, win) || typeof value === 'object') {\r\n const name = value.constructor.name;\r\n const index = saveWebGLVar(value, win, ctx);\r\n return {\r\n rr_type: name,\r\n index: index,\r\n };\r\n }\r\n return value;\r\n}\r\nconst serializeArgs = (args, win, ctx) => {\r\n return args.map((arg) => serializeArg(arg, win, ctx));\r\n};\r\nconst isInstanceOfWebGLObject = (value, win) => {\r\n const webGLConstructorNames = [\r\n 'WebGLActiveInfo',\r\n 'WebGLBuffer',\r\n 'WebGLFramebuffer',\r\n 'WebGLProgram',\r\n 'WebGLRenderbuffer',\r\n 'WebGLShader',\r\n 'WebGLShaderPrecisionFormat',\r\n 'WebGLTexture',\r\n 'WebGLUniformLocation',\r\n 'WebGLVertexArrayObject',\r\n 'WebGLVertexArrayObjectOES',\r\n ];\r\n const supportedWebGLConstructorNames = webGLConstructorNames.filter((name) => typeof win[name] === 'function');\r\n return Boolean(supportedWebGLConstructorNames.find((name) => value instanceof win[name]));\r\n};\n\nfunction initCanvas2DMutationObserver(cb, win, blockClass, blockSelector) {\r\n const handlers = [];\r\n const props2D = Object.getOwnPropertyNames(win.CanvasRenderingContext2D.prototype);\r\n for (const prop of props2D) {\r\n try {\r\n if (typeof win.CanvasRenderingContext2D.prototype[prop] !== 'function') {\r\n continue;\r\n }\r\n const restoreHandler = patch(win.CanvasRenderingContext2D.prototype, prop, function (original) {\r\n return function (...args) {\r\n if (!isBlocked(this.canvas, blockClass, blockSelector, true)) {\r\n setTimeout(() => {\r\n const recordArgs = serializeArgs(args, win, this);\r\n cb(this.canvas, {\r\n type: CanvasContext['2D'],\r\n property: prop,\r\n args: recordArgs,\r\n });\r\n }, 0);\r\n }\r\n return original.apply(this, args);\r\n };\r\n });\r\n handlers.push(restoreHandler);\r\n }\r\n catch (_a) {\r\n const hookHandler = hookSetter(win.CanvasRenderingContext2D.prototype, prop, {\r\n set(v) {\r\n cb(this.canvas, {\r\n type: CanvasContext['2D'],\r\n property: prop,\r\n args: [v],\r\n setter: true,\r\n });\r\n },\r\n });\r\n handlers.push(hookHandler);\r\n }\r\n }\r\n return () => {\r\n handlers.forEach((h) => h());\r\n };\r\n}\n\nfunction getNormalizedContextName(contextType) {\r\n return contextType === 'experimental-webgl' ? 'webgl' : contextType;\r\n}\r\nfunction initCanvasContextObserver(win, blockClass, blockSelector, setPreserveDrawingBufferToTrue) {\r\n const handlers = [];\r\n try {\r\n const restoreHandler = patch(win.HTMLCanvasElement.prototype, 'getContext', function (original) {\r\n return function (contextType, ...args) {\r\n if (!isBlocked(this, blockClass, blockSelector, true)) {\r\n const ctxName = getNormalizedContextName(contextType);\r\n if (!('__context' in this))\r\n this.__context = ctxName;\r\n if (setPreserveDrawingBufferToTrue &&\r\n ['webgl', 'webgl2'].includes(ctxName)) {\r\n if (args[0] && typeof args[0] === 'object') {\r\n const contextAttributes = args[0];\r\n if (!contextAttributes.preserveDrawingBuffer) {\r\n contextAttributes.preserveDrawingBuffer = true;\r\n }\r\n }\r\n else {\r\n args.splice(0, 1, {\r\n preserveDrawingBuffer: true,\r\n });\r\n }\r\n }\r\n }\r\n return original.apply(this, [contextType, ...args]);\r\n };\r\n });\r\n handlers.push(restoreHandler);\r\n }\r\n catch (_a) {\r\n console.error('failed to patch HTMLCanvasElement.prototype.getContext');\r\n }\r\n return () => {\r\n handlers.forEach((h) => h());\r\n };\r\n}\n\nfunction patchGLPrototype(prototype, type, cb, blockClass, blockSelector, mirror, win) {\r\n const handlers = [];\r\n const props = Object.getOwnPropertyNames(prototype);\r\n for (const prop of props) {\r\n if ([\r\n 'isContextLost',\r\n 'canvas',\r\n 'drawingBufferWidth',\r\n 'drawingBufferHeight',\r\n ].includes(prop)) {\r\n continue;\r\n }\r\n try {\r\n if (typeof prototype[prop] !== 'function') {\r\n continue;\r\n }\r\n const restoreHandler = patch(prototype, prop, function (original) {\r\n return function (...args) {\r\n const result = original.apply(this, args);\r\n saveWebGLVar(result, win, this);\r\n if ('tagName' in this.canvas &&\r\n !isBlocked(this.canvas, blockClass, blockSelector, true)) {\r\n const recordArgs = serializeArgs(args, win, this);\r\n const mutation = {\r\n type,\r\n property: prop,\r\n args: recordArgs,\r\n };\r\n cb(this.canvas, mutation);\r\n }\r\n return result;\r\n };\r\n });\r\n handlers.push(restoreHandler);\r\n }\r\n catch (_a) {\r\n const hookHandler = hookSetter(prototype, prop, {\r\n set(v) {\r\n cb(this.canvas, {\r\n type,\r\n property: prop,\r\n args: [v],\r\n setter: true,\r\n });\r\n },\r\n });\r\n handlers.push(hookHandler);\r\n }\r\n }\r\n return handlers;\r\n}\r\nfunction initCanvasWebGLMutationObserver(cb, win, blockClass, blockSelector, mirror) {\r\n const handlers = [];\r\n handlers.push(...patchGLPrototype(win.WebGLRenderingContext.prototype, CanvasContext.WebGL, cb, blockClass, blockSelector, mirror, win));\r\n if (typeof win.WebGL2RenderingContext !== 'undefined') {\r\n handlers.push(...patchGLPrototype(win.WebGL2RenderingContext.prototype, CanvasContext.WebGL2, cb, blockClass, blockSelector, mirror, win));\r\n }\r\n return () => {\r\n handlers.forEach((h) => h());\r\n };\r\n}\n\nfunction funcToSource(fn, sourcemapArg) {\n var sourcemap = sourcemapArg === undefined ? null : sourcemapArg;\n var source = fn.toString();\n var lines = source.split('\\n');\n lines.pop();\n lines.shift();\n var blankPrefixLength = lines[0].search(/\\S/);\n var regex = /(['\"])__worker_loader_strict__(['\"])/g;\n for (var i = 0, n = lines.length; i < n; ++i) {\n lines[i] = lines[i].substring(blankPrefixLength).replace(regex, '$1use strict$2') + '\\n';\n }\n if (sourcemap) {\n lines.push('\\/\\/# sourceMappingURL=' + sourcemap + '\\n');\n }\n return lines;\n}\n\nfunction createURL(fn, sourcemapArg) {\n var lines = funcToSource(fn, sourcemapArg);\n var blob = new Blob(lines, { type: 'application/javascript' });\n return URL.createObjectURL(blob);\n}\n\nfunction createInlineWorkerFactory(fn, sourcemapArg) {\n var url;\n return function WorkerFactory(options) {\n url = url || createURL(fn, sourcemapArg);\n return new Worker(url, options);\n };\n}\n\nvar WorkerFactory = createInlineWorkerFactory(/* rollup-plugin-web-worker-loader */function () {\n(function () {\n '__worker_loader_strict__';\n\n /*! *****************************************************************************\r\n Copyright (c) Microsoft Corporation.\r\n\r\n Permission to use, copy, modify, and/or distribute this software for any\r\n purpose with or without fee is hereby granted.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\n PERFORMANCE OF THIS SOFTWARE.\r\n ***************************************************************************** */\r\n\r\n function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n }\n\n /*\n * base64-arraybuffer 1.0.1 \n * Copyright (c) 2021 Niklas von Hertzen \n * Released under MIT License\n */\n var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n // Use a lookup table to find the index.\n var lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\n for (var i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n }\n var encode = function (arraybuffer) {\n var bytes = new Uint8Array(arraybuffer), i, len = bytes.length, base64 = '';\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n }\n else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n return base64;\n };\n\n const lastBlobMap = new Map();\r\n const transparentBlobMap = new Map();\r\n function getTransparentBlobFor(width, height, dataURLOptions) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const id = `${width}-${height}`;\r\n if ('OffscreenCanvas' in globalThis) {\r\n if (transparentBlobMap.has(id))\r\n return transparentBlobMap.get(id);\r\n const offscreen = new OffscreenCanvas(width, height);\r\n offscreen.getContext('2d');\r\n const blob = yield offscreen.convertToBlob(dataURLOptions);\r\n const arrayBuffer = yield blob.arrayBuffer();\r\n const base64 = encode(arrayBuffer);\r\n transparentBlobMap.set(id, base64);\r\n return base64;\r\n }\r\n else {\r\n return '';\r\n }\r\n });\r\n }\r\n const worker = self;\r\n worker.onmessage = function (e) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n if ('OffscreenCanvas' in globalThis) {\r\n const { id, bitmap, width, height, dataURLOptions } = e.data;\r\n const transparentBase64 = getTransparentBlobFor(width, height, dataURLOptions);\r\n const offscreen = new OffscreenCanvas(width, height);\r\n const ctx = offscreen.getContext('2d');\r\n ctx.drawImage(bitmap, 0, 0);\r\n bitmap.close();\r\n const blob = yield offscreen.convertToBlob(dataURLOptions);\r\n const type = blob.type;\r\n const arrayBuffer = yield blob.arrayBuffer();\r\n const base64 = encode(arrayBuffer);\r\n if (!lastBlobMap.has(id) && (yield transparentBase64) === base64) {\r\n lastBlobMap.set(id, base64);\r\n return worker.postMessage({ id });\r\n }\r\n if (lastBlobMap.get(id) === base64)\r\n return worker.postMessage({ id });\r\n worker.postMessage({\r\n id,\r\n type,\r\n base64,\r\n width,\r\n height,\r\n });\r\n lastBlobMap.set(id, base64);\r\n }\r\n else {\r\n return worker.postMessage({ id: e.data.id });\r\n }\r\n });\r\n };\n\n})();\n}, null);\n\nclass CanvasManager {\r\n reset() {\r\n this.pendingCanvasMutations.clear();\r\n this.resetObservers && this.resetObservers();\r\n }\r\n freeze() {\r\n this.frozen = true;\r\n }\r\n unfreeze() {\r\n this.frozen = false;\r\n }\r\n lock() {\r\n this.locked = true;\r\n }\r\n unlock() {\r\n this.locked = false;\r\n }\r\n constructor(options) {\r\n this.pendingCanvasMutations = new Map();\r\n this.rafStamps = { latestId: 0, invokeId: null };\r\n this.frozen = false;\r\n this.locked = false;\r\n this.processMutation = (target, mutation) => {\r\n const newFrame = this.rafStamps.invokeId &&\r\n this.rafStamps.latestId !== this.rafStamps.invokeId;\r\n if (newFrame || !this.rafStamps.invokeId)\r\n this.rafStamps.invokeId = this.rafStamps.latestId;\r\n if (!this.pendingCanvasMutations.has(target)) {\r\n this.pendingCanvasMutations.set(target, []);\r\n }\r\n this.pendingCanvasMutations.get(target).push(mutation);\r\n };\r\n const { sampling = 'all', win, blockClass, blockSelector, recordCanvas, dataURLOptions, } = options;\r\n this.mutationCb = options.mutationCb;\r\n this.mirror = options.mirror;\r\n if (recordCanvas && sampling === 'all')\r\n this.initCanvasMutationObserver(win, blockClass, blockSelector);\r\n if (recordCanvas && typeof sampling === 'number')\r\n this.initCanvasFPSObserver(sampling, win, blockClass, blockSelector, {\r\n dataURLOptions,\r\n });\r\n }\r\n initCanvasFPSObserver(fps, win, blockClass, blockSelector, options) {\r\n const canvasContextReset = initCanvasContextObserver(win, blockClass, blockSelector, true);\r\n const snapshotInProgressMap = new Map();\r\n const worker = new WorkerFactory();\r\n worker.onmessage = (e) => {\r\n const { id } = e.data;\r\n snapshotInProgressMap.set(id, false);\r\n if (!('base64' in e.data))\r\n return;\r\n const { base64, type, width, height } = e.data;\r\n this.mutationCb({\r\n id,\r\n type: CanvasContext['2D'],\r\n commands: [\r\n {\r\n property: 'clearRect',\r\n args: [0, 0, width, height],\r\n },\r\n {\r\n property: 'drawImage',\r\n args: [\r\n {\r\n rr_type: 'ImageBitmap',\r\n args: [\r\n {\r\n rr_type: 'Blob',\r\n data: [{ rr_type: 'ArrayBuffer', base64 }],\r\n type,\r\n },\r\n ],\r\n },\r\n 0,\r\n 0,\r\n ],\r\n },\r\n ],\r\n });\r\n };\r\n const timeBetweenSnapshots = 1000 / fps;\r\n let lastSnapshotTime = 0;\r\n let rafId;\r\n const getCanvas = () => {\r\n const matchedCanvas = [];\r\n win.document.querySelectorAll('canvas').forEach((canvas) => {\r\n if (!isBlocked(canvas, blockClass, blockSelector, true)) {\r\n matchedCanvas.push(canvas);\r\n }\r\n });\r\n return matchedCanvas;\r\n };\r\n const takeCanvasSnapshots = (timestamp) => {\r\n if (lastSnapshotTime &&\r\n timestamp - lastSnapshotTime < timeBetweenSnapshots) {\r\n rafId = requestAnimationFrame(takeCanvasSnapshots);\r\n return;\r\n }\r\n lastSnapshotTime = timestamp;\r\n getCanvas()\r\n .forEach((canvas) => __awaiter(this, void 0, void 0, function* () {\r\n var _a;\r\n const id = this.mirror.getId(canvas);\r\n if (snapshotInProgressMap.get(id))\r\n return;\r\n if (canvas.width === 0 || canvas.height === 0)\r\n return;\r\n snapshotInProgressMap.set(id, true);\r\n if (['webgl', 'webgl2'].includes(canvas.__context)) {\r\n const context = canvas.getContext(canvas.__context);\r\n if (((_a = context === null || context === void 0 ? void 0 : context.getContextAttributes()) === null || _a === void 0 ? void 0 : _a.preserveDrawingBuffer) === false) {\r\n context.clear(context.COLOR_BUFFER_BIT);\r\n }\r\n }\r\n const bitmap = yield createImageBitmap(canvas);\r\n worker.postMessage({\r\n id,\r\n bitmap,\r\n width: canvas.width,\r\n height: canvas.height,\r\n dataURLOptions: options.dataURLOptions,\r\n }, [bitmap]);\r\n }));\r\n rafId = requestAnimationFrame(takeCanvasSnapshots);\r\n };\r\n rafId = requestAnimationFrame(takeCanvasSnapshots);\r\n this.resetObservers = () => {\r\n canvasContextReset();\r\n cancelAnimationFrame(rafId);\r\n };\r\n }\r\n initCanvasMutationObserver(win, blockClass, blockSelector) {\r\n this.startRAFTimestamping();\r\n this.startPendingCanvasMutationFlusher();\r\n const canvasContextReset = initCanvasContextObserver(win, blockClass, blockSelector, false);\r\n const canvas2DReset = initCanvas2DMutationObserver(this.processMutation.bind(this), win, blockClass, blockSelector);\r\n const canvasWebGL1and2Reset = initCanvasWebGLMutationObserver(this.processMutation.bind(this), win, blockClass, blockSelector, this.mirror);\r\n this.resetObservers = () => {\r\n canvasContextReset();\r\n canvas2DReset();\r\n canvasWebGL1and2Reset();\r\n };\r\n }\r\n startPendingCanvasMutationFlusher() {\r\n requestAnimationFrame(() => this.flushPendingCanvasMutations());\r\n }\r\n startRAFTimestamping() {\r\n const setLatestRAFTimestamp = (timestamp) => {\r\n this.rafStamps.latestId = timestamp;\r\n requestAnimationFrame(setLatestRAFTimestamp);\r\n };\r\n requestAnimationFrame(setLatestRAFTimestamp);\r\n }\r\n flushPendingCanvasMutations() {\r\n this.pendingCanvasMutations.forEach((values, canvas) => {\r\n const id = this.mirror.getId(canvas);\r\n this.flushPendingCanvasMutationFor(canvas, id);\r\n });\r\n requestAnimationFrame(() => this.flushPendingCanvasMutations());\r\n }\r\n flushPendingCanvasMutationFor(canvas, id) {\r\n if (this.frozen || this.locked) {\r\n return;\r\n }\r\n const valuesWithType = this.pendingCanvasMutations.get(canvas);\r\n if (!valuesWithType || id === -1)\r\n return;\r\n const values = valuesWithType.map((value) => {\r\n const rest = __rest(value, [\"type\"]);\r\n return rest;\r\n });\r\n const { type } = valuesWithType[0];\r\n this.mutationCb({ id, type, commands: values });\r\n this.pendingCanvasMutations.delete(canvas);\r\n }\r\n}\n\nclass StylesheetManager {\r\n constructor(options) {\r\n this.trackedLinkElements = new WeakSet();\r\n this.styleMirror = new StyleSheetMirror();\r\n this.mutationCb = options.mutationCb;\r\n this.adoptedStyleSheetCb = options.adoptedStyleSheetCb;\r\n }\r\n attachLinkElement(linkEl, childSn) {\r\n if ('_cssText' in childSn.attributes)\r\n this.mutationCb({\r\n adds: [],\r\n removes: [],\r\n texts: [],\r\n attributes: [\r\n {\r\n id: childSn.id,\r\n attributes: childSn\r\n .attributes,\r\n },\r\n ],\r\n });\r\n this.trackLinkElement(linkEl);\r\n }\r\n trackLinkElement(linkEl) {\r\n if (this.trackedLinkElements.has(linkEl))\r\n return;\r\n this.trackedLinkElements.add(linkEl);\r\n this.trackStylesheetInLinkElement(linkEl);\r\n }\r\n adoptStyleSheets(sheets, hostId) {\r\n if (sheets.length === 0)\r\n return;\r\n const adoptedStyleSheetData = {\r\n id: hostId,\r\n styleIds: [],\r\n };\r\n const styles = [];\r\n for (const sheet of sheets) {\r\n let styleId;\r\n if (!this.styleMirror.has(sheet)) {\r\n styleId = this.styleMirror.add(sheet);\r\n styles.push({\r\n styleId,\r\n rules: Array.from(sheet.rules || CSSRule, (r, index) => ({\r\n rule: stringifyRule(r),\r\n index,\r\n })),\r\n });\r\n }\r\n else\r\n styleId = this.styleMirror.getId(sheet);\r\n adoptedStyleSheetData.styleIds.push(styleId);\r\n }\r\n if (styles.length > 0)\r\n adoptedStyleSheetData.styles = styles;\r\n this.adoptedStyleSheetCb(adoptedStyleSheetData);\r\n }\r\n reset() {\r\n this.styleMirror.reset();\r\n this.trackedLinkElements = new WeakSet();\r\n }\r\n trackStylesheetInLinkElement(linkEl) {\r\n }\r\n}\n\nclass ProcessedNodeManager {\r\n constructor() {\r\n this.nodeMap = new WeakMap();\r\n this.loop = true;\r\n this.periodicallyClear();\r\n }\r\n periodicallyClear() {\r\n requestAnimationFrame(() => {\r\n this.clear();\r\n if (this.loop)\r\n this.periodicallyClear();\r\n });\r\n }\r\n inOtherBuffer(node, thisBuffer) {\r\n const buffers = this.nodeMap.get(node);\r\n return (buffers && Array.from(buffers).some((buffer) => buffer !== thisBuffer));\r\n }\r\n add(node, buffer) {\r\n this.nodeMap.set(node, (this.nodeMap.get(node) || new Set()).add(buffer));\r\n }\r\n clear() {\r\n this.nodeMap = new WeakMap();\r\n }\r\n destroy() {\r\n this.loop = false;\r\n }\r\n}\n\nfunction wrapEvent(e) {\r\n return Object.assign(Object.assign({}, e), { timestamp: nowTimestamp() });\r\n}\r\nlet wrappedEmit;\r\nlet takeFullSnapshot;\r\nlet canvasManager;\r\nlet recording = false;\r\nconst mirror = createMirror();\r\nfunction record(options = {}) {\r\n const { emit, checkoutEveryNms, checkoutEveryNth, blockClass = 'rr-block', blockSelector = null, ignoreClass = 'rr-ignore', ignoreSelector = null, maskTextClass = 'rr-mask', maskTextSelector = null, inlineStylesheet = true, maskAllInputs, maskInputOptions: _maskInputOptions, slimDOMOptions: _slimDOMOptions, maskInputFn, maskTextFn, hooks, packFn, sampling = {}, dataURLOptions = {}, mousemoveWait, recordDOM = true, recordCanvas = false, recordCrossOriginIframes = false, recordAfter = options.recordAfter === 'DOMContentLoaded'\r\n ? options.recordAfter\r\n : 'load', userTriggeredOnInput = false, collectFonts = false, inlineImages = false, plugins, keepIframeSrcFn = () => false, ignoreCSSAttributes = new Set([]), errorHandler, } = options;\r\n registerErrorHandler(errorHandler);\r\n const inEmittingFrame = recordCrossOriginIframes\r\n ? window.parent === window\r\n : true;\r\n let passEmitsToParent = false;\r\n if (!inEmittingFrame) {\r\n try {\r\n if (window.parent.document) {\r\n passEmitsToParent = false;\r\n }\r\n }\r\n catch (e) {\r\n passEmitsToParent = true;\r\n }\r\n }\r\n if (inEmittingFrame && !emit) {\r\n throw new Error('emit function is required');\r\n }\r\n if (mousemoveWait !== undefined && sampling.mousemove === undefined) {\r\n sampling.mousemove = mousemoveWait;\r\n }\r\n mirror.reset();\r\n const maskInputOptions = maskAllInputs === true\r\n ? {\r\n color: true,\r\n date: true,\r\n 'datetime-local': true,\r\n email: true,\r\n month: true,\r\n number: true,\r\n range: true,\r\n search: true,\r\n tel: true,\r\n text: true,\r\n time: true,\r\n url: true,\r\n week: true,\r\n textarea: true,\r\n select: true,\r\n password: true,\r\n }\r\n : _maskInputOptions !== undefined\r\n ? _maskInputOptions\r\n : { password: true };\r\n const slimDOMOptions = _slimDOMOptions === true || _slimDOMOptions === 'all'\r\n ? {\r\n script: true,\r\n comment: true,\r\n headFavicon: true,\r\n headWhitespace: true,\r\n headMetaSocial: true,\r\n headMetaRobots: true,\r\n headMetaHttpEquiv: true,\r\n headMetaVerification: true,\r\n headMetaAuthorship: _slimDOMOptions === 'all',\r\n headMetaDescKeywords: _slimDOMOptions === 'all',\r\n }\r\n : _slimDOMOptions\r\n ? _slimDOMOptions\r\n : {};\r\n polyfill();\r\n let lastFullSnapshotEvent;\r\n let incrementalSnapshotCount = 0;\r\n const eventProcessor = (e) => {\r\n for (const plugin of plugins || []) {\r\n if (plugin.eventProcessor) {\r\n e = plugin.eventProcessor(e);\r\n }\r\n }\r\n if (packFn &&\r\n !passEmitsToParent) {\r\n e = packFn(e);\r\n }\r\n return e;\r\n };\r\n wrappedEmit = (e, isCheckout) => {\r\n var _a;\r\n if (((_a = mutationBuffers[0]) === null || _a === void 0 ? void 0 : _a.isFrozen()) &&\r\n e.type !== EventType$1.FullSnapshot &&\r\n !(e.type === EventType$1.IncrementalSnapshot &&\r\n e.data.source === IncrementalSource$1.Mutation)) {\r\n mutationBuffers.forEach((buf) => buf.unfreeze());\r\n }\r\n if (inEmittingFrame) {\r\n emit === null || emit === void 0 ? void 0 : emit(eventProcessor(e), isCheckout);\r\n }\r\n else if (passEmitsToParent) {\r\n const message = {\r\n type: 'rrweb',\r\n event: eventProcessor(e),\r\n origin: window.location.origin,\r\n isCheckout,\r\n };\r\n window.parent.postMessage(message, '*');\r\n }\r\n if (e.type === EventType$1.FullSnapshot) {\r\n lastFullSnapshotEvent = e;\r\n incrementalSnapshotCount = 0;\r\n }\r\n else if (e.type === EventType$1.IncrementalSnapshot) {\r\n if (e.data.source === IncrementalSource$1.Mutation &&\r\n e.data.isAttachIframe) {\r\n return;\r\n }\r\n incrementalSnapshotCount++;\r\n const exceedCount = checkoutEveryNth && incrementalSnapshotCount >= checkoutEveryNth;\r\n const exceedTime = checkoutEveryNms &&\r\n e.timestamp - lastFullSnapshotEvent.timestamp > checkoutEveryNms;\r\n if (exceedCount || exceedTime) {\r\n takeFullSnapshot(true);\r\n }\r\n }\r\n };\r\n const wrappedMutationEmit = (m) => {\r\n wrappedEmit(wrapEvent({\r\n type: EventType$1.IncrementalSnapshot,\r\n data: Object.assign({ source: IncrementalSource$1.Mutation }, m),\r\n }));\r\n };\r\n const wrappedScrollEmit = (p) => wrappedEmit(wrapEvent({\r\n type: EventType$1.IncrementalSnapshot,\r\n data: Object.assign({ source: IncrementalSource$1.Scroll }, p),\r\n }));\r\n const wrappedCanvasMutationEmit = (p) => wrappedEmit(wrapEvent({\r\n type: EventType$1.IncrementalSnapshot,\r\n data: Object.assign({ source: IncrementalSource$1.CanvasMutation }, p),\r\n }));\r\n const wrappedAdoptedStyleSheetEmit = (a) => wrappedEmit(wrapEvent({\r\n type: EventType$1.IncrementalSnapshot,\r\n data: Object.assign({ source: IncrementalSource$1.AdoptedStyleSheet }, a),\r\n }));\r\n const stylesheetManager = new StylesheetManager({\r\n mutationCb: wrappedMutationEmit,\r\n adoptedStyleSheetCb: wrappedAdoptedStyleSheetEmit,\r\n });\r\n const iframeManager = new IframeManager({\r\n mirror,\r\n mutationCb: wrappedMutationEmit,\r\n stylesheetManager: stylesheetManager,\r\n recordCrossOriginIframes,\r\n wrappedEmit,\r\n });\r\n for (const plugin of plugins || []) {\r\n if (plugin.getMirror)\r\n plugin.getMirror({\r\n nodeMirror: mirror,\r\n crossOriginIframeMirror: iframeManager.crossOriginIframeMirror,\r\n crossOriginIframeStyleMirror: iframeManager.crossOriginIframeStyleMirror,\r\n });\r\n }\r\n const processedNodeManager = new ProcessedNodeManager();\r\n canvasManager = new CanvasManager({\r\n recordCanvas,\r\n mutationCb: wrappedCanvasMutationEmit,\r\n win: window,\r\n blockClass,\r\n blockSelector,\r\n mirror,\r\n sampling: sampling.canvas,\r\n dataURLOptions,\r\n });\r\n const shadowDomManager = new ShadowDomManager({\r\n mutationCb: wrappedMutationEmit,\r\n scrollCb: wrappedScrollEmit,\r\n bypassOptions: {\r\n blockClass,\r\n blockSelector,\r\n maskTextClass,\r\n maskTextSelector,\r\n inlineStylesheet,\r\n maskInputOptions,\r\n dataURLOptions,\r\n maskTextFn,\r\n maskInputFn,\r\n recordCanvas,\r\n inlineImages,\r\n sampling,\r\n slimDOMOptions,\r\n iframeManager,\r\n stylesheetManager,\r\n canvasManager,\r\n keepIframeSrcFn,\r\n processedNodeManager,\r\n },\r\n mirror,\r\n });\r\n takeFullSnapshot = (isCheckout = false) => {\r\n if (!recordDOM) {\r\n return;\r\n }\r\n wrappedEmit(wrapEvent({\r\n type: EventType$1.Meta,\r\n data: {\r\n href: window.location.href,\r\n width: getWindowWidth(),\r\n height: getWindowHeight(),\r\n },\r\n }), isCheckout);\r\n stylesheetManager.reset();\r\n shadowDomManager.init();\r\n mutationBuffers.forEach((buf) => buf.lock());\r\n const node = snapshot(document, {\r\n mirror,\r\n blockClass,\r\n blockSelector,\r\n maskTextClass,\r\n maskTextSelector,\r\n inlineStylesheet,\r\n maskAllInputs: maskInputOptions,\r\n maskTextFn,\r\n slimDOM: slimDOMOptions,\r\n dataURLOptions,\r\n recordCanvas,\r\n inlineImages,\r\n onSerialize: (n) => {\r\n if (isSerializedIframe(n, mirror)) {\r\n iframeManager.addIframe(n);\r\n }\r\n if (isSerializedStylesheet(n, mirror)) {\r\n stylesheetManager.trackLinkElement(n);\r\n }\r\n if (hasShadowRoot(n)) {\r\n shadowDomManager.addShadowRoot(n.shadowRoot, document);\r\n }\r\n },\r\n onIframeLoad: (iframe, childSn) => {\r\n iframeManager.attachIframe(iframe, childSn);\r\n shadowDomManager.observeAttachShadow(iframe);\r\n },\r\n onStylesheetLoad: (linkEl, childSn) => {\r\n stylesheetManager.attachLinkElement(linkEl, childSn);\r\n },\r\n keepIframeSrcFn,\r\n });\r\n if (!node) {\r\n return console.warn('Failed to snapshot the document');\r\n }\r\n wrappedEmit(wrapEvent({\r\n type: EventType$1.FullSnapshot,\r\n data: {\r\n node,\r\n initialOffset: getWindowScroll(window),\r\n },\r\n }), isCheckout);\r\n mutationBuffers.forEach((buf) => buf.unlock());\r\n if (document.adoptedStyleSheets && document.adoptedStyleSheets.length > 0)\r\n stylesheetManager.adoptStyleSheets(document.adoptedStyleSheets, mirror.getId(document));\r\n };\r\n try {\r\n const handlers = [];\r\n const observe = (doc) => {\r\n var _a;\r\n return callbackWrapper(initObservers)({\r\n mutationCb: wrappedMutationEmit,\r\n mousemoveCb: (positions, source) => wrappedEmit(wrapEvent({\r\n type: EventType$1.IncrementalSnapshot,\r\n data: {\r\n source,\r\n positions,\r\n },\r\n })),\r\n mouseInteractionCb: (d) => wrappedEmit(wrapEvent({\r\n type: EventType$1.IncrementalSnapshot,\r\n data: Object.assign({ source: IncrementalSource$1.MouseInteraction }, d),\r\n })),\r\n scrollCb: wrappedScrollEmit,\r\n viewportResizeCb: (d) => wrappedEmit(wrapEvent({\r\n type: EventType$1.IncrementalSnapshot,\r\n data: Object.assign({ source: IncrementalSource$1.ViewportResize }, d),\r\n })),\r\n inputCb: (v) => wrappedEmit(wrapEvent({\r\n type: EventType$1.IncrementalSnapshot,\r\n data: Object.assign({ source: IncrementalSource$1.Input }, v),\r\n })),\r\n mediaInteractionCb: (p) => wrappedEmit(wrapEvent({\r\n type: EventType$1.IncrementalSnapshot,\r\n data: Object.assign({ source: IncrementalSource$1.MediaInteraction }, p),\r\n })),\r\n styleSheetRuleCb: (r) => wrappedEmit(wrapEvent({\r\n type: EventType$1.IncrementalSnapshot,\r\n data: Object.assign({ source: IncrementalSource$1.StyleSheetRule }, r),\r\n })),\r\n styleDeclarationCb: (r) => wrappedEmit(wrapEvent({\r\n type: EventType$1.IncrementalSnapshot,\r\n data: Object.assign({ source: IncrementalSource$1.StyleDeclaration }, r),\r\n })),\r\n canvasMutationCb: wrappedCanvasMutationEmit,\r\n fontCb: (p) => wrappedEmit(wrapEvent({\r\n type: EventType$1.IncrementalSnapshot,\r\n data: Object.assign({ source: IncrementalSource$1.Font }, p),\r\n })),\r\n selectionCb: (p) => {\r\n wrappedEmit(wrapEvent({\r\n type: EventType$1.IncrementalSnapshot,\r\n data: Object.assign({ source: IncrementalSource$1.Selection }, p),\r\n }));\r\n },\r\n customElementCb: (c) => {\r\n wrappedEmit(wrapEvent({\r\n type: EventType$1.IncrementalSnapshot,\r\n data: Object.assign({ source: IncrementalSource$1.CustomElement }, c),\r\n }));\r\n },\r\n blockClass,\r\n ignoreClass,\r\n ignoreSelector,\r\n maskTextClass,\r\n maskTextSelector,\r\n maskInputOptions,\r\n inlineStylesheet,\r\n sampling,\r\n recordDOM,\r\n recordCanvas,\r\n inlineImages,\r\n userTriggeredOnInput,\r\n collectFonts,\r\n doc,\r\n maskInputFn,\r\n maskTextFn,\r\n keepIframeSrcFn,\r\n blockSelector,\r\n slimDOMOptions,\r\n dataURLOptions,\r\n mirror,\r\n iframeManager,\r\n stylesheetManager,\r\n shadowDomManager,\r\n processedNodeManager,\r\n canvasManager,\r\n ignoreCSSAttributes,\r\n plugins: ((_a = plugins === null || plugins === void 0 ? void 0 : plugins.filter((p) => p.observer)) === null || _a === void 0 ? void 0 : _a.map((p) => ({\r\n observer: p.observer,\r\n options: p.options,\r\n callback: (payload) => wrappedEmit(wrapEvent({\r\n type: EventType$1.Plugin,\r\n data: {\r\n plugin: p.name,\r\n payload,\r\n },\r\n })),\r\n }))) || [],\r\n }, hooks);\r\n };\r\n iframeManager.addLoadListener((iframeEl) => {\r\n try {\r\n handlers.push(observe(iframeEl.contentDocument));\r\n }\r\n catch (error) {\r\n console.warn(error);\r\n }\r\n });\r\n const init = () => {\r\n takeFullSnapshot();\r\n handlers.push(observe(document));\r\n recording = true;\r\n };\r\n if (document.readyState === 'interactive' ||\r\n document.readyState === 'complete') {\r\n init();\r\n }\r\n else {\r\n handlers.push(on('DOMContentLoaded', () => {\r\n wrappedEmit(wrapEvent({\r\n type: EventType$1.DomContentLoaded,\r\n data: {},\r\n }));\r\n if (recordAfter === 'DOMContentLoaded')\r\n init();\r\n }));\r\n handlers.push(on('load', () => {\r\n wrappedEmit(wrapEvent({\r\n type: EventType$1.Load,\r\n data: {},\r\n }));\r\n if (recordAfter === 'load')\r\n init();\r\n }, window));\r\n }\r\n return () => {\r\n handlers.forEach((h) => h());\r\n processedNodeManager.destroy();\r\n recording = false;\r\n unregisterErrorHandler();\r\n };\r\n }\r\n catch (error) {\r\n console.warn(error);\r\n }\r\n}\r\nrecord.addCustomEvent = (tag, payload) => {\r\n if (!recording) {\r\n throw new Error('please add custom event after start recording');\r\n }\r\n wrappedEmit(wrapEvent({\r\n type: EventType$1.Custom,\r\n data: {\r\n tag,\r\n payload,\r\n },\r\n }));\r\n};\r\nrecord.freezePage = () => {\r\n mutationBuffers.forEach((buf) => buf.freeze());\r\n};\r\nrecord.takeFullSnapshot = (isCheckout) => {\r\n if (!recording) {\r\n throw new Error('please take full snapshot after start recording');\r\n }\r\n takeFullSnapshot(isCheckout);\r\n};\r\nrecord.mirror = mirror;\n\nvar EventType = /* @__PURE__ */ ((EventType2) => {\n EventType2[EventType2[\"DomContentLoaded\"] = 0] = \"DomContentLoaded\";\n EventType2[EventType2[\"Load\"] = 1] = \"Load\";\n EventType2[EventType2[\"FullSnapshot\"] = 2] = \"FullSnapshot\";\n EventType2[EventType2[\"IncrementalSnapshot\"] = 3] = \"IncrementalSnapshot\";\n EventType2[EventType2[\"Meta\"] = 4] = \"Meta\";\n EventType2[EventType2[\"Custom\"] = 5] = \"Custom\";\n EventType2[EventType2[\"Plugin\"] = 6] = \"Plugin\";\n return EventType2;\n})(EventType || {});\nvar IncrementalSource = /* @__PURE__ */ ((IncrementalSource2) => {\n IncrementalSource2[IncrementalSource2[\"Mutation\"] = 0] = \"Mutation\";\n IncrementalSource2[IncrementalSource2[\"MouseMove\"] = 1] = \"MouseMove\";\n IncrementalSource2[IncrementalSource2[\"MouseInteraction\"] = 2] = \"MouseInteraction\";\n IncrementalSource2[IncrementalSource2[\"Scroll\"] = 3] = \"Scroll\";\n IncrementalSource2[IncrementalSource2[\"ViewportResize\"] = 4] = \"ViewportResize\";\n IncrementalSource2[IncrementalSource2[\"Input\"] = 5] = \"Input\";\n IncrementalSource2[IncrementalSource2[\"TouchMove\"] = 6] = \"TouchMove\";\n IncrementalSource2[IncrementalSource2[\"MediaInteraction\"] = 7] = \"MediaInteraction\";\n IncrementalSource2[IncrementalSource2[\"StyleSheetRule\"] = 8] = \"StyleSheetRule\";\n IncrementalSource2[IncrementalSource2[\"CanvasMutation\"] = 9] = \"CanvasMutation\";\n IncrementalSource2[IncrementalSource2[\"Font\"] = 10] = \"Font\";\n IncrementalSource2[IncrementalSource2[\"Log\"] = 11] = \"Log\";\n IncrementalSource2[IncrementalSource2[\"Drag\"] = 12] = \"Drag\";\n IncrementalSource2[IncrementalSource2[\"StyleDeclaration\"] = 13] = \"StyleDeclaration\";\n IncrementalSource2[IncrementalSource2[\"Selection\"] = 14] = \"Selection\";\n IncrementalSource2[IncrementalSource2[\"AdoptedStyleSheet\"] = 15] = \"AdoptedStyleSheet\";\n IncrementalSource2[IncrementalSource2[\"CustomElement\"] = 16] = \"CustomElement\";\n return IncrementalSource2;\n})(IncrementalSource || {});\n\nvar Config = {\n DEBUG: false,\n LIB_VERSION: '2.60.0'\n};\n\n// since es6 imports are static and we run unit tests from the console, window won't be defined when importing this file\nvar win;\nif (typeof(window) === 'undefined') {\n var loc = {\n hostname: ''\n };\n win = {\n navigator: { userAgent: '', onLine: true },\n document: {\n createElement: function() { return {}; },\n location: loc,\n referrer: ''\n },\n screen: { width: 0, height: 0 },\n location: loc,\n addEventListener: function() {},\n removeEventListener: function() {}\n };\n} else {\n win = window;\n}\n\nvar setImmediate = win['setImmediate'];\nvar builtInProp, cycle, schedulingQueue,\n ToString = Object.prototype.toString,\n timer = (typeof setImmediate !== 'undefined') ?\n function timer(fn) { return setImmediate(fn); } :\n setTimeout;\n\n// dammit, IE8.\ntry {\n Object.defineProperty({},'x',{});\n builtInProp = function builtInProp(obj,name,val,config) {\n return Object.defineProperty(obj,name,{\n value: val,\n writable: true,\n configurable: config !== false\n });\n };\n}\ncatch (err) {\n builtInProp = function builtInProp(obj,name,val) {\n obj[name] = val;\n return obj;\n };\n}\n\n// Note: using a queue instead of array for efficiency\nschedulingQueue = (function Queue() {\n var first, last, item;\n\n function Item(fn,self) {\n this.fn = fn;\n this.self = self;\n this.next = void 0;\n }\n\n return {\n add: function add(fn,self) {\n item = new Item(fn,self);\n if (last) {\n last.next = item;\n }\n else {\n first = item;\n }\n last = item;\n item = void 0;\n },\n drain: function drain() {\n var f = first;\n first = last = cycle = void 0;\n\n while (f) {\n f.fn.call(f.self);\n f = f.next;\n }\n }\n };\n})();\n\nfunction schedule(fn,self) {\n schedulingQueue.add(fn,self);\n if (!cycle) {\n cycle = timer(schedulingQueue.drain);\n }\n}\n\n// promise duck typing\nfunction isThenable(o) {\n var _then, oType = typeof o;\n\n if (o !== null && (oType === 'object' || oType === 'function')) {\n _then = o.then;\n }\n return typeof _then === 'function' ? _then : false;\n}\n\nfunction notify() {\n for (var i=0; i 0) {\n schedule(notify,self);\n }\n }\n }\n catch (err) {\n reject.call(new MakeDefWrapper(self),err);\n }\n}\n\nfunction reject(msg) {\n var self = this;\n\n // already triggered?\n if (self.triggered) { return; }\n\n self.triggered = true;\n\n // unwrap\n if (self.def) {\n self = self.def;\n }\n\n self.msg = msg;\n self.state = 2;\n if (self.chain.length > 0) {\n schedule(notify,self);\n }\n}\n\nfunction iteratePromises(Constructor,arr,resolver,rejecter) {\n for (var idx=0; idx 0) {\n ret[k] = v;\n }\n });\n return ret;\n};\n\n/*\n * this function returns a copy of object after truncating it. If\n * passed an Array or Object it will iterate through obj and\n * truncate all the values recursively.\n */\n_.truncate = function(obj, length) {\n var ret;\n\n if (typeof(obj) === 'string') {\n ret = obj.slice(0, length);\n } else if (_.isArray(obj)) {\n ret = [];\n _.each(obj, function(val) {\n ret.push(_.truncate(val, length));\n });\n } else if (_.isObject(obj)) {\n ret = {};\n _.each(obj, function(val, key) {\n ret[key] = _.truncate(val, length);\n });\n } else {\n ret = obj;\n }\n\n return ret;\n};\n\n_.JSONEncode = (function() {\n return function(mixed_val) {\n var value = mixed_val;\n var quote = function(string) {\n var escapable = /[\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g; // eslint-disable-line no-control-regex\n var meta = { // table of character substitutions\n '\\b': '\\\\b',\n '\\t': '\\\\t',\n '\\n': '\\\\n',\n '\\f': '\\\\f',\n '\\r': '\\\\r',\n '\"': '\\\\\"',\n '\\\\': '\\\\\\\\'\n };\n\n escapable.lastIndex = 0;\n return escapable.test(string) ?\n '\"' + string.replace(escapable, function(a) {\n var c = meta[a];\n return typeof c === 'string' ? c :\n '\\\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);\n }) + '\"' :\n '\"' + string + '\"';\n };\n\n var str = function(key, holder) {\n var gap = '';\n var indent = ' ';\n var i = 0; // The loop counter.\n var k = ''; // The member key.\n var v = ''; // The member value.\n var length = 0;\n var mind = gap;\n var partial = [];\n var value = holder[key];\n\n // If the value has a toJSON method, call it to obtain a replacement value.\n if (value && typeof value === 'object' &&\n typeof value.toJSON === 'function') {\n value = value.toJSON(key);\n }\n\n // What happens next depends on the value's type.\n switch (typeof value) {\n case 'string':\n return quote(value);\n\n case 'number':\n // JSON numbers must be finite. Encode non-finite numbers as null.\n return isFinite(value) ? String(value) : 'null';\n\n case 'boolean':\n case 'null':\n // If the value is a boolean or null, convert it to a string. Note:\n // typeof null does not produce 'null'. The case is included here in\n // the remote chance that this gets fixed someday.\n\n return String(value);\n\n case 'object':\n // If the type is 'object', we might be dealing with an object or an array or\n // null.\n // Due to a specification blunder in ECMAScript, typeof null is 'object',\n // so watch out for that case.\n if (!value) {\n return 'null';\n }\n\n // Make an array to hold the partial results of stringifying this object value.\n gap += indent;\n partial = [];\n\n // Is the value an array?\n if (toString.apply(value) === '[object Array]') {\n // The value is an array. Stringify every element. Use null as a placeholder\n // for non-JSON values.\n\n length = value.length;\n for (i = 0; i < length; i += 1) {\n partial[i] = str(i, value) || 'null';\n }\n\n // Join all of the elements together, separated with commas, and wrap them in\n // brackets.\n v = partial.length === 0 ? '[]' :\n gap ? '[\\n' + gap +\n partial.join(',\\n' + gap) + '\\n' +\n mind + ']' :\n '[' + partial.join(',') + ']';\n gap = mind;\n return v;\n }\n\n // Iterate through all of the keys in the object.\n for (k in value) {\n if (hasOwnProperty.call(value, k)) {\n v = str(k, value);\n if (v) {\n partial.push(quote(k) + (gap ? ': ' : ':') + v);\n }\n }\n }\n\n // Join all of the member texts together, separated with commas,\n // and wrap them in braces.\n v = partial.length === 0 ? '{}' :\n gap ? '{' + partial.join(',') + '' +\n mind + '}' : '{' + partial.join(',') + '}';\n gap = mind;\n return v;\n }\n };\n\n // Make a fake root object containing our value under the key of ''.\n // Return the result of stringifying the value.\n return str('', {\n '': value\n });\n };\n})();\n\n/**\n * From https://github.com/douglascrockford/JSON-js/blob/master/json_parse.js\n * Slightly modified to throw a real Error rather than a POJO\n */\n_.JSONDecode = (function() {\n var at, // The index of the current character\n ch, // The current character\n escapee = {\n '\"': '\"',\n '\\\\': '\\\\',\n '/': '/',\n 'b': '\\b',\n 'f': '\\f',\n 'n': '\\n',\n 'r': '\\r',\n 't': '\\t'\n },\n text,\n error = function(m) {\n var e = new SyntaxError(m);\n e.at = at;\n e.text = text;\n throw e;\n },\n next = function(c) {\n // If a c parameter is provided, verify that it matches the current character.\n if (c && c !== ch) {\n error('Expected \\'' + c + '\\' instead of \\'' + ch + '\\'');\n }\n // Get the next character. When there are no more characters,\n // return the empty string.\n ch = text.charAt(at);\n at += 1;\n return ch;\n },\n number = function() {\n // Parse a number value.\n var number,\n string = '';\n\n if (ch === '-') {\n string = '-';\n next('-');\n }\n while (ch >= '0' && ch <= '9') {\n string += ch;\n next();\n }\n if (ch === '.') {\n string += '.';\n while (next() && ch >= '0' && ch <= '9') {\n string += ch;\n }\n }\n if (ch === 'e' || ch === 'E') {\n string += ch;\n next();\n if (ch === '-' || ch === '+') {\n string += ch;\n next();\n }\n while (ch >= '0' && ch <= '9') {\n string += ch;\n next();\n }\n }\n number = +string;\n if (!isFinite(number)) {\n error('Bad number');\n } else {\n return number;\n }\n },\n\n string = function() {\n // Parse a string value.\n var hex,\n i,\n string = '',\n uffff;\n // When parsing for string values, we must look for \" and \\ characters.\n if (ch === '\"') {\n while (next()) {\n if (ch === '\"') {\n next();\n return string;\n }\n if (ch === '\\\\') {\n next();\n if (ch === 'u') {\n uffff = 0;\n for (i = 0; i < 4; i += 1) {\n hex = parseInt(next(), 16);\n if (!isFinite(hex)) {\n break;\n }\n uffff = uffff * 16 + hex;\n }\n string += String.fromCharCode(uffff);\n } else if (typeof escapee[ch] === 'string') {\n string += escapee[ch];\n } else {\n break;\n }\n } else {\n string += ch;\n }\n }\n }\n error('Bad string');\n },\n white = function() {\n // Skip whitespace.\n while (ch && ch <= ' ') {\n next();\n }\n },\n word = function() {\n // true, false, or null.\n switch (ch) {\n case 't':\n next('t');\n next('r');\n next('u');\n next('e');\n return true;\n case 'f':\n next('f');\n next('a');\n next('l');\n next('s');\n next('e');\n return false;\n case 'n':\n next('n');\n next('u');\n next('l');\n next('l');\n return null;\n }\n error('Unexpected \"' + ch + '\"');\n },\n value, // Placeholder for the value function.\n array = function() {\n // Parse an array value.\n var array = [];\n\n if (ch === '[') {\n next('[');\n white();\n if (ch === ']') {\n next(']');\n return array; // empty array\n }\n while (ch) {\n array.push(value());\n white();\n if (ch === ']') {\n next(']');\n return array;\n }\n next(',');\n white();\n }\n }\n error('Bad array');\n },\n object = function() {\n // Parse an object value.\n var key,\n object = {};\n\n if (ch === '{') {\n next('{');\n white();\n if (ch === '}') {\n next('}');\n return object; // empty object\n }\n while (ch) {\n key = string();\n white();\n next(':');\n if (Object.hasOwnProperty.call(object, key)) {\n error('Duplicate key \"' + key + '\"');\n }\n object[key] = value();\n white();\n if (ch === '}') {\n next('}');\n return object;\n }\n next(',');\n white();\n }\n }\n error('Bad object');\n };\n\n value = function() {\n // Parse a JSON value. It could be an object, an array, a string,\n // a number, or a word.\n white();\n switch (ch) {\n case '{':\n return object();\n case '[':\n return array();\n case '\"':\n return string();\n case '-':\n return number();\n default:\n return ch >= '0' && ch <= '9' ? number() : word();\n }\n };\n\n // Return the json_parse function. It will have access to all of the\n // above functions and variables.\n return function(source) {\n var result;\n\n text = source;\n at = 0;\n ch = ' ';\n result = value();\n white();\n if (ch) {\n error('Syntax error');\n }\n\n return result;\n };\n})();\n\n_.base64Encode = function(data) {\n var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,\n ac = 0,\n enc = '',\n tmp_arr = [];\n\n if (!data) {\n return data;\n }\n\n data = _.utf8Encode(data);\n\n do { // pack three octets into four hexets\n o1 = data.charCodeAt(i++);\n o2 = data.charCodeAt(i++);\n o3 = data.charCodeAt(i++);\n\n bits = o1 << 16 | o2 << 8 | o3;\n\n h1 = bits >> 18 & 0x3f;\n h2 = bits >> 12 & 0x3f;\n h3 = bits >> 6 & 0x3f;\n h4 = bits & 0x3f;\n\n // use hexets to index into b64, and append result to encoded string\n tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);\n } while (i < data.length);\n\n enc = tmp_arr.join('');\n\n switch (data.length % 3) {\n case 1:\n enc = enc.slice(0, -2) + '==';\n break;\n case 2:\n enc = enc.slice(0, -1) + '=';\n break;\n }\n\n return enc;\n};\n\n_.utf8Encode = function(string) {\n string = (string + '').replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n\n var utftext = '',\n start,\n end;\n var stringl = 0,\n n;\n\n start = end = 0;\n stringl = string.length;\n\n for (n = 0; n < stringl; n++) {\n var c1 = string.charCodeAt(n);\n var enc = null;\n\n if (c1 < 128) {\n end++;\n } else if ((c1 > 127) && (c1 < 2048)) {\n enc = String.fromCharCode((c1 >> 6) | 192, (c1 & 63) | 128);\n } else {\n enc = String.fromCharCode((c1 >> 12) | 224, ((c1 >> 6) & 63) | 128, (c1 & 63) | 128);\n }\n if (enc !== null) {\n if (end > start) {\n utftext += string.substring(start, end);\n }\n utftext += enc;\n start = end = n + 1;\n }\n }\n\n if (end > start) {\n utftext += string.substring(start, string.length);\n }\n\n return utftext;\n};\n\n_.UUID = (function() {\n\n // Time-based entropy\n var T = function() {\n var time = 1 * new Date(); // cross-browser version of Date.now()\n var ticks;\n if (win.performance && win.performance.now) {\n ticks = win.performance.now();\n } else {\n // fall back to busy loop\n ticks = 0;\n\n // this while loop figures how many browser ticks go by\n // before 1*new Date() returns a new number, ie the amount\n // of ticks that go by per millisecond\n while (time == 1 * new Date()) {\n ticks++;\n }\n }\n return time.toString(16) + Math.floor(ticks).toString(16);\n };\n\n // Math.Random entropy\n var R = function() {\n return Math.random().toString(16).replace('.', '');\n };\n\n // User agent entropy\n // This function takes the user agent string, and then xors\n // together each sequence of 8 bytes. This produces a final\n // sequence of 8 bytes which it returns as hex.\n var UA = function() {\n var ua = userAgent,\n i, ch, buffer = [],\n ret = 0;\n\n function xor(result, byte_array) {\n var j, tmp = 0;\n for (j = 0; j < byte_array.length; j++) {\n tmp |= (buffer[j] << j * 8);\n }\n return result ^ tmp;\n }\n\n for (i = 0; i < ua.length; i++) {\n ch = ua.charCodeAt(i);\n buffer.unshift(ch & 0xFF);\n if (buffer.length >= 4) {\n ret = xor(ret, buffer);\n buffer = [];\n }\n }\n\n if (buffer.length > 0) {\n ret = xor(ret, buffer);\n }\n\n return ret.toString(16);\n };\n\n return function() {\n var se = (screen.height * screen.width).toString(16);\n return (T() + '-' + R() + '-' + UA() + '-' + se + '-' + T());\n };\n})();\n\n// _.isBlockedUA()\n// This is to block various web spiders from executing our JS and\n// sending false tracking data\nvar BLOCKED_UA_STRS = [\n 'ahrefsbot',\n 'ahrefssiteaudit',\n 'amazonbot',\n 'baiduspider',\n 'bingbot',\n 'bingpreview',\n 'chrome-lighthouse',\n 'facebookexternal',\n 'petalbot',\n 'pinterest',\n 'screaming frog',\n 'yahoo! slurp',\n 'yandex',\n\n // a whole bunch of goog-specific crawlers\n // https://developers.google.com/search/docs/advanced/crawling/overview-google-crawlers\n 'adsbot-google',\n 'apis-google',\n 'duplexweb-google',\n 'feedfetcher-google',\n 'google favicon',\n 'google web preview',\n 'google-read-aloud',\n 'googlebot',\n 'googleweblight',\n 'mediapartners-google',\n 'storebot-google'\n];\n_.isBlockedUA = function(ua) {\n var i;\n ua = ua.toLowerCase();\n for (i = 0; i < BLOCKED_UA_STRS.length; i++) {\n if (ua.indexOf(BLOCKED_UA_STRS[i]) !== -1) {\n return true;\n }\n }\n return false;\n};\n\n/**\n * @param {Object=} formdata\n * @param {string=} arg_separator\n */\n_.HTTPBuildQuery = function(formdata, arg_separator) {\n var use_val, use_key, tmp_arr = [];\n\n if (_.isUndefined(arg_separator)) {\n arg_separator = '&';\n }\n\n _.each(formdata, function(val, key) {\n use_val = encodeURIComponent(val.toString());\n use_key = encodeURIComponent(key);\n tmp_arr[tmp_arr.length] = use_key + '=' + use_val;\n });\n\n return tmp_arr.join(arg_separator);\n};\n\n_.getQueryParam = function(url, param) {\n // Expects a raw URL\n\n param = param.replace(/[[]/g, '\\\\[').replace(/[\\]]/g, '\\\\]');\n var regexS = '[\\\\?&]' + param + '=([^&#]*)',\n regex = new RegExp(regexS),\n results = regex.exec(url);\n if (results === null || (results && typeof(results[1]) !== 'string' && results[1].length)) {\n return '';\n } else {\n var result = results[1];\n try {\n result = decodeURIComponent(result);\n } catch(err) {\n console$1.error('Skipping decoding for malformed query param: ' + result);\n }\n return result.replace(/\\+/g, ' ');\n }\n};\n\n\n// _.cookie\n// Methods partially borrowed from quirksmode.org/js/cookies.html\n_.cookie = {\n get: function(name) {\n var nameEQ = name + '=';\n var ca = document$1.cookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) == ' ') {\n c = c.substring(1, c.length);\n }\n if (c.indexOf(nameEQ) === 0) {\n return decodeURIComponent(c.substring(nameEQ.length, c.length));\n }\n }\n return null;\n },\n\n parse: function(name) {\n var cookie;\n try {\n cookie = _.JSONDecode(_.cookie.get(name)) || {};\n } catch (err) {\n // noop\n }\n return cookie;\n },\n\n set_seconds: function(name, value, seconds, is_cross_subdomain, is_secure, is_cross_site, domain_override) {\n var cdomain = '',\n expires = '',\n secure = '';\n\n if (domain_override) {\n cdomain = '; domain=' + domain_override;\n } else if (is_cross_subdomain) {\n var domain = extract_domain(document$1.location.hostname);\n cdomain = domain ? '; domain=.' + domain : '';\n }\n\n if (seconds) {\n var date = new Date();\n date.setTime(date.getTime() + (seconds * 1000));\n expires = '; expires=' + date.toGMTString();\n }\n\n if (is_cross_site) {\n is_secure = true;\n secure = '; SameSite=None';\n }\n if (is_secure) {\n secure += '; secure';\n }\n\n document$1.cookie = name + '=' + encodeURIComponent(value) + expires + '; path=/' + cdomain + secure;\n },\n\n set: function(name, value, days, is_cross_subdomain, is_secure, is_cross_site, domain_override) {\n var cdomain = '', expires = '', secure = '';\n\n if (domain_override) {\n cdomain = '; domain=' + domain_override;\n } else if (is_cross_subdomain) {\n var domain = extract_domain(document$1.location.hostname);\n cdomain = domain ? '; domain=.' + domain : '';\n }\n\n if (days) {\n var date = new Date();\n date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));\n expires = '; expires=' + date.toGMTString();\n }\n\n if (is_cross_site) {\n is_secure = true;\n secure = '; SameSite=None';\n }\n if (is_secure) {\n secure += '; secure';\n }\n\n var new_cookie_val = name + '=' + encodeURIComponent(value) + expires + '; path=/' + cdomain + secure;\n document$1.cookie = new_cookie_val;\n return new_cookie_val;\n },\n\n remove: function(name, is_cross_subdomain, domain_override) {\n _.cookie.set(name, '', -1, is_cross_subdomain, false, false, domain_override);\n }\n};\n\nvar _localStorageSupported = null;\nvar localStorageSupported = function(storage, forceCheck) {\n if (_localStorageSupported !== null && !forceCheck) {\n return _localStorageSupported;\n }\n\n var supported = true;\n try {\n storage = storage || win.localStorage;\n var key = '__mplss_' + cheap_guid(8),\n val = 'xyz';\n storage.setItem(key, val);\n if (storage.getItem(key) !== val) {\n supported = false;\n }\n storage.removeItem(key);\n } catch (err) {\n supported = false;\n }\n\n _localStorageSupported = supported;\n return supported;\n};\n\n// _.localStorage\n_.localStorage = {\n is_supported: function(force_check) {\n var supported = localStorageSupported(null, force_check);\n if (!supported) {\n console$1.error('localStorage unsupported; falling back to cookie store');\n }\n return supported;\n },\n\n error: function(msg) {\n console$1.error('localStorage error: ' + msg);\n },\n\n get: function(name) {\n try {\n return win.localStorage.getItem(name);\n } catch (err) {\n _.localStorage.error(err);\n }\n return null;\n },\n\n parse: function(name) {\n try {\n return _.JSONDecode(_.localStorage.get(name)) || {};\n } catch (err) {\n // noop\n }\n return null;\n },\n\n set: function(name, value) {\n try {\n win.localStorage.setItem(name, value);\n } catch (err) {\n _.localStorage.error(err);\n }\n },\n\n remove: function(name) {\n try {\n win.localStorage.removeItem(name);\n } catch (err) {\n _.localStorage.error(err);\n }\n }\n};\n\n_.register_event = (function() {\n // written by Dean Edwards, 2005\n // with input from Tino Zijdel - crisp@xs4all.nl\n // with input from Carl Sverre - mail@carlsverre.com\n // with input from Mixpanel\n // http://dean.edwards.name/weblog/2005/10/add-event/\n // https://gist.github.com/1930440\n\n /**\n * @param {Object} element\n * @param {string} type\n * @param {function(...*)} handler\n * @param {boolean=} oldSchool\n * @param {boolean=} useCapture\n */\n var register_event = function(element, type, handler, oldSchool, useCapture) {\n if (!element) {\n console$1.error('No valid element provided to register_event');\n return;\n }\n\n if (element.addEventListener && !oldSchool) {\n element.addEventListener(type, handler, !!useCapture);\n } else {\n var ontype = 'on' + type;\n var old_handler = element[ontype]; // can be undefined\n element[ontype] = makeHandler(element, handler, old_handler);\n }\n };\n\n function makeHandler(element, new_handler, old_handlers) {\n var handler = function(event) {\n event = event || fixEvent(win.event);\n\n // this basically happens in firefox whenever another script\n // overwrites the onload callback and doesn't pass the event\n // object to previously defined callbacks. All the browsers\n // that don't define window.event implement addEventListener\n // so the dom_loaded handler will still be fired as usual.\n if (!event) {\n return undefined;\n }\n\n var ret = true;\n var old_result, new_result;\n\n if (_.isFunction(old_handlers)) {\n old_result = old_handlers(event);\n }\n new_result = new_handler.call(element, event);\n\n if ((false === old_result) || (false === new_result)) {\n ret = false;\n }\n\n return ret;\n };\n\n return handler;\n }\n\n function fixEvent(event) {\n if (event) {\n event.preventDefault = fixEvent.preventDefault;\n event.stopPropagation = fixEvent.stopPropagation;\n }\n return event;\n }\n fixEvent.preventDefault = function() {\n this.returnValue = false;\n };\n fixEvent.stopPropagation = function() {\n this.cancelBubble = true;\n };\n\n return register_event;\n})();\n\n\nvar TOKEN_MATCH_REGEX = new RegExp('^(\\\\w*)\\\\[(\\\\w+)([=~\\\\|\\\\^\\\\$\\\\*]?)=?\"?([^\\\\]\"]*)\"?\\\\]$');\n\n_.dom_query = (function() {\n /* document.getElementsBySelector(selector)\n - returns an array of element objects from the current document\n matching the CSS selector. Selectors can contain element names,\n class names and ids and can be nested. For example:\n\n elements = document.getElementsBySelector('div#main p a.external')\n\n Will return an array of all 'a' elements with 'external' in their\n class attribute that are contained inside 'p' elements that are\n contained inside the 'div' element which has id=\"main\"\n\n New in version 0.4: Support for CSS2 and CSS3 attribute selectors:\n See http://www.w3.org/TR/css3-selectors/#attribute-selectors\n\n Version 0.4 - Simon Willison, March 25th 2003\n -- Works in Phoenix 0.5, Mozilla 1.3, Opera 7, Internet Explorer 6, Internet Explorer 5 on Windows\n -- Opera 7 fails\n\n Version 0.5 - Carl Sverre, Jan 7th 2013\n -- Now uses jQuery-esque `hasClass` for testing class name\n equality. This fixes a bug related to '-' characters being\n considered not part of a 'word' in regex.\n */\n\n function getAllChildren(e) {\n // Returns all children of element. Workaround required for IE5/Windows. Ugh.\n return e.all ? e.all : e.getElementsByTagName('*');\n }\n\n var bad_whitespace = /[\\t\\r\\n]/g;\n\n function hasClass(elem, selector) {\n var className = ' ' + selector + ' ';\n return ((' ' + elem.className + ' ').replace(bad_whitespace, ' ').indexOf(className) >= 0);\n }\n\n function getElementsBySelector(selector) {\n // Attempt to fail gracefully in lesser browsers\n if (!document$1.getElementsByTagName) {\n return [];\n }\n // Split selector in to tokens\n var tokens = selector.split(' ');\n var token, bits, tagName, found, foundCount, i, j, k, elements, currentContextIndex;\n var currentContext = [document$1];\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i].replace(/^\\s+/, '').replace(/\\s+$/, '');\n if (token.indexOf('#') > -1) {\n // Token is an ID selector\n bits = token.split('#');\n tagName = bits[0];\n var id = bits[1];\n var element = document$1.getElementById(id);\n if (!element || (tagName && element.nodeName.toLowerCase() != tagName)) {\n // element not found or tag with that ID not found, return false\n return [];\n }\n // Set currentContext to contain just this element\n currentContext = [element];\n continue; // Skip to next token\n }\n if (token.indexOf('.') > -1) {\n // Token contains a class selector\n bits = token.split('.');\n tagName = bits[0];\n var className = bits[1];\n if (!tagName) {\n tagName = '*';\n }\n // Get elements matching tag, filter them for class selector\n found = [];\n foundCount = 0;\n for (j = 0; j < currentContext.length; j++) {\n if (tagName == '*') {\n elements = getAllChildren(currentContext[j]);\n } else {\n elements = currentContext[j].getElementsByTagName(tagName);\n }\n for (k = 0; k < elements.length; k++) {\n found[foundCount++] = elements[k];\n }\n }\n currentContext = [];\n currentContextIndex = 0;\n for (j = 0; j < found.length; j++) {\n if (found[j].className &&\n _.isString(found[j].className) && // some SVG elements have classNames which are not strings\n hasClass(found[j], className)\n ) {\n currentContext[currentContextIndex++] = found[j];\n }\n }\n continue; // Skip to next token\n }\n // Code to deal with attribute selectors\n var token_match = token.match(TOKEN_MATCH_REGEX);\n if (token_match) {\n tagName = token_match[1];\n var attrName = token_match[2];\n var attrOperator = token_match[3];\n var attrValue = token_match[4];\n if (!tagName) {\n tagName = '*';\n }\n // Grab all of the tagName elements within current context\n found = [];\n foundCount = 0;\n for (j = 0; j < currentContext.length; j++) {\n if (tagName == '*') {\n elements = getAllChildren(currentContext[j]);\n } else {\n elements = currentContext[j].getElementsByTagName(tagName);\n }\n for (k = 0; k < elements.length; k++) {\n found[foundCount++] = elements[k];\n }\n }\n currentContext = [];\n currentContextIndex = 0;\n var checkFunction; // This function will be used to filter the elements\n switch (attrOperator) {\n case '=': // Equality\n checkFunction = function(e) {\n return (e.getAttribute(attrName) == attrValue);\n };\n break;\n case '~': // Match one of space seperated words\n checkFunction = function(e) {\n return (e.getAttribute(attrName).match(new RegExp('\\\\b' + attrValue + '\\\\b')));\n };\n break;\n case '|': // Match start with value followed by optional hyphen\n checkFunction = function(e) {\n return (e.getAttribute(attrName).match(new RegExp('^' + attrValue + '-?')));\n };\n break;\n case '^': // Match starts with value\n checkFunction = function(e) {\n return (e.getAttribute(attrName).indexOf(attrValue) === 0);\n };\n break;\n case '$': // Match ends with value - fails with \"Warning\" in Opera 7\n checkFunction = function(e) {\n return (e.getAttribute(attrName).lastIndexOf(attrValue) == e.getAttribute(attrName).length - attrValue.length);\n };\n break;\n case '*': // Match ends with value\n checkFunction = function(e) {\n return (e.getAttribute(attrName).indexOf(attrValue) > -1);\n };\n break;\n default:\n // Just test for existence of attribute\n checkFunction = function(e) {\n return e.getAttribute(attrName);\n };\n }\n currentContext = [];\n currentContextIndex = 0;\n for (j = 0; j < found.length; j++) {\n if (checkFunction(found[j])) {\n currentContext[currentContextIndex++] = found[j];\n }\n }\n // alert('Attribute Selector: '+tagName+' '+attrName+' '+attrOperator+' '+attrValue);\n continue; // Skip to next token\n }\n // If we get here, token is JUST an element (not a class or ID selector)\n tagName = token;\n found = [];\n foundCount = 0;\n for (j = 0; j < currentContext.length; j++) {\n elements = currentContext[j].getElementsByTagName(tagName);\n for (k = 0; k < elements.length; k++) {\n found[foundCount++] = elements[k];\n }\n }\n currentContext = found;\n }\n return currentContext;\n }\n\n return function(query) {\n if (_.isElement(query)) {\n return [query];\n } else if (_.isObject(query) && !_.isUndefined(query.length)) {\n return query;\n } else {\n return getElementsBySelector.call(this, query);\n }\n };\n})();\n\nvar CAMPAIGN_KEYWORDS = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term', 'utm_id', 'utm_source_platform','utm_campaign_id', 'utm_creative_format', 'utm_marketing_tactic'];\nvar CLICK_IDS = ['dclid', 'fbclid', 'gclid', 'ko_click_id', 'li_fat_id', 'msclkid', 'sccid', 'ttclid', 'twclid', 'wbraid'];\n\n_.info = {\n campaignParams: function(default_value) {\n var kw = '',\n params = {};\n _.each(CAMPAIGN_KEYWORDS, function(kwkey) {\n kw = _.getQueryParam(document$1.URL, kwkey);\n if (kw.length) {\n params[kwkey] = kw;\n } else if (default_value !== undefined) {\n params[kwkey] = default_value;\n }\n });\n\n return params;\n },\n\n clickParams: function() {\n var id = '',\n params = {};\n _.each(CLICK_IDS, function(idkey) {\n id = _.getQueryParam(document$1.URL, idkey);\n if (id.length) {\n params[idkey] = id;\n }\n });\n\n return params;\n },\n\n marketingParams: function() {\n return _.extend(_.info.campaignParams(), _.info.clickParams());\n },\n\n searchEngine: function(referrer) {\n if (referrer.search('https?://(.*)google.([^/?]*)') === 0) {\n return 'google';\n } else if (referrer.search('https?://(.*)bing.com') === 0) {\n return 'bing';\n } else if (referrer.search('https?://(.*)yahoo.com') === 0) {\n return 'yahoo';\n } else if (referrer.search('https?://(.*)duckduckgo.com') === 0) {\n return 'duckduckgo';\n } else {\n return null;\n }\n },\n\n searchInfo: function(referrer) {\n var search = _.info.searchEngine(referrer),\n param = (search != 'yahoo') ? 'q' : 'p',\n ret = {};\n\n if (search !== null) {\n ret['$search_engine'] = search;\n\n var keyword = _.getQueryParam(referrer, param);\n if (keyword.length) {\n ret['mp_keyword'] = keyword;\n }\n }\n\n return ret;\n },\n\n /**\n * This function detects which browser is running this script.\n * The order of the checks are important since many user agents\n * include key words used in later checks.\n */\n browser: function(user_agent, vendor, opera) {\n vendor = vendor || ''; // vendor is undefined for at least IE9\n if (opera || _.includes(user_agent, ' OPR/')) {\n if (_.includes(user_agent, 'Mini')) {\n return 'Opera Mini';\n }\n return 'Opera';\n } else if (/(BlackBerry|PlayBook|BB10)/i.test(user_agent)) {\n return 'BlackBerry';\n } else if (_.includes(user_agent, 'IEMobile') || _.includes(user_agent, 'WPDesktop')) {\n return 'Internet Explorer Mobile';\n } else if (_.includes(user_agent, 'SamsungBrowser/')) {\n // https://developer.samsung.com/internet/user-agent-string-format\n return 'Samsung Internet';\n } else if (_.includes(user_agent, 'Edge') || _.includes(user_agent, 'Edg/')) {\n return 'Microsoft Edge';\n } else if (_.includes(user_agent, 'FBIOS')) {\n return 'Facebook Mobile';\n } else if (_.includes(user_agent, 'Chrome')) {\n return 'Chrome';\n } else if (_.includes(user_agent, 'CriOS')) {\n return 'Chrome iOS';\n } else if (_.includes(user_agent, 'UCWEB') || _.includes(user_agent, 'UCBrowser')) {\n return 'UC Browser';\n } else if (_.includes(user_agent, 'FxiOS')) {\n return 'Firefox iOS';\n } else if (_.includes(vendor, 'Apple')) {\n if (_.includes(user_agent, 'Mobile')) {\n return 'Mobile Safari';\n }\n return 'Safari';\n } else if (_.includes(user_agent, 'Android')) {\n return 'Android Mobile';\n } else if (_.includes(user_agent, 'Konqueror')) {\n return 'Konqueror';\n } else if (_.includes(user_agent, 'Firefox')) {\n return 'Firefox';\n } else if (_.includes(user_agent, 'MSIE') || _.includes(user_agent, 'Trident/')) {\n return 'Internet Explorer';\n } else if (_.includes(user_agent, 'Gecko')) {\n return 'Mozilla';\n } else {\n return '';\n }\n },\n\n /**\n * This function detects which browser version is running this script,\n * parsing major and minor version (e.g., 42.1). User agent strings from:\n * http://www.useragentstring.com/pages/useragentstring.php\n */\n browserVersion: function(userAgent, vendor, opera) {\n var browser = _.info.browser(userAgent, vendor, opera);\n var versionRegexs = {\n 'Internet Explorer Mobile': /rv:(\\d+(\\.\\d+)?)/,\n 'Microsoft Edge': /Edge?\\/(\\d+(\\.\\d+)?)/,\n 'Chrome': /Chrome\\/(\\d+(\\.\\d+)?)/,\n 'Chrome iOS': /CriOS\\/(\\d+(\\.\\d+)?)/,\n 'UC Browser' : /(UCBrowser|UCWEB)\\/(\\d+(\\.\\d+)?)/,\n 'Safari': /Version\\/(\\d+(\\.\\d+)?)/,\n 'Mobile Safari': /Version\\/(\\d+(\\.\\d+)?)/,\n 'Opera': /(Opera|OPR)\\/(\\d+(\\.\\d+)?)/,\n 'Firefox': /Firefox\\/(\\d+(\\.\\d+)?)/,\n 'Firefox iOS': /FxiOS\\/(\\d+(\\.\\d+)?)/,\n 'Konqueror': /Konqueror:(\\d+(\\.\\d+)?)/,\n 'BlackBerry': /BlackBerry (\\d+(\\.\\d+)?)/,\n 'Android Mobile': /android\\s(\\d+(\\.\\d+)?)/,\n 'Samsung Internet': /SamsungBrowser\\/(\\d+(\\.\\d+)?)/,\n 'Internet Explorer': /(rv:|MSIE )(\\d+(\\.\\d+)?)/,\n 'Mozilla': /rv:(\\d+(\\.\\d+)?)/\n };\n var regex = versionRegexs[browser];\n if (regex === undefined) {\n return null;\n }\n var matches = userAgent.match(regex);\n if (!matches) {\n return null;\n }\n return parseFloat(matches[matches.length - 2]);\n },\n\n os: function() {\n var a = userAgent;\n if (/Windows/i.test(a)) {\n if (/Phone/.test(a) || /WPDesktop/.test(a)) {\n return 'Windows Phone';\n }\n return 'Windows';\n } else if (/(iPhone|iPad|iPod)/.test(a)) {\n return 'iOS';\n } else if (/Android/.test(a)) {\n return 'Android';\n } else if (/(BlackBerry|PlayBook|BB10)/i.test(a)) {\n return 'BlackBerry';\n } else if (/Mac/i.test(a)) {\n return 'Mac OS X';\n } else if (/Linux/.test(a)) {\n return 'Linux';\n } else if (/CrOS/.test(a)) {\n return 'Chrome OS';\n } else {\n return '';\n }\n },\n\n device: function(user_agent) {\n if (/Windows Phone/i.test(user_agent) || /WPDesktop/.test(user_agent)) {\n return 'Windows Phone';\n } else if (/iPad/.test(user_agent)) {\n return 'iPad';\n } else if (/iPod/.test(user_agent)) {\n return 'iPod Touch';\n } else if (/iPhone/.test(user_agent)) {\n return 'iPhone';\n } else if (/(BlackBerry|PlayBook|BB10)/i.test(user_agent)) {\n return 'BlackBerry';\n } else if (/Android/.test(user_agent)) {\n return 'Android';\n } else {\n return '';\n }\n },\n\n referringDomain: function(referrer) {\n var split = referrer.split('/');\n if (split.length >= 3) {\n return split[2];\n }\n return '';\n },\n\n currentUrl: function() {\n return win.location.href;\n },\n\n properties: function(extra_props) {\n if (typeof extra_props !== 'object') {\n extra_props = {};\n }\n return _.extend(_.strip_empty_properties({\n '$os': _.info.os(),\n '$browser': _.info.browser(userAgent, navigator.vendor, windowOpera),\n '$referrer': document$1.referrer,\n '$referring_domain': _.info.referringDomain(document$1.referrer),\n '$device': _.info.device(userAgent)\n }), {\n '$current_url': _.info.currentUrl(),\n '$browser_version': _.info.browserVersion(userAgent, navigator.vendor, windowOpera),\n '$screen_height': screen.height,\n '$screen_width': screen.width,\n 'mp_lib': 'web',\n '$lib_version': Config.LIB_VERSION,\n '$insert_id': cheap_guid(),\n 'time': _.timestamp() / 1000 // epoch time in seconds\n }, _.strip_empty_properties(extra_props));\n },\n\n people_properties: function() {\n return _.extend(_.strip_empty_properties({\n '$os': _.info.os(),\n '$browser': _.info.browser(userAgent, navigator.vendor, windowOpera)\n }), {\n '$browser_version': _.info.browserVersion(userAgent, navigator.vendor, windowOpera)\n });\n },\n\n mpPageViewProperties: function() {\n return _.strip_empty_properties({\n 'current_page_title': document$1.title,\n 'current_domain': win.location.hostname,\n 'current_url_path': win.location.pathname,\n 'current_url_protocol': win.location.protocol,\n 'current_url_search': win.location.search\n });\n }\n};\n\nvar cheap_guid = function(maxlen) {\n var guid = Math.random().toString(36).substring(2, 10) + Math.random().toString(36).substring(2, 10);\n return maxlen ? guid.substring(0, maxlen) : guid;\n};\n\n// naive way to extract domain name (example.com) from full hostname (my.sub.example.com)\nvar SIMPLE_DOMAIN_MATCH_REGEX = /[a-z0-9][a-z0-9-]*\\.[a-z]+$/i;\n// this next one attempts to account for some ccSLDs, e.g. extracting oxford.ac.uk from www.oxford.ac.uk\nvar DOMAIN_MATCH_REGEX = /[a-z0-9][a-z0-9-]+\\.[a-z.]{2,6}$/i;\n/**\n * Attempts to extract main domain name from full hostname, using a few blunt heuristics. For\n * common TLDs like .com/.org that always have a simple SLD.TLD structure (example.com), we\n * simply extract the last two .-separated parts of the hostname (SIMPLE_DOMAIN_MATCH_REGEX).\n * For others, we attempt to account for short ccSLD+TLD combos (.ac.uk) with the legacy\n * DOMAIN_MATCH_REGEX (kept to maintain backwards compatibility with existing Mixpanel\n * integrations). The only _reliable_ way to extract domain from hostname is with an up-to-date\n * list like at https://publicsuffix.org/ so for cases that this helper fails at, the SDK\n * offers the 'cookie_domain' config option to set it explicitly.\n * @example\n * extract_domain('my.sub.example.com')\n * // 'example.com'\n */\nvar extract_domain = function(hostname) {\n var domain_regex = DOMAIN_MATCH_REGEX;\n var parts = hostname.split('.');\n var tld = parts[parts.length - 1];\n if (tld.length > 4 || tld === 'com' || tld === 'org') {\n domain_regex = SIMPLE_DOMAIN_MATCH_REGEX;\n }\n var matches = hostname.match(domain_regex);\n return matches ? matches[0] : '';\n};\n\n/**\n * Check whether we have network connection. default to true for browsers that don't support navigator.onLine (IE)\n * @returns {boolean}\n */\nvar isOnline = function() {\n var onLine = win.navigator['onLine'];\n return _.isUndefined(onLine) || onLine;\n};\n\nvar JSONStringify = null, JSONParse = null;\nif (typeof JSON !== 'undefined') {\n JSONStringify = JSON.stringify;\n JSONParse = JSON.parse;\n}\nJSONStringify = JSONStringify || _.JSONEncode;\nJSONParse = JSONParse || _.JSONDecode;\n\n// EXPORTS (for closure compiler)\n_['toArray'] = _.toArray;\n_['isObject'] = _.isObject;\n_['JSONEncode'] = _.JSONEncode;\n_['JSONDecode'] = _.JSONDecode;\n_['isBlockedUA'] = _.isBlockedUA;\n_['isEmptyObject'] = _.isEmptyObject;\n_['info'] = _.info;\n_['info']['device'] = _.info.device;\n_['info']['browser'] = _.info.browser;\n_['info']['browserVersion'] = _.info.browserVersion;\n_['info']['properties'] = _.info.properties;\n_['NPO'] = NpoPromise;\n\n/**\n * GDPR utils\n *\n * The General Data Protection Regulation (GDPR) is a regulation in EU law on data protection\n * and privacy for all individuals within the European Union. It addresses the export of personal\n * data outside the EU. The GDPR aims primarily to give control back to citizens and residents\n * over their personal data and to simplify the regulatory environment for international business\n * by unifying the regulation within the EU.\n *\n * This set of utilities is intended to enable opt in/out functionality in the Mixpanel JS SDK.\n * These functions are used internally by the SDK and are not intended to be publicly exposed.\n */\n\n/**\n * A function used to track a Mixpanel event (e.g. MixpanelLib.track)\n * @callback trackFunction\n * @param {String} event_name The name of the event. This can be anything the user does - 'Button Click', 'Sign Up', 'Item Purchased', etc.\n * @param {Object} [properties] A set of properties to include with the event you're sending. These describe the user who did the event or details about the event itself.\n * @param {Function} [callback] If provided, the callback function will be called after tracking the event.\n */\n\n/** Public **/\n\nvar GDPR_DEFAULT_PERSISTENCE_PREFIX = '__mp_opt_in_out_';\n\n/**\n * Opt the user in to data tracking and cookies/localstorage for the given token\n * @param {string} token - Mixpanel project tracking token\n * @param {Object} [options]\n * @param {trackFunction} [options.track] - function used for tracking a Mixpanel event to record the opt-in action\n * @param {string} [options.trackEventName] - event name to be used for tracking the opt-in action\n * @param {Object} [options.trackProperties] - set of properties to be tracked along with the opt-in action\n * @param {string} [options.persistenceType] Persistence mechanism used - cookie or localStorage\n * @param {string} [options.persistencePrefix=__mp_opt_in_out] - custom prefix to be used in the cookie/localstorage name\n * @param {Number} [options.cookieExpiration] - number of days until the opt-in cookie expires\n * @param {string} [options.cookieDomain] - custom cookie domain\n * @param {boolean} [options.crossSiteCookie] - whether the opt-in cookie is set as cross-site-enabled\n * @param {boolean} [options.crossSubdomainCookie] - whether the opt-in cookie is set as cross-subdomain or not\n * @param {boolean} [options.secureCookie] - whether the opt-in cookie is set as secure or not\n */\nfunction optIn(token, options) {\n _optInOut(true, token, options);\n}\n\n/**\n * Opt the user out of data tracking and cookies/localstorage for the given token\n * @param {string} token - Mixpanel project tracking token\n * @param {Object} [options]\n * @param {string} [options.persistenceType] Persistence mechanism used - cookie or localStorage\n * @param {string} [options.persistencePrefix=__mp_opt_in_out] - custom prefix to be used in the cookie/localstorage name\n * @param {Number} [options.cookieExpiration] - number of days until the opt-out cookie expires\n * @param {string} [options.cookieDomain] - custom cookie domain\n * @param {boolean} [options.crossSiteCookie] - whether the opt-in cookie is set as cross-site-enabled\n * @param {boolean} [options.crossSubdomainCookie] - whether the opt-out cookie is set as cross-subdomain or not\n * @param {boolean} [options.secureCookie] - whether the opt-out cookie is set as secure or not\n */\nfunction optOut(token, options) {\n _optInOut(false, token, options);\n}\n\n/**\n * Check whether the user has opted in to data tracking and cookies/localstorage for the given token\n * @param {string} token - Mixpanel project tracking token\n * @param {Object} [options]\n * @param {string} [options.persistenceType] Persistence mechanism used - cookie or localStorage\n * @param {string} [options.persistencePrefix=__mp_opt_in_out] - custom prefix to be used in the cookie/localstorage name\n * @returns {boolean} whether the user has opted in to the given opt type\n */\nfunction hasOptedIn(token, options) {\n return _getStorageValue(token, options) === '1';\n}\n\n/**\n * Check whether the user has opted out of data tracking and cookies/localstorage for the given token\n * @param {string} token - Mixpanel project tracking token\n * @param {Object} [options]\n * @param {string} [options.persistenceType] Persistence mechanism used - cookie or localStorage\n * @param {string} [options.persistencePrefix=__mp_opt_in_out] - custom prefix to be used in the cookie/localstorage name\n * @param {boolean} [options.ignoreDnt] - flag to ignore browser DNT settings and always return false\n * @returns {boolean} whether the user has opted out of the given opt type\n */\nfunction hasOptedOut(token, options) {\n if (_hasDoNotTrackFlagOn(options)) {\n console$1.warn('This browser has \"Do Not Track\" enabled. This will prevent the Mixpanel SDK from sending any data. To ignore the \"Do Not Track\" browser setting, initialize the Mixpanel instance with the config \"ignore_dnt: true\"');\n return true;\n }\n var optedOut = _getStorageValue(token, options) === '0';\n if (optedOut) {\n console$1.warn('You are opted out of Mixpanel tracking. This will prevent the Mixpanel SDK from sending any data.');\n }\n return optedOut;\n}\n\n/**\n * Wrap a MixpanelLib method with a check for whether the user is opted out of data tracking and cookies/localstorage for the given token\n * If the user has opted out, return early instead of executing the method.\n * If a callback argument was provided, execute it passing the 0 error code.\n * @param {function} method - wrapped method to be executed if the user has not opted out\n * @returns {*} the result of executing method OR undefined if the user has opted out\n */\nfunction addOptOutCheckMixpanelLib(method) {\n return _addOptOutCheck(method, function(name) {\n return this.get_config(name);\n });\n}\n\n/**\n * Wrap a MixpanelPeople method with a check for whether the user is opted out of data tracking and cookies/localstorage for the given token\n * If the user has opted out, return early instead of executing the method.\n * If a callback argument was provided, execute it passing the 0 error code.\n * @param {function} method - wrapped method to be executed if the user has not opted out\n * @returns {*} the result of executing method OR undefined if the user has opted out\n */\nfunction addOptOutCheckMixpanelPeople(method) {\n return _addOptOutCheck(method, function(name) {\n return this._get_config(name);\n });\n}\n\n/**\n * Wrap a MixpanelGroup method with a check for whether the user is opted out of data tracking and cookies/localstorage for the given token\n * If the user has opted out, return early instead of executing the method.\n * If a callback argument was provided, execute it passing the 0 error code.\n * @param {function} method - wrapped method to be executed if the user has not opted out\n * @returns {*} the result of executing method OR undefined if the user has opted out\n */\nfunction addOptOutCheckMixpanelGroup(method) {\n return _addOptOutCheck(method, function(name) {\n return this._get_config(name);\n });\n}\n\n/**\n * Clear the user's opt in/out status of data tracking and cookies/localstorage for the given token\n * @param {string} token - Mixpanel project tracking token\n * @param {Object} [options]\n * @param {string} [options.persistenceType] Persistence mechanism used - cookie or localStorage\n * @param {string} [options.persistencePrefix=__mp_opt_in_out] - custom prefix to be used in the cookie/localstorage name\n * @param {Number} [options.cookieExpiration] - number of days until the opt-in cookie expires\n * @param {string} [options.cookieDomain] - custom cookie domain\n * @param {boolean} [options.crossSiteCookie] - whether the opt-in cookie is set as cross-site-enabled\n * @param {boolean} [options.crossSubdomainCookie] - whether the opt-in cookie is set as cross-subdomain or not\n * @param {boolean} [options.secureCookie] - whether the opt-in cookie is set as secure or not\n */\nfunction clearOptInOut(token, options) {\n options = options || {};\n _getStorage(options).remove(\n _getStorageKey(token, options), !!options.crossSubdomainCookie, options.cookieDomain\n );\n}\n\n/** Private **/\n\n/**\n * Get storage util\n * @param {Object} [options]\n * @param {string} [options.persistenceType]\n * @returns {object} either _.cookie or _.localstorage\n */\nfunction _getStorage(options) {\n options = options || {};\n return options.persistenceType === 'localStorage' ? _.localStorage : _.cookie;\n}\n\n/**\n * Get the name of the cookie that is used for the given opt type (tracking, cookie, etc.)\n * @param {string} token - Mixpanel project tracking token\n * @param {Object} [options]\n * @param {string} [options.persistencePrefix=__mp_opt_in_out] - custom prefix to be used in the cookie/localstorage name\n * @returns {string} the name of the cookie for the given opt type\n */\nfunction _getStorageKey(token, options) {\n options = options || {};\n return (options.persistencePrefix || GDPR_DEFAULT_PERSISTENCE_PREFIX) + token;\n}\n\n/**\n * Get the value of the cookie that is used for the given opt type (tracking, cookie, etc.)\n * @param {string} token - Mixpanel project tracking token\n * @param {Object} [options]\n * @param {string} [options.persistencePrefix=__mp_opt_in_out] - custom prefix to be used in the cookie/localstorage name\n * @returns {string} the value of the cookie for the given opt type\n */\nfunction _getStorageValue(token, options) {\n return _getStorage(options).get(_getStorageKey(token, options));\n}\n\n/**\n * Check whether the user has set the DNT/doNotTrack setting to true in their browser\n * @param {Object} [options]\n * @param {string} [options.window] - alternate window object to check; used to force various DNT settings in browser tests\n * @param {boolean} [options.ignoreDnt] - flag to ignore browser DNT settings and always return false\n * @returns {boolean} whether the DNT setting is true\n */\nfunction _hasDoNotTrackFlagOn(options) {\n if (options && options.ignoreDnt) {\n return false;\n }\n var win$1 = (options && options.window) || win;\n var nav = win$1['navigator'] || {};\n var hasDntOn = false;\n\n _.each([\n nav['doNotTrack'], // standard\n nav['msDoNotTrack'],\n win$1['doNotTrack']\n ], function(dntValue) {\n if (_.includes([true, 1, '1', 'yes'], dntValue)) {\n hasDntOn = true;\n }\n });\n\n return hasDntOn;\n}\n\n/**\n * Set cookie/localstorage for the user indicating that they are opted in or out for the given opt type\n * @param {boolean} optValue - whether to opt the user in or out for the given opt type\n * @param {string} token - Mixpanel project tracking token\n * @param {Object} [options]\n * @param {trackFunction} [options.track] - function used for tracking a Mixpanel event to record the opt-in action\n * @param {string} [options.trackEventName] - event name to be used for tracking the opt-in action\n * @param {Object} [options.trackProperties] - set of properties to be tracked along with the opt-in action\n * @param {string} [options.persistencePrefix=__mp_opt_in_out] - custom prefix to be used in the cookie/localstorage name\n * @param {Number} [options.cookieExpiration] - number of days until the opt-in cookie expires\n * @param {string} [options.cookieDomain] - custom cookie domain\n * @param {boolean} [options.crossSiteCookie] - whether the opt-in cookie is set as cross-site-enabled\n * @param {boolean} [options.crossSubdomainCookie] - whether the opt-in cookie is set as cross-subdomain or not\n * @param {boolean} [options.secureCookie] - whether the opt-in cookie is set as secure or not\n */\nfunction _optInOut(optValue, token, options) {\n if (!_.isString(token) || !token.length) {\n console$1.error('gdpr.' + (optValue ? 'optIn' : 'optOut') + ' called with an invalid token');\n return;\n }\n\n options = options || {};\n\n _getStorage(options).set(\n _getStorageKey(token, options),\n optValue ? 1 : 0,\n _.isNumber(options.cookieExpiration) ? options.cookieExpiration : null,\n !!options.crossSubdomainCookie,\n !!options.secureCookie,\n !!options.crossSiteCookie,\n options.cookieDomain\n );\n\n if (options.track && optValue) { // only track event if opting in (optValue=true)\n options.track(options.trackEventName || '$opt_in', options.trackProperties, {\n 'send_immediately': true\n });\n }\n}\n\n/**\n * Wrap a method with a check for whether the user is opted out of data tracking and cookies/localstorage for the given token\n * If the user has opted out, return early instead of executing the method.\n * If a callback argument was provided, execute it passing the 0 error code.\n * @param {function} method - wrapped method to be executed if the user has not opted out\n * @param {function} getConfigValue - getter function for the Mixpanel API token and other options to be used with opt-out check\n * @returns {*} the result of executing method OR undefined if the user has opted out\n */\nfunction _addOptOutCheck(method, getConfigValue) {\n return function() {\n var optedOut = false;\n\n try {\n var token = getConfigValue.call(this, 'token');\n var ignoreDnt = getConfigValue.call(this, 'ignore_dnt');\n var persistenceType = getConfigValue.call(this, 'opt_out_tracking_persistence_type');\n var persistencePrefix = getConfigValue.call(this, 'opt_out_tracking_cookie_prefix');\n var win = getConfigValue.call(this, 'window'); // used to override window during browser tests\n\n if (token) { // if there was an issue getting the token, continue method execution as normal\n optedOut = hasOptedOut(token, {\n ignoreDnt: ignoreDnt,\n persistenceType: persistenceType,\n persistencePrefix: persistencePrefix,\n window: win\n });\n }\n } catch(err) {\n console$1.error('Unexpected error when checking tracking opt-out status: ' + err);\n }\n\n if (!optedOut) {\n return method.apply(this, arguments);\n }\n\n var callback = arguments[arguments.length - 1];\n if (typeof(callback) === 'function') {\n callback(0);\n }\n\n return;\n };\n}\n\nvar logger$5 = console_with_prefix('lock');\n\n/**\n * SharedLock: a mutex built on HTML5 localStorage, to ensure that only one browser\n * window/tab at a time will be able to access shared resources.\n *\n * Based on the Alur and Taubenfeld fast lock\n * (http://www.cs.rochester.edu/research/synchronization/pseudocode/fastlock.html)\n * with an added timeout to ensure there will be eventual progress in the event\n * that a window is closed in the middle of the callback.\n *\n * Implementation based on the original version by David Wolever (https://github.com/wolever)\n * at https://gist.github.com/wolever/5fd7573d1ef6166e8f8c4af286a69432.\n *\n * @example\n * const myLock = new SharedLock('some-key');\n * myLock.withLock(function() {\n * console.log('I hold the mutex!');\n * });\n *\n * @constructor\n */\nvar SharedLock = function(key, options) {\n options = options || {};\n\n this.storageKey = key;\n this.storage = options.storage || window.localStorage;\n this.pollIntervalMS = options.pollIntervalMS || 100;\n this.timeoutMS = options.timeoutMS || 2000;\n\n // dependency-inject promise implementation for testing purposes\n this.promiseImpl = options.promiseImpl || PromisePolyfill;\n};\n\n// pass in a specific pid to test contention scenarios; otherwise\n// it is chosen randomly for each acquisition attempt\nSharedLock.prototype.withLock = function(lockedCB, pid) {\n var Promise = this.promiseImpl;\n return new Promise(_.bind(function (resolve, reject) {\n var i = pid || (new Date().getTime() + '|' + Math.random());\n var startTime = new Date().getTime();\n\n var key = this.storageKey;\n var pollIntervalMS = this.pollIntervalMS;\n var timeoutMS = this.timeoutMS;\n var storage = this.storage;\n\n var keyX = key + ':X';\n var keyY = key + ':Y';\n var keyZ = key + ':Z';\n\n var delay = function(cb) {\n if (new Date().getTime() - startTime > timeoutMS) {\n logger$5.error('Timeout waiting for mutex on ' + key + '; clearing lock. [' + i + ']');\n storage.removeItem(keyZ);\n storage.removeItem(keyY);\n loop();\n return;\n }\n setTimeout(function() {\n try {\n cb();\n } catch(err) {\n reject(err);\n }\n }, pollIntervalMS * (Math.random() + 0.1));\n };\n\n var waitFor = function(predicate, cb) {\n if (predicate()) {\n cb();\n } else {\n delay(function() {\n waitFor(predicate, cb);\n });\n }\n };\n\n var getSetY = function() {\n var valY = storage.getItem(keyY);\n if (valY && valY !== i) { // if Y == i then this process already has the lock (useful for test cases)\n return false;\n } else {\n storage.setItem(keyY, i);\n if (storage.getItem(keyY) === i) {\n return true;\n } else {\n if (!localStorageSupported(storage, true)) {\n reject(new Error('localStorage support dropped while acquiring lock'));\n }\n return false;\n }\n }\n };\n\n var loop = function() {\n storage.setItem(keyX, i);\n\n waitFor(getSetY, function() {\n if (storage.getItem(keyX) === i) {\n criticalSection();\n return;\n }\n\n delay(function() {\n if (storage.getItem(keyY) !== i) {\n loop();\n return;\n }\n waitFor(function() {\n return !storage.getItem(keyZ);\n }, criticalSection);\n });\n });\n };\n\n var criticalSection = function() {\n storage.setItem(keyZ, '1');\n var removeLock = function () {\n storage.removeItem(keyZ);\n if (storage.getItem(keyY) === i) {\n storage.removeItem(keyY);\n }\n if (storage.getItem(keyX) === i) {\n storage.removeItem(keyX);\n }\n };\n\n lockedCB()\n .then(function (ret) {\n removeLock();\n resolve(ret);\n })\n .catch(function (err) {\n removeLock();\n reject(err);\n });\n };\n\n try {\n if (localStorageSupported(storage, true)) {\n loop();\n } else {\n throw new Error('localStorage support check failed');\n }\n } catch(err) {\n reject(err);\n }\n }, this));\n};\n\n/**\n * @typedef {import('./wrapper').StorageWrapper}\n */\n\n/**\n * @type {StorageWrapper}\n */\nvar LocalStorageWrapper = function (storageOverride) {\n this.storage = storageOverride || localStorage;\n};\n\nLocalStorageWrapper.prototype.init = function () {\n return PromisePolyfill.resolve();\n};\n\nLocalStorageWrapper.prototype.setItem = function (key, value) {\n return new PromisePolyfill(_.bind(function (resolve, reject) {\n try {\n this.storage.setItem(key, value);\n } catch (e) {\n reject(e);\n }\n resolve();\n }, this));\n};\n\nLocalStorageWrapper.prototype.getItem = function (key) {\n return new PromisePolyfill(_.bind(function (resolve, reject) {\n var item;\n try {\n item = this.storage.getItem(key);\n } catch (e) {\n reject(e);\n }\n resolve(item);\n }, this));\n};\n\nLocalStorageWrapper.prototype.removeItem = function (key) {\n return new PromisePolyfill(_.bind(function (resolve, reject) {\n try {\n this.storage.removeItem(key);\n } catch (e) {\n reject(e);\n }\n resolve();\n }, this));\n};\n\nvar logger$4 = console_with_prefix('batch');\n\n/**\n * RequestQueue: queue for batching API requests with localStorage backup for retries.\n * Maintains an in-memory queue which represents the source of truth for the current\n * page, but also writes all items out to a copy in the browser's localStorage, which\n * can be read on subsequent pageloads and retried. For batchability, all the request\n * items in the queue should be of the same type (events, people updates, group updates)\n * so they can be sent in a single request to the same API endpoint.\n *\n * LocalStorage keying and locking: In order for reloads and subsequent pageloads of\n * the same site to access the same persisted data, they must share the same localStorage\n * key (for instance based on project token and queue type). Therefore access to the\n * localStorage entry is guarded by an asynchronous mutex (SharedLock) to prevent\n * simultaneously open windows/tabs from overwriting each other's data (which would lead\n * to data loss in some situations).\n * @constructor\n */\nvar RequestQueue = function (storageKey, options) {\n options = options || {};\n this.storageKey = storageKey;\n this.usePersistence = options.usePersistence;\n if (this.usePersistence) {\n this.queueStorage = options.queueStorage || new LocalStorageWrapper();\n this.lock = new SharedLock(storageKey, { storage: options.sharedLockStorage || window.localStorage });\n this.queueStorage.init();\n }\n this.reportError = options.errorReporter || _.bind(logger$4.error, logger$4);\n\n this.pid = options.pid || null; // pass pid to test out storage lock contention scenarios\n\n this.memQueue = [];\n this.initialized = false;\n};\n\nRequestQueue.prototype.ensureInit = function () {\n if (this.initialized) {\n return PromisePolyfill.resolve();\n }\n\n return this.queueStorage\n .init()\n .then(_.bind(function () {\n this.initialized = true;\n }, this))\n .catch(_.bind(function (err) {\n this.reportError('Error initializing queue persistence. Disabling persistence', err);\n this.initialized = true;\n this.usePersistence = false;\n }, this));\n};\n\n/**\n * Add one item to queues (memory and localStorage). The queued entry includes\n * the given item along with an auto-generated ID and a \"flush-after\" timestamp.\n * It is expected that the item will be sent over the network and dequeued\n * before the flush-after time; if this doesn't happen it is considered orphaned\n * (e.g., the original tab where it was enqueued got closed before it could be\n * sent) and the item can be sent by any tab that finds it in localStorage.\n *\n * The final callback param is called with a param indicating success or\n * failure of the enqueue operation; it is asynchronous because the localStorage\n * lock is asynchronous.\n */\nRequestQueue.prototype.enqueue = function (item, flushInterval) {\n var queueEntry = {\n 'id': cheap_guid(),\n 'flushAfter': new Date().getTime() + flushInterval * 2,\n 'payload': item\n };\n\n if (!this.usePersistence) {\n this.memQueue.push(queueEntry);\n return PromisePolyfill.resolve(true);\n } else {\n\n var enqueueItem = _.bind(function () {\n return this.ensureInit()\n .then(_.bind(function () {\n return this.readFromStorage();\n }, this))\n .then(_.bind(function (storedQueue) {\n storedQueue.push(queueEntry);\n return this.saveToStorage(storedQueue);\n }, this))\n .then(_.bind(function (succeeded) {\n // only add to in-memory queue when storage succeeds\n if (succeeded) {\n this.memQueue.push(queueEntry);\n }\n return succeeded;\n }, this))\n .catch(_.bind(function (err) {\n this.reportError('Error enqueueing item', err, item);\n return false;\n }, this));\n }, this);\n\n return this.lock\n .withLock(enqueueItem, this.pid)\n .catch(_.bind(function (err) {\n this.reportError('Error acquiring storage lock', err);\n return false;\n }, this));\n }\n};\n\n/**\n * Read out the given number of queue entries. If this.memQueue\n * has fewer than batchSize items, then look for \"orphaned\" items\n * in the persisted queue (items where the 'flushAfter' time has\n * already passed).\n */\nRequestQueue.prototype.fillBatch = function (batchSize) {\n var batch = this.memQueue.slice(0, batchSize);\n if (this.usePersistence && batch.length < batchSize) {\n // don't need lock just to read events; localStorage is thread-safe\n // and the worst that could happen is a duplicate send of some\n // orphaned events, which will be deduplicated on the server side\n return this.ensureInit()\n .then(_.bind(function () {\n return this.readFromStorage();\n }, this))\n .then(_.bind(function (storedQueue) {\n if (storedQueue.length) {\n // item IDs already in batch; don't duplicate out of storage\n var idsInBatch = {}; // poor man's Set\n _.each(batch, function (item) {\n idsInBatch[item['id']] = true;\n });\n\n for (var i = 0; i < storedQueue.length; i++) {\n var item = storedQueue[i];\n if (new Date().getTime() > item['flushAfter'] && !idsInBatch[item['id']]) {\n item.orphaned = true;\n batch.push(item);\n if (batch.length >= batchSize) {\n break;\n }\n }\n }\n }\n\n return batch;\n }, this));\n } else {\n return PromisePolyfill.resolve(batch);\n }\n};\n\n/**\n * Remove items with matching 'id' from array (immutably)\n * also remove any item without a valid id (e.g., malformed\n * storage entries).\n */\nvar filterOutIDsAndInvalid = function (items, idSet) {\n var filteredItems = [];\n _.each(items, function (item) {\n if (item['id'] && !idSet[item['id']]) {\n filteredItems.push(item);\n }\n });\n return filteredItems;\n};\n\n/**\n * Remove items with matching IDs from both in-memory queue\n * and persisted queue\n */\nRequestQueue.prototype.removeItemsByID = function (ids) {\n var idSet = {}; // poor man's Set\n _.each(ids, function (id) {\n idSet[id] = true;\n });\n\n this.memQueue = filterOutIDsAndInvalid(this.memQueue, idSet);\n if (!this.usePersistence) {\n return PromisePolyfill.resolve(true);\n } else {\n var removeFromStorage = _.bind(function () {\n return this.ensureInit()\n .then(_.bind(function () {\n return this.readFromStorage();\n }, this))\n .then(_.bind(function (storedQueue) {\n storedQueue = filterOutIDsAndInvalid(storedQueue, idSet);\n return this.saveToStorage(storedQueue);\n }, this))\n .then(_.bind(function () {\n return this.readFromStorage();\n }, this))\n .then(_.bind(function (storedQueue) {\n // an extra check: did storage report success but somehow\n // the items are still there?\n for (var i = 0; i < storedQueue.length; i++) {\n var item = storedQueue[i];\n if (item['id'] && !!idSet[item['id']]) {\n throw new Error('Item not removed from storage');\n }\n }\n return true;\n }, this))\n .catch(_.bind(function (err) {\n this.reportError('Error removing items', err, ids);\n return false;\n }, this));\n }, this);\n\n return this.lock\n .withLock(removeFromStorage, this.pid)\n .catch(_.bind(function (err) {\n this.reportError('Error acquiring storage lock', err);\n if (!localStorageSupported(this.queueStorage.storage, true)) {\n // Looks like localStorage writes have stopped working sometime after\n // initialization (probably full), and so nobody can acquire locks\n // anymore. Consider it temporarily safe to remove items without the\n // lock, since nobody's writing successfully anyway.\n return removeFromStorage()\n .then(_.bind(function (success) {\n if (!success) {\n // OK, we couldn't even write out the smaller queue. Try clearing it\n // entirely.\n return this.queueStorage.removeItem(this.storageKey).then(function () {\n return success;\n });\n }\n return success;\n }, this))\n .catch(_.bind(function (err) {\n this.reportError('Error clearing queue', err);\n return false;\n }, this));\n } else {\n return false;\n }\n }, this));\n }\n};\n\n// internal helper for RequestQueue.updatePayloads\nvar updatePayloads = function (existingItems, itemsToUpdate) {\n var newItems = [];\n _.each(existingItems, function (item) {\n var id = item['id'];\n if (id in itemsToUpdate) {\n var newPayload = itemsToUpdate[id];\n if (newPayload !== null) {\n item['payload'] = newPayload;\n newItems.push(item);\n }\n } else {\n // no update\n newItems.push(item);\n }\n });\n return newItems;\n};\n\n/**\n * Update payloads of given items in both in-memory queue and\n * persisted queue. Items set to null are removed from queues.\n */\nRequestQueue.prototype.updatePayloads = function (itemsToUpdate) {\n this.memQueue = updatePayloads(this.memQueue, itemsToUpdate);\n if (!this.usePersistence) {\n return PromisePolyfill.resolve(true);\n } else {\n return this.lock\n .withLock(_.bind(function lockAcquired() {\n return this.ensureInit()\n .then(_.bind(function () {\n return this.readFromStorage();\n }, this))\n .then(_.bind(function (storedQueue) {\n storedQueue = updatePayloads(storedQueue, itemsToUpdate);\n return this.saveToStorage(storedQueue);\n }, this))\n .catch(_.bind(function (err) {\n this.reportError('Error updating items', itemsToUpdate, err);\n return false;\n }, this));\n }, this), this.pid)\n .catch(_.bind(function (err) {\n this.reportError('Error acquiring storage lock', err);\n return false;\n }, this));\n }\n};\n\n/**\n * Read and parse items array from localStorage entry, handling\n * malformed/missing data if necessary.\n */\nRequestQueue.prototype.readFromStorage = function () {\n return this.ensureInit()\n .then(_.bind(function () {\n return this.queueStorage.getItem(this.storageKey);\n }, this))\n .then(_.bind(function (storageEntry) {\n if (storageEntry) {\n storageEntry = JSONParse(storageEntry);\n if (!_.isArray(storageEntry)) {\n this.reportError('Invalid storage entry:', storageEntry);\n storageEntry = null;\n }\n }\n return storageEntry || [];\n }, this))\n .catch(_.bind(function (err) {\n this.reportError('Error retrieving queue', err);\n return [];\n }, this));\n};\n\n/**\n * Serialize the given items array to localStorage.\n */\nRequestQueue.prototype.saveToStorage = function (queue) {\n try {\n var serialized = JSONStringify(queue);\n } catch (err) {\n this.reportError('Error serializing queue', err);\n return PromisePolyfill.resolve(false);\n }\n\n return this.ensureInit()\n .then(_.bind(function () {\n return this.queueStorage.setItem(this.storageKey, serialized);\n }, this))\n .then(function () {\n return true;\n })\n .catch(_.bind(function (err) {\n this.reportError('Error saving queue', err);\n return false;\n }, this));\n};\n\n/**\n * Clear out queues (memory and localStorage).\n */\nRequestQueue.prototype.clear = function () {\n this.memQueue = [];\n\n if (this.usePersistence) {\n return this.ensureInit()\n .then(_.bind(function () {\n return this.queueStorage.removeItem(this.storageKey);\n }, this));\n } else {\n return PromisePolyfill.resolve();\n }\n};\n\n// maximum interval between request retries after exponential backoff\nvar MAX_RETRY_INTERVAL_MS = 10 * 60 * 1000; // 10 minutes\n\nvar logger$3 = console_with_prefix('batch');\n\n/**\n * RequestBatcher: manages the queueing, flushing, retry etc of requests of one\n * type (events, people, groups).\n * Uses RequestQueue to manage the backing store.\n * @constructor\n */\nvar RequestBatcher = function(storageKey, options) {\n this.errorReporter = options.errorReporter;\n this.queue = new RequestQueue(storageKey, {\n errorReporter: _.bind(this.reportError, this),\n queueStorage: options.queueStorage,\n sharedLockStorage: options.sharedLockStorage,\n usePersistence: options.usePersistence\n });\n\n this.libConfig = options.libConfig;\n this.sendRequest = options.sendRequestFunc;\n this.beforeSendHook = options.beforeSendHook;\n this.stopAllBatching = options.stopAllBatchingFunc;\n\n // seed variable batch size + flush interval with configured values\n this.batchSize = this.libConfig['batch_size'];\n this.flushInterval = this.libConfig['batch_flush_interval_ms'];\n\n this.stopped = !this.libConfig['batch_autostart'];\n this.consecutiveRemovalFailures = 0;\n\n // extra client-side dedupe\n this.itemIdsSentSuccessfully = {};\n\n // Make the flush occur at the interval specified by flushIntervalMs, default behavior will attempt consecutive flushes\n // as long as the queue is not empty. This is useful for high-frequency events like Session Replay where we might end up\n // in a request loop and get ratelimited by the server.\n this.flushOnlyOnInterval = options.flushOnlyOnInterval || false;\n};\n\n/**\n * Add one item to queue.\n */\nRequestBatcher.prototype.enqueue = function(item) {\n return this.queue.enqueue(item, this.flushInterval);\n};\n\n/**\n * Start flushing batches at the configured time interval. Must call\n * this method upon SDK init in order to send anything over the network.\n */\nRequestBatcher.prototype.start = function() {\n this.stopped = false;\n this.consecutiveRemovalFailures = 0;\n return this.flush();\n};\n\n/**\n * Stop flushing batches. Can be restarted by calling start().\n */\nRequestBatcher.prototype.stop = function() {\n this.stopped = true;\n if (this.timeoutID) {\n clearTimeout(this.timeoutID);\n this.timeoutID = null;\n }\n};\n\n/**\n * Clear out queue.\n */\nRequestBatcher.prototype.clear = function() {\n return this.queue.clear();\n};\n\n/**\n * Restore batch size configuration to whatever is set in the main SDK.\n */\nRequestBatcher.prototype.resetBatchSize = function() {\n this.batchSize = this.libConfig['batch_size'];\n};\n\n/**\n * Restore flush interval time configuration to whatever is set in the main SDK.\n */\nRequestBatcher.prototype.resetFlush = function() {\n this.scheduleFlush(this.libConfig['batch_flush_interval_ms']);\n};\n\n/**\n * Schedule the next flush in the given number of milliseconds.\n */\nRequestBatcher.prototype.scheduleFlush = function(flushMS) {\n this.flushInterval = flushMS;\n if (!this.stopped) { // don't schedule anymore if batching has been stopped\n this.timeoutID = setTimeout(_.bind(function() {\n if (!this.stopped) {\n this.flush();\n }\n }, this), this.flushInterval);\n }\n};\n\n/**\n * Send a request using the sendRequest callback, but promisified.\n * TODO: sendRequest should be promisified in the first place.\n */\nRequestBatcher.prototype.sendRequestPromise = function(data, options) {\n return new PromisePolyfill(_.bind(function(resolve) {\n this.sendRequest(data, options, resolve);\n }, this));\n};\n\n\n/**\n * Flush one batch to network. Depending on success/failure modes, it will either\n * remove the batch from the queue or leave it in for retry, and schedule the next\n * flush. In cases of most network or API failures, it will back off exponentially\n * when retrying.\n * @param {Object} [options]\n * @param {boolean} [options.sendBeacon] - whether to send batch with\n * navigator.sendBeacon (only useful for sending batches before page unloads, as\n * sendBeacon offers no callbacks or status indications)\n */\nRequestBatcher.prototype.flush = function(options) {\n if (this.requestInProgress) {\n logger$3.log('Flush: Request already in progress');\n return PromisePolyfill.resolve();\n }\n\n this.requestInProgress = true;\n\n options = options || {};\n var timeoutMS = this.libConfig['batch_request_timeout_ms'];\n var startTime = new Date().getTime();\n var currentBatchSize = this.batchSize;\n\n return this.queue.fillBatch(currentBatchSize)\n .then(_.bind(function(batch) {\n\n // if there's more items in the queue than the batch size, attempt\n // to flush again after the current batch is done.\n var attemptSecondaryFlush = batch.length === currentBatchSize;\n var dataForRequest = [];\n var transformedItems = {};\n _.each(batch, function(item) {\n var payload = item['payload'];\n if (this.beforeSendHook && !item.orphaned) {\n payload = this.beforeSendHook(payload);\n }\n if (payload) {\n // mp_sent_by_lib_version prop captures which lib version actually\n // sends each event (regardless of which version originally queued\n // it for sending)\n if (payload['event'] && payload['properties']) {\n payload['properties'] = _.extend(\n {},\n payload['properties'],\n {'mp_sent_by_lib_version': Config.LIB_VERSION}\n );\n }\n var addPayload = true;\n var itemId = item['id'];\n if (itemId) {\n if ((this.itemIdsSentSuccessfully[itemId] || 0) > 5) {\n this.reportError('[dupe] item ID sent too many times, not sending', {\n item: item,\n batchSize: batch.length,\n timesSent: this.itemIdsSentSuccessfully[itemId]\n });\n addPayload = false;\n }\n } else {\n this.reportError('[dupe] found item with no ID', {item: item});\n }\n\n if (addPayload) {\n dataForRequest.push(payload);\n }\n }\n transformedItems[item['id']] = payload;\n }, this);\n\n if (dataForRequest.length < 1) {\n this.requestInProgress = false;\n this.resetFlush();\n return PromisePolyfill.resolve(); // nothing to do\n }\n\n var removeItemsFromQueue = _.bind(function () {\n return this.queue\n .removeItemsByID(\n _.map(batch, function (item) {\n return item['id'];\n })\n )\n .then(_.bind(function (succeeded) {\n // client-side dedupe\n _.each(batch, _.bind(function(item) {\n var itemId = item['id'];\n if (itemId) {\n this.itemIdsSentSuccessfully[itemId] = this.itemIdsSentSuccessfully[itemId] || 0;\n this.itemIdsSentSuccessfully[itemId]++;\n if (this.itemIdsSentSuccessfully[itemId] > 5) {\n this.reportError('[dupe] item ID sent too many times', {\n item: item,\n batchSize: batch.length,\n timesSent: this.itemIdsSentSuccessfully[itemId]\n });\n }\n } else {\n this.reportError('[dupe] found item with no ID while removing', {item: item});\n }\n }, this));\n\n if (succeeded) {\n this.consecutiveRemovalFailures = 0;\n if (this.flushOnlyOnInterval && !attemptSecondaryFlush) {\n this.resetFlush(); // schedule next batch with a delay\n return PromisePolyfill.resolve();\n } else {\n return this.flush(); // handle next batch if the queue isn't empty\n }\n } else {\n if (++this.consecutiveRemovalFailures > 5) {\n this.reportError('Too many queue failures; disabling batching system.');\n this.stopAllBatching();\n } else {\n this.resetFlush();\n }\n return PromisePolyfill.resolve();\n }\n }, this));\n }, this);\n\n var batchSendCallback = _.bind(function(res) {\n this.requestInProgress = false;\n\n try {\n\n // handle API response in a try-catch to make sure we can reset the\n // flush operation if something goes wrong\n\n if (options.unloading) {\n // update persisted data to include hook transformations\n return this.queue.updatePayloads(transformedItems);\n } else if (\n _.isObject(res) &&\n res.error === 'timeout' &&\n new Date().getTime() - startTime >= timeoutMS\n ) {\n this.reportError('Network timeout; retrying');\n return this.flush();\n } else if (\n _.isObject(res) &&\n (\n res.httpStatusCode >= 500\n || res.httpStatusCode === 429\n || (res.httpStatusCode <= 0 && !isOnline())\n || res.error === 'timeout'\n )\n ) {\n // network or API error, or 429 Too Many Requests, retry\n var retryMS = this.flushInterval * 2;\n if (res.retryAfter) {\n retryMS = (parseInt(res.retryAfter, 10) * 1000) || retryMS;\n }\n retryMS = Math.min(MAX_RETRY_INTERVAL_MS, retryMS);\n this.reportError('Error; retry in ' + retryMS + ' ms');\n this.scheduleFlush(retryMS);\n return PromisePolyfill.resolve();\n } else if (_.isObject(res) && res.httpStatusCode === 413) {\n // 413 Payload Too Large\n if (batch.length > 1) {\n var halvedBatchSize = Math.max(1, Math.floor(currentBatchSize / 2));\n this.batchSize = Math.min(this.batchSize, halvedBatchSize, batch.length - 1);\n this.reportError('413 response; reducing batch size to ' + this.batchSize);\n this.resetFlush();\n return PromisePolyfill.resolve();\n } else {\n this.reportError('Single-event request too large; dropping', batch);\n this.resetBatchSize();\n return removeItemsFromQueue();\n }\n } else {\n // successful network request+response; remove each item in batch from queue\n // (even if it was e.g. a 400, in which case retrying won't help)\n return removeItemsFromQueue();\n }\n } catch(err) {\n this.reportError('Error handling API response', err);\n this.resetFlush();\n }\n }, this);\n var requestOptions = {\n method: 'POST',\n verbose: true,\n ignore_json_errors: true, // eslint-disable-line camelcase\n timeout_ms: timeoutMS // eslint-disable-line camelcase\n };\n if (options.unloading) {\n requestOptions.transport = 'sendBeacon';\n }\n logger$3.log('MIXPANEL REQUEST:', dataForRequest);\n return this.sendRequestPromise(dataForRequest, requestOptions).then(batchSendCallback);\n }, this))\n .catch(_.bind(function(err) {\n this.reportError('Error flushing request queue', err);\n this.resetFlush();\n }, this));\n};\n\n/**\n * Log error to global logger and optional user-defined logger.\n */\nRequestBatcher.prototype.reportError = function(msg, err) {\n logger$3.error.apply(logger$3.error, arguments);\n if (this.errorReporter) {\n try {\n if (!(err instanceof Error)) {\n err = new Error(msg);\n }\n this.errorReporter(msg, err);\n } catch(err) {\n logger$3.error(err);\n }\n }\n};\n\nvar logger$2 = console_with_prefix('recorder');\nvar CompressionStream = win['CompressionStream'];\n\nvar RECORDER_BATCHER_LIB_CONFIG = {\n 'batch_size': 1000,\n 'batch_flush_interval_ms': 10 * 1000,\n 'batch_request_timeout_ms': 90 * 1000,\n 'batch_autostart': true\n};\n\nvar ACTIVE_SOURCES = new Set([\n IncrementalSource.MouseMove,\n IncrementalSource.MouseInteraction,\n IncrementalSource.Scroll,\n IncrementalSource.ViewportResize,\n IncrementalSource.Input,\n IncrementalSource.TouchMove,\n IncrementalSource.MediaInteraction,\n IncrementalSource.Drag,\n IncrementalSource.Selection,\n]);\n\nfunction isUserEvent(ev) {\n return ev.type === EventType.IncrementalSnapshot && ACTIVE_SOURCES.has(ev.data.source);\n}\n\n/**\n * This class encapsulates a single session recording and its lifecycle.\n * @param {Object} [options.mixpanelInstance] - reference to the core MixpanelLib\n * @param {String} [options.replayId] - unique uuid for a single replay\n * @param {Function} [options.onIdleTimeout] - callback when a recording reaches idle timeout\n * @param {Function} [options.onMaxLengthReached] - callback when a recording reaches its maximum length\n * @param {Function} [options.rrwebRecord] - rrweb's `record` function\n */\nvar SessionRecording = function(options) {\n this._mixpanel = options.mixpanelInstance;\n this._onIdleTimeout = options.onIdleTimeout;\n this._onMaxLengthReached = options.onMaxLengthReached;\n this._rrwebRecord = options.rrwebRecord;\n\n this.replayId = options.replayId;\n\n // internal rrweb stopRecording function\n this._stopRecording = null;\n\n this.seqNo = 0;\n this.replayStartTime = null;\n this.replayStartUrl = null;\n this.batchStartUrl = null;\n\n this.idleTimeoutId = null;\n this.maxTimeoutId = null;\n\n this.recordMaxMs = MAX_RECORDING_MS;\n this.recordMinMs = 0;\n\n // each replay has its own batcher key to avoid conflicts between rrweb events of different recordings\n // this will be important when persistence is introduced\n var batcherKey = '__mprec_' + this.getConfig('token') + '_' + this.replayId;\n this.batcher = new RequestBatcher(batcherKey, {\n errorReporter: _.bind(this.reportError, this),\n flushOnlyOnInterval: true,\n libConfig: RECORDER_BATCHER_LIB_CONFIG,\n sendRequestFunc: _.bind(this.flushEventsWithOptOut, this),\n usePersistence: false\n });\n};\n\nSessionRecording.prototype.getConfig = function(configVar) {\n return this._mixpanel.get_config(configVar);\n};\n\n// Alias for getConfig, used by the common addOptOutCheckMixpanelLib function which\n// reaches into this class instance and expects the snake case version of the function.\n// eslint-disable-next-line camelcase\nSessionRecording.prototype.get_config = function(configVar) {\n return this.getConfig(configVar);\n};\n\nSessionRecording.prototype.startRecording = function (shouldStopBatcher) {\n if (this._stopRecording !== null) {\n logger$2.log('Recording already in progress, skipping startRecording.');\n return;\n }\n\n this.recordMaxMs = this.getConfig('record_max_ms');\n if (this.recordMaxMs > MAX_RECORDING_MS) {\n this.recordMaxMs = MAX_RECORDING_MS;\n logger$2.critical('record_max_ms cannot be greater than ' + MAX_RECORDING_MS + 'ms. Capping value.');\n }\n\n this.recordMinMs = this.getConfig('record_min_ms');\n if (this.recordMinMs > MAX_VALUE_FOR_MIN_RECORDING_MS) {\n this.recordMinMs = MAX_VALUE_FOR_MIN_RECORDING_MS;\n logger$2.critical('record_min_ms cannot be greater than ' + MAX_VALUE_FOR_MIN_RECORDING_MS + 'ms. Capping value.');\n }\n\n this.replayStartTime = new Date().getTime();\n this.batchStartUrl = _.info.currentUrl();\n this.replayStartUrl = _.info.currentUrl();\n\n if (shouldStopBatcher || this.recordMinMs > 0) {\n // the primary case for shouldStopBatcher is when we're starting recording after a reset\n // and don't want to send anything over the network until there's\n // actual user activity\n // this also applies if the minimum recording length has not been hit yet\n // so that we don't send data until we know the recording will be long enough\n this.batcher.stop();\n } else {\n this.batcher.start();\n }\n\n var resetIdleTimeout = _.bind(function () {\n clearTimeout(this.idleTimeoutId);\n this.idleTimeoutId = setTimeout(this._onIdleTimeout, this.getConfig('record_idle_timeout_ms'));\n }, this);\n\n var blockSelector = this.getConfig('record_block_selector');\n if (blockSelector === '' || blockSelector === null) {\n blockSelector = undefined;\n }\n\n this._stopRecording = this._rrwebRecord({\n 'emit': _.bind(function (ev) {\n this.batcher.enqueue(ev);\n if (isUserEvent(ev)) {\n if (this.batcher.stopped && new Date().getTime() - this.replayStartTime >= this.recordMinMs) {\n // start flushing again after user activity\n this.batcher.start();\n }\n resetIdleTimeout();\n }\n }, this),\n 'blockClass': this.getConfig('record_block_class'),\n 'blockSelector': blockSelector,\n 'collectFonts': this.getConfig('record_collect_fonts'),\n 'dataURLOptions': { // canvas image options (https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL)\n 'type': 'image/webp',\n 'quality': 0.6\n },\n 'maskAllInputs': true,\n 'maskTextClass': this.getConfig('record_mask_text_class'),\n 'maskTextSelector': this.getConfig('record_mask_text_selector'),\n 'recordCanvas': this.getConfig('record_canvas'),\n 'sampling': {\n 'canvas': 15\n }\n });\n\n if (typeof this._stopRecording !== 'function') {\n this.reportError('rrweb failed to start, skipping this recording.');\n this._stopRecording = null;\n this.stopRecording(); // stop batcher looping and any timeouts\n return;\n }\n\n resetIdleTimeout();\n\n this.maxTimeoutId = setTimeout(_.bind(this._onMaxLengthReached, this), this.recordMaxMs);\n};\n\nSessionRecording.prototype.stopRecording = function () {\n if (!this.isRrwebStopped()) {\n try {\n this._stopRecording();\n } catch (err) {\n this.reportError('Error with rrweb stopRecording', err);\n }\n this._stopRecording = null;\n }\n\n if (this.batcher.stopped) {\n // never got user activity to flush after reset, so just clear the batcher\n this.batcher.clear();\n } else {\n // flush any remaining events from running batcher\n this.batcher.flush();\n this.batcher.stop();\n }\n\n clearTimeout(this.idleTimeoutId);\n clearTimeout(this.maxTimeoutId);\n};\n\nSessionRecording.prototype.isRrwebStopped = function () {\n return this._stopRecording === null;\n};\n\n/**\n * Flushes the current batch of events to the server, but passes an opt-out callback to make sure\n * we stop recording and dump any queued events if the user has opted out.\n */\nSessionRecording.prototype.flushEventsWithOptOut = function (data, options, cb) {\n this._flushEvents(data, options, cb, _.bind(this._onOptOut, this));\n};\n\nSessionRecording.prototype._onOptOut = function (code) {\n // addOptOutCheckMixpanelLib invokes this function with code=0 when the user has opted out\n if (code === 0) {\n this.stopRecording();\n }\n};\n\nSessionRecording.prototype._sendRequest = function(currentReplayId, reqParams, reqBody, callback) {\n var onSuccess = _.bind(function (response, responseBody) {\n // Update batch specific props only if the request was successful to guarantee ordering.\n // RequestBatcher will always flush the next batch after the previous one succeeds.\n // extra check to see if the replay ID has changed so that we don't increment the seqNo on the wrong replay\n if (response.status === 200 && this.replayId === currentReplayId) {\n this.seqNo++;\n this.batchStartUrl = _.info.currentUrl();\n }\n callback({\n status: 0,\n httpStatusCode: response.status,\n responseBody: responseBody,\n retryAfter: response.headers.get('Retry-After')\n });\n }, this);\n\n win['fetch'](this.getConfig('api_host') + '/' + this.getConfig('api_routes')['record'] + '?' + new URLSearchParams(reqParams), {\n 'method': 'POST',\n 'headers': {\n 'Authorization': 'Basic ' + btoa(this.getConfig('token') + ':'),\n 'Content-Type': 'application/octet-stream'\n },\n 'body': reqBody,\n }).then(function (response) {\n response.json().then(function (responseBody) {\n onSuccess(response, responseBody);\n }).catch(function (error) {\n callback({error: error});\n });\n }).catch(function (error) {\n callback({error: error, httpStatusCode: 0});\n });\n};\n\nSessionRecording.prototype._flushEvents = addOptOutCheckMixpanelLib(function (data, options, callback) {\n const numEvents = data.length;\n\n if (numEvents > 0) {\n var replayId = this.replayId;\n // each rrweb event has a timestamp - leverage those to get time properties\n var batchStartTime = data[0].timestamp;\n if (this.seqNo === 0 || !this.replayStartTime) {\n // extra safety net so that we don't send a null replay start time\n if (this.seqNo !== 0) {\n this.reportError('Replay start time not set but seqNo is not 0. Using current batch start time as a fallback.');\n }\n\n this.replayStartTime = batchStartTime;\n }\n var replayLengthMs = data[numEvents - 1].timestamp - this.replayStartTime;\n\n var reqParams = {\n '$current_url': this.batchStartUrl,\n '$lib_version': Config.LIB_VERSION,\n 'batch_start_time': batchStartTime / 1000,\n 'distinct_id': String(this._mixpanel.get_distinct_id()),\n 'mp_lib': 'web',\n 'replay_id': replayId,\n 'replay_length_ms': replayLengthMs,\n 'replay_start_time': this.replayStartTime / 1000,\n 'replay_start_url': this.replayStartUrl,\n 'seq': this.seqNo\n };\n var eventsJson = _.JSONEncode(data);\n\n // send ID management props if they exist\n var deviceId = this._mixpanel.get_property('$device_id');\n if (deviceId) {\n reqParams['$device_id'] = deviceId;\n }\n var userId = this._mixpanel.get_property('$user_id');\n if (userId) {\n reqParams['$user_id'] = userId;\n }\n\n if (CompressionStream) {\n var jsonStream = new Blob([eventsJson], {type: 'application/json'}).stream();\n var gzipStream = jsonStream.pipeThrough(new CompressionStream('gzip'));\n new Response(gzipStream)\n .blob()\n .then(_.bind(function(compressedBlob) {\n reqParams['format'] = 'gzip';\n this._sendRequest(replayId, reqParams, compressedBlob, callback);\n }, this));\n } else {\n reqParams['format'] = 'body';\n this._sendRequest(replayId, reqParams, eventsJson, callback);\n }\n }\n});\n\n\nSessionRecording.prototype.reportError = function(msg, err) {\n logger$2.error.apply(logger$2.error, arguments);\n try {\n if (!err && !(msg instanceof Error)) {\n msg = new Error(msg);\n }\n this.getConfig('error_reporter')(msg, err);\n } catch(err) {\n logger$2.error(err);\n }\n};\n\nvar logger$1 = console_with_prefix('recorder');\n\n/**\n * Recorder API: manages recordings and exposes methods public to the core Mixpanel library.\n * @param {Object} [options.mixpanelInstance] - reference to the core MixpanelLib\n */\nvar MixpanelRecorder = function(mixpanelInstance) {\n this._mixpanel = mixpanelInstance;\n this.activeRecording = null;\n};\n\nMixpanelRecorder.prototype.startRecording = function(shouldStopBatcher) {\n if (this.activeRecording && !this.activeRecording.isRrwebStopped()) {\n logger$1.log('Recording already in progress, skipping startRecording.');\n return;\n }\n\n var onIdleTimeout = _.bind(function () {\n logger$1.log('Idle timeout reached, restarting recording.');\n this.resetRecording();\n }, this);\n\n var onMaxLengthReached = _.bind(function () {\n logger$1.log('Max recording length reached, stopping recording.');\n this.resetRecording();\n }, this);\n\n this.activeRecording = new SessionRecording({\n mixpanelInstance: this._mixpanel,\n onIdleTimeout: onIdleTimeout,\n onMaxLengthReached: onMaxLengthReached,\n replayId: _.UUID(),\n rrwebRecord: record\n });\n\n this.activeRecording.startRecording(shouldStopBatcher);\n};\n\nMixpanelRecorder.prototype.stopRecording = function() {\n if (this.activeRecording) {\n this.activeRecording.stopRecording();\n this.activeRecording = null;\n }\n};\n\nMixpanelRecorder.prototype.resetRecording = function () {\n this.stopRecording();\n this.startRecording(true);\n};\n\nMixpanelRecorder.prototype.getActiveReplayId = function () {\n if (this.activeRecording && !this.activeRecording.isRrwebStopped()) {\n return this.activeRecording.replayId;\n } else {\n return null;\n }\n};\n\n// getter so that older mixpanel-core versions can still retrieve the replay ID\n// when pulling the latest recorder bundle from the CDN\nObject.defineProperty(MixpanelRecorder.prototype, 'replayId', {\n get: function () {\n return this.getActiveReplayId();\n }\n});\n\nwin['__mp_recorder'] = MixpanelRecorder;\n\n// stateless utils\n\nvar EV_CHANGE = 'change';\nvar EV_CLICK = 'click';\nvar EV_HASHCHANGE = 'hashchange';\nvar EV_MP_LOCATION_CHANGE = 'mp_locationchange';\nvar EV_POPSTATE = 'popstate';\n// TODO scrollend isn't available in Safari: document or polyfill?\nvar EV_SCROLLEND = 'scrollend';\nvar EV_SUBMIT = 'submit';\n\nvar CLICK_EVENT_PROPS = [\n 'clientX', 'clientY',\n 'offsetX', 'offsetY',\n 'pageX', 'pageY',\n 'screenX', 'screenY',\n 'x', 'y'\n];\nvar OPT_IN_CLASSES = ['mp-include'];\nvar OPT_OUT_CLASSES = ['mp-no-track'];\nvar SENSITIVE_DATA_CLASSES = OPT_OUT_CLASSES.concat(['mp-sensitive']);\nvar TRACKED_ATTRS = [\n 'aria-label', 'aria-labelledby', 'aria-describedby',\n 'href', 'name', 'role', 'title', 'type'\n];\n\nvar logger = console_with_prefix('autocapture');\n\n\nfunction getClasses(el) {\n var classes = {};\n var classList = getClassName(el).split(' ');\n for (var i = 0; i < classList.length; i++) {\n var cls = classList[i];\n if (cls) {\n classes[cls] = true;\n }\n }\n return classes;\n}\n\n/*\n * Get the className of an element, accounting for edge cases where element.className is an object\n * @param {Element} el - element to get the className of\n * @returns {string} the element's class\n */\nfunction getClassName(el) {\n switch(typeof el.className) {\n case 'string':\n return el.className;\n case 'object': // handle cases where className might be SVGAnimatedString or some other type\n return el.className.baseVal || el.getAttribute('class') || '';\n default: // future proof\n return '';\n }\n}\n\nfunction getPreviousElementSibling(el) {\n if (el.previousElementSibling) {\n return el.previousElementSibling;\n } else {\n do {\n el = el.previousSibling;\n } while (el && !isElementNode(el));\n return el;\n }\n}\n\nfunction getPropertiesFromElement(el, ev, blockAttrsSet, extraAttrs, allowElementCallback, allowSelectors) {\n var props = {\n '$classes': getClassName(el).split(' '),\n '$tag_name': el.tagName.toLowerCase()\n };\n var elId = el.id;\n if (elId) {\n props['$id'] = elId;\n }\n\n if (shouldTrackElementDetails(el, ev, allowElementCallback, allowSelectors)) {\n _.each(TRACKED_ATTRS.concat(extraAttrs), function(attr) {\n if (el.hasAttribute(attr) && !blockAttrsSet[attr]) {\n var attrVal = el.getAttribute(attr);\n if (shouldTrackValue(attrVal)) {\n props['$attr-' + attr] = attrVal;\n }\n }\n });\n }\n\n var nthChild = 1;\n var nthOfType = 1;\n var currentElem = el;\n while (currentElem = getPreviousElementSibling(currentElem)) { // eslint-disable-line no-cond-assign\n nthChild++;\n if (currentElem.tagName === el.tagName) {\n nthOfType++;\n }\n }\n props['$nth_child'] = nthChild;\n props['$nth_of_type'] = nthOfType;\n\n return props;\n}\n\nfunction getPropsForDOMEvent(ev, config) {\n var allowElementCallback = config.allowElementCallback;\n var allowSelectors = config.allowSelectors || [];\n var blockAttrs = config.blockAttrs || [];\n var blockElementCallback = config.blockElementCallback;\n var blockSelectors = config.blockSelectors || [];\n var captureTextContent = config.captureTextContent || false;\n var captureExtraAttrs = config.captureExtraAttrs || [];\n\n // convert array to set every time, as the config may have changed\n var blockAttrsSet = {};\n _.each(blockAttrs, function(attr) {\n blockAttrsSet[attr] = true;\n });\n\n var props = null;\n\n var target = typeof ev.target === 'undefined' ? ev.srcElement : ev.target;\n if (isTextNode(target)) { // defeat Safari bug (see: http://www.quirksmode.org/js/events_properties.html)\n target = target.parentNode;\n }\n\n if (\n shouldTrackDomEvent(target, ev) &&\n isElementAllowed(target, ev, allowElementCallback, allowSelectors) &&\n !isElementBlocked(target, ev, blockElementCallback, blockSelectors)\n ) {\n var targetElementList = [target];\n var curEl = target;\n while (curEl.parentNode && !isTag(curEl, 'body')) {\n targetElementList.push(curEl.parentNode);\n curEl = curEl.parentNode;\n }\n\n var elementsJson = [];\n var href, explicitNoTrack = false;\n _.each(targetElementList, function(el) {\n var shouldTrackDetails = shouldTrackElementDetails(el, ev, allowElementCallback, allowSelectors);\n\n // if the element or a parent element is an anchor tag\n // include the href as a property\n if (!blockAttrsSet['href'] && el.tagName.toLowerCase() === 'a') {\n href = el.getAttribute('href');\n href = shouldTrackDetails && shouldTrackValue(href) && href;\n }\n\n if (isElementBlocked(el, ev, blockElementCallback, blockSelectors)) {\n explicitNoTrack = true;\n }\n\n elementsJson.push(getPropertiesFromElement(el, ev, blockAttrsSet, captureExtraAttrs, allowElementCallback, allowSelectors));\n }, this);\n\n if (!explicitNoTrack) {\n var docElement = document$1['documentElement'];\n props = {\n '$event_type': ev.type,\n '$host': win.location.host,\n '$pathname': win.location.pathname,\n '$elements': elementsJson,\n '$el_attr__href': href,\n '$viewportHeight': Math.max(docElement['clientHeight'], win['innerHeight'] || 0),\n '$viewportWidth': Math.max(docElement['clientWidth'], win['innerWidth'] || 0)\n };\n _.each(captureExtraAttrs, function(attr) {\n if (!blockAttrsSet[attr] && target.hasAttribute(attr)) {\n var attrVal = target.getAttribute(attr);\n if (shouldTrackValue(attrVal)) {\n props['$el_attr__' + attr] = attrVal;\n }\n }\n });\n\n if (captureTextContent) {\n elementText = getSafeText(target, ev, allowElementCallback, allowSelectors);\n if (elementText && elementText.length) {\n props['$el_text'] = elementText;\n }\n }\n\n if (ev.type === EV_CLICK) {\n _.each(CLICK_EVENT_PROPS, function(prop) {\n if (prop in ev) {\n props['$' + prop] = ev[prop];\n }\n });\n target = guessRealClickTarget(ev);\n }\n // prioritize text content from \"real\" click target if different from original target\n if (captureTextContent) {\n var elementText = getSafeText(target, ev, allowElementCallback, allowSelectors);\n if (elementText && elementText.length) {\n props['$el_text'] = elementText;\n }\n }\n\n if (target) {\n // target may have been recalculated; check allowlists and blocklists again\n if (\n !isElementAllowed(target, ev, allowElementCallback, allowSelectors) ||\n isElementBlocked(target, ev, blockElementCallback, blockSelectors)\n ) {\n return null;\n }\n\n var targetProps = getPropertiesFromElement(target, ev, blockAttrsSet, captureExtraAttrs, allowElementCallback, allowSelectors);\n props['$target'] = targetProps;\n // pull up more props onto main event props\n props['$el_classes'] = targetProps['$classes'];\n _.extend(props, _.strip_empty_properties({\n '$el_id': targetProps['$id'],\n '$el_tag_name': targetProps['$tag_name']\n }));\n }\n }\n }\n\n return props;\n}\n\n\n/**\n * Get the direct text content of an element, protecting against sensitive data collection.\n * Concats textContent of each of the element's text node children; this avoids potential\n * collection of sensitive data that could happen if we used element.textContent and the\n * element had sensitive child elements, since element.textContent includes child content.\n * Scrubs values that look like they could be sensitive (i.e. cc or ssn number).\n * @param {Element} el - element to get the text of\n * @param {Array} allowSelectors - CSS selectors for elements that should be included\n * @returns {string} the element's direct text content\n */\nfunction getSafeText(el, ev, allowElementCallback, allowSelectors) {\n var elText = '';\n\n if (shouldTrackElementDetails(el, ev, allowElementCallback, allowSelectors) && el.childNodes && el.childNodes.length) {\n _.each(el.childNodes, function(child) {\n if (isTextNode(child) && child.textContent) {\n elText += _.trim(child.textContent)\n // scrub potentially sensitive values\n .split(/(\\s+)/).filter(shouldTrackValue).join('')\n // normalize whitespace\n .replace(/[\\r\\n]/g, ' ').replace(/[ ]+/g, ' ')\n // truncate\n .substring(0, 255);\n }\n });\n }\n\n return _.trim(elText);\n}\n\nfunction guessRealClickTarget(ev) {\n var target = ev.target;\n var composedPath = ev['composedPath']();\n for (var i = 0; i < composedPath.length; i++) {\n var node = composedPath[i];\n if (\n isTag(node, 'a') ||\n isTag(node, 'button') ||\n isTag(node, 'input') ||\n isTag(node, 'select') ||\n (node.getAttribute && node.getAttribute('role') === 'button')\n ) {\n target = node;\n break;\n }\n if (node === target) {\n break;\n }\n }\n return target;\n}\n\nfunction isElementAllowed(el, ev, allowElementCallback, allowSelectors) {\n if (allowElementCallback) {\n try {\n if (!allowElementCallback(el, ev)) {\n return false;\n }\n } catch (err) {\n logger.critical('Error while checking element in allowElementCallback', err);\n return false;\n }\n }\n\n if (!allowSelectors.length) {\n // no allowlist; all elements are fair game\n return true;\n }\n\n for (var i = 0; i < allowSelectors.length; i++) {\n var sel = allowSelectors[i];\n try {\n if (el['matches'](sel)) {\n return true;\n }\n } catch (err) {\n logger.critical('Error while checking selector: ' + sel, err);\n }\n }\n return false;\n}\n\nfunction isElementBlocked(el, ev, blockElementCallback, blockSelectors) {\n var i;\n\n if (blockElementCallback) {\n try {\n if (blockElementCallback(el, ev)) {\n return true;\n }\n } catch (err) {\n logger.critical('Error while checking element in blockElementCallback', err);\n return true;\n }\n }\n\n if (blockSelectors && blockSelectors.length) {\n // programmatically prevent tracking of elements that match CSS selectors\n for (i = 0; i < blockSelectors.length; i++) {\n var sel = blockSelectors[i];\n try {\n if (el['matches'](sel)) {\n return true;\n }\n } catch (err) {\n logger.critical('Error while checking selector: ' + sel, err);\n }\n }\n }\n\n // allow users to programmatically prevent tracking of elements by adding default classes such as 'mp-no-track'\n var classes = getClasses(el);\n for (i = 0; i < OPT_OUT_CLASSES.length; i++) {\n if (classes[OPT_OUT_CLASSES[i]]) {\n return true;\n }\n }\n\n return false;\n}\n\n/*\n * Check whether a DOM node has nodeType Node.ELEMENT_NODE\n * @param {Node} node - node to check\n * @returns {boolean} whether node is of the correct nodeType\n */\nfunction isElementNode(node) {\n return node && node.nodeType === 1; // Node.ELEMENT_NODE - use integer constant for browser portability\n}\n\n/*\n * Check whether an element is of a given tag type.\n * Due to potential reference discrepancies (such as the webcomponents.js polyfill),\n * we want to match tagNames instead of specific references because something like\n * element === document.body won't always work because element might not be a native\n * element.\n * @param {Element} el - element to check\n * @param {string} tag - tag name (e.g., \"div\")\n * @returns {boolean} whether el is of the given tag type\n */\nfunction isTag(el, tag) {\n return el && el.tagName && el.tagName.toLowerCase() === tag.toLowerCase();\n}\n\n/*\n * Check whether a DOM node is a TEXT_NODE\n * @param {Node} node - node to check\n * @returns {boolean} whether node is of type Node.TEXT_NODE\n */\nfunction isTextNode(node) {\n return node && node.nodeType === 3; // Node.TEXT_NODE - use integer constant for browser portability\n}\n\nfunction minDOMApisSupported() {\n try {\n var testEl = document$1.createElement('div');\n return !!testEl['matches'];\n } catch (err) {\n return false;\n }\n}\n\n/*\n * Check whether a DOM event should be \"tracked\" or if it may contain sensitive data\n * using a variety of heuristics.\n * @param {Element} el - element to check\n * @param {Event} ev - event to check\n * @returns {boolean} whether the event should be tracked\n */\nfunction shouldTrackDomEvent(el, ev) {\n if (!el || isTag(el, 'html') || !isElementNode(el)) {\n return false;\n }\n var tag = el.tagName.toLowerCase();\n switch (tag) {\n case 'form':\n return ev.type === EV_SUBMIT;\n case 'input':\n if (['button', 'submit'].indexOf(el.getAttribute('type')) === -1) {\n return ev.type === EV_CHANGE;\n } else {\n return ev.type === EV_CLICK;\n }\n case 'select':\n case 'textarea':\n return ev.type === EV_CHANGE;\n default:\n return ev.type === EV_CLICK;\n }\n}\n\n/*\n * Check whether a DOM element should be \"tracked\" or if it may contain sensitive data\n * using a variety of heuristics.\n * @param {Element} el - element to check\n * @param {Array} allowSelectors - CSS selectors for elements that should be included\n * @returns {boolean} whether the element should be tracked\n */\nfunction shouldTrackElementDetails(el, ev, allowElementCallback, allowSelectors) {\n var i;\n\n if (!isElementAllowed(el, ev, allowElementCallback, allowSelectors)) {\n return false;\n }\n\n for (var curEl = el; curEl.parentNode && !isTag(curEl, 'body'); curEl = curEl.parentNode) {\n var classes = getClasses(curEl);\n for (i = 0; i < SENSITIVE_DATA_CLASSES.length; i++) {\n if (classes[SENSITIVE_DATA_CLASSES[i]]) {\n return false;\n }\n }\n }\n\n var elClasses = getClasses(el);\n for (i = 0; i < OPT_IN_CLASSES.length; i++) {\n if (elClasses[OPT_IN_CLASSES[i]]) {\n return true;\n }\n }\n\n // don't send data from inputs or similar elements since there will always be\n // a risk of clientside javascript placing sensitive data in attributes\n if (\n isTag(el, 'input') ||\n isTag(el, 'select') ||\n isTag(el, 'textarea') ||\n el.getAttribute('contenteditable') === 'true'\n ) {\n return false;\n }\n\n // don't include hidden or password fields\n var type = el.type || '';\n if (typeof type === 'string') { // it's possible for el.type to be a DOM element if el is a form with a child input[name=\"type\"]\n switch(type.toLowerCase()) {\n case 'hidden':\n return false;\n case 'password':\n return false;\n }\n }\n\n // filter out data from fields that look like sensitive fields\n var name = el.name || el.id || '';\n if (typeof name === 'string') { // it's possible for el.name or el.id to be a DOM element if el is a form with a child input[name=\"name\"]\n var sensitiveNameRegex = /^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|pwd|routing|seccode|securitycode|securitynum|socialsec|socsec|ssn/i;\n if (sensitiveNameRegex.test(name.replace(/[^a-zA-Z0-9]/g, ''))) {\n return false;\n }\n }\n\n return true;\n}\n\n\n/*\n * Check whether a string value should be \"tracked\" or if it may contain sensitive data\n * using a variety of heuristics.\n * @param {string} value - string value to check\n * @returns {boolean} whether the element should be tracked\n */\nfunction shouldTrackValue(value) {\n if (value === null || _.isUndefined(value)) {\n return false;\n }\n\n if (typeof value === 'string') {\n value = _.trim(value);\n\n // check to see if input value looks like a credit card number\n // see: https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9781449327453/ch04s20.html\n var ccRegex = /^(?:(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11}))$/;\n if (ccRegex.test((value || '').replace(/[- ]/g, ''))) {\n return false;\n }\n\n // check to see if input value looks like a social security number\n var ssnRegex = /(^\\d{3}-?\\d{2}-?\\d{4}$)/;\n if (ssnRegex.test(value)) {\n return false;\n }\n }\n\n return true;\n}\n\nvar AUTOCAPTURE_CONFIG_KEY = 'autocapture';\nvar LEGACY_PAGEVIEW_CONFIG_KEY = 'track_pageview';\n\nvar PAGEVIEW_OPTION_FULL_URL = 'full-url';\nvar PAGEVIEW_OPTION_URL_WITH_PATH_AND_QUERY_STRING = 'url-with-path-and-query-string';\nvar PAGEVIEW_OPTION_URL_WITH_PATH = 'url-with-path';\n\nvar CONFIG_ALLOW_ELEMENT_CALLBACK = 'allow_element_callback';\nvar CONFIG_ALLOW_SELECTORS = 'allow_selectors';\nvar CONFIG_ALLOW_URL_REGEXES = 'allow_url_regexes';\nvar CONFIG_BLOCK_ATTRS = 'block_attrs';\nvar CONFIG_BLOCK_ELEMENT_CALLBACK = 'block_element_callback';\nvar CONFIG_BLOCK_SELECTORS = 'block_selectors';\nvar CONFIG_BLOCK_URL_REGEXES = 'block_url_regexes';\nvar CONFIG_CAPTURE_EXTRA_ATTRS = 'capture_extra_attrs';\nvar CONFIG_CAPTURE_TEXT_CONTENT = 'capture_text_content';\nvar CONFIG_SCROLL_CAPTURE_ALL = 'scroll_capture_all';\nvar CONFIG_SCROLL_CHECKPOINTS = 'scroll_depth_percent_checkpoints';\nvar CONFIG_TRACK_CLICK = 'click';\nvar CONFIG_TRACK_INPUT = 'input';\nvar CONFIG_TRACK_PAGEVIEW = 'pageview';\nvar CONFIG_TRACK_SCROLL = 'scroll';\nvar CONFIG_TRACK_SUBMIT = 'submit';\n\nvar CONFIG_DEFAULTS = {};\nCONFIG_DEFAULTS[CONFIG_ALLOW_SELECTORS] = [];\nCONFIG_DEFAULTS[CONFIG_ALLOW_URL_REGEXES] = [];\nCONFIG_DEFAULTS[CONFIG_BLOCK_ATTRS] = [];\nCONFIG_DEFAULTS[CONFIG_BLOCK_ELEMENT_CALLBACK] = null;\nCONFIG_DEFAULTS[CONFIG_BLOCK_SELECTORS] = [];\nCONFIG_DEFAULTS[CONFIG_BLOCK_URL_REGEXES] = [];\nCONFIG_DEFAULTS[CONFIG_CAPTURE_EXTRA_ATTRS] = [];\nCONFIG_DEFAULTS[CONFIG_CAPTURE_TEXT_CONTENT] = false;\nCONFIG_DEFAULTS[CONFIG_SCROLL_CAPTURE_ALL] = false;\nCONFIG_DEFAULTS[CONFIG_SCROLL_CHECKPOINTS] = [25, 50, 75, 100];\nCONFIG_DEFAULTS[CONFIG_TRACK_CLICK] = true;\nCONFIG_DEFAULTS[CONFIG_TRACK_INPUT] = true;\nCONFIG_DEFAULTS[CONFIG_TRACK_PAGEVIEW] = PAGEVIEW_OPTION_FULL_URL;\nCONFIG_DEFAULTS[CONFIG_TRACK_SCROLL] = true;\nCONFIG_DEFAULTS[CONFIG_TRACK_SUBMIT] = true;\n\nvar DEFAULT_PROPS = {\n '$mp_autocapture': true\n};\n\nvar MP_EV_CLICK = '$mp_click';\nvar MP_EV_INPUT = '$mp_input_change';\nvar MP_EV_SCROLL = '$mp_scroll';\nvar MP_EV_SUBMIT = '$mp_submit';\n\n/**\n * Autocapture: manages automatic event tracking\n * @constructor\n */\nvar Autocapture = function(mp) {\n this.mp = mp;\n};\n\nAutocapture.prototype.init = function() {\n if (!minDOMApisSupported()) {\n logger.critical('Autocapture unavailable: missing required DOM APIs');\n return;\n }\n\n this.initPageviewTracking();\n this.initClickTracking();\n this.initInputTracking();\n this.initScrollTracking();\n this.initSubmitTracking();\n};\n\nAutocapture.prototype.getFullConfig = function() {\n var autocaptureConfig = this.mp.get_config(AUTOCAPTURE_CONFIG_KEY);\n if (!autocaptureConfig) {\n // Autocapture is completely off\n return {};\n } else if (_.isObject(autocaptureConfig)) {\n return _.extend({}, CONFIG_DEFAULTS, autocaptureConfig);\n } else {\n // Autocapture config is non-object truthy value, return default\n return CONFIG_DEFAULTS;\n }\n};\n\nAutocapture.prototype.getConfig = function(key) {\n return this.getFullConfig()[key];\n};\n\nAutocapture.prototype.currentUrlBlocked = function() {\n var i;\n var currentUrl = _.info.currentUrl();\n\n var allowUrlRegexes = this.getConfig(CONFIG_ALLOW_URL_REGEXES) || [];\n if (allowUrlRegexes.length) {\n // we're using an allowlist, only track if current URL matches\n var allowed = false;\n for (i = 0; i < allowUrlRegexes.length; i++) {\n var allowRegex = allowUrlRegexes[i];\n try {\n if (currentUrl.match(allowRegex)) {\n allowed = true;\n break;\n }\n } catch (err) {\n logger.critical('Error while checking block URL regex: ' + allowRegex, err);\n return true;\n }\n }\n if (!allowed) {\n // wasn't allowed by any regex\n return true;\n }\n }\n\n var blockUrlRegexes = this.getConfig(CONFIG_BLOCK_URL_REGEXES) || [];\n if (!blockUrlRegexes || !blockUrlRegexes.length) {\n return false;\n }\n\n for (i = 0; i < blockUrlRegexes.length; i++) {\n try {\n if (currentUrl.match(blockUrlRegexes[i])) {\n return true;\n }\n } catch (err) {\n logger.critical('Error while checking block URL regex: ' + blockUrlRegexes[i], err);\n return true;\n }\n }\n return false;\n};\n\nAutocapture.prototype.pageviewTrackingConfig = function() {\n // supports both autocapture config and old track_pageview config\n if (this.mp.get_config(AUTOCAPTURE_CONFIG_KEY)) {\n return this.getConfig(CONFIG_TRACK_PAGEVIEW);\n } else {\n return this.mp.get_config(LEGACY_PAGEVIEW_CONFIG_KEY);\n }\n};\n\n// helper for event handlers\nAutocapture.prototype.trackDomEvent = function(ev, mpEventName) {\n if (this.currentUrlBlocked()) {\n return;\n }\n\n var props = getPropsForDOMEvent(ev, {\n allowElementCallback: this.getConfig(CONFIG_ALLOW_ELEMENT_CALLBACK),\n allowSelectors: this.getConfig(CONFIG_ALLOW_SELECTORS),\n blockAttrs: this.getConfig(CONFIG_BLOCK_ATTRS),\n blockElementCallback: this.getConfig(CONFIG_BLOCK_ELEMENT_CALLBACK),\n blockSelectors: this.getConfig(CONFIG_BLOCK_SELECTORS),\n captureExtraAttrs: this.getConfig(CONFIG_CAPTURE_EXTRA_ATTRS),\n captureTextContent: this.getConfig(CONFIG_CAPTURE_TEXT_CONTENT)\n });\n if (props) {\n _.extend(props, DEFAULT_PROPS);\n this.mp.track(mpEventName, props);\n }\n};\n\nAutocapture.prototype.initClickTracking = function() {\n win.removeEventListener(EV_CLICK, this.listenerClick);\n\n if (!this.getConfig(CONFIG_TRACK_CLICK)) {\n return;\n }\n logger.log('Initializing click tracking');\n\n this.listenerClick = win.addEventListener(EV_CLICK, function(ev) {\n if (!this.getConfig(CONFIG_TRACK_CLICK)) {\n return;\n }\n this.trackDomEvent(ev, MP_EV_CLICK);\n }.bind(this));\n};\n\nAutocapture.prototype.initInputTracking = function() {\n win.removeEventListener(EV_CHANGE, this.listenerChange);\n\n if (!this.getConfig(CONFIG_TRACK_INPUT)) {\n return;\n }\n logger.log('Initializing input tracking');\n\n this.listenerChange = win.addEventListener(EV_CHANGE, function(ev) {\n if (!this.getConfig(CONFIG_TRACK_INPUT)) {\n return;\n }\n this.trackDomEvent(ev, MP_EV_INPUT);\n }.bind(this));\n};\n\nAutocapture.prototype.initPageviewTracking = function() {\n win.removeEventListener(EV_POPSTATE, this.listenerPopstate);\n win.removeEventListener(EV_HASHCHANGE, this.listenerHashchange);\n win.removeEventListener(EV_MP_LOCATION_CHANGE, this.listenerLocationchange);\n\n if (!this.pageviewTrackingConfig()) {\n return;\n }\n logger.log('Initializing pageview tracking');\n\n var previousTrackedUrl = '';\n var tracked = false;\n if (!this.currentUrlBlocked()) {\n tracked = this.mp.track_pageview(DEFAULT_PROPS);\n }\n if (tracked) {\n previousTrackedUrl = _.info.currentUrl();\n }\n\n this.listenerPopstate = win.addEventListener(EV_POPSTATE, function() {\n win.dispatchEvent(new Event(EV_MP_LOCATION_CHANGE));\n });\n this.listenerHashchange = win.addEventListener(EV_HASHCHANGE, function() {\n win.dispatchEvent(new Event(EV_MP_LOCATION_CHANGE));\n });\n var nativePushState = win.history.pushState;\n if (typeof nativePushState === 'function') {\n win.history.pushState = function(state, unused, url) {\n nativePushState.call(win.history, state, unused, url);\n win.dispatchEvent(new Event(EV_MP_LOCATION_CHANGE));\n };\n }\n var nativeReplaceState = win.history.replaceState;\n if (typeof nativeReplaceState === 'function') {\n win.history.replaceState = function(state, unused, url) {\n nativeReplaceState.call(win.history, state, unused, url);\n win.dispatchEvent(new Event(EV_MP_LOCATION_CHANGE));\n };\n }\n this.listenerLocationchange = win.addEventListener(EV_MP_LOCATION_CHANGE, safewrap(function() {\n if (this.currentUrlBlocked()) {\n return;\n }\n\n var currentUrl = _.info.currentUrl();\n var shouldTrack = false;\n var didPathChange = currentUrl.split('#')[0].split('?')[0] !== previousTrackedUrl.split('#')[0].split('?')[0];\n var trackPageviewOption = this.pageviewTrackingConfig();\n if (trackPageviewOption === PAGEVIEW_OPTION_FULL_URL) {\n shouldTrack = currentUrl !== previousTrackedUrl;\n } else if (trackPageviewOption === PAGEVIEW_OPTION_URL_WITH_PATH_AND_QUERY_STRING) {\n shouldTrack = currentUrl.split('#')[0] !== previousTrackedUrl.split('#')[0];\n } else if (trackPageviewOption === PAGEVIEW_OPTION_URL_WITH_PATH) {\n shouldTrack = didPathChange;\n }\n\n if (shouldTrack) {\n var tracked = this.mp.track_pageview(DEFAULT_PROPS);\n if (tracked) {\n previousTrackedUrl = currentUrl;\n }\n if (didPathChange) {\n this.lastScrollCheckpoint = 0;\n logger.log('Path change: re-initializing scroll depth checkpoints');\n }\n }\n }.bind(this)));\n};\n\nAutocapture.prototype.initScrollTracking = function() {\n win.removeEventListener(EV_SCROLLEND, this.listenerScroll);\n\n if (!this.getConfig(CONFIG_TRACK_SCROLL)) {\n return;\n }\n logger.log('Initializing scroll tracking');\n this.lastScrollCheckpoint = 0;\n\n this.listenerScroll = win.addEventListener(EV_SCROLLEND, safewrap(function() {\n if (!this.getConfig(CONFIG_TRACK_SCROLL)) {\n return;\n }\n if (this.currentUrlBlocked()) {\n return;\n }\n\n var shouldTrack = this.getConfig(CONFIG_SCROLL_CAPTURE_ALL);\n var scrollCheckpoints = (this.getConfig(CONFIG_SCROLL_CHECKPOINTS) || [])\n .slice()\n .sort(function(a, b) { return a - b; });\n\n var scrollTop = win.scrollY;\n var props = _.extend({'$scroll_top': scrollTop}, DEFAULT_PROPS);\n try {\n var scrollHeight = document$1.body.scrollHeight;\n var scrollPercentage = Math.round((scrollTop / (scrollHeight - win.innerHeight)) * 100);\n props['$scroll_height'] = scrollHeight;\n props['$scroll_percentage'] = scrollPercentage;\n if (scrollPercentage > this.lastScrollCheckpoint) {\n for (var i = 0; i < scrollCheckpoints.length; i++) {\n var checkpoint = scrollCheckpoints[i];\n if (\n scrollPercentage >= checkpoint &&\n this.lastScrollCheckpoint < checkpoint\n ) {\n props['$scroll_checkpoint'] = checkpoint;\n this.lastScrollCheckpoint = checkpoint;\n shouldTrack = true;\n }\n }\n }\n } catch (err) {\n logger.critical('Error while calculating scroll percentage', err);\n }\n if (shouldTrack) {\n this.mp.track(MP_EV_SCROLL, props);\n }\n }.bind(this)));\n};\n\nAutocapture.prototype.initSubmitTracking = function() {\n win.removeEventListener(EV_SUBMIT, this.listenerSubmit);\n\n if (!this.getConfig(CONFIG_TRACK_SUBMIT)) {\n return;\n }\n logger.log('Initializing submit tracking');\n\n this.listenerSubmit = win.addEventListener(EV_SUBMIT, function(ev) {\n if (!this.getConfig(CONFIG_TRACK_SUBMIT)) {\n return;\n }\n this.trackDomEvent(ev, MP_EV_SUBMIT);\n }.bind(this));\n};\n\n// TODO integrate error_reporter from mixpanel instance\nsafewrapClass(Autocapture);\n\n/* eslint camelcase: \"off\" */\n\n/**\n * DomTracker Object\n * @constructor\n */\nvar DomTracker = function() {};\n\n\n// interface\nDomTracker.prototype.create_properties = function() {};\nDomTracker.prototype.event_handler = function() {};\nDomTracker.prototype.after_track_handler = function() {};\n\nDomTracker.prototype.init = function(mixpanel_instance) {\n this.mp = mixpanel_instance;\n return this;\n};\n\n/**\n * @param {Object|string} query\n * @param {string} event_name\n * @param {Object=} properties\n * @param {function=} user_callback\n */\nDomTracker.prototype.track = function(query, event_name, properties, user_callback) {\n var that = this;\n var elements = _.dom_query(query);\n\n if (elements.length === 0) {\n console$1.error('The DOM query (' + query + ') returned 0 elements');\n return;\n }\n\n _.each(elements, function(element) {\n _.register_event(element, this.override_event, function(e) {\n var options = {};\n var props = that.create_properties(properties, this);\n var timeout = that.mp.get_config('track_links_timeout');\n\n that.event_handler(e, this, options);\n\n // in case the mixpanel servers don't get back to us in time\n window.setTimeout(that.track_callback(user_callback, props, options, true), timeout);\n\n // fire the tracking event\n that.mp.track(event_name, props, that.track_callback(user_callback, props, options));\n });\n }, this);\n\n return true;\n};\n\n/**\n * @param {function} user_callback\n * @param {Object} props\n * @param {boolean=} timeout_occured\n */\nDomTracker.prototype.track_callback = function(user_callback, props, options, timeout_occured) {\n timeout_occured = timeout_occured || false;\n var that = this;\n\n return function() {\n // options is referenced from both callbacks, so we can have\n // a 'lock' of sorts to ensure only one fires\n if (options.callback_fired) { return; }\n options.callback_fired = true;\n\n if (user_callback && user_callback(timeout_occured, props) === false) {\n // user can prevent the default functionality by\n // returning false from their callback\n return;\n }\n\n that.after_track_handler(props, options, timeout_occured);\n };\n};\n\nDomTracker.prototype.create_properties = function(properties, element) {\n var props;\n\n if (typeof(properties) === 'function') {\n props = properties(element);\n } else {\n props = _.extend({}, properties);\n }\n\n return props;\n};\n\n/**\n * LinkTracker Object\n * @constructor\n * @extends DomTracker\n */\nvar LinkTracker = function() {\n this.override_event = 'click';\n};\n_.inherit(LinkTracker, DomTracker);\n\nLinkTracker.prototype.create_properties = function(properties, element) {\n var props = LinkTracker.superclass.create_properties.apply(this, arguments);\n\n if (element.href) { props['url'] = element.href; }\n\n return props;\n};\n\nLinkTracker.prototype.event_handler = function(evt, element, options) {\n options.new_tab = (\n evt.which === 2 ||\n evt.metaKey ||\n evt.ctrlKey ||\n element.target === '_blank'\n );\n options.href = element.href;\n\n if (!options.new_tab) {\n evt.preventDefault();\n }\n};\n\nLinkTracker.prototype.after_track_handler = function(props, options) {\n if (options.new_tab) { return; }\n\n setTimeout(function() {\n window.location = options.href;\n }, 0);\n};\n\n/**\n * FormTracker Object\n * @constructor\n * @extends DomTracker\n */\nvar FormTracker = function() {\n this.override_event = 'submit';\n};\n_.inherit(FormTracker, DomTracker);\n\nFormTracker.prototype.event_handler = function(evt, element, options) {\n options.element = element;\n evt.preventDefault();\n};\n\nFormTracker.prototype.after_track_handler = function(props, options) {\n setTimeout(function() {\n options.element.submit();\n }, 0);\n};\n\n/* eslint camelcase: \"off\" */\n\n/** @const */ var SET_ACTION = '$set';\n/** @const */ var SET_ONCE_ACTION = '$set_once';\n/** @const */ var UNSET_ACTION = '$unset';\n/** @const */ var ADD_ACTION = '$add';\n/** @const */ var APPEND_ACTION = '$append';\n/** @const */ var UNION_ACTION = '$union';\n/** @const */ var REMOVE_ACTION = '$remove';\n/** @const */ var DELETE_ACTION = '$delete';\n\n// Common internal methods for mixpanel.people and mixpanel.group APIs.\n// These methods shouldn't involve network I/O.\nvar apiActions = {\n set_action: function(prop, to) {\n var data = {};\n var $set = {};\n if (_.isObject(prop)) {\n _.each(prop, function(v, k) {\n if (!this._is_reserved_property(k)) {\n $set[k] = v;\n }\n }, this);\n } else {\n $set[prop] = to;\n }\n\n data[SET_ACTION] = $set;\n return data;\n },\n\n unset_action: function(prop) {\n var data = {};\n var $unset = [];\n if (!_.isArray(prop)) {\n prop = [prop];\n }\n\n _.each(prop, function(k) {\n if (!this._is_reserved_property(k)) {\n $unset.push(k);\n }\n }, this);\n\n data[UNSET_ACTION] = $unset;\n return data;\n },\n\n set_once_action: function(prop, to) {\n var data = {};\n var $set_once = {};\n if (_.isObject(prop)) {\n _.each(prop, function(v, k) {\n if (!this._is_reserved_property(k)) {\n $set_once[k] = v;\n }\n }, this);\n } else {\n $set_once[prop] = to;\n }\n data[SET_ONCE_ACTION] = $set_once;\n return data;\n },\n\n union_action: function(list_name, values) {\n var data = {};\n var $union = {};\n if (_.isObject(list_name)) {\n _.each(list_name, function(v, k) {\n if (!this._is_reserved_property(k)) {\n $union[k] = _.isArray(v) ? v : [v];\n }\n }, this);\n } else {\n $union[list_name] = _.isArray(values) ? values : [values];\n }\n data[UNION_ACTION] = $union;\n return data;\n },\n\n append_action: function(list_name, value) {\n var data = {};\n var $append = {};\n if (_.isObject(list_name)) {\n _.each(list_name, function(v, k) {\n if (!this._is_reserved_property(k)) {\n $append[k] = v;\n }\n }, this);\n } else {\n $append[list_name] = value;\n }\n data[APPEND_ACTION] = $append;\n return data;\n },\n\n remove_action: function(list_name, value) {\n var data = {};\n var $remove = {};\n if (_.isObject(list_name)) {\n _.each(list_name, function(v, k) {\n if (!this._is_reserved_property(k)) {\n $remove[k] = v;\n }\n }, this);\n } else {\n $remove[list_name] = value;\n }\n data[REMOVE_ACTION] = $remove;\n return data;\n },\n\n delete_action: function() {\n var data = {};\n data[DELETE_ACTION] = '';\n return data;\n }\n};\n\n/* eslint camelcase: \"off\" */\n\n/**\n * Mixpanel Group Object\n * @constructor\n */\nvar MixpanelGroup = function() {};\n\n_.extend(MixpanelGroup.prototype, apiActions);\n\nMixpanelGroup.prototype._init = function(mixpanel_instance, group_key, group_id) {\n this._mixpanel = mixpanel_instance;\n this._group_key = group_key;\n this._group_id = group_id;\n};\n\n/**\n * Set properties on a group.\n *\n * ### Usage:\n *\n * mixpanel.get_group('company', 'mixpanel').set('Location', '405 Howard');\n *\n * // or set multiple properties at once\n * mixpanel.get_group('company', 'mixpanel').set({\n * 'Location': '405 Howard',\n * 'Founded' : 2009,\n * });\n * // properties can be strings, integers, dates, or lists\n *\n * @param {Object|String} prop If a string, this is the name of the property. If an object, this is an associative array of names and values.\n * @param {*} [to] A value to set on the given property name\n * @param {Function} [callback] If provided, the callback will be called after the tracking event\n */\nMixpanelGroup.prototype.set = addOptOutCheckMixpanelGroup(function(prop, to, callback) {\n var data = this.set_action(prop, to);\n if (_.isObject(prop)) {\n callback = to;\n }\n return this._send_request(data, callback);\n});\n\n/**\n * Set properties on a group, only if they do not yet exist.\n * This will not overwrite previous group property values, unlike\n * group.set().\n *\n * ### Usage:\n *\n * mixpanel.get_group('company', 'mixpanel').set_once('Location', '405 Howard');\n *\n * // or set multiple properties at once\n * mixpanel.get_group('company', 'mixpanel').set_once({\n * 'Location': '405 Howard',\n * 'Founded' : 2009,\n * });\n * // properties can be strings, integers, lists or dates\n *\n * @param {Object|String} prop If a string, this is the name of the property. If an object, this is an associative array of names and values.\n * @param {*} [to] A value to set on the given property name\n * @param {Function} [callback] If provided, the callback will be called after the tracking event\n */\nMixpanelGroup.prototype.set_once = addOptOutCheckMixpanelGroup(function(prop, to, callback) {\n var data = this.set_once_action(prop, to);\n if (_.isObject(prop)) {\n callback = to;\n }\n return this._send_request(data, callback);\n});\n\n/**\n * Unset properties on a group permanently.\n *\n * ### Usage:\n *\n * mixpanel.get_group('company', 'mixpanel').unset('Founded');\n *\n * @param {String} prop The name of the property.\n * @param {Function} [callback] If provided, the callback will be called after the tracking event\n */\nMixpanelGroup.prototype.unset = addOptOutCheckMixpanelGroup(function(prop, callback) {\n var data = this.unset_action(prop);\n return this._send_request(data, callback);\n});\n\n/**\n * Merge a given list with a list-valued group property, excluding duplicate values.\n *\n * ### Usage:\n *\n * // merge a value to a list, creating it if needed\n * mixpanel.get_group('company', 'mixpanel').union('Location', ['San Francisco', 'London']);\n *\n * @param {String} list_name Name of the property.\n * @param {Array} values Values to merge with the given property\n * @param {Function} [callback] If provided, the callback will be called after the tracking event\n */\nMixpanelGroup.prototype.union = addOptOutCheckMixpanelGroup(function(list_name, values, callback) {\n if (_.isObject(list_name)) {\n callback = values;\n }\n var data = this.union_action(list_name, values);\n return this._send_request(data, callback);\n});\n\n/**\n * Permanently delete a group.\n *\n * ### Usage:\n *\n * mixpanel.get_group('company', 'mixpanel').delete();\n *\n * @param {Function} [callback] If provided, the callback will be called after the tracking event\n */\nMixpanelGroup.prototype['delete'] = addOptOutCheckMixpanelGroup(function(callback) {\n // bracket notation above prevents a minification error related to reserved words\n var data = this.delete_action();\n return this._send_request(data, callback);\n});\n\n/**\n * Remove a property from a group. The value will be ignored if doesn't exist.\n *\n * ### Usage:\n *\n * mixpanel.get_group('company', 'mixpanel').remove('Location', 'London');\n *\n * @param {String} list_name Name of the property.\n * @param {Object} value Value to remove from the given group property\n * @param {Function} [callback] If provided, the callback will be called after the tracking event\n */\nMixpanelGroup.prototype.remove = addOptOutCheckMixpanelGroup(function(list_name, value, callback) {\n var data = this.remove_action(list_name, value);\n return this._send_request(data, callback);\n});\n\nMixpanelGroup.prototype._send_request = function(data, callback) {\n data['$group_key'] = this._group_key;\n data['$group_id'] = this._group_id;\n data['$token'] = this._get_config('token');\n\n var date_encoded_data = _.encodeDates(data);\n return this._mixpanel._track_or_batch({\n type: 'groups',\n data: date_encoded_data,\n endpoint: this._get_config('api_host') + '/' + this._get_config('api_routes')['groups'],\n batcher: this._mixpanel.request_batchers.groups\n }, callback);\n};\n\nMixpanelGroup.prototype._is_reserved_property = function(prop) {\n return prop === '$group_key' || prop === '$group_id';\n};\n\nMixpanelGroup.prototype._get_config = function(conf) {\n return this._mixpanel.get_config(conf);\n};\n\nMixpanelGroup.prototype.toString = function() {\n return this._mixpanel.toString() + '.group.' + this._group_key + '.' + this._group_id;\n};\n\n// MixpanelGroup Exports\nMixpanelGroup.prototype['remove'] = MixpanelGroup.prototype.remove;\nMixpanelGroup.prototype['set'] = MixpanelGroup.prototype.set;\nMixpanelGroup.prototype['set_once'] = MixpanelGroup.prototype.set_once;\nMixpanelGroup.prototype['union'] = MixpanelGroup.prototype.union;\nMixpanelGroup.prototype['unset'] = MixpanelGroup.prototype.unset;\nMixpanelGroup.prototype['toString'] = MixpanelGroup.prototype.toString;\n\n/* eslint camelcase: \"off\" */\n\n/**\n * Mixpanel People Object\n * @constructor\n */\nvar MixpanelPeople = function() {};\n\n_.extend(MixpanelPeople.prototype, apiActions);\n\nMixpanelPeople.prototype._init = function(mixpanel_instance) {\n this._mixpanel = mixpanel_instance;\n};\n\n/*\n* Set properties on a user record.\n*\n* ### Usage:\n*\n* mixpanel.people.set('gender', 'm');\n*\n* // or set multiple properties at once\n* mixpanel.people.set({\n* 'Company': 'Acme',\n* 'Plan': 'Premium',\n* 'Upgrade date': new Date()\n* });\n* // properties can be strings, integers, dates, or lists\n*\n* @param {Object|String} prop If a string, this is the name of the property. If an object, this is an associative array of names and values.\n* @param {*} [to] A value to set on the given property name\n* @param {Function} [callback] If provided, the callback will be called after tracking the event.\n*/\nMixpanelPeople.prototype.set = addOptOutCheckMixpanelPeople(function(prop, to, callback) {\n var data = this.set_action(prop, to);\n if (_.isObject(prop)) {\n callback = to;\n }\n // make sure that the referrer info has been updated and saved\n if (this._get_config('save_referrer')) {\n this._mixpanel['persistence'].update_referrer_info(document.referrer);\n }\n\n // update $set object with default people properties\n data[SET_ACTION] = _.extend(\n {},\n _.info.people_properties(),\n data[SET_ACTION]\n );\n return this._send_request(data, callback);\n});\n\n/*\n* Set properties on a user record, only if they do not yet exist.\n* This will not overwrite previous people property values, unlike\n* people.set().\n*\n* ### Usage:\n*\n* mixpanel.people.set_once('First Login Date', new Date());\n*\n* // or set multiple properties at once\n* mixpanel.people.set_once({\n* 'First Login Date': new Date(),\n* 'Starting Plan': 'Premium'\n* });\n*\n* // properties can be strings, integers or dates\n*\n* @param {Object|String} prop If a string, this is the name of the property. If an object, this is an associative array of names and values.\n* @param {*} [to] A value to set on the given property name\n* @param {Function} [callback] If provided, the callback will be called after tracking the event.\n*/\nMixpanelPeople.prototype.set_once = addOptOutCheckMixpanelPeople(function(prop, to, callback) {\n var data = this.set_once_action(prop, to);\n if (_.isObject(prop)) {\n callback = to;\n }\n return this._send_request(data, callback);\n});\n\n/*\n* Unset properties on a user record (permanently removes the properties and their values from a profile).\n*\n* ### Usage:\n*\n* mixpanel.people.unset('gender');\n*\n* // or unset multiple properties at once\n* mixpanel.people.unset(['gender', 'Company']);\n*\n* @param {Array|String} prop If a string, this is the name of the property. If an array, this is a list of property names.\n* @param {Function} [callback] If provided, the callback will be called after tracking the event.\n*/\nMixpanelPeople.prototype.unset = addOptOutCheckMixpanelPeople(function(prop, callback) {\n var data = this.unset_action(prop);\n return this._send_request(data, callback);\n});\n\n/*\n* Increment/decrement numeric people analytics properties.\n*\n* ### Usage:\n*\n* mixpanel.people.increment('page_views', 1);\n*\n* // or, for convenience, if you're just incrementing a counter by\n* // 1, you can simply do\n* mixpanel.people.increment('page_views');\n*\n* // to decrement a counter, pass a negative number\n* mixpanel.people.increment('credits_left', -1);\n*\n* // like mixpanel.people.set(), you can increment multiple\n* // properties at once:\n* mixpanel.people.increment({\n* counter1: 1,\n* counter2: 6\n* });\n*\n* @param {Object|String} prop If a string, this is the name of the property. If an object, this is an associative array of names and numeric values.\n* @param {Number} [by] An amount to increment the given property\n* @param {Function} [callback] If provided, the callback will be called after tracking the event.\n*/\nMixpanelPeople.prototype.increment = addOptOutCheckMixpanelPeople(function(prop, by, callback) {\n var data = {};\n var $add = {};\n if (_.isObject(prop)) {\n _.each(prop, function(v, k) {\n if (!this._is_reserved_property(k)) {\n if (isNaN(parseFloat(v))) {\n console$1.error('Invalid increment value passed to mixpanel.people.increment - must be a number');\n return;\n } else {\n $add[k] = v;\n }\n }\n }, this);\n callback = by;\n } else {\n // convenience: mixpanel.people.increment('property'); will\n // increment 'property' by 1\n if (_.isUndefined(by)) {\n by = 1;\n }\n $add[prop] = by;\n }\n data[ADD_ACTION] = $add;\n\n return this._send_request(data, callback);\n});\n\n/*\n* Append a value to a list-valued people analytics property.\n*\n* ### Usage:\n*\n* // append a value to a list, creating it if needed\n* mixpanel.people.append('pages_visited', 'homepage');\n*\n* // like mixpanel.people.set(), you can append multiple\n* // properties at once:\n* mixpanel.people.append({\n* list1: 'bob',\n* list2: 123\n* });\n*\n* @param {Object|String} list_name If a string, this is the name of the property. If an object, this is an associative array of names and values.\n* @param {*} [value] value An item to append to the list\n* @param {Function} [callback] If provided, the callback will be called after tracking the event.\n*/\nMixpanelPeople.prototype.append = addOptOutCheckMixpanelPeople(function(list_name, value, callback) {\n if (_.isObject(list_name)) {\n callback = value;\n }\n var data = this.append_action(list_name, value);\n return this._send_request(data, callback);\n});\n\n/*\n* Remove a value from a list-valued people analytics property.\n*\n* ### Usage:\n*\n* mixpanel.people.remove('School', 'UCB');\n*\n* @param {Object|String} list_name If a string, this is the name of the property. If an object, this is an associative array of names and values.\n* @param {*} [value] value Item to remove from the list\n* @param {Function} [callback] If provided, the callback will be called after tracking the event.\n*/\nMixpanelPeople.prototype.remove = addOptOutCheckMixpanelPeople(function(list_name, value, callback) {\n if (_.isObject(list_name)) {\n callback = value;\n }\n var data = this.remove_action(list_name, value);\n return this._send_request(data, callback);\n});\n\n/*\n* Merge a given list with a list-valued people analytics property,\n* excluding duplicate values.\n*\n* ### Usage:\n*\n* // merge a value to a list, creating it if needed\n* mixpanel.people.union('pages_visited', 'homepage');\n*\n* // like mixpanel.people.set(), you can append multiple\n* // properties at once:\n* mixpanel.people.union({\n* list1: 'bob',\n* list2: 123\n* });\n*\n* // like mixpanel.people.append(), you can append multiple\n* // values to the same list:\n* mixpanel.people.union({\n* list1: ['bob', 'billy']\n* });\n*\n* @param {Object|String} list_name If a string, this is the name of the property. If an object, this is an associative array of names and values.\n* @param {*} [value] Value / values to merge with the given property\n* @param {Function} [callback] If provided, the callback will be called after tracking the event.\n*/\nMixpanelPeople.prototype.union = addOptOutCheckMixpanelPeople(function(list_name, values, callback) {\n if (_.isObject(list_name)) {\n callback = values;\n }\n var data = this.union_action(list_name, values);\n return this._send_request(data, callback);\n});\n\n/*\n * Record that you have charged the current user a certain amount\n * of money. Charges recorded with track_charge() will appear in the\n * Mixpanel revenue report.\n *\n * ### Usage:\n *\n * // charge a user $50\n * mixpanel.people.track_charge(50);\n *\n * // charge a user $30.50 on the 2nd of january\n * mixpanel.people.track_charge(30.50, {\n * '$time': new Date('jan 1 2012')\n * });\n *\n * @param {Number} amount The amount of money charged to the current user\n * @param {Object} [properties] An associative array of properties associated with the charge\n * @param {Function} [callback] If provided, the callback will be called when the server responds\n * @deprecated\n */\nMixpanelPeople.prototype.track_charge = addOptOutCheckMixpanelPeople(function(amount, properties, callback) {\n if (!_.isNumber(amount)) {\n amount = parseFloat(amount);\n if (isNaN(amount)) {\n console$1.error('Invalid value passed to mixpanel.people.track_charge - must be a number');\n return;\n }\n }\n\n return this.append('$transactions', _.extend({\n '$amount': amount\n }, properties), callback);\n});\n\n/*\n * Permanently clear all revenue report transactions from the\n * current user's people analytics profile.\n *\n * ### Usage:\n *\n * mixpanel.people.clear_charges();\n *\n * @param {Function} [callback] If provided, the callback will be called after tracking the event.\n * @deprecated\n */\nMixpanelPeople.prototype.clear_charges = function(callback) {\n return this.set('$transactions', [], callback);\n};\n\n/*\n* Permanently deletes the current people analytics profile from\n* Mixpanel (using the current distinct_id).\n*\n* ### Usage:\n*\n* // remove the all data you have stored about the current user\n* mixpanel.people.delete_user();\n*\n*/\nMixpanelPeople.prototype.delete_user = function() {\n if (!this._identify_called()) {\n console$1.error('mixpanel.people.delete_user() requires you to call identify() first');\n return;\n }\n var data = {'$delete': this._mixpanel.get_distinct_id()};\n return this._send_request(data);\n};\n\nMixpanelPeople.prototype.toString = function() {\n return this._mixpanel.toString() + '.people';\n};\n\nMixpanelPeople.prototype._send_request = function(data, callback) {\n data['$token'] = this._get_config('token');\n data['$distinct_id'] = this._mixpanel.get_distinct_id();\n var device_id = this._mixpanel.get_property('$device_id');\n var user_id = this._mixpanel.get_property('$user_id');\n var had_persisted_distinct_id = this._mixpanel.get_property('$had_persisted_distinct_id');\n if (device_id) {\n data['$device_id'] = device_id;\n }\n if (user_id) {\n data['$user_id'] = user_id;\n }\n if (had_persisted_distinct_id) {\n data['$had_persisted_distinct_id'] = had_persisted_distinct_id;\n }\n\n var date_encoded_data = _.encodeDates(data);\n\n if (!this._identify_called()) {\n this._enqueue(data);\n if (!_.isUndefined(callback)) {\n if (this._get_config('verbose')) {\n callback({status: -1, error: null});\n } else {\n callback(-1);\n }\n }\n return _.truncate(date_encoded_data, 255);\n }\n\n return this._mixpanel._track_or_batch({\n type: 'people',\n data: date_encoded_data,\n endpoint: this._get_config('api_host') + '/' + this._get_config('api_routes')['engage'],\n batcher: this._mixpanel.request_batchers.people\n }, callback);\n};\n\nMixpanelPeople.prototype._get_config = function(conf_var) {\n return this._mixpanel.get_config(conf_var);\n};\n\nMixpanelPeople.prototype._identify_called = function() {\n return this._mixpanel._flags.identify_called === true;\n};\n\n// Queue up engage operations if identify hasn't been called yet.\nMixpanelPeople.prototype._enqueue = function(data) {\n if (SET_ACTION in data) {\n this._mixpanel['persistence']._add_to_people_queue(SET_ACTION, data);\n } else if (SET_ONCE_ACTION in data) {\n this._mixpanel['persistence']._add_to_people_queue(SET_ONCE_ACTION, data);\n } else if (UNSET_ACTION in data) {\n this._mixpanel['persistence']._add_to_people_queue(UNSET_ACTION, data);\n } else if (ADD_ACTION in data) {\n this._mixpanel['persistence']._add_to_people_queue(ADD_ACTION, data);\n } else if (APPEND_ACTION in data) {\n this._mixpanel['persistence']._add_to_people_queue(APPEND_ACTION, data);\n } else if (REMOVE_ACTION in data) {\n this._mixpanel['persistence']._add_to_people_queue(REMOVE_ACTION, data);\n } else if (UNION_ACTION in data) {\n this._mixpanel['persistence']._add_to_people_queue(UNION_ACTION, data);\n } else {\n console$1.error('Invalid call to _enqueue():', data);\n }\n};\n\nMixpanelPeople.prototype._flush_one_queue = function(action, action_method, callback, queue_to_params_fn) {\n var _this = this;\n var queued_data = _.extend({}, this._mixpanel['persistence'].load_queue(action));\n var action_params = queued_data;\n\n if (!_.isUndefined(queued_data) && _.isObject(queued_data) && !_.isEmptyObject(queued_data)) {\n _this._mixpanel['persistence']._pop_from_people_queue(action, queued_data);\n _this._mixpanel['persistence'].save();\n if (queue_to_params_fn) {\n action_params = queue_to_params_fn(queued_data);\n }\n action_method.call(_this, action_params, function(response, data) {\n // on bad response, we want to add it back to the queue\n if (response === 0) {\n _this._mixpanel['persistence']._add_to_people_queue(action, queued_data);\n }\n if (!_.isUndefined(callback)) {\n callback(response, data);\n }\n });\n }\n};\n\n// Flush queued engage operations - order does not matter,\n// and there are network level race conditions anyway\nMixpanelPeople.prototype._flush = function(\n _set_callback, _add_callback, _append_callback, _set_once_callback, _union_callback, _unset_callback, _remove_callback\n) {\n var _this = this;\n\n this._flush_one_queue(SET_ACTION, this.set, _set_callback);\n this._flush_one_queue(SET_ONCE_ACTION, this.set_once, _set_once_callback);\n this._flush_one_queue(UNSET_ACTION, this.unset, _unset_callback, function(queue) { return _.keys(queue); });\n this._flush_one_queue(ADD_ACTION, this.increment, _add_callback);\n this._flush_one_queue(UNION_ACTION, this.union, _union_callback);\n\n // we have to fire off each $append individually since there is\n // no concat method server side\n var $append_queue = this._mixpanel['persistence'].load_queue(APPEND_ACTION);\n if (!_.isUndefined($append_queue) && _.isArray($append_queue) && $append_queue.length) {\n var $append_item;\n var append_callback = function(response, data) {\n if (response === 0) {\n _this._mixpanel['persistence']._add_to_people_queue(APPEND_ACTION, $append_item);\n }\n if (!_.isUndefined(_append_callback)) {\n _append_callback(response, data);\n }\n };\n for (var i = $append_queue.length - 1; i >= 0; i--) {\n $append_queue = this._mixpanel['persistence'].load_queue(APPEND_ACTION);\n $append_item = $append_queue.pop();\n _this._mixpanel['persistence'].save();\n if (!_.isEmptyObject($append_item)) {\n _this.append($append_item, append_callback);\n }\n }\n }\n\n // same for $remove\n var $remove_queue = this._mixpanel['persistence'].load_queue(REMOVE_ACTION);\n if (!_.isUndefined($remove_queue) && _.isArray($remove_queue) && $remove_queue.length) {\n var $remove_item;\n var remove_callback = function(response, data) {\n if (response === 0) {\n _this._mixpanel['persistence']._add_to_people_queue(REMOVE_ACTION, $remove_item);\n }\n if (!_.isUndefined(_remove_callback)) {\n _remove_callback(response, data);\n }\n };\n for (var j = $remove_queue.length - 1; j >= 0; j--) {\n $remove_queue = this._mixpanel['persistence'].load_queue(REMOVE_ACTION);\n $remove_item = $remove_queue.pop();\n _this._mixpanel['persistence'].save();\n if (!_.isEmptyObject($remove_item)) {\n _this.remove($remove_item, remove_callback);\n }\n }\n }\n};\n\nMixpanelPeople.prototype._is_reserved_property = function(prop) {\n return prop === '$distinct_id' || prop === '$token' || prop === '$device_id' || prop === '$user_id' || prop === '$had_persisted_distinct_id';\n};\n\n// MixpanelPeople Exports\nMixpanelPeople.prototype['set'] = MixpanelPeople.prototype.set;\nMixpanelPeople.prototype['set_once'] = MixpanelPeople.prototype.set_once;\nMixpanelPeople.prototype['unset'] = MixpanelPeople.prototype.unset;\nMixpanelPeople.prototype['increment'] = MixpanelPeople.prototype.increment;\nMixpanelPeople.prototype['append'] = MixpanelPeople.prototype.append;\nMixpanelPeople.prototype['remove'] = MixpanelPeople.prototype.remove;\nMixpanelPeople.prototype['union'] = MixpanelPeople.prototype.union;\nMixpanelPeople.prototype['track_charge'] = MixpanelPeople.prototype.track_charge;\nMixpanelPeople.prototype['clear_charges'] = MixpanelPeople.prototype.clear_charges;\nMixpanelPeople.prototype['delete_user'] = MixpanelPeople.prototype.delete_user;\nMixpanelPeople.prototype['toString'] = MixpanelPeople.prototype.toString;\n\n/* eslint camelcase: \"off\" */\n\n/*\n * Constants\n */\n/** @const */ var SET_QUEUE_KEY = '__mps';\n/** @const */ var SET_ONCE_QUEUE_KEY = '__mpso';\n/** @const */ var UNSET_QUEUE_KEY = '__mpus';\n/** @const */ var ADD_QUEUE_KEY = '__mpa';\n/** @const */ var APPEND_QUEUE_KEY = '__mpap';\n/** @const */ var REMOVE_QUEUE_KEY = '__mpr';\n/** @const */ var UNION_QUEUE_KEY = '__mpu';\n// This key is deprecated, but we want to check for it to see whether aliasing is allowed.\n/** @const */ var PEOPLE_DISTINCT_ID_KEY = '$people_distinct_id';\n/** @const */ var ALIAS_ID_KEY = '__alias';\n/** @const */ var EVENT_TIMERS_KEY = '__timers';\n/** @const */ var RESERVED_PROPERTIES = [\n SET_QUEUE_KEY,\n SET_ONCE_QUEUE_KEY,\n UNSET_QUEUE_KEY,\n ADD_QUEUE_KEY,\n APPEND_QUEUE_KEY,\n REMOVE_QUEUE_KEY,\n UNION_QUEUE_KEY,\n PEOPLE_DISTINCT_ID_KEY,\n ALIAS_ID_KEY,\n EVENT_TIMERS_KEY\n];\n\n/**\n * Mixpanel Persistence Object\n * @constructor\n */\nvar MixpanelPersistence = function(config) {\n this['props'] = {};\n this.campaign_params_saved = false;\n\n if (config['persistence_name']) {\n this.name = 'mp_' + config['persistence_name'];\n } else {\n this.name = 'mp_' + config['token'] + '_mixpanel';\n }\n\n var storage_type = config['persistence'];\n if (storage_type !== 'cookie' && storage_type !== 'localStorage') {\n console$1.critical('Unknown persistence type ' + storage_type + '; falling back to cookie');\n storage_type = config['persistence'] = 'cookie';\n }\n\n if (storage_type === 'localStorage' && _.localStorage.is_supported()) {\n this.storage = _.localStorage;\n } else {\n this.storage = _.cookie;\n }\n\n this.load();\n this.update_config(config);\n this.upgrade();\n this.save();\n};\n\nMixpanelPersistence.prototype.properties = function() {\n var p = {};\n\n this.load();\n\n // Filter out reserved properties\n _.each(this['props'], function(v, k) {\n if (!_.include(RESERVED_PROPERTIES, k)) {\n p[k] = v;\n }\n });\n return p;\n};\n\nMixpanelPersistence.prototype.load = function() {\n if (this.disabled) { return; }\n\n var entry = this.storage.parse(this.name);\n\n if (entry) {\n this['props'] = _.extend({}, entry);\n }\n};\n\nMixpanelPersistence.prototype.upgrade = function() {\n var old_cookie,\n old_localstorage;\n\n // if transferring from cookie to localStorage or vice-versa, copy existing\n // super properties over to new storage mode\n if (this.storage === _.localStorage) {\n old_cookie = _.cookie.parse(this.name);\n\n _.cookie.remove(this.name);\n _.cookie.remove(this.name, true);\n\n if (old_cookie) {\n this.register_once(old_cookie);\n }\n } else if (this.storage === _.cookie) {\n old_localstorage = _.localStorage.parse(this.name);\n\n _.localStorage.remove(this.name);\n\n if (old_localstorage) {\n this.register_once(old_localstorage);\n }\n }\n};\n\nMixpanelPersistence.prototype.save = function() {\n if (this.disabled) { return; }\n\n this.storage.set(\n this.name,\n _.JSONEncode(this['props']),\n this.expire_days,\n this.cross_subdomain,\n this.secure,\n this.cross_site,\n this.cookie_domain\n );\n};\n\nMixpanelPersistence.prototype.load_prop = function(key) {\n this.load();\n return this['props'][key];\n};\n\nMixpanelPersistence.prototype.remove = function() {\n // remove both domain and subdomain cookies\n this.storage.remove(this.name, false, this.cookie_domain);\n this.storage.remove(this.name, true, this.cookie_domain);\n};\n\n// removes the storage entry and deletes all loaded data\n// forced name for tests\nMixpanelPersistence.prototype.clear = function() {\n this.remove();\n this['props'] = {};\n};\n\n/**\n* @param {Object} props\n* @param {*=} default_value\n* @param {number=} days\n*/\nMixpanelPersistence.prototype.register_once = function(props, default_value, days) {\n if (_.isObject(props)) {\n if (typeof(default_value) === 'undefined') { default_value = 'None'; }\n this.expire_days = (typeof(days) === 'undefined') ? this.default_expiry : days;\n\n this.load();\n\n _.each(props, function(val, prop) {\n if (!this['props'].hasOwnProperty(prop) || this['props'][prop] === default_value) {\n this['props'][prop] = val;\n }\n }, this);\n\n this.save();\n\n return true;\n }\n return false;\n};\n\n/**\n* @param {Object} props\n* @param {number=} days\n*/\nMixpanelPersistence.prototype.register = function(props, days) {\n if (_.isObject(props)) {\n this.expire_days = (typeof(days) === 'undefined') ? this.default_expiry : days;\n\n this.load();\n _.extend(this['props'], props);\n this.save();\n\n return true;\n }\n return false;\n};\n\nMixpanelPersistence.prototype.unregister = function(prop) {\n this.load();\n if (prop in this['props']) {\n delete this['props'][prop];\n this.save();\n }\n};\n\nMixpanelPersistence.prototype.update_search_keyword = function(referrer) {\n this.register(_.info.searchInfo(referrer));\n};\n\n// EXPORTED METHOD, we test this directly.\nMixpanelPersistence.prototype.update_referrer_info = function(referrer) {\n // If referrer doesn't exist, we want to note the fact that it was type-in traffic.\n this.register_once({\n '$initial_referrer': referrer || '$direct',\n '$initial_referring_domain': _.info.referringDomain(referrer) || '$direct'\n }, '');\n};\n\nMixpanelPersistence.prototype.get_referrer_info = function() {\n return _.strip_empty_properties({\n '$initial_referrer': this['props']['$initial_referrer'],\n '$initial_referring_domain': this['props']['$initial_referring_domain']\n });\n};\n\nMixpanelPersistence.prototype.update_config = function(config) {\n this.default_expiry = this.expire_days = config['cookie_expiration'];\n this.set_disabled(config['disable_persistence']);\n this.set_cookie_domain(config['cookie_domain']);\n this.set_cross_site(config['cross_site_cookie']);\n this.set_cross_subdomain(config['cross_subdomain_cookie']);\n this.set_secure(config['secure_cookie']);\n};\n\nMixpanelPersistence.prototype.set_disabled = function(disabled) {\n this.disabled = disabled;\n if (this.disabled) {\n this.remove();\n } else {\n this.save();\n }\n};\n\nMixpanelPersistence.prototype.set_cookie_domain = function(cookie_domain) {\n if (cookie_domain !== this.cookie_domain) {\n this.remove();\n this.cookie_domain = cookie_domain;\n this.save();\n }\n};\n\nMixpanelPersistence.prototype.set_cross_site = function(cross_site) {\n if (cross_site !== this.cross_site) {\n this.cross_site = cross_site;\n this.remove();\n this.save();\n }\n};\n\nMixpanelPersistence.prototype.set_cross_subdomain = function(cross_subdomain) {\n if (cross_subdomain !== this.cross_subdomain) {\n this.cross_subdomain = cross_subdomain;\n this.remove();\n this.save();\n }\n};\n\nMixpanelPersistence.prototype.get_cross_subdomain = function() {\n return this.cross_subdomain;\n};\n\nMixpanelPersistence.prototype.set_secure = function(secure) {\n if (secure !== this.secure) {\n this.secure = secure ? true : false;\n this.remove();\n this.save();\n }\n};\n\nMixpanelPersistence.prototype._add_to_people_queue = function(queue, data) {\n var q_key = this._get_queue_key(queue),\n q_data = data[queue],\n set_q = this._get_or_create_queue(SET_ACTION),\n set_once_q = this._get_or_create_queue(SET_ONCE_ACTION),\n unset_q = this._get_or_create_queue(UNSET_ACTION),\n add_q = this._get_or_create_queue(ADD_ACTION),\n union_q = this._get_or_create_queue(UNION_ACTION),\n remove_q = this._get_or_create_queue(REMOVE_ACTION, []),\n append_q = this._get_or_create_queue(APPEND_ACTION, []);\n\n if (q_key === SET_QUEUE_KEY) {\n // Update the set queue - we can override any existing values\n _.extend(set_q, q_data);\n // if there was a pending increment, override it\n // with the set.\n this._pop_from_people_queue(ADD_ACTION, q_data);\n // if there was a pending union, override it\n // with the set.\n this._pop_from_people_queue(UNION_ACTION, q_data);\n this._pop_from_people_queue(UNSET_ACTION, q_data);\n } else if (q_key === SET_ONCE_QUEUE_KEY) {\n // only queue the data if there is not already a set_once call for it.\n _.each(q_data, function(v, k) {\n if (!(k in set_once_q)) {\n set_once_q[k] = v;\n }\n });\n this._pop_from_people_queue(UNSET_ACTION, q_data);\n } else if (q_key === UNSET_QUEUE_KEY) {\n _.each(q_data, function(prop) {\n\n // undo previously-queued actions on this key\n _.each([set_q, set_once_q, add_q, union_q], function(enqueued_obj) {\n if (prop in enqueued_obj) {\n delete enqueued_obj[prop];\n }\n });\n _.each(append_q, function(append_obj) {\n if (prop in append_obj) {\n delete append_obj[prop];\n }\n });\n\n unset_q[prop] = true;\n\n });\n } else if (q_key === ADD_QUEUE_KEY) {\n _.each(q_data, function(v, k) {\n // If it exists in the set queue, increment\n // the value\n if (k in set_q) {\n set_q[k] += v;\n } else {\n // If it doesn't exist, update the add\n // queue\n if (!(k in add_q)) {\n add_q[k] = 0;\n }\n add_q[k] += v;\n }\n }, this);\n this._pop_from_people_queue(UNSET_ACTION, q_data);\n } else if (q_key === UNION_QUEUE_KEY) {\n _.each(q_data, function(v, k) {\n if (_.isArray(v)) {\n if (!(k in union_q)) {\n union_q[k] = [];\n }\n // Prevent duplicate values\n _.each(v, function(item) {\n if (!_.include(union_q[k], item)) {\n union_q[k].push(item);\n }\n });\n }\n });\n this._pop_from_people_queue(UNSET_ACTION, q_data);\n } else if (q_key === REMOVE_QUEUE_KEY) {\n remove_q.push(q_data);\n this._pop_from_people_queue(APPEND_ACTION, q_data);\n } else if (q_key === APPEND_QUEUE_KEY) {\n append_q.push(q_data);\n this._pop_from_people_queue(UNSET_ACTION, q_data);\n }\n\n console$1.log('MIXPANEL PEOPLE REQUEST (QUEUED, PENDING IDENTIFY):');\n console$1.log(data);\n\n this.save();\n};\n\nMixpanelPersistence.prototype._pop_from_people_queue = function(queue, data) {\n var q = this['props'][this._get_queue_key(queue)];\n if (!_.isUndefined(q)) {\n _.each(data, function(v, k) {\n if (queue === APPEND_ACTION || queue === REMOVE_ACTION) {\n // list actions: only remove if both k+v match\n // e.g. remove should not override append in a case like\n // append({foo: 'bar'}); remove({foo: 'qux'})\n _.each(q, function(queued_action) {\n if (queued_action[k] === v) {\n delete queued_action[k];\n }\n });\n } else {\n delete q[k];\n }\n }, this);\n }\n};\n\nMixpanelPersistence.prototype.load_queue = function(queue) {\n return this.load_prop(this._get_queue_key(queue));\n};\n\nMixpanelPersistence.prototype._get_queue_key = function(queue) {\n if (queue === SET_ACTION) {\n return SET_QUEUE_KEY;\n } else if (queue === SET_ONCE_ACTION) {\n return SET_ONCE_QUEUE_KEY;\n } else if (queue === UNSET_ACTION) {\n return UNSET_QUEUE_KEY;\n } else if (queue === ADD_ACTION) {\n return ADD_QUEUE_KEY;\n } else if (queue === APPEND_ACTION) {\n return APPEND_QUEUE_KEY;\n } else if (queue === REMOVE_ACTION) {\n return REMOVE_QUEUE_KEY;\n } else if (queue === UNION_ACTION) {\n return UNION_QUEUE_KEY;\n } else {\n console$1.error('Invalid queue:', queue);\n }\n};\n\nMixpanelPersistence.prototype._get_or_create_queue = function(queue, default_val) {\n var key = this._get_queue_key(queue);\n default_val = _.isUndefined(default_val) ? {} : default_val;\n return this['props'][key] || (this['props'][key] = default_val);\n};\n\nMixpanelPersistence.prototype.set_event_timer = function(event_name, timestamp) {\n var timers = this.load_prop(EVENT_TIMERS_KEY) || {};\n timers[event_name] = timestamp;\n this['props'][EVENT_TIMERS_KEY] = timers;\n this.save();\n};\n\nMixpanelPersistence.prototype.remove_event_timer = function(event_name) {\n var timers = this.load_prop(EVENT_TIMERS_KEY) || {};\n var timestamp = timers[event_name];\n if (!_.isUndefined(timestamp)) {\n delete this['props'][EVENT_TIMERS_KEY][event_name];\n this.save();\n }\n return timestamp;\n};\n\n/* eslint camelcase: \"off\" */\n\n/*\n * Mixpanel JS Library\n *\n * Copyright 2012, Mixpanel, Inc. All Rights Reserved\n * http://mixpanel.com/\n *\n * Includes portions of Underscore.js\n * http://documentcloud.github.com/underscore/\n * (c) 2011 Jeremy Ashkenas, DocumentCloud Inc.\n * Released under the MIT License.\n */\n\n// ==ClosureCompiler==\n// @compilation_level ADVANCED_OPTIMIZATIONS\n// @output_file_name mixpanel-2.8.min.js\n// ==/ClosureCompiler==\n\n/*\nSIMPLE STYLE GUIDE:\n\nthis.x === public function\nthis._x === internal - only use within this file\nthis.__x === private - only use within the class\n\nGlobals should be all caps\n*/\n\nvar init_type; // MODULE or SNIPPET loader\n// allow bundlers to specify how extra code (recorder bundle) should be loaded\n// eslint-disable-next-line no-unused-vars\nvar load_extra_bundle = function(src, _onload) {\n throw new Error(src + ' not available in this build.');\n};\n\nvar mixpanel_master; // main mixpanel instance / object\nvar INIT_MODULE = 0;\nvar INIT_SNIPPET = 1;\n\nvar IDENTITY_FUNC = function(x) {return x;};\nvar NOOP_FUNC = function() {};\n\n/** @const */ var PRIMARY_INSTANCE_NAME = 'mixpanel';\n/** @const */ var PAYLOAD_TYPE_BASE64 = 'base64';\n/** @const */ var PAYLOAD_TYPE_JSON = 'json';\n/** @const */ var DEVICE_ID_PREFIX = '$device:';\n\n\n/*\n * Dynamic... constants? Is that an oxymoron?\n */\n// http://hacks.mozilla.org/2009/07/cross-site-xmlhttprequest-with-cors/\n// https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest#withCredentials\nvar USE_XHR = (win.XMLHttpRequest && 'withCredentials' in new XMLHttpRequest());\n\n// IE<10 does not support cross-origin XHR's but script tags\n// with defer won't block window.onload; ENQUEUE_REQUESTS\n// should only be true for Opera<12\nvar ENQUEUE_REQUESTS = !USE_XHR && (userAgent.indexOf('MSIE') === -1) && (userAgent.indexOf('Mozilla') === -1);\n\n// save reference to navigator.sendBeacon so it can be minified\nvar sendBeacon = null;\nif (navigator['sendBeacon']) {\n sendBeacon = function() {\n // late reference to navigator.sendBeacon to allow patching/spying\n return navigator['sendBeacon'].apply(navigator, arguments);\n };\n}\n\nvar DEFAULT_API_ROUTES = {\n 'track': 'track/',\n 'engage': 'engage/',\n 'groups': 'groups/',\n 'record': 'record/'\n};\n\n/*\n * Module-level globals\n */\nvar DEFAULT_CONFIG = {\n 'api_host': 'https://api-js.mixpanel.com',\n 'api_routes': DEFAULT_API_ROUTES,\n 'api_method': 'POST',\n 'api_transport': 'XHR',\n 'api_payload_format': PAYLOAD_TYPE_BASE64,\n 'app_host': 'https://mixpanel.com',\n 'autocapture': false,\n 'cdn': 'https://cdn.mxpnl.com',\n 'cross_site_cookie': false,\n 'cross_subdomain_cookie': true,\n 'error_reporter': NOOP_FUNC,\n 'persistence': 'cookie',\n 'persistence_name': '',\n 'cookie_domain': '',\n 'cookie_name': '',\n 'loaded': NOOP_FUNC,\n 'mp_loader': null,\n 'track_marketing': true,\n 'track_pageview': false,\n 'skip_first_touch_marketing': false,\n 'store_google': true,\n 'stop_utm_persistence': false,\n 'save_referrer': true,\n 'test': false,\n 'verbose': false,\n 'img': false,\n 'debug': false,\n 'track_links_timeout': 300,\n 'cookie_expiration': 365,\n 'upgrade': false,\n 'disable_persistence': false,\n 'disable_cookie': false,\n 'secure_cookie': false,\n 'ip': true,\n 'opt_out_tracking_by_default': false,\n 'opt_out_persistence_by_default': false,\n 'opt_out_tracking_persistence_type': 'localStorage',\n 'opt_out_tracking_cookie_prefix': null,\n 'property_blacklist': [],\n 'xhr_headers': {}, // { header: value, header2: value }\n 'ignore_dnt': false,\n 'batch_requests': true,\n 'batch_size': 50,\n 'batch_flush_interval_ms': 5000,\n 'batch_request_timeout_ms': 90000,\n 'batch_autostart': true,\n 'hooks': {},\n 'record_block_class': new RegExp('^(mp-block|fs-exclude|amp-block|rr-block|ph-no-capture)$'),\n 'record_block_selector': 'img, video',\n 'record_canvas': false,\n 'record_collect_fonts': false,\n 'record_idle_timeout_ms': 30 * 60 * 1000, // 30 minutes\n 'record_mask_text_class': new RegExp('^(mp-mask|fs-mask|amp-mask|rr-mask|ph-mask)$'),\n 'record_mask_text_selector': '*',\n 'record_max_ms': MAX_RECORDING_MS,\n 'record_min_ms': 0,\n 'record_sessions_percent': 0,\n 'recorder_src': 'https://cdn.mxpnl.com/libs/mixpanel-recorder.min.js'\n};\n\nvar DOM_LOADED = false;\n\n/**\n * Mixpanel Library Object\n * @constructor\n */\nvar MixpanelLib = function() {};\n\n\n/**\n * create_mplib(token:string, config:object, name:string)\n *\n * This function is used by the init method of MixpanelLib objects\n * as well as the main initializer at the end of the JSLib (that\n * initializes document.mixpanel as well as any additional instances\n * declared before this file has loaded).\n */\nvar create_mplib = function(token, config, name) {\n var instance,\n target = (name === PRIMARY_INSTANCE_NAME) ? mixpanel_master : mixpanel_master[name];\n\n if (target && init_type === INIT_MODULE) {\n instance = target;\n } else {\n if (target && !_.isArray(target)) {\n console$1.error('You have already initialized ' + name);\n return;\n }\n instance = new MixpanelLib();\n }\n\n instance._cached_groups = {}; // cache groups in a pool\n\n instance._init(token, config, name);\n\n instance['people'] = new MixpanelPeople();\n instance['people']._init(instance);\n\n if (!instance.get_config('skip_first_touch_marketing')) {\n // We need null UTM params in the object because\n // UTM parameters act as a tuple. If any UTM param\n // is present, then we set all UTM params including\n // empty ones together\n var utm_params = _.info.campaignParams(null);\n var initial_utm_params = {};\n var has_utm = false;\n _.each(utm_params, function(utm_value, utm_key) {\n initial_utm_params['initial_' + utm_key] = utm_value;\n if (utm_value) {\n has_utm = true;\n }\n });\n if (has_utm) {\n instance['people'].set_once(initial_utm_params);\n }\n }\n\n // if any instance on the page has debug = true, we set the\n // global debug to be true\n Config.DEBUG = Config.DEBUG || instance.get_config('debug');\n\n // if target is not defined, we called init after the lib already\n // loaded, so there won't be an array of things to execute\n if (!_.isUndefined(target) && _.isArray(target)) {\n // Crunch through the people queue first - we queue this data up &\n // flush on identify, so it's better to do all these operations first\n instance._execute_array.call(instance['people'], target['people']);\n instance._execute_array(target);\n }\n\n return instance;\n};\n\n// Initialization methods\n\n/**\n * This function initializes a new instance of the Mixpanel tracking object.\n * All new instances are added to the main mixpanel object as sub properties (such as\n * mixpanel.library_name) and also returned by this function. To define a\n * second instance on the page, you would call:\n *\n * mixpanel.init('new token', { your: 'config' }, 'library_name');\n *\n * and use it like so:\n *\n * mixpanel.library_name.track(...);\n *\n * @param {String} token Your Mixpanel API token\n * @param {Object} [config] A dictionary of config options to override. See a list of default config options.\n * @param {String} [name] The name for the new mixpanel instance that you want created\n */\nMixpanelLib.prototype.init = function (token, config, name) {\n if (_.isUndefined(name)) {\n this.report_error('You must name your new library: init(token, config, name)');\n return;\n }\n if (name === PRIMARY_INSTANCE_NAME) {\n this.report_error('You must initialize the main mixpanel object right after you include the Mixpanel js snippet');\n return;\n }\n\n var instance = create_mplib(token, config, name);\n mixpanel_master[name] = instance;\n instance._loaded();\n\n return instance;\n};\n\n// mixpanel._init(token:string, config:object, name:string)\n//\n// This function sets up the current instance of the mixpanel\n// library. The difference between this method and the init(...)\n// method is this one initializes the actual instance, whereas the\n// init(...) method sets up a new library and calls _init on it.\n//\nMixpanelLib.prototype._init = function(token, config, name) {\n config = config || {};\n\n this['__loaded'] = true;\n this['config'] = {};\n\n var variable_features = {};\n\n // default to JSON payload for standard mixpanel.com API hosts\n if (!('api_payload_format' in config)) {\n var api_host = config['api_host'] || DEFAULT_CONFIG['api_host'];\n if (api_host.match(/\\.mixpanel\\.com/)) {\n variable_features['api_payload_format'] = PAYLOAD_TYPE_JSON;\n }\n }\n\n this.set_config(_.extend({}, DEFAULT_CONFIG, variable_features, config, {\n 'name': name,\n 'token': token,\n 'callback_fn': ((name === PRIMARY_INSTANCE_NAME) ? name : PRIMARY_INSTANCE_NAME + '.' + name) + '._jsc'\n }));\n\n this['_jsc'] = NOOP_FUNC;\n\n this.__dom_loaded_queue = [];\n this.__request_queue = [];\n this.__disabled_events = [];\n this._flags = {\n 'disable_all_events': false,\n 'identify_called': false\n };\n\n // set up request queueing/batching\n this.request_batchers = {};\n this._batch_requests = this.get_config('batch_requests');\n if (this._batch_requests) {\n if (!_.localStorage.is_supported(true) || !USE_XHR) {\n this._batch_requests = false;\n console$1.log('Turning off Mixpanel request-queueing; needs XHR and localStorage support');\n _.each(this.get_batcher_configs(), function(batcher_config) {\n console$1.log('Clearing batch queue ' + batcher_config.queue_key);\n _.localStorage.remove(batcher_config.queue_key);\n });\n } else {\n this.init_batchers();\n if (sendBeacon && win.addEventListener) {\n // Before page closes or hides (user tabs away etc), attempt to flush any events\n // queued up via navigator.sendBeacon. Since sendBeacon doesn't report success/failure,\n // events will not be removed from the persistent store; if the site is loaded again,\n // the events will be flushed again on startup and deduplicated on the Mixpanel server\n // side.\n // There is no reliable way to capture only page close events, so we lean on the\n // visibilitychange and pagehide events as recommended at\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/unload_event#usage_notes.\n // These events fire when the user clicks away from the current page/tab, so will occur\n // more frequently than page unload, but are the only mechanism currently for capturing\n // this scenario somewhat reliably.\n var flush_on_unload = _.bind(function() {\n if (!this.request_batchers.events.stopped) {\n this.request_batchers.events.flush({unloading: true});\n }\n }, this);\n win.addEventListener('pagehide', function(ev) {\n if (ev['persisted']) {\n flush_on_unload();\n }\n });\n win.addEventListener('visibilitychange', function() {\n if (document$1['visibilityState'] === 'hidden') {\n flush_on_unload();\n }\n });\n }\n }\n }\n\n this['persistence'] = this['cookie'] = new MixpanelPersistence(this['config']);\n this.unpersisted_superprops = {};\n this._gdpr_init();\n\n var uuid = _.UUID();\n if (!this.get_distinct_id()) {\n // There is no need to set the distinct id\n // or the device id if something was already stored\n // in the persitence\n this.register_once({\n 'distinct_id': DEVICE_ID_PREFIX + uuid,\n '$device_id': uuid\n }, '');\n }\n\n this.autocapture = new Autocapture(this);\n this.autocapture.init();\n\n if (this.get_config('record_sessions_percent') > 0 && Math.random() * 100 <= this.get_config('record_sessions_percent')) {\n this.start_session_recording();\n }\n};\n\nMixpanelLib.prototype.start_session_recording = addOptOutCheckMixpanelLib(function () {\n if (!win['MutationObserver']) {\n console$1.critical('Browser does not support MutationObserver; skipping session recording');\n return;\n }\n\n var handleLoadedRecorder = _.bind(function() {\n this._recorder = this._recorder || new win['__mp_recorder'](this);\n this._recorder['startRecording']();\n }, this);\n\n if (_.isUndefined(win['__mp_recorder'])) {\n load_extra_bundle(this.get_config('recorder_src'), handleLoadedRecorder);\n } else {\n handleLoadedRecorder();\n }\n});\n\nMixpanelLib.prototype.stop_session_recording = function () {\n if (this._recorder) {\n this._recorder['stopRecording']();\n } else {\n console$1.critical('Session recorder module not loaded');\n }\n};\n\nMixpanelLib.prototype.get_session_recording_properties = function () {\n var props = {};\n var replay_id = this._get_session_replay_id();\n if (replay_id) {\n props['$mp_replay_id'] = replay_id;\n }\n return props;\n};\n\nMixpanelLib.prototype.get_session_replay_url = function () {\n var replay_url = null;\n var replay_id = this._get_session_replay_id();\n if (replay_id) {\n var query_params = _.HTTPBuildQuery({\n 'replay_id': replay_id,\n 'distinct_id': this.get_distinct_id(),\n 'token': this.get_config('token')\n });\n replay_url = 'https://mixpanel.com/projects/replay-redirect?' + query_params;\n }\n return replay_url;\n};\n\nMixpanelLib.prototype._get_session_replay_id = function () {\n var replay_id = null;\n if (this._recorder) {\n replay_id = this._recorder['replayId'];\n }\n return replay_id || null;\n};\n\n// Private methods\n\nMixpanelLib.prototype._loaded = function() {\n this.get_config('loaded')(this);\n this._set_default_superprops();\n this['people'].set_once(this['persistence'].get_referrer_info());\n\n // `store_google` is now deprecated and previously stored UTM parameters are cleared\n // from persistence by default.\n if (this.get_config('store_google') && this.get_config('stop_utm_persistence')) {\n var utm_params = _.info.campaignParams(null);\n _.each(utm_params, function(_utm_value, utm_key) {\n // We need to unregister persisted UTM parameters so old values\n // are not mixed with the new UTM parameters\n this.unregister(utm_key);\n }.bind(this));\n }\n};\n\n// update persistence with info on referrer, UTM params, etc\nMixpanelLib.prototype._set_default_superprops = function() {\n this['persistence'].update_search_keyword(document$1.referrer);\n // Registering super properties for UTM persistence by 'store_google' is deprecated.\n if (this.get_config('store_google') && !this.get_config('stop_utm_persistence')) {\n this.register(_.info.campaignParams());\n }\n if (this.get_config('save_referrer')) {\n this['persistence'].update_referrer_info(document$1.referrer);\n }\n};\n\nMixpanelLib.prototype._dom_loaded = function() {\n _.each(this.__dom_loaded_queue, function(item) {\n this._track_dom.apply(this, item);\n }, this);\n\n if (!this.has_opted_out_tracking()) {\n _.each(this.__request_queue, function(item) {\n this._send_request.apply(this, item);\n }, this);\n }\n\n delete this.__dom_loaded_queue;\n delete this.__request_queue;\n};\n\nMixpanelLib.prototype._track_dom = function(DomClass, args) {\n if (this.get_config('img')) {\n this.report_error('You can\\'t use DOM tracking functions with img = true.');\n return false;\n }\n\n if (!DOM_LOADED) {\n this.__dom_loaded_queue.push([DomClass, args]);\n return false;\n }\n\n var dt = new DomClass().init(this);\n return dt.track.apply(dt, args);\n};\n\n/**\n * _prepare_callback() should be called by callers of _send_request for use\n * as the callback argument.\n *\n * If there is no callback, this returns null.\n * If we are going to make XHR/XDR requests, this returns a function.\n * If we are going to use script tags, this returns a string to use as the\n * callback GET param.\n */\nMixpanelLib.prototype._prepare_callback = function(callback, data) {\n if (_.isUndefined(callback)) {\n return null;\n }\n\n if (USE_XHR) {\n var callback_function = function(response) {\n callback(response, data);\n };\n return callback_function;\n } else {\n // if the user gives us a callback, we store as a random\n // property on this instances jsc function and update our\n // callback string to reflect that.\n var jsc = this['_jsc'];\n var randomized_cb = '' + Math.floor(Math.random() * 100000000);\n var callback_string = this.get_config('callback_fn') + '[' + randomized_cb + ']';\n jsc[randomized_cb] = function(response) {\n delete jsc[randomized_cb];\n callback(response, data);\n };\n return callback_string;\n }\n};\n\nMixpanelLib.prototype._send_request = function(url, data, options, callback) {\n var succeeded = true;\n\n if (ENQUEUE_REQUESTS) {\n this.__request_queue.push(arguments);\n return succeeded;\n }\n\n var DEFAULT_OPTIONS = {\n method: this.get_config('api_method'),\n transport: this.get_config('api_transport'),\n verbose: this.get_config('verbose')\n };\n var body_data = null;\n\n if (!callback && (_.isFunction(options) || typeof options === 'string')) {\n callback = options;\n options = null;\n }\n options = _.extend(DEFAULT_OPTIONS, options || {});\n if (!USE_XHR) {\n options.method = 'GET';\n }\n var use_post = options.method === 'POST';\n var use_sendBeacon = sendBeacon && use_post && options.transport.toLowerCase() === 'sendbeacon';\n\n // needed to correctly format responses\n var verbose_mode = options.verbose;\n if (data['verbose']) { verbose_mode = true; }\n\n if (this.get_config('test')) { data['test'] = 1; }\n if (verbose_mode) { data['verbose'] = 1; }\n if (this.get_config('img')) { data['img'] = 1; }\n if (!USE_XHR) {\n if (callback) {\n data['callback'] = callback;\n } else if (verbose_mode || this.get_config('test')) {\n // Verbose output (from verbose mode, or an error in test mode) is a json blob,\n // which by itself is not valid javascript. Without a callback, this verbose output will\n // cause an error when returned via jsonp, so we force a no-op callback param.\n // See the ECMA script spec: http://www.ecma-international.org/ecma-262/5.1/#sec-12.4\n data['callback'] = '(function(){})';\n }\n }\n\n data['ip'] = this.get_config('ip')?1:0;\n data['_'] = new Date().getTime().toString();\n\n if (use_post) {\n body_data = 'data=' + encodeURIComponent(data['data']);\n delete data['data'];\n }\n\n url += '?' + _.HTTPBuildQuery(data);\n\n var lib = this;\n if ('img' in data) {\n var img = document$1.createElement('img');\n img.src = url;\n document$1.body.appendChild(img);\n } else if (use_sendBeacon) {\n try {\n succeeded = sendBeacon(url, body_data);\n } catch (e) {\n lib.report_error(e);\n succeeded = false;\n }\n try {\n if (callback) {\n callback(succeeded ? 1 : 0);\n }\n } catch (e) {\n lib.report_error(e);\n }\n } else if (USE_XHR) {\n try {\n var req = new XMLHttpRequest();\n req.open(options.method, url, true);\n\n var headers = this.get_config('xhr_headers');\n if (use_post) {\n headers['Content-Type'] = 'application/x-www-form-urlencoded';\n }\n _.each(headers, function(headerValue, headerName) {\n req.setRequestHeader(headerName, headerValue);\n });\n\n if (options.timeout_ms && typeof req.timeout !== 'undefined') {\n req.timeout = options.timeout_ms;\n var start_time = new Date().getTime();\n }\n\n // send the mp_optout cookie\n // withCredentials cannot be modified until after calling .open on Android and Mobile Safari\n req.withCredentials = true;\n req.onreadystatechange = function () {\n if (req.readyState === 4) { // XMLHttpRequest.DONE == 4, except in safari 4\n if (req.status === 200) {\n if (callback) {\n if (verbose_mode) {\n var response;\n try {\n response = _.JSONDecode(req.responseText);\n } catch (e) {\n lib.report_error(e);\n if (options.ignore_json_errors) {\n response = req.responseText;\n } else {\n return;\n }\n }\n callback(response);\n } else {\n callback(Number(req.responseText));\n }\n }\n } else {\n var error;\n if (\n req.timeout &&\n !req.status &&\n new Date().getTime() - start_time >= req.timeout\n ) {\n error = 'timeout';\n } else {\n error = 'Bad HTTP status: ' + req.status + ' ' + req.statusText;\n }\n lib.report_error(error);\n if (callback) {\n if (verbose_mode) {\n var response_headers = req['responseHeaders'] || {};\n callback({status: 0, httpStatusCode: req['status'], error: error, retryAfter: response_headers['Retry-After']});\n } else {\n callback(0);\n }\n }\n }\n }\n };\n req.send(body_data);\n } catch (e) {\n lib.report_error(e);\n succeeded = false;\n }\n } else {\n var script = document$1.createElement('script');\n script.type = 'text/javascript';\n script.async = true;\n script.defer = true;\n script.src = url;\n var s = document$1.getElementsByTagName('script')[0];\n s.parentNode.insertBefore(script, s);\n }\n\n return succeeded;\n};\n\n/**\n * _execute_array() deals with processing any mixpanel function\n * calls that were called before the Mixpanel library were loaded\n * (and are thus stored in an array so they can be called later)\n *\n * Note: we fire off all the mixpanel function calls && user defined\n * functions BEFORE we fire off mixpanel tracking calls. This is so\n * identify/register/set_config calls can properly modify early\n * tracking calls.\n *\n * @param {Array} array\n */\nMixpanelLib.prototype._execute_array = function(array) {\n var fn_name, alias_calls = [], other_calls = [], tracking_calls = [];\n _.each(array, function(item) {\n if (item) {\n fn_name = item[0];\n if (_.isArray(fn_name)) {\n tracking_calls.push(item); // chained call e.g. mixpanel.get_group().set()\n } else if (typeof(item) === 'function') {\n item.call(this);\n } else if (_.isArray(item) && fn_name === 'alias') {\n alias_calls.push(item);\n } else if (_.isArray(item) && fn_name.indexOf('track') !== -1 && typeof(this[fn_name]) === 'function') {\n tracking_calls.push(item);\n } else {\n other_calls.push(item);\n }\n }\n }, this);\n\n var execute = function(calls, context) {\n _.each(calls, function(item) {\n if (_.isArray(item[0])) {\n // chained call\n var caller = context;\n _.each(item, function(call) {\n caller = caller[call[0]].apply(caller, call.slice(1));\n });\n } else {\n this[item[0]].apply(this, item.slice(1));\n }\n }, context);\n };\n\n execute(alias_calls, this);\n execute(other_calls, this);\n execute(tracking_calls, this);\n};\n\n// request queueing utils\n\nMixpanelLib.prototype.are_batchers_initialized = function() {\n return !!this.request_batchers.events;\n};\n\nMixpanelLib.prototype.get_batcher_configs = function() {\n var queue_prefix = '__mpq_' + this.get_config('token');\n var api_routes = this.get_config('api_routes');\n this._batcher_configs = this._batcher_configs || {\n events: {type: 'events', endpoint: '/' + api_routes['track'], queue_key: queue_prefix + '_ev'},\n people: {type: 'people', endpoint: '/' + api_routes['engage'], queue_key: queue_prefix + '_pp'},\n groups: {type: 'groups', endpoint: '/' + api_routes['groups'], queue_key: queue_prefix + '_gr'}\n };\n return this._batcher_configs;\n};\n\nMixpanelLib.prototype.init_batchers = function() {\n if (!this.are_batchers_initialized()) {\n var batcher_for = _.bind(function(attrs) {\n return new RequestBatcher(\n attrs.queue_key,\n {\n libConfig: this['config'],\n errorReporter: this.get_config('error_reporter'),\n sendRequestFunc: _.bind(function(data, options, cb) {\n this._send_request(\n this.get_config('api_host') + attrs.endpoint,\n this._encode_data_for_request(data),\n options,\n this._prepare_callback(cb, data)\n );\n }, this),\n beforeSendHook: _.bind(function(item) {\n return this._run_hook('before_send_' + attrs.type, item);\n }, this),\n stopAllBatchingFunc: _.bind(this.stop_batch_senders, this),\n usePersistence: true\n }\n );\n }, this);\n var batcher_configs = this.get_batcher_configs();\n this.request_batchers = {\n events: batcher_for(batcher_configs.events),\n people: batcher_for(batcher_configs.people),\n groups: batcher_for(batcher_configs.groups)\n };\n }\n if (this.get_config('batch_autostart')) {\n this.start_batch_senders();\n }\n};\n\nMixpanelLib.prototype.start_batch_senders = function() {\n this._batchers_were_started = true;\n if (this.are_batchers_initialized()) {\n this._batch_requests = true;\n _.each(this.request_batchers, function(batcher) {\n batcher.start();\n });\n }\n};\n\nMixpanelLib.prototype.stop_batch_senders = function() {\n this._batch_requests = false;\n _.each(this.request_batchers, function(batcher) {\n batcher.stop();\n batcher.clear();\n });\n};\n\n/**\n * push() keeps the standard async-array-push\n * behavior around after the lib is loaded.\n * This is only useful for external integrations that\n * do not wish to rely on our convenience methods\n * (created in the snippet).\n *\n * ### Usage:\n * mixpanel.push(['register', { a: 'b' }]);\n *\n * @param {Array} item A [function_name, args...] array to be executed\n */\nMixpanelLib.prototype.push = function(item) {\n this._execute_array([item]);\n};\n\n/**\n * Disable events on the Mixpanel object. If passed no arguments,\n * this function disables tracking of any event. If passed an\n * array of event names, those events will be disabled, but other\n * events will continue to be tracked.\n *\n * Note: this function does not stop other mixpanel functions from\n * firing, such as register() or people.set().\n *\n * @param {Array} [events] An array of event names to disable\n */\nMixpanelLib.prototype.disable = function(events) {\n if (typeof(events) === 'undefined') {\n this._flags.disable_all_events = true;\n } else {\n this.__disabled_events = this.__disabled_events.concat(events);\n }\n};\n\nMixpanelLib.prototype._encode_data_for_request = function(data) {\n var encoded_data = _.JSONEncode(data);\n if (this.get_config('api_payload_format') === PAYLOAD_TYPE_BASE64) {\n encoded_data = _.base64Encode(encoded_data);\n }\n return {'data': encoded_data};\n};\n\n// internal method for handling track vs batch-enqueue logic\nMixpanelLib.prototype._track_or_batch = function(options, callback) {\n var truncated_data = _.truncate(options.data, 255);\n var endpoint = options.endpoint;\n var batcher = options.batcher;\n var should_send_immediately = options.should_send_immediately;\n var send_request_options = options.send_request_options || {};\n callback = callback || NOOP_FUNC;\n\n var request_enqueued_or_initiated = true;\n var send_request_immediately = _.bind(function() {\n if (!send_request_options.skip_hooks) {\n truncated_data = this._run_hook('before_send_' + options.type, truncated_data);\n }\n if (truncated_data) {\n console$1.log('MIXPANEL REQUEST:');\n console$1.log(truncated_data);\n return this._send_request(\n endpoint,\n this._encode_data_for_request(truncated_data),\n send_request_options,\n this._prepare_callback(callback, truncated_data)\n );\n } else {\n return null;\n }\n }, this);\n\n if (this._batch_requests && !should_send_immediately) {\n batcher.enqueue(truncated_data).then(function(succeeded) {\n if (succeeded) {\n callback(1, truncated_data);\n } else {\n send_request_immediately();\n }\n });\n } else {\n request_enqueued_or_initiated = send_request_immediately();\n }\n\n return request_enqueued_or_initiated && truncated_data;\n};\n\n/**\n * Track an event. This is the most important and\n * frequently used Mixpanel function.\n *\n * ### Usage:\n *\n * // track an event named 'Registered'\n * mixpanel.track('Registered', {'Gender': 'Male', 'Age': 21});\n *\n * // track an event using navigator.sendBeacon\n * mixpanel.track('Left page', {'duration_seconds': 35}, {transport: 'sendBeacon'});\n *\n * To track link clicks or form submissions, see track_links() or track_forms().\n *\n * @param {String} event_name The name of the event. This can be anything the user does - 'Button Click', 'Sign Up', 'Item Purchased', etc.\n * @param {Object} [properties] A set of properties to include with the event you're sending. These describe the user who did the event or details about the event itself.\n * @param {Object} [options] Optional configuration for this track request.\n * @param {String} [options.transport] Transport method for network request ('xhr' or 'sendBeacon').\n * @param {Boolean} [options.send_immediately] Whether to bypass batching/queueing and send track request immediately.\n * @param {Function} [callback] If provided, the callback function will be called after tracking the event.\n * @returns {Boolean|Object} If the tracking request was successfully initiated/queued, an object\n * with the tracking payload sent to the API server is returned; otherwise false.\n */\nMixpanelLib.prototype.track = addOptOutCheckMixpanelLib(function(event_name, properties, options, callback) {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = null;\n }\n options = options || {};\n var transport = options['transport']; // external API, don't minify 'transport' prop\n if (transport) {\n options.transport = transport; // 'transport' prop name can be minified internally\n }\n var should_send_immediately = options['send_immediately'];\n if (typeof callback !== 'function') {\n callback = NOOP_FUNC;\n }\n\n if (_.isUndefined(event_name)) {\n this.report_error('No event name provided to mixpanel.track');\n return;\n }\n\n if (this._event_is_disabled(event_name)) {\n callback(0);\n return;\n }\n\n // set defaults\n properties = _.extend({}, properties);\n properties['token'] = this.get_config('token');\n\n // set $duration if time_event was previously called for this event\n var start_timestamp = this['persistence'].remove_event_timer(event_name);\n if (!_.isUndefined(start_timestamp)) {\n var duration_in_ms = new Date().getTime() - start_timestamp;\n properties['$duration'] = parseFloat((duration_in_ms / 1000).toFixed(3));\n }\n\n this._set_default_superprops();\n\n var marketing_properties = this.get_config('track_marketing')\n ? _.info.marketingParams()\n : {};\n\n // note: extend writes to the first object, so lets make sure we\n // don't write to the persistence properties object and info\n // properties object by passing in a new object\n\n // update properties with pageview info and super-properties\n properties = _.extend(\n {},\n _.info.properties({'mp_loader': this.get_config('mp_loader')}),\n marketing_properties,\n this['persistence'].properties(),\n this.unpersisted_superprops,\n this.get_session_recording_properties(),\n properties\n );\n\n var property_blacklist = this.get_config('property_blacklist');\n if (_.isArray(property_blacklist)) {\n _.each(property_blacklist, function(blacklisted_prop) {\n delete properties[blacklisted_prop];\n });\n } else {\n this.report_error('Invalid value for property_blacklist config: ' + property_blacklist);\n }\n\n var data = {\n 'event': event_name,\n 'properties': properties\n };\n var ret = this._track_or_batch({\n type: 'events',\n data: data,\n endpoint: this.get_config('api_host') + '/' + this.get_config('api_routes')['track'],\n batcher: this.request_batchers.events,\n should_send_immediately: should_send_immediately,\n send_request_options: options\n }, callback);\n\n return ret;\n});\n\n/**\n * Register the current user into one/many groups.\n *\n * ### Usage:\n *\n * mixpanel.set_group('company', ['mixpanel', 'google']) // an array of IDs\n * mixpanel.set_group('company', 'mixpanel')\n * mixpanel.set_group('company', 128746312)\n *\n * @param {String} group_key Group key\n * @param {Array|String|Number} group_ids An array of group IDs, or a singular group ID\n * @param {Function} [callback] If provided, the callback will be called after tracking the event.\n *\n */\nMixpanelLib.prototype.set_group = addOptOutCheckMixpanelLib(function(group_key, group_ids, callback) {\n if (!_.isArray(group_ids)) {\n group_ids = [group_ids];\n }\n var prop = {};\n prop[group_key] = group_ids;\n this.register(prop);\n return this['people'].set(group_key, group_ids, callback);\n});\n\n/**\n * Add a new group for this user.\n *\n * ### Usage:\n *\n * mixpanel.add_group('company', 'mixpanel')\n *\n * @param {String} group_key Group key\n * @param {*} group_id A valid Mixpanel property type\n * @param {Function} [callback] If provided, the callback will be called after tracking the event.\n */\nMixpanelLib.prototype.add_group = addOptOutCheckMixpanelLib(function(group_key, group_id, callback) {\n var old_values = this.get_property(group_key);\n var prop = {};\n if (old_values === undefined) {\n prop[group_key] = [group_id];\n this.register(prop);\n } else {\n if (old_values.indexOf(group_id) === -1) {\n old_values.push(group_id);\n prop[group_key] = old_values;\n this.register(prop);\n }\n }\n return this['people'].union(group_key, group_id, callback);\n});\n\n/**\n * Remove a group from this user.\n *\n * ### Usage:\n *\n * mixpanel.remove_group('company', 'mixpanel')\n *\n * @param {String} group_key Group key\n * @param {*} group_id A valid Mixpanel property type\n * @param {Function} [callback] If provided, the callback will be called after tracking the event.\n */\nMixpanelLib.prototype.remove_group = addOptOutCheckMixpanelLib(function(group_key, group_id, callback) {\n var old_value = this.get_property(group_key);\n // if the value doesn't exist, the persistent store is unchanged\n if (old_value !== undefined) {\n var idx = old_value.indexOf(group_id);\n if (idx > -1) {\n old_value.splice(idx, 1);\n this.register({group_key: old_value});\n }\n if (old_value.length === 0) {\n this.unregister(group_key);\n }\n }\n return this['people'].remove(group_key, group_id, callback);\n});\n\n/**\n * Track an event with specific groups.\n *\n * ### Usage:\n *\n * mixpanel.track_with_groups('purchase', {'product': 'iphone'}, {'University': ['UCB', 'UCLA']})\n *\n * @param {String} event_name The name of the event (see `mixpanel.track()`)\n * @param {Object=} properties A set of properties to include with the event you're sending (see `mixpanel.track()`)\n * @param {Object=} groups An object mapping group name keys to one or more values\n * @param {Function} [callback] If provided, the callback will be called after tracking the event.\n */\nMixpanelLib.prototype.track_with_groups = addOptOutCheckMixpanelLib(function(event_name, properties, groups, callback) {\n var tracking_props = _.extend({}, properties || {});\n _.each(groups, function(v, k) {\n if (v !== null && v !== undefined) {\n tracking_props[k] = v;\n }\n });\n return this.track(event_name, tracking_props, callback);\n});\n\nMixpanelLib.prototype._create_map_key = function (group_key, group_id) {\n return group_key + '_' + JSON.stringify(group_id);\n};\n\nMixpanelLib.prototype._remove_group_from_cache = function (group_key, group_id) {\n delete this._cached_groups[this._create_map_key(group_key, group_id)];\n};\n\n/**\n * Look up reference to a Mixpanel group\n *\n * ### Usage:\n *\n * mixpanel.get_group(group_key, group_id)\n *\n * @param {String} group_key Group key\n * @param {Object} group_id A valid Mixpanel property type\n * @returns {Object} A MixpanelGroup identifier\n */\nMixpanelLib.prototype.get_group = function (group_key, group_id) {\n var map_key = this._create_map_key(group_key, group_id);\n var group = this._cached_groups[map_key];\n if (group === undefined || group._group_key !== group_key || group._group_id !== group_id) {\n group = new MixpanelGroup();\n group._init(this, group_key, group_id);\n this._cached_groups[map_key] = group;\n }\n return group;\n};\n\n/**\n * Track a default Mixpanel page view event, which includes extra default event properties to\n * improve page view data.\n *\n * ### Usage:\n *\n * // track a default $mp_web_page_view event\n * mixpanel.track_pageview();\n *\n * // track a page view event with additional event properties\n * mixpanel.track_pageview({'ab_test_variant': 'card-layout-b'});\n *\n * // example approach to track page views on different page types as event properties\n * mixpanel.track_pageview({'page': 'pricing'});\n * mixpanel.track_pageview({'page': 'homepage'});\n *\n * // UNCOMMON: Tracking a page view event with a custom event_name option. NOT expected to be used for\n * // individual pages on the same site or product. Use cases for custom event_name may be page\n * // views on different products or internal applications that are considered completely separate\n * mixpanel.track_pageview({'page': 'customer-search'}, {'event_name': '[internal] Admin Page View'});\n *\n * ### Notes:\n *\n * The `config.track_pageview` option for mixpanel.init()\n * may be turned on for tracking page loads automatically.\n *\n * // track only page loads\n * mixpanel.init(PROJECT_TOKEN, {track_pageview: true});\n *\n * // track when the URL changes in any manner\n * mixpanel.init(PROJECT_TOKEN, {track_pageview: 'full-url'});\n *\n * // track when the URL changes, ignoring any changes in the hash part\n * mixpanel.init(PROJECT_TOKEN, {track_pageview: 'url-with-path-and-query-string'});\n *\n * // track when the path changes, ignoring any query parameter or hash changes\n * mixpanel.init(PROJECT_TOKEN, {track_pageview: 'url-with-path'});\n *\n * @param {Object} [properties] An optional set of additional properties to send with the page view event\n * @param {Object} [options] Page view tracking options\n * @param {String} [options.event_name] - Alternate name for the tracking event\n * @returns {Boolean|Object} If the tracking request was successfully initiated/queued, an object\n * with the tracking payload sent to the API server is returned; otherwise false.\n */\nMixpanelLib.prototype.track_pageview = addOptOutCheckMixpanelLib(function(properties, options) {\n if (typeof properties !== 'object') {\n properties = {};\n }\n options = options || {};\n var event_name = options['event_name'] || '$mp_web_page_view';\n\n var default_page_properties = _.extend(\n _.info.mpPageViewProperties(),\n _.info.campaignParams(),\n _.info.clickParams()\n );\n\n var event_properties = _.extend(\n {},\n default_page_properties,\n properties\n );\n\n return this.track(event_name, event_properties);\n});\n\n/**\n * Track clicks on a set of document elements. Selector must be a\n * valid query. Elements must exist on the page at the time track_links is called.\n *\n * ### Usage:\n *\n * // track click for link id #nav\n * mixpanel.track_links('#nav', 'Clicked Nav Link');\n *\n * ### Notes:\n *\n * This function will wait up to 300 ms for the Mixpanel\n * servers to respond. If they have not responded by that time\n * it will head to the link without ensuring that your event\n * has been tracked. To configure this timeout please see the\n * set_config() documentation below.\n *\n * If you pass a function in as the properties argument, the\n * function will receive the DOMElement that triggered the\n * event as an argument. You are expected to return an object\n * from the function; any properties defined on this object\n * will be sent to mixpanel as event properties.\n *\n * @type {Function}\n * @param {Object|String} query A valid DOM query, element or jQuery-esque list\n * @param {String} event_name The name of the event to track\n * @param {Object|Function} [properties] A properties object or function that returns a dictionary of properties when passed a DOMElement\n */\nMixpanelLib.prototype.track_links = function() {\n return this._track_dom.call(this, LinkTracker, arguments);\n};\n\n/**\n * Track form submissions. Selector must be a valid query.\n *\n * ### Usage:\n *\n * // track submission for form id 'register'\n * mixpanel.track_forms('#register', 'Created Account');\n *\n * ### Notes:\n *\n * This function will wait up to 300 ms for the mixpanel\n * servers to respond, if they have not responded by that time\n * it will head to the link without ensuring that your event\n * has been tracked. To configure this timeout please see the\n * set_config() documentation below.\n *\n * If you pass a function in as the properties argument, the\n * function will receive the DOMElement that triggered the\n * event as an argument. You are expected to return an object\n * from the function; any properties defined on this object\n * will be sent to mixpanel as event properties.\n *\n * @type {Function}\n * @param {Object|String} query A valid DOM query, element or jQuery-esque list\n * @param {String} event_name The name of the event to track\n * @param {Object|Function} [properties] This can be a set of properties, or a function that returns a set of properties after being passed a DOMElement\n */\nMixpanelLib.prototype.track_forms = function() {\n return this._track_dom.call(this, FormTracker, arguments);\n};\n\n/**\n * Time an event by including the time between this call and a\n * later 'track' call for the same event in the properties sent\n * with the event.\n *\n * ### Usage:\n *\n * // time an event named 'Registered'\n * mixpanel.time_event('Registered');\n * mixpanel.track('Registered', {'Gender': 'Male', 'Age': 21});\n *\n * When called for a particular event name, the next track call for that event\n * name will include the elapsed time between the 'time_event' and 'track'\n * calls. This value is stored as seconds in the '$duration' property.\n *\n * @param {String} event_name The name of the event.\n */\nMixpanelLib.prototype.time_event = function(event_name) {\n if (_.isUndefined(event_name)) {\n this.report_error('No event name provided to mixpanel.time_event');\n return;\n }\n\n if (this._event_is_disabled(event_name)) {\n return;\n }\n\n this['persistence'].set_event_timer(event_name, new Date().getTime());\n};\n\nvar REGISTER_DEFAULTS = {\n 'persistent': true\n};\n/**\n * Helper to parse options param for register methods, maintaining\n * legacy support for plain \"days\" param instead of options object\n * @param {Number|Object} [days_or_options] 'days' option (Number), or Options object for register methods\n * @returns {Object} options object\n */\nvar options_for_register = function(days_or_options) {\n var options;\n if (_.isObject(days_or_options)) {\n options = days_or_options;\n } else if (!_.isUndefined(days_or_options)) {\n options = {'days': days_or_options};\n } else {\n options = {};\n }\n return _.extend({}, REGISTER_DEFAULTS, options);\n};\n\n/**\n * Register a set of super properties, which are included with all\n * events. This will overwrite previous super property values.\n *\n * ### Usage:\n *\n * // register 'Gender' as a super property\n * mixpanel.register({'Gender': 'Female'});\n *\n * // register several super properties when a user signs up\n * mixpanel.register({\n * 'Email': 'jdoe@example.com',\n * 'Account Type': 'Free'\n * });\n *\n * // register only for the current pageload\n * mixpanel.register({'Name': 'Pat'}, {persistent: false});\n *\n * @param {Object} properties An associative array of properties to store about the user\n * @param {Number|Object} [days_or_options] Options object or number of days since the user's last visit to store the super properties (only valid for persisted props)\n * @param {boolean} [days_or_options.days] - number of days since the user's last visit to store the super properties (only valid for persisted props)\n * @param {boolean} [days_or_options.persistent=true] - whether to put in persistent storage (cookie/localStorage)\n */\nMixpanelLib.prototype.register = function(props, days_or_options) {\n var options = options_for_register(days_or_options);\n if (options['persistent']) {\n this['persistence'].register(props, options['days']);\n } else {\n _.extend(this.unpersisted_superprops, props);\n }\n};\n\n/**\n * Register a set of super properties only once. This will not\n * overwrite previous super property values, unlike register().\n *\n * ### Usage:\n *\n * // register a super property for the first time only\n * mixpanel.register_once({\n * 'First Login Date': new Date().toISOString()\n * });\n *\n * // register once, only for the current pageload\n * mixpanel.register_once({\n * 'First interaction time': new Date().toISOString()\n * }, 'None', {persistent: false});\n *\n * ### Notes:\n *\n * If default_value is specified, current super properties\n * with that value will be overwritten.\n *\n * @param {Object} properties An associative array of properties to store about the user\n * @param {*} [default_value] Value to override if already set in super properties (ex: 'False') Default: 'None'\n * @param {Number|Object} [days_or_options] Options object or number of days since the user's last visit to store the super properties (only valid for persisted props)\n * @param {boolean} [days_or_options.days] - number of days since the user's last visit to store the super properties (only valid for persisted props)\n * @param {boolean} [days_or_options.persistent=true] - whether to put in persistent storage (cookie/localStorage)\n */\nMixpanelLib.prototype.register_once = function(props, default_value, days_or_options) {\n var options = options_for_register(days_or_options);\n if (options['persistent']) {\n this['persistence'].register_once(props, default_value, options['days']);\n } else {\n if (typeof(default_value) === 'undefined') {\n default_value = 'None';\n }\n _.each(props, function(val, prop) {\n if (!this.unpersisted_superprops.hasOwnProperty(prop) || this.unpersisted_superprops[prop] === default_value) {\n this.unpersisted_superprops[prop] = val;\n }\n }, this);\n }\n};\n\n/**\n * Delete a super property stored with the current user.\n *\n * @param {String} property The name of the super property to remove\n * @param {Object} [options]\n * @param {boolean} [options.persistent=true] - whether to look in persistent storage (cookie/localStorage)\n */\nMixpanelLib.prototype.unregister = function(property, options) {\n options = options_for_register(options);\n if (options['persistent']) {\n this['persistence'].unregister(property);\n } else {\n delete this.unpersisted_superprops[property];\n }\n};\n\nMixpanelLib.prototype._register_single = function(prop, value) {\n var props = {};\n props[prop] = value;\n this.register(props);\n};\n\n/**\n * Identify a user with a unique ID to track user activity across\n * devices, tie a user to their events, and create a user profile.\n * If you never call this method, unique visitors are tracked using\n * a UUID generated the first time they visit the site.\n *\n * Call identify when you know the identity of the current user,\n * typically after login or signup. We recommend against using\n * identify for anonymous visitors to your site.\n *\n * ### Notes:\n * If your project has\n * ID Merge\n * enabled, the identify method will connect pre- and\n * post-authentication events when appropriate.\n *\n * If your project does not have ID Merge enabled, identify will\n * change the user's local distinct_id to the unique ID you pass.\n * Events tracked prior to authentication will not be connected\n * to the same user identity. If ID Merge is disabled, alias can\n * be used to connect pre- and post-registration events.\n *\n * @param {String} [unique_id] A string that uniquely identifies a user. If not provided, the distinct_id currently in the persistent store (cookie or localStorage) will be used.\n */\nMixpanelLib.prototype.identify = function(\n new_distinct_id, _set_callback, _add_callback, _append_callback, _set_once_callback, _union_callback, _unset_callback, _remove_callback\n) {\n // Optional Parameters\n // _set_callback:function A callback to be run if and when the People set queue is flushed\n // _add_callback:function A callback to be run if and when the People add queue is flushed\n // _append_callback:function A callback to be run if and when the People append queue is flushed\n // _set_once_callback:function A callback to be run if and when the People set_once queue is flushed\n // _union_callback:function A callback to be run if and when the People union queue is flushed\n // _unset_callback:function A callback to be run if and when the People unset queue is flushed\n\n var previous_distinct_id = this.get_distinct_id();\n if (new_distinct_id && previous_distinct_id !== new_distinct_id) {\n // we allow the following condition if previous distinct_id is same as new_distinct_id\n // so that you can force flush people updates for anonymous profiles.\n if (typeof new_distinct_id === 'string' && new_distinct_id.indexOf(DEVICE_ID_PREFIX) === 0) {\n this.report_error('distinct_id cannot have $device: prefix');\n return -1;\n }\n this.register({'$user_id': new_distinct_id});\n }\n\n if (!this.get_property('$device_id')) {\n // The persisted distinct id might not actually be a device id at all\n // it might be a distinct id of the user from before\n var device_id = previous_distinct_id;\n this.register_once({\n '$had_persisted_distinct_id': true,\n '$device_id': device_id\n }, '');\n }\n\n // identify only changes the distinct id if it doesn't match either the existing or the alias;\n // if it's new, blow away the alias as well.\n if (new_distinct_id !== previous_distinct_id && new_distinct_id !== this.get_property(ALIAS_ID_KEY)) {\n this.unregister(ALIAS_ID_KEY);\n this.register({'distinct_id': new_distinct_id});\n }\n this._flags.identify_called = true;\n // Flush any queued up people requests\n this['people']._flush(_set_callback, _add_callback, _append_callback, _set_once_callback, _union_callback, _unset_callback, _remove_callback);\n\n // send an $identify event any time the distinct_id is changing - logic on the server\n // will determine whether or not to do anything with it.\n if (new_distinct_id !== previous_distinct_id) {\n this.track('$identify', {\n 'distinct_id': new_distinct_id,\n '$anon_distinct_id': previous_distinct_id\n }, {skip_hooks: true});\n }\n};\n\n/**\n * Clears super properties and generates a new random distinct_id for this instance.\n * Useful for clearing data when a user logs out.\n */\nMixpanelLib.prototype.reset = function() {\n this['persistence'].clear();\n this._flags.identify_called = false;\n var uuid = _.UUID();\n this.register_once({\n 'distinct_id': DEVICE_ID_PREFIX + uuid,\n '$device_id': uuid\n }, '');\n};\n\n/**\n * Returns the current distinct id of the user. This is either the id automatically\n * generated by the library or the id that has been passed by a call to identify().\n *\n * ### Notes:\n *\n * get_distinct_id() can only be called after the Mixpanel library has finished loading.\n * init() has a loaded function available to handle this automatically. For example:\n *\n * // set distinct_id after the mixpanel library has loaded\n * mixpanel.init('YOUR PROJECT TOKEN', {\n * loaded: function(mixpanel) {\n * distinct_id = mixpanel.get_distinct_id();\n * }\n * });\n */\nMixpanelLib.prototype.get_distinct_id = function() {\n return this.get_property('distinct_id');\n};\n\n/**\n * The alias method creates an alias which Mixpanel will use to\n * remap one id to another. Multiple aliases can point to the\n * same identifier.\n *\n * The following is a valid use of alias:\n *\n * mixpanel.alias('new_id', 'existing_id');\n * // You can add multiple id aliases to the existing ID\n * mixpanel.alias('newer_id', 'existing_id');\n *\n * Aliases can also be chained - the following is a valid example:\n *\n * mixpanel.alias('new_id', 'existing_id');\n * // chain newer_id - new_id - existing_id\n * mixpanel.alias('newer_id', 'new_id');\n *\n * Aliases cannot point to multiple identifiers - the following\n * example will not work:\n *\n * mixpanel.alias('new_id', 'existing_id');\n * // this is invalid as 'new_id' already points to 'existing_id'\n * mixpanel.alias('new_id', 'newer_id');\n *\n * ### Notes:\n *\n * If your project does not have\n * ID Merge\n * enabled, the best practice is to call alias once when a unique\n * ID is first created for a user (e.g., when a user first registers\n * for an account). Do not use alias multiple times for a single\n * user without ID Merge enabled.\n *\n * @param {String} alias A unique identifier that you want to use for this user in the future.\n * @param {String} [original] The current identifier being used for this user.\n */\nMixpanelLib.prototype.alias = function(alias, original) {\n // If the $people_distinct_id key exists in persistence, there has been a previous\n // mixpanel.people.identify() call made for this user. It is VERY BAD to make an alias with\n // this ID, as it will duplicate users.\n if (alias === this.get_property(PEOPLE_DISTINCT_ID_KEY)) {\n this.report_error('Attempting to create alias for existing People user - aborting.');\n return -2;\n }\n\n var _this = this;\n if (_.isUndefined(original)) {\n original = this.get_distinct_id();\n }\n if (alias !== original) {\n this._register_single(ALIAS_ID_KEY, alias);\n return this.track('$create_alias', {\n 'alias': alias,\n 'distinct_id': original\n }, {\n skip_hooks: true\n }, function() {\n // Flush the people queue\n _this.identify(alias);\n });\n } else {\n this.report_error('alias matches current distinct_id - skipping api call.');\n this.identify(alias);\n return -1;\n }\n};\n\n/**\n * Provide a string to recognize the user by. The string passed to\n * this method will appear in the Mixpanel Streams product rather\n * than an automatically generated name. Name tags do not have to\n * be unique.\n *\n * This value will only be included in Streams data.\n *\n * @param {String} name_tag A human readable name for the user\n * @deprecated\n */\nMixpanelLib.prototype.name_tag = function(name_tag) {\n this._register_single('mp_name_tag', name_tag);\n};\n\n/**\n * Update the configuration of a mixpanel library instance.\n *\n * The default config is:\n *\n * {\n * // host for requests (customizable for e.g. a local proxy)\n * api_host: 'https://api-js.mixpanel.com',\n *\n * // endpoints for different types of requests\n * api_routes: {\n * track: 'track/',\n * engage: 'engage/',\n * groups: 'groups/',\n * }\n *\n * // HTTP method for tracking requests\n * api_method: 'POST'\n *\n * // transport for sending requests ('XHR' or 'sendBeacon')\n * // NB: sendBeacon should only be used for scenarios such as\n * // page unload where a \"best-effort\" attempt to send is\n * // acceptable; the sendBeacon API does not support callbacks\n * // or any way to know the result of the request. Mixpanel\n * // tracking via sendBeacon will not support any event-\n * // batching or retry mechanisms.\n * api_transport: 'XHR'\n *\n * // request-batching/queueing/retry\n * batch_requests: true,\n *\n * // maximum number of events/updates to send in a single\n * // network request\n * batch_size: 50,\n *\n * // milliseconds to wait between sending batch requests\n * batch_flush_interval_ms: 5000,\n *\n * // milliseconds to wait for network responses to batch requests\n * // before they are considered timed-out and retried\n * batch_request_timeout_ms: 90000,\n *\n * // override value for cookie domain, only useful for ensuring\n * // correct cross-subdomain cookies on unusual domains like\n * // subdomain.mainsite.avocat.fr; NB this cannot be used to\n * // set cookies on a different domain than the current origin\n * cookie_domain: ''\n *\n * // super properties cookie expiration (in days)\n * cookie_expiration: 365\n *\n * // if true, cookie will be set with SameSite=None; Secure\n * // this is only useful in special situations, like embedded\n * // 3rd-party iframes that set up a Mixpanel instance\n * cross_site_cookie: false\n *\n * // super properties span subdomains\n * cross_subdomain_cookie: true\n *\n * // debug mode\n * debug: false\n *\n * // if this is true, the mixpanel cookie or localStorage entry\n * // will be deleted, and no user persistence will take place\n * disable_persistence: false\n *\n * // if this is true, Mixpanel will automatically determine\n * // City, Region and Country data using the IP address of\n * //the client\n * ip: true\n *\n * // opt users out of tracking by this Mixpanel instance by default\n * opt_out_tracking_by_default: false\n *\n * // opt users out of browser data storage by this Mixpanel instance by default\n * opt_out_persistence_by_default: false\n *\n * // persistence mechanism used by opt-in/opt-out methods - cookie\n * // or localStorage - falls back to cookie if localStorage is unavailable\n * opt_out_tracking_persistence_type: 'localStorage'\n *\n * // customize the name of cookie/localStorage set by opt-in/opt-out methods\n * opt_out_tracking_cookie_prefix: null\n *\n * // type of persistent store for super properties (cookie/\n * // localStorage) if set to 'localStorage', any existing\n * // mixpanel cookie value with the same persistence_name\n * // will be transferred to localStorage and deleted\n * persistence: 'cookie'\n *\n * // name for super properties persistent store\n * persistence_name: ''\n *\n * // names of properties/superproperties which should never\n * // be sent with track() calls\n * property_blacklist: []\n *\n * // if this is true, mixpanel cookies will be marked as\n * // secure, meaning they will only be transmitted over https\n * secure_cookie: false\n *\n * // disables enriching user profiles with first touch marketing data\n * skip_first_touch_marketing: false\n *\n * // the amount of time track_links will\n * // wait for Mixpanel's servers to respond\n * track_links_timeout: 300\n *\n * // adds any UTM parameters and click IDs present on the page to any events fired\n * track_marketing: true\n *\n * // enables automatic page view tracking using default page view events through\n * // the track_pageview() method\n * track_pageview: false\n *\n * // if you set upgrade to be true, the library will check for\n * // a cookie from our old js library and import super\n * // properties from it, then the old cookie is deleted\n * // The upgrade config option only works in the initialization,\n * // so make sure you set it when you create the library.\n * upgrade: false\n *\n * // extra HTTP request headers to set for each API request, in\n * // the format {'Header-Name': value}\n * xhr_headers: {}\n *\n * // whether to ignore or respect the web browser's Do Not Track setting\n * ignore_dnt: false\n * }\n *\n *\n * @param {Object} config A dictionary of new configuration values to update\n */\nMixpanelLib.prototype.set_config = function(config) {\n if (_.isObject(config)) {\n _.extend(this['config'], config);\n\n var new_batch_size = config['batch_size'];\n if (new_batch_size) {\n _.each(this.request_batchers, function(batcher) {\n batcher.resetBatchSize();\n });\n }\n\n if (!this.get_config('persistence_name')) {\n this['config']['persistence_name'] = this['config']['cookie_name'];\n }\n if (!this.get_config('disable_persistence')) {\n this['config']['disable_persistence'] = this['config']['disable_cookie'];\n }\n\n if (this['persistence']) {\n this['persistence'].update_config(this['config']);\n }\n Config.DEBUG = Config.DEBUG || this.get_config('debug');\n\n if ('autocapture' in config && this.autocapture) {\n this.autocapture.init();\n }\n }\n};\n\n/**\n * returns the current config object for the library.\n */\nMixpanelLib.prototype.get_config = function(prop_name) {\n return this['config'][prop_name];\n};\n\n/**\n * Fetch a hook function from config, with safe default, and run it\n * against the given arguments\n * @param {string} hook_name which hook to retrieve\n * @returns {any|null} return value of user-provided hook, or null if nothing was returned\n */\nMixpanelLib.prototype._run_hook = function(hook_name) {\n var ret = (this['config']['hooks'][hook_name] || IDENTITY_FUNC).apply(this, slice.call(arguments, 1));\n if (typeof ret === 'undefined') {\n this.report_error(hook_name + ' hook did not return a value');\n ret = null;\n }\n return ret;\n};\n\n/**\n * Returns the value of the super property named property_name. If no such\n * property is set, get_property() will return the undefined value.\n *\n * ### Notes:\n *\n * get_property() can only be called after the Mixpanel library has finished loading.\n * init() has a loaded function available to handle this automatically. For example:\n *\n * // grab value for 'user_id' after the mixpanel library has loaded\n * mixpanel.init('YOUR PROJECT TOKEN', {\n * loaded: function(mixpanel) {\n * user_id = mixpanel.get_property('user_id');\n * }\n * });\n *\n * @param {String} property_name The name of the super property you want to retrieve\n */\nMixpanelLib.prototype.get_property = function(property_name) {\n return this['persistence'].load_prop([property_name]);\n};\n\nMixpanelLib.prototype.toString = function() {\n var name = this.get_config('name');\n if (name !== PRIMARY_INSTANCE_NAME) {\n name = PRIMARY_INSTANCE_NAME + '.' + name;\n }\n return name;\n};\n\nMixpanelLib.prototype._event_is_disabled = function(event_name) {\n return _.isBlockedUA(userAgent) ||\n this._flags.disable_all_events ||\n _.include(this.__disabled_events, event_name);\n};\n\n// perform some housekeeping around GDPR opt-in/out state\nMixpanelLib.prototype._gdpr_init = function() {\n var is_localStorage_requested = this.get_config('opt_out_tracking_persistence_type') === 'localStorage';\n\n // try to convert opt-in/out cookies to localStorage if possible\n if (is_localStorage_requested && _.localStorage.is_supported()) {\n if (!this.has_opted_in_tracking() && this.has_opted_in_tracking({'persistence_type': 'cookie'})) {\n this.opt_in_tracking({'enable_persistence': false});\n }\n if (!this.has_opted_out_tracking() && this.has_opted_out_tracking({'persistence_type': 'cookie'})) {\n this.opt_out_tracking({'clear_persistence': false});\n }\n this.clear_opt_in_out_tracking({\n 'persistence_type': 'cookie',\n 'enable_persistence': false\n });\n }\n\n // check whether the user has already opted out - if so, clear & disable persistence\n if (this.has_opted_out_tracking()) {\n this._gdpr_update_persistence({'clear_persistence': true});\n\n // check whether we should opt out by default\n // note: we don't clear persistence here by default since opt-out default state is often\n // used as an initial state while GDPR information is being collected\n } else if (!this.has_opted_in_tracking() && (\n this.get_config('opt_out_tracking_by_default') || _.cookie.get('mp_optout')\n )) {\n _.cookie.remove('mp_optout');\n this.opt_out_tracking({\n 'clear_persistence': this.get_config('opt_out_persistence_by_default')\n });\n }\n};\n\n/**\n * Enable or disable persistence based on options\n * only enable/disable if persistence is not already in this state\n * @param {boolean} [options.clear_persistence] If true, will delete all data stored by the sdk in persistence and disable it\n * @param {boolean} [options.enable_persistence] If true, will re-enable sdk persistence\n */\nMixpanelLib.prototype._gdpr_update_persistence = function(options) {\n var disabled;\n if (options && options['clear_persistence']) {\n disabled = true;\n } else if (options && options['enable_persistence']) {\n disabled = false;\n } else {\n return;\n }\n\n if (!this.get_config('disable_persistence') && this['persistence'].disabled !== disabled) {\n this['persistence'].set_disabled(disabled);\n }\n\n if (disabled) {\n this.stop_batch_senders();\n } else {\n // only start batchers after opt-in if they have previously been started\n // in order to avoid unintentionally starting up batching for the first time\n if (this._batchers_were_started) {\n this.start_batch_senders();\n }\n }\n};\n\n// call a base gdpr function after constructing the appropriate token and options args\nMixpanelLib.prototype._gdpr_call_func = function(func, options) {\n options = _.extend({\n 'track': _.bind(this.track, this),\n 'persistence_type': this.get_config('opt_out_tracking_persistence_type'),\n 'cookie_prefix': this.get_config('opt_out_tracking_cookie_prefix'),\n 'cookie_expiration': this.get_config('cookie_expiration'),\n 'cross_site_cookie': this.get_config('cross_site_cookie'),\n 'cross_subdomain_cookie': this.get_config('cross_subdomain_cookie'),\n 'cookie_domain': this.get_config('cookie_domain'),\n 'secure_cookie': this.get_config('secure_cookie'),\n 'ignore_dnt': this.get_config('ignore_dnt')\n }, options);\n\n // check if localStorage can be used for recording opt out status, fall back to cookie if not\n if (!_.localStorage.is_supported()) {\n options['persistence_type'] = 'cookie';\n }\n\n return func(this.get_config('token'), {\n track: options['track'],\n trackEventName: options['track_event_name'],\n trackProperties: options['track_properties'],\n persistenceType: options['persistence_type'],\n persistencePrefix: options['cookie_prefix'],\n cookieDomain: options['cookie_domain'],\n cookieExpiration: options['cookie_expiration'],\n crossSiteCookie: options['cross_site_cookie'],\n crossSubdomainCookie: options['cross_subdomain_cookie'],\n secureCookie: options['secure_cookie'],\n ignoreDnt: options['ignore_dnt']\n });\n};\n\n/**\n * Opt the user in to data tracking and cookies/localstorage for this Mixpanel instance\n *\n * ### Usage:\n *\n * // opt user in\n * mixpanel.opt_in_tracking();\n *\n * // opt user in with specific event name, properties, cookie configuration\n * mixpanel.opt_in_tracking({\n * track_event_name: 'User opted in',\n * track_event_properties: {\n * 'Email': 'jdoe@example.com'\n * },\n * cookie_expiration: 30,\n * secure_cookie: true\n * });\n *\n * @param {Object} [options] A dictionary of config options to override\n * @param {function} [options.track] Function used for tracking a Mixpanel event to record the opt-in action (default is this Mixpanel instance's track method)\n * @param {string} [options.track_event_name=$opt_in] Event name to be used for tracking the opt-in action\n * @param {Object} [options.track_properties] Set of properties to be tracked along with the opt-in action\n * @param {boolean} [options.enable_persistence=true] If true, will re-enable sdk persistence\n * @param {string} [options.persistence_type=localStorage] Persistence mechanism used - cookie or localStorage - falls back to cookie if localStorage is unavailable\n * @param {string} [options.cookie_prefix=__mp_opt_in_out] Custom prefix to be used in the cookie/localstorage name\n * @param {Number} [options.cookie_expiration] Number of days until the opt-in cookie expires (overrides value specified in this Mixpanel instance's config)\n * @param {string} [options.cookie_domain] Custom cookie domain (overrides value specified in this Mixpanel instance's config)\n * @param {boolean} [options.cross_site_cookie] Whether the opt-in cookie is set as cross-site-enabled (overrides value specified in this Mixpanel instance's config)\n * @param {boolean} [options.cross_subdomain_cookie] Whether the opt-in cookie is set as cross-subdomain or not (overrides value specified in this Mixpanel instance's config)\n * @param {boolean} [options.secure_cookie] Whether the opt-in cookie is set as secure or not (overrides value specified in this Mixpanel instance's config)\n */\nMixpanelLib.prototype.opt_in_tracking = function(options) {\n options = _.extend({\n 'enable_persistence': true\n }, options);\n\n this._gdpr_call_func(optIn, options);\n this._gdpr_update_persistence(options);\n};\n\n/**\n * Opt the user out of data tracking and cookies/localstorage for this Mixpanel instance\n *\n * ### Usage:\n *\n * // opt user out\n * mixpanel.opt_out_tracking();\n *\n * // opt user out with different cookie configuration from Mixpanel instance\n * mixpanel.opt_out_tracking({\n * cookie_expiration: 30,\n * secure_cookie: true\n * });\n *\n * @param {Object} [options] A dictionary of config options to override\n * @param {boolean} [options.delete_user=true] If true, will delete the currently identified user's profile and clear all charges after opting the user out\n * @param {boolean} [options.clear_persistence=true] If true, will delete all data stored by the sdk in persistence\n * @param {string} [options.persistence_type=localStorage] Persistence mechanism used - cookie or localStorage - falls back to cookie if localStorage is unavailable\n * @param {string} [options.cookie_prefix=__mp_opt_in_out] Custom prefix to be used in the cookie/localstorage name\n * @param {Number} [options.cookie_expiration] Number of days until the opt-in cookie expires (overrides value specified in this Mixpanel instance's config)\n * @param {string} [options.cookie_domain] Custom cookie domain (overrides value specified in this Mixpanel instance's config)\n * @param {boolean} [options.cross_site_cookie] Whether the opt-in cookie is set as cross-site-enabled (overrides value specified in this Mixpanel instance's config)\n * @param {boolean} [options.cross_subdomain_cookie] Whether the opt-in cookie is set as cross-subdomain or not (overrides value specified in this Mixpanel instance's config)\n * @param {boolean} [options.secure_cookie] Whether the opt-in cookie is set as secure or not (overrides value specified in this Mixpanel instance's config)\n */\nMixpanelLib.prototype.opt_out_tracking = function(options) {\n options = _.extend({\n 'clear_persistence': true,\n 'delete_user': true\n }, options);\n\n // delete user and clear charges since these methods may be disabled by opt-out\n if (options['delete_user'] && this['people'] && this['people']._identify_called()) {\n this['people'].delete_user();\n this['people'].clear_charges();\n }\n\n this._gdpr_call_func(optOut, options);\n this._gdpr_update_persistence(options);\n};\n\n/**\n * Check whether the user has opted in to data tracking and cookies/localstorage for this Mixpanel instance\n *\n * ### Usage:\n *\n * var has_opted_in = mixpanel.has_opted_in_tracking();\n * // use has_opted_in value\n *\n * @param {Object} [options] A dictionary of config options to override\n * @param {string} [options.persistence_type=localStorage] Persistence mechanism used - cookie or localStorage - falls back to cookie if localStorage is unavailable\n * @param {string} [options.cookie_prefix=__mp_opt_in_out] Custom prefix to be used in the cookie/localstorage name\n * @returns {boolean} current opt-in status\n */\nMixpanelLib.prototype.has_opted_in_tracking = function(options) {\n return this._gdpr_call_func(hasOptedIn, options);\n};\n\n/**\n * Check whether the user has opted out of data tracking and cookies/localstorage for this Mixpanel instance\n *\n * ### Usage:\n *\n * var has_opted_out = mixpanel.has_opted_out_tracking();\n * // use has_opted_out value\n *\n * @param {Object} [options] A dictionary of config options to override\n * @param {string} [options.persistence_type=localStorage] Persistence mechanism used - cookie or localStorage - falls back to cookie if localStorage is unavailable\n * @param {string} [options.cookie_prefix=__mp_opt_in_out] Custom prefix to be used in the cookie/localstorage name\n * @returns {boolean} current opt-out status\n */\nMixpanelLib.prototype.has_opted_out_tracking = function(options) {\n return this._gdpr_call_func(hasOptedOut, options);\n};\n\n/**\n * Clear the user's opt in/out status of data tracking and cookies/localstorage for this Mixpanel instance\n *\n * ### Usage:\n *\n * // clear user's opt-in/out status\n * mixpanel.clear_opt_in_out_tracking();\n *\n * // clear user's opt-in/out status with specific cookie configuration - should match\n * // configuration used when opt_in_tracking/opt_out_tracking methods were called.\n * mixpanel.clear_opt_in_out_tracking({\n * cookie_expiration: 30,\n * secure_cookie: true\n * });\n *\n * @param {Object} [options] A dictionary of config options to override\n * @param {boolean} [options.enable_persistence=true] If true, will re-enable sdk persistence\n * @param {string} [options.persistence_type=localStorage] Persistence mechanism used - cookie or localStorage - falls back to cookie if localStorage is unavailable\n * @param {string} [options.cookie_prefix=__mp_opt_in_out] Custom prefix to be used in the cookie/localstorage name\n * @param {Number} [options.cookie_expiration] Number of days until the opt-in cookie expires (overrides value specified in this Mixpanel instance's config)\n * @param {string} [options.cookie_domain] Custom cookie domain (overrides value specified in this Mixpanel instance's config)\n * @param {boolean} [options.cross_site_cookie] Whether the opt-in cookie is set as cross-site-enabled (overrides value specified in this Mixpanel instance's config)\n * @param {boolean} [options.cross_subdomain_cookie] Whether the opt-in cookie is set as cross-subdomain or not (overrides value specified in this Mixpanel instance's config)\n * @param {boolean} [options.secure_cookie] Whether the opt-in cookie is set as secure or not (overrides value specified in this Mixpanel instance's config)\n */\nMixpanelLib.prototype.clear_opt_in_out_tracking = function(options) {\n options = _.extend({\n 'enable_persistence': true\n }, options);\n\n this._gdpr_call_func(clearOptInOut, options);\n this._gdpr_update_persistence(options);\n};\n\nMixpanelLib.prototype.report_error = function(msg, err) {\n console$1.error.apply(console$1.error, arguments);\n try {\n if (!err && !(msg instanceof Error)) {\n msg = new Error(msg);\n }\n this.get_config('error_reporter')(msg, err);\n } catch(err) {\n console$1.error(err);\n }\n};\n\n// EXPORTS (for closure compiler)\n\n// MixpanelLib Exports\nMixpanelLib.prototype['init'] = MixpanelLib.prototype.init;\nMixpanelLib.prototype['reset'] = MixpanelLib.prototype.reset;\nMixpanelLib.prototype['disable'] = MixpanelLib.prototype.disable;\nMixpanelLib.prototype['time_event'] = MixpanelLib.prototype.time_event;\nMixpanelLib.prototype['track'] = MixpanelLib.prototype.track;\nMixpanelLib.prototype['track_links'] = MixpanelLib.prototype.track_links;\nMixpanelLib.prototype['track_forms'] = MixpanelLib.prototype.track_forms;\nMixpanelLib.prototype['track_pageview'] = MixpanelLib.prototype.track_pageview;\nMixpanelLib.prototype['register'] = MixpanelLib.prototype.register;\nMixpanelLib.prototype['register_once'] = MixpanelLib.prototype.register_once;\nMixpanelLib.prototype['unregister'] = MixpanelLib.prototype.unregister;\nMixpanelLib.prototype['identify'] = MixpanelLib.prototype.identify;\nMixpanelLib.prototype['alias'] = MixpanelLib.prototype.alias;\nMixpanelLib.prototype['name_tag'] = MixpanelLib.prototype.name_tag;\nMixpanelLib.prototype['set_config'] = MixpanelLib.prototype.set_config;\nMixpanelLib.prototype['get_config'] = MixpanelLib.prototype.get_config;\nMixpanelLib.prototype['get_property'] = MixpanelLib.prototype.get_property;\nMixpanelLib.prototype['get_distinct_id'] = MixpanelLib.prototype.get_distinct_id;\nMixpanelLib.prototype['toString'] = MixpanelLib.prototype.toString;\nMixpanelLib.prototype['opt_out_tracking'] = MixpanelLib.prototype.opt_out_tracking;\nMixpanelLib.prototype['opt_in_tracking'] = MixpanelLib.prototype.opt_in_tracking;\nMixpanelLib.prototype['has_opted_out_tracking'] = MixpanelLib.prototype.has_opted_out_tracking;\nMixpanelLib.prototype['has_opted_in_tracking'] = MixpanelLib.prototype.has_opted_in_tracking;\nMixpanelLib.prototype['clear_opt_in_out_tracking'] = MixpanelLib.prototype.clear_opt_in_out_tracking;\nMixpanelLib.prototype['get_group'] = MixpanelLib.prototype.get_group;\nMixpanelLib.prototype['set_group'] = MixpanelLib.prototype.set_group;\nMixpanelLib.prototype['add_group'] = MixpanelLib.prototype.add_group;\nMixpanelLib.prototype['remove_group'] = MixpanelLib.prototype.remove_group;\nMixpanelLib.prototype['track_with_groups'] = MixpanelLib.prototype.track_with_groups;\nMixpanelLib.prototype['start_batch_senders'] = MixpanelLib.prototype.start_batch_senders;\nMixpanelLib.prototype['stop_batch_senders'] = MixpanelLib.prototype.stop_batch_senders;\nMixpanelLib.prototype['start_session_recording'] = MixpanelLib.prototype.start_session_recording;\nMixpanelLib.prototype['stop_session_recording'] = MixpanelLib.prototype.stop_session_recording;\nMixpanelLib.prototype['get_session_recording_properties'] = MixpanelLib.prototype.get_session_recording_properties;\nMixpanelLib.prototype['get_session_replay_url'] = MixpanelLib.prototype.get_session_replay_url;\nMixpanelLib.prototype['DEFAULT_API_ROUTES'] = DEFAULT_API_ROUTES;\n\n// MixpanelPersistence Exports\nMixpanelPersistence.prototype['properties'] = MixpanelPersistence.prototype.properties;\nMixpanelPersistence.prototype['update_search_keyword'] = MixpanelPersistence.prototype.update_search_keyword;\nMixpanelPersistence.prototype['update_referrer_info'] = MixpanelPersistence.prototype.update_referrer_info;\nMixpanelPersistence.prototype['get_cross_subdomain'] = MixpanelPersistence.prototype.get_cross_subdomain;\nMixpanelPersistence.prototype['clear'] = MixpanelPersistence.prototype.clear;\n\n\nvar instances = {};\nvar extend_mp = function() {\n // add all the sub mixpanel instances\n _.each(instances, function(instance, name) {\n if (name !== PRIMARY_INSTANCE_NAME) { mixpanel_master[name] = instance; }\n });\n\n // add private functions as _\n mixpanel_master['_'] = _;\n};\n\nvar override_mp_init_func = function() {\n // we override the snippets init function to handle the case where a\n // user initializes the mixpanel library after the script loads & runs\n mixpanel_master['init'] = function(token, config, name) {\n if (name) {\n // initialize a sub library\n if (!mixpanel_master[name]) {\n mixpanel_master[name] = instances[name] = create_mplib(token, config, name);\n mixpanel_master[name]._loaded();\n }\n return mixpanel_master[name];\n } else {\n var instance = mixpanel_master;\n\n if (instances[PRIMARY_INSTANCE_NAME]) {\n // main mixpanel lib already initialized\n instance = instances[PRIMARY_INSTANCE_NAME];\n } else if (token) {\n // intialize the main mixpanel lib\n instance = create_mplib(token, config, PRIMARY_INSTANCE_NAME);\n instance._loaded();\n instances[PRIMARY_INSTANCE_NAME] = instance;\n }\n\n mixpanel_master = instance;\n if (init_type === INIT_SNIPPET) {\n win[PRIMARY_INSTANCE_NAME] = mixpanel_master;\n }\n extend_mp();\n }\n };\n};\n\nvar add_dom_loaded_handler = function() {\n // Cross browser DOM Loaded support\n function dom_loaded_handler() {\n // function flag since we only want to execute this once\n if (dom_loaded_handler.done) { return; }\n dom_loaded_handler.done = true;\n\n DOM_LOADED = true;\n ENQUEUE_REQUESTS = false;\n\n _.each(instances, function(inst) {\n inst._dom_loaded();\n });\n }\n\n function do_scroll_check() {\n try {\n document$1.documentElement.doScroll('left');\n } catch(e) {\n setTimeout(do_scroll_check, 1);\n return;\n }\n\n dom_loaded_handler();\n }\n\n if (document$1.addEventListener) {\n if (document$1.readyState === 'complete') {\n // safari 4 can fire the DOMContentLoaded event before loading all\n // external JS (including this file). you will see some copypasta\n // on the internet that checks for 'complete' and 'loaded', but\n // 'loaded' is an IE thing\n dom_loaded_handler();\n } else {\n document$1.addEventListener('DOMContentLoaded', dom_loaded_handler, false);\n }\n } else if (document$1.attachEvent) {\n // IE\n document$1.attachEvent('onreadystatechange', dom_loaded_handler);\n\n // check to make sure we arn't in a frame\n var toplevel = false;\n try {\n toplevel = win.frameElement === null;\n } catch(e) {\n // noop\n }\n\n if (document$1.documentElement.doScroll && toplevel) {\n do_scroll_check();\n }\n }\n\n // fallback handler, always will work\n _.register_event(win, 'load', dom_loaded_handler, true);\n};\n\nfunction init_as_module(bundle_loader) {\n load_extra_bundle = bundle_loader;\n init_type = INIT_MODULE;\n mixpanel_master = new MixpanelLib();\n\n override_mp_init_func();\n mixpanel_master['init']();\n add_dom_loaded_handler();\n\n return mixpanel_master;\n}\n\n// For loading separate bundles asynchronously via script tag\n\n// For builds that have everything in one bundle, no extra work.\nfunction loadNoop (_src, onload) {\n onload();\n}\n\n/* eslint camelcase: \"off\" */\n\nvar mixpanel = init_as_module(loadNoop);\n\nexport { mixpanel as default };\n","\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/_app\",\n function () {\n return require(\"private-next-pages/_app.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/_app\"])\n });\n }\n ","export default {\"src\":\"/_next/static/media/favicon.b27dd2bb.ico\",\"height\":16,\"width\":16,\"blurWidth\":0,\"blurHeight\":0};","export default {\"src\":\"/_next/static/media/select-all-checkbox-unchecked.ad6f242b.svg\",\"height\":18,\"width\":19,\"blurWidth\":0,\"blurHeight\":0};","export default {\"src\":\"/_next/static/media/select-all-checkbox.7d6f7c62.svg\",\"height\":18,\"width\":18,\"blurWidth\":0,\"blurHeight\":0};","export default {\"src\":\"/_next/static/media/logo.0577265e.svg\",\"height\":40,\"width\":40,\"blurWidth\":0,\"blurHeight\":0};","export default {\"src\":\"/_next/static/media/monitoring.87d2812b.svg\",\"height\":39,\"width\":192,\"blurWidth\":0,\"blurHeight\":0};","export default {\"src\":\"/_next/static/media/critical.b6ee1aa5.svg\",\"height\":36,\"width\":36,\"blurWidth\":0,\"blurHeight\":0};","export default {\"src\":\"/_next/static/media/high.b229241d.svg\",\"height\":36,\"width\":36,\"blurWidth\":0,\"blurHeight\":0};","export default {\"src\":\"/_next/static/media/low.25c05837.svg\",\"height\":36,\"width\":36,\"blurWidth\":0,\"blurHeight\":0};","export default {\"src\":\"/_next/static/media/medium.b6721725.svg\",\"height\":36,\"width\":36,\"blurWidth\":0,\"blurHeight\":0};","export default {\"src\":\"/_next/static/media/purple.b65b15af.svg\",\"height\":36,\"width\":36,\"blurWidth\":0,\"blurHeight\":0};","\"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: \"m7 10 5 5 5-5z\"\n}), 'ArrowDropDown');","\"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: \"m7 14 5-5 5 5z\"\n}), 'ArrowDropUp');","\"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: \"M18.3 5.71a.996.996 0 0 0-1.41 0L12 10.59 7.11 5.7a.996.996 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41L10.59 12 5.7 16.89c-.39.39-.39 1.02 0 1.41s1.02.39 1.41 0L12 13.41l4.89 4.89c.39.39 1.02.39 1.41 0s.39-1.02 0-1.41L13.41 12l4.89-4.89c.38-.38.38-1.02 0-1.4\"\n}), 'ClearRounded');","\"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: \"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96M19 18H6c-2.21 0-4-1.79-4-4 0-2.05 1.53-3.76 3.56-3.97l1.07-.11.5-.95C8.08 7.14 9.94 6 12 6c2.62 0 4.88 1.86 5.39 4.43l.3 1.5 1.53.11c1.56.1 2.78 1.41 2.78 2.96 0 1.65-1.35 3-3 3M8 13h2.55v3h2.9v-3H16l-4-4z\"\n}), 'CloudUploadOutlined');","\"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 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2m0 16H8V7h11z\"\n}), 'ContentCopyOutlined');","\"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');","\"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 18h2v-2h-2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4\"\n}), 'HelpOutline');","\"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: \"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zM6 20V4h7v5h5v11z\"\n}), 'InsertDriveFileOutlined');","\"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: \"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z\"\n}), 'KeyboardArrowDownOutlined');","\"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 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3z\"\n}), 'OpenInNewOutlined');","\"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: \"M18 19H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h5c.55 0 1-.45 1-1s-.45-1-1-1H5c-1.11 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-6c0-.55-.45-1-1-1s-1 .45-1 1v5c0 .55-.45 1-1 1M14 4c0 .55.45 1 1 1h2.59l-9.13 9.13c-.39.39-.39 1.02 0 1.41s1.02.39 1.41 0L19 6.41V9c0 .55.45 1 1 1s1-.45 1-1V4c0-.55-.45-1-1-1h-5c-.55 0-1 .45-1 1\"\n}), 'OpenInNewRounded');","\"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 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14\"\n}), 'Search');","\"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.43 12.98c.04-.32.07-.64.07-.98s-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.09-.16-.26-.25-.44-.25-.06 0-.12.01-.17.03l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1q-.09-.03-.18-.03c-.17 0-.34.09-.43.25l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98s.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.09.16.26.25.44.25.06 0 .12-.01.17-.03l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1q.09.03.18.03c.17 0 .34-.09.43-.25l2-3.46c.12-.22.07-.49-.12-.64zm-1.98-1.71c.04.31.05.52.05.73s-.02.43-.05.73l-.14 1.13.89.7 1.08.84-.7 1.21-1.27-.51-1.04-.42-.9.68c-.43.32-.84.56-1.25.73l-1.06.43-.16 1.13-.2 1.35h-1.4l-.19-1.35-.16-1.13-1.06-.43c-.43-.18-.83-.41-1.23-.71l-.91-.7-1.06.43-1.27.51-.7-1.21 1.08-.84.89-.7-.14-1.13c-.03-.31-.05-.54-.05-.74s.02-.43.05-.73l.14-1.13-.89-.7-1.08-.84.7-1.21 1.27.51 1.04.42.9-.68c.43-.32.84-.56 1.25-.73l1.06-.43.16-1.13.2-1.35h1.39l.19 1.35.16 1.13 1.06.43c.43.18.83.41 1.23.71l.91.7 1.06-.43 1.27-.51.7 1.21-1.07.85-.89.7zM12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4m0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2\"\n}), 'SettingsOutlined');","\"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 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2m4 0v12h4V3z\"\n}), 'ThumbDown');","\"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 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2m0 12-4.34 4.34L12 14H3v-2l3-7h9zm4-12h4v12h-4z\"\n}), 'ThumbDownOutlined');","\"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.88 21.94 5.53-5.54c.37-.37.58-.88.58-1.41V5c0-1.1-.9-2-2-2H6c-.8 0-1.52.48-1.83 1.21L.91 11.82C.06 13.8 1.51 16 3.66 16h5.65l-.95 4.58c-.1.5.05 1.01.41 1.37.59.58 1.53.58 2.11-.01M21 3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2s2-.9 2-2V5c0-1.1-.9-2-2-2\"\n}), 'ThumbDownRounded');","\"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: \"M1 21h4V9H1zm22-11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06L14.17 1 7.59 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73z\"\n}), 'ThumbUp');","\"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 21h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06L14.17 1 7.58 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2M9 9l4.34-4.34L12 10h9v2l-3 7H9zM1 9h4v12H1z\"\n}), 'ThumbUpOutlined');","\"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: \"M13.12 2.06 7.58 7.6c-.37.37-.58.88-.58 1.41V19c0 1.1.9 2 2 2h9c.8 0 1.52-.48 1.84-1.21l3.26-7.61C23.94 10.2 22.49 8 20.34 8h-5.65l.95-4.58c.1-.5-.05-1.01-.41-1.37-.59-.58-1.53-.58-2.11.01M3 21c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2s-2 .9-2 2v8c0 1.1.9 2 2 2\"\n}), 'ThumbUpRounded');","\"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 17v2h6v-2zM3 5v2h10V5zm10 16v-2h8v-2h-8v-2h-2v6zM7 9v2H3v2h4v2h2V9zm14 4v-2H11v2zm-6-4h2V7h4V5h-4V3h-2z\"\n}), 'TuneOutlined');","\"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 8.75v3.68c0 .35.19.68.49.86l3.12 1.85c.36.21.82.09 1.03-.26.21-.36.1-.82-.26-1.03l-2.87-1.71v-3.4c-.01-.4-.35-.74-.76-.74s-.75.34-.75.75m10 .75V4.21c0-.45-.54-.67-.85-.35l-1.78 1.78c-1.81-1.81-4.39-2.85-7.21-2.6-4.19.38-7.64 3.75-8.1 7.94C2.46 16.4 6.69 21 12 21c4.59 0 8.38-3.44 8.93-7.88.07-.6-.4-1.12-1-1.12-.5 0-.92.37-.98.86-.43 3.49-3.44 6.19-7.05 6.14-3.71-.05-6.84-3.18-6.9-6.9C4.94 8.2 8.11 5 12 5c1.93 0 3.68.79 4.95 2.05l-2.09 2.09c-.32.32-.1.86.35.86h5.29c.28 0 .5-.22.5-.5\"\n}), 'UpdateRounded');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAccordionUtilityClass(slot) {\n return generateUtilityClass('MuiAccordion', slot);\n}\nconst accordionClasses = generateUtilityClasses('MuiAccordion', ['root', 'heading', 'rounded', 'expanded', 'disabled', 'gutters', 'region']);\nexport default accordionClasses;","'use client';\n\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport Collapse from \"../Collapse/index.js\";\nimport Paper from \"../Paper/index.js\";\nimport AccordionContext from \"./AccordionContext.js\";\nimport useControlled from \"../utils/useControlled.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport accordionClasses, { getAccordionUtilityClass } from \"./accordionClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n square,\n expanded,\n disabled,\n disableGutters\n } = ownerState;\n const slots = {\n root: ['root', !square && 'rounded', expanded && 'expanded', disabled && 'disabled', !disableGutters && 'gutters'],\n heading: ['heading'],\n region: ['region']\n };\n return composeClasses(slots, getAccordionUtilityClass, classes);\n};\nconst AccordionRoot = styled(Paper, {\n name: 'MuiAccordion',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${accordionClasses.region}`]: styles.region\n }, styles.root, !ownerState.square && styles.rounded, !ownerState.disableGutters && styles.gutters];\n }\n})(memoTheme(({\n theme\n}) => {\n const transition = {\n duration: theme.transitions.duration.shortest\n };\n return {\n position: 'relative',\n transition: theme.transitions.create(['margin'], transition),\n overflowAnchor: 'none',\n // Keep the same scrolling position\n '&::before': {\n position: 'absolute',\n left: 0,\n top: -1,\n right: 0,\n height: 1,\n content: '\"\"',\n opacity: 1,\n backgroundColor: (theme.vars || theme).palette.divider,\n transition: theme.transitions.create(['opacity', 'background-color'], transition)\n },\n '&:first-of-type': {\n '&::before': {\n display: 'none'\n }\n },\n [`&.${accordionClasses.expanded}`]: {\n '&::before': {\n opacity: 0\n },\n '&:first-of-type': {\n marginTop: 0\n },\n '&:last-of-type': {\n marginBottom: 0\n },\n '& + &': {\n '&::before': {\n display: 'none'\n }\n }\n },\n [`&.${accordionClasses.disabled}`]: {\n backgroundColor: (theme.vars || theme).palette.action.disabledBackground\n }\n };\n}), memoTheme(({\n theme\n}) => ({\n variants: [{\n props: props => !props.square,\n style: {\n borderRadius: 0,\n '&:first-of-type': {\n borderTopLeftRadius: (theme.vars || theme).shape.borderRadius,\n borderTopRightRadius: (theme.vars || theme).shape.borderRadius\n },\n '&:last-of-type': {\n borderBottomLeftRadius: (theme.vars || theme).shape.borderRadius,\n borderBottomRightRadius: (theme.vars || theme).shape.borderRadius,\n // Fix a rendering issue on Edge\n '@supports (-ms-ime-align: auto)': {\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0\n }\n }\n }\n }, {\n props: props => !props.disableGutters,\n style: {\n [`&.${accordionClasses.expanded}`]: {\n margin: '16px 0'\n }\n }\n }]\n})));\nconst AccordionHeading = styled('h3', {\n name: 'MuiAccordion',\n slot: 'Heading',\n overridesResolver: (props, styles) => styles.heading\n})({\n all: 'unset'\n});\nconst Accordion = /*#__PURE__*/React.forwardRef(function Accordion(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiAccordion'\n });\n const {\n children: childrenProp,\n className,\n defaultExpanded = false,\n disabled = false,\n disableGutters = false,\n expanded: expandedProp,\n onChange,\n square = false,\n slots = {},\n slotProps = {},\n TransitionComponent: TransitionComponentProp,\n TransitionProps: TransitionPropsProp,\n ...other\n } = props;\n const [expanded, setExpandedState] = useControlled({\n controlled: expandedProp,\n default: defaultExpanded,\n name: 'Accordion',\n state: 'expanded'\n });\n const handleChange = React.useCallback(event => {\n setExpandedState(!expanded);\n if (onChange) {\n onChange(event, !expanded);\n }\n }, [expanded, onChange, setExpandedState]);\n const [summary, ...children] = React.Children.toArray(childrenProp);\n const contextValue = React.useMemo(() => ({\n expanded,\n disabled,\n disableGutters,\n toggle: handleChange\n }), [expanded, disabled, disableGutters, handleChange]);\n const ownerState = {\n ...props,\n square,\n disabled,\n disableGutters,\n expanded\n };\n const classes = useUtilityClasses(ownerState);\n const backwardCompatibleSlots = {\n transition: TransitionComponentProp,\n ...slots\n };\n const backwardCompatibleSlotProps = {\n transition: TransitionPropsProp,\n ...slotProps\n };\n const externalForwardedProps = {\n slots: backwardCompatibleSlots,\n slotProps: backwardCompatibleSlotProps\n };\n const [AccordionHeadingSlot, accordionProps] = useSlot('heading', {\n elementType: AccordionHeading,\n externalForwardedProps,\n className: classes.heading,\n ownerState\n });\n const [TransitionSlot, transitionProps] = useSlot('transition', {\n elementType: Collapse,\n externalForwardedProps,\n ownerState\n });\n return /*#__PURE__*/_jsxs(AccordionRoot, {\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState,\n square: square,\n ...other,\n children: [/*#__PURE__*/_jsx(AccordionHeadingSlot, {\n ...accordionProps,\n children: /*#__PURE__*/_jsx(AccordionContext.Provider, {\n value: contextValue,\n children: summary\n })\n }), /*#__PURE__*/_jsx(TransitionSlot, {\n in: expanded,\n timeout: \"auto\",\n ...transitionProps,\n children: /*#__PURE__*/_jsx(\"div\", {\n \"aria-labelledby\": summary.props.id,\n id: summary.props['aria-controls'],\n role: \"region\",\n className: classes.region,\n children: children\n })\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Accordion.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 * The content of the component.\n */\n children: chainPropTypes(PropTypes.node.isRequired, props => {\n const summary = React.Children.toArray(props.children)[0];\n if (isFragment(summary)) {\n return new Error(\"MUI: The Accordion doesn't accept a Fragment as a child. \" + 'Consider providing an array instead.');\n }\n if (! /*#__PURE__*/React.isValidElement(summary)) {\n return new Error('MUI: Expected the first child of Accordion to be a valid element.');\n }\n return null;\n }),\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 * If `true`, expands the accordion by default.\n * @default false\n */\n defaultExpanded: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, it removes the margin between two expanded accordion items and the increase of height.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, expands the accordion, otherwise collapse it.\n * Setting this prop enables control over the accordion.\n */\n expanded: PropTypes.bool,\n /**\n * Callback fired when the expand/collapse state is changed.\n *\n * @param {React.SyntheticEvent} event The event source of the callback. **Warning**: This is a generic event not a change event.\n * @param {boolean} expanded The `expanded` state of the accordion.\n */\n onChange: PropTypes.func,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n heading: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n transition: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n heading: PropTypes.elementType,\n transition: PropTypes.elementType\n }),\n /**\n * If `true`, rounded corners are disabled.\n * @default false\n */\n square: PropTypes.bool,\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 * The component used for the transition.\n * [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @deprecated Use `slots.transition` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n * @deprecated Use `slotProps.transition` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Accordion;","'use client';\n\nimport * as React from 'react';\n\n/**\n * @ignore - internal component.\n * @type {React.Context<{} | {expanded: boolean, disabled: boolean, toggle: () => void}>}\n */\nconst AccordionContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n AccordionContext.displayName = 'AccordionContext';\n}\nexport default AccordionContext;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAccordionSummaryUtilityClass(slot) {\n return generateUtilityClass('MuiAccordionSummary', slot);\n}\nconst accordionSummaryClasses = generateUtilityClasses('MuiAccordionSummary', ['root', 'expanded', 'focusVisible', 'disabled', 'gutters', 'contentGutters', 'content', 'expandIconWrapper']);\nexport default accordionSummaryClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport ButtonBase from \"../ButtonBase/index.js\";\nimport AccordionContext from \"../Accordion/AccordionContext.js\";\nimport accordionSummaryClasses, { getAccordionSummaryUtilityClass } from \"./accordionSummaryClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n expanded,\n disabled,\n disableGutters\n } = ownerState;\n const slots = {\n root: ['root', expanded && 'expanded', disabled && 'disabled', !disableGutters && 'gutters'],\n focusVisible: ['focusVisible'],\n content: ['content', expanded && 'expanded', !disableGutters && 'contentGutters'],\n expandIconWrapper: ['expandIconWrapper', expanded && 'expanded']\n };\n return composeClasses(slots, getAccordionSummaryUtilityClass, classes);\n};\nconst AccordionSummaryRoot = styled(ButtonBase, {\n name: 'MuiAccordionSummary',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(memoTheme(({\n theme\n}) => {\n const transition = {\n duration: theme.transitions.duration.shortest\n };\n return {\n display: 'flex',\n width: '100%',\n minHeight: 48,\n padding: theme.spacing(0, 2),\n transition: theme.transitions.create(['min-height', 'background-color'], transition),\n [`&.${accordionSummaryClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${accordionSummaryClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n },\n [`&:hover:not(.${accordionSummaryClasses.disabled})`]: {\n cursor: 'pointer'\n },\n variants: [{\n props: props => !props.disableGutters,\n style: {\n [`&.${accordionSummaryClasses.expanded}`]: {\n minHeight: 64\n }\n }\n }]\n };\n}));\nconst AccordionSummaryContent = styled('span', {\n name: 'MuiAccordionSummary',\n slot: 'Content',\n overridesResolver: (props, styles) => styles.content\n})(memoTheme(({\n theme\n}) => ({\n display: 'flex',\n textAlign: 'start',\n flexGrow: 1,\n margin: '12px 0',\n variants: [{\n props: props => !props.disableGutters,\n style: {\n transition: theme.transitions.create(['margin'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${accordionSummaryClasses.expanded}`]: {\n margin: '20px 0'\n }\n }\n }]\n})));\nconst AccordionSummaryExpandIconWrapper = styled('span', {\n name: 'MuiAccordionSummary',\n slot: 'ExpandIconWrapper',\n overridesResolver: (props, styles) => styles.expandIconWrapper\n})(memoTheme(({\n theme\n}) => ({\n display: 'flex',\n color: (theme.vars || theme).palette.action.active,\n transform: 'rotate(0deg)',\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${accordionSummaryClasses.expanded}`]: {\n transform: 'rotate(180deg)'\n }\n})));\nconst AccordionSummary = /*#__PURE__*/React.forwardRef(function AccordionSummary(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiAccordionSummary'\n });\n const {\n children,\n className,\n expandIcon,\n focusVisibleClassName,\n onClick,\n ...other\n } = props;\n const {\n disabled = false,\n disableGutters,\n expanded,\n toggle\n } = React.useContext(AccordionContext);\n const handleChange = event => {\n if (toggle) {\n toggle(event);\n }\n if (onClick) {\n onClick(event);\n }\n };\n const ownerState = {\n ...props,\n expanded,\n disabled,\n disableGutters\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(AccordionSummaryRoot, {\n focusRipple: false,\n disableRipple: true,\n disabled: disabled,\n \"aria-expanded\": expanded,\n className: clsx(classes.root, className),\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n onClick: handleChange,\n ref: ref,\n ownerState: ownerState,\n ...other,\n children: [/*#__PURE__*/_jsx(AccordionSummaryContent, {\n className: classes.content,\n ownerState: ownerState,\n children: children\n }), expandIcon && /*#__PURE__*/_jsx(AccordionSummaryExpandIconWrapper, {\n className: classes.expandIconWrapper,\n ownerState: ownerState,\n children: expandIcon\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? AccordionSummary.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 * The content of the component.\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 icon to display as the expand indicator.\n */\n expandIcon: PropTypes.node,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\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} : void 0;\nexport default AccordionSummary;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAlertUtilityClass(slot) {\n return generateUtilityClass('MuiAlert', slot);\n}\nconst alertClasses = generateUtilityClasses('MuiAlert', ['root', 'action', 'icon', 'message', 'filled', 'colorSuccess', 'colorInfo', 'colorWarning', 'colorError', 'filledSuccess', 'filledInfo', 'filledWarning', 'filledError', 'outlined', 'outlinedSuccess', 'outlinedInfo', 'outlinedWarning', 'outlinedError', 'standard', 'standardSuccess', 'standardInfo', 'standardWarning', 'standardError']);\nexport default alertClasses;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z\"\n}), 'SuccessOutlined');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z\"\n}), 'ReportProblemOutlined');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n}), 'ErrorOutline');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z\"\n}), 'InfoOutlined');","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { darken, lighten } from '@mui/system/colorManipulator';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport Paper from \"../Paper/index.js\";\nimport alertClasses, { getAlertUtilityClass } from \"./alertClasses.js\";\nimport IconButton from \"../IconButton/index.js\";\nimport SuccessOutlinedIcon from \"../internal/svg-icons/SuccessOutlined.js\";\nimport ReportProblemOutlinedIcon from \"../internal/svg-icons/ReportProblemOutlined.js\";\nimport ErrorOutlineIcon from \"../internal/svg-icons/ErrorOutline.js\";\nimport InfoOutlinedIcon from \"../internal/svg-icons/InfoOutlined.js\";\nimport CloseIcon from \"../internal/svg-icons/Close.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n variant,\n color,\n severity,\n classes\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color || severity)}`, `${variant}${capitalize(color || severity)}`, `${variant}`],\n icon: ['icon'],\n message: ['message'],\n action: ['action']\n };\n return composeClasses(slots, getAlertUtilityClass, classes);\n};\nconst AlertRoot = styled(Paper, {\n name: 'MuiAlert',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`${ownerState.variant}${capitalize(ownerState.color || ownerState.severity)}`]];\n }\n})(memoTheme(({\n theme\n}) => {\n const getColor = theme.palette.mode === 'light' ? darken : lighten;\n const getBackgroundColor = theme.palette.mode === 'light' ? lighten : darken;\n return {\n ...theme.typography.body2,\n backgroundColor: 'transparent',\n display: 'flex',\n padding: '6px 16px',\n variants: [...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(['light'])).map(([color]) => ({\n props: {\n colorSeverity: color,\n variant: 'standard'\n },\n style: {\n color: theme.vars ? theme.vars.palette.Alert[`${color}Color`] : getColor(theme.palette[color].light, 0.6),\n backgroundColor: theme.vars ? theme.vars.palette.Alert[`${color}StandardBg`] : getBackgroundColor(theme.palette[color].light, 0.9),\n [`& .${alertClasses.icon}`]: theme.vars ? {\n color: theme.vars.palette.Alert[`${color}IconColor`]\n } : {\n color: theme.palette[color].main\n }\n }\n })), ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(['light'])).map(([color]) => ({\n props: {\n colorSeverity: color,\n variant: 'outlined'\n },\n style: {\n color: theme.vars ? theme.vars.palette.Alert[`${color}Color`] : getColor(theme.palette[color].light, 0.6),\n border: `1px solid ${(theme.vars || theme).palette[color].light}`,\n [`& .${alertClasses.icon}`]: theme.vars ? {\n color: theme.vars.palette.Alert[`${color}IconColor`]\n } : {\n color: theme.palette[color].main\n }\n }\n })), ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(['dark'])).map(([color]) => ({\n props: {\n colorSeverity: color,\n variant: 'filled'\n },\n style: {\n fontWeight: theme.typography.fontWeightMedium,\n ...(theme.vars ? {\n color: theme.vars.palette.Alert[`${color}FilledColor`],\n backgroundColor: theme.vars.palette.Alert[`${color}FilledBg`]\n } : {\n backgroundColor: theme.palette.mode === 'dark' ? theme.palette[color].dark : theme.palette[color].main,\n color: theme.palette.getContrastText(theme.palette[color].main)\n })\n }\n }))]\n };\n}));\nconst AlertIcon = styled('div', {\n name: 'MuiAlert',\n slot: 'Icon',\n overridesResolver: (props, styles) => styles.icon\n})({\n marginRight: 12,\n padding: '7px 0',\n display: 'flex',\n fontSize: 22,\n opacity: 0.9\n});\nconst AlertMessage = styled('div', {\n name: 'MuiAlert',\n slot: 'Message',\n overridesResolver: (props, styles) => styles.message\n})({\n padding: '8px 0',\n minWidth: 0,\n overflow: 'auto'\n});\nconst AlertAction = styled('div', {\n name: 'MuiAlert',\n slot: 'Action',\n overridesResolver: (props, styles) => styles.action\n})({\n display: 'flex',\n alignItems: 'flex-start',\n padding: '4px 0 0 16px',\n marginLeft: 'auto',\n marginRight: -8\n});\nconst defaultIconMapping = {\n success: /*#__PURE__*/_jsx(SuccessOutlinedIcon, {\n fontSize: \"inherit\"\n }),\n warning: /*#__PURE__*/_jsx(ReportProblemOutlinedIcon, {\n fontSize: \"inherit\"\n }),\n error: /*#__PURE__*/_jsx(ErrorOutlineIcon, {\n fontSize: \"inherit\"\n }),\n info: /*#__PURE__*/_jsx(InfoOutlinedIcon, {\n fontSize: \"inherit\"\n })\n};\nconst Alert = /*#__PURE__*/React.forwardRef(function Alert(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiAlert'\n });\n const {\n action,\n children,\n className,\n closeText = 'Close',\n color,\n components = {},\n componentsProps = {},\n icon,\n iconMapping = defaultIconMapping,\n onClose,\n role = 'alert',\n severity = 'success',\n slotProps = {},\n slots = {},\n variant = 'standard',\n ...other\n } = props;\n const ownerState = {\n ...props,\n color,\n severity,\n variant,\n colorSeverity: color || severity\n };\n const classes = useUtilityClasses(ownerState);\n const externalForwardedProps = {\n slots: {\n closeButton: components.CloseButton,\n closeIcon: components.CloseIcon,\n ...slots\n },\n slotProps: {\n ...componentsProps,\n ...slotProps\n }\n };\n const [RootSlot, rootSlotProps] = useSlot('root', {\n ref,\n shouldForwardComponentProp: true,\n className: clsx(classes.root, className),\n elementType: AlertRoot,\n externalForwardedProps: {\n ...externalForwardedProps,\n ...other\n },\n ownerState,\n additionalProps: {\n role,\n elevation: 0\n }\n });\n const [IconSlot, iconSlotProps] = useSlot('icon', {\n className: classes.icon,\n elementType: AlertIcon,\n externalForwardedProps,\n ownerState\n });\n const [MessageSlot, messageSlotProps] = useSlot('message', {\n className: classes.message,\n elementType: AlertMessage,\n externalForwardedProps,\n ownerState\n });\n const [ActionSlot, actionSlotProps] = useSlot('action', {\n className: classes.action,\n elementType: AlertAction,\n externalForwardedProps,\n ownerState\n });\n const [CloseButtonSlot, closeButtonProps] = useSlot('closeButton', {\n elementType: IconButton,\n externalForwardedProps,\n ownerState\n });\n const [CloseIconSlot, closeIconProps] = useSlot('closeIcon', {\n elementType: CloseIcon,\n externalForwardedProps,\n ownerState\n });\n return /*#__PURE__*/_jsxs(RootSlot, {\n ...rootSlotProps,\n children: [icon !== false ? /*#__PURE__*/_jsx(IconSlot, {\n ...iconSlotProps,\n children: icon || iconMapping[severity] || defaultIconMapping[severity]\n }) : null, /*#__PURE__*/_jsx(MessageSlot, {\n ...messageSlotProps,\n children: children\n }), action != null ? /*#__PURE__*/_jsx(ActionSlot, {\n ...actionSlotProps,\n children: action\n }) : null, action == null && onClose ? /*#__PURE__*/_jsx(ActionSlot, {\n ...actionSlotProps,\n children: /*#__PURE__*/_jsx(CloseButtonSlot, {\n size: \"small\",\n \"aria-label\": closeText,\n title: closeText,\n color: \"inherit\",\n onClick: onClose,\n ...closeButtonProps,\n children: /*#__PURE__*/_jsx(CloseIconSlot, {\n fontSize: \"small\",\n ...closeIconProps\n })\n })\n }) : null]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Alert.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 * The action to display. It renders after the message, at the end of the alert.\n */\n action: PropTypes.node,\n /**\n * The content of the component.\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 * Override the default label for the *close popup* icon button.\n *\n * For localization purposes, you can use the provided [translations](https://mui.com/material-ui/guides/localization/).\n * @default 'Close'\n */\n closeText: PropTypes.string,\n /**\n * The color of the component. Unless provided, the value is taken from the `severity` prop.\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * @deprecated use the `slots` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n *\n * @default {}\n */\n components: PropTypes.shape({\n CloseButton: PropTypes.elementType,\n CloseIcon: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @deprecated use the `slotProps` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n closeButton: PropTypes.object,\n closeIcon: PropTypes.object\n }),\n /**\n * Override the icon displayed before the children.\n * Unless provided, the icon is mapped to the value of the `severity` prop.\n * Set to `false` to remove the `icon`.\n */\n icon: PropTypes.node,\n /**\n * The component maps the `severity` prop to a range of different icons,\n * for instance success to ``.\n * If you wish to change this mapping, you can provide your own.\n * Alternatively, you can use the `icon` prop to override the icon displayed.\n */\n iconMapping: PropTypes.shape({\n error: PropTypes.node,\n info: PropTypes.node,\n success: PropTypes.node,\n warning: PropTypes.node\n }),\n /**\n * Callback fired when the component requests to be closed.\n * When provided and no `action` prop is set, a close icon button is displayed that triggers the callback when clicked.\n * @param {React.SyntheticEvent} event The event source of the callback.\n */\n onClose: PropTypes.func,\n /**\n * The ARIA role attribute of the element.\n * @default 'alert'\n */\n role: PropTypes.string,\n /**\n * The severity of the alert. This defines the color and icon used.\n * @default 'success'\n */\n severity: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n action: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n closeButton: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n closeIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n icon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n message: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n action: PropTypes.elementType,\n closeButton: PropTypes.elementType,\n closeIcon: PropTypes.elementType,\n icon: PropTypes.elementType,\n message: PropTypes.elementType,\n root: PropTypes.elementType\n }),\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 * The variant to use.\n * @default 'standard'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['filled', 'outlined', 'standard']), PropTypes.string])\n} : void 0;\nexport default Alert;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getBackdropUtilityClass(slot) {\n return generateUtilityClass('MuiBackdrop', slot);\n}\nconst backdropClasses = generateUtilityClasses('MuiBackdrop', ['root', 'invisible']);\nexport default backdropClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport Fade from \"../Fade/index.js\";\nimport { getBackdropUtilityClass } from \"./backdropClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n invisible\n } = ownerState;\n const slots = {\n root: ['root', invisible && 'invisible']\n };\n return composeClasses(slots, getBackdropUtilityClass, classes);\n};\nconst BackdropRoot = styled('div', {\n name: 'MuiBackdrop',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.invisible && styles.invisible];\n }\n})({\n position: 'fixed',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n right: 0,\n bottom: 0,\n top: 0,\n left: 0,\n backgroundColor: 'rgba(0, 0, 0, 0.5)',\n WebkitTapHighlightColor: 'transparent',\n variants: [{\n props: {\n invisible: true\n },\n style: {\n backgroundColor: 'transparent'\n }\n }]\n});\nconst Backdrop = /*#__PURE__*/React.forwardRef(function Backdrop(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiBackdrop'\n });\n const {\n children,\n className,\n component = 'div',\n invisible = false,\n open,\n components = {},\n componentsProps = {},\n slotProps = {},\n slots = {},\n TransitionComponent: TransitionComponentProp,\n transitionDuration,\n ...other\n } = props;\n const ownerState = {\n ...props,\n component,\n invisible\n };\n const classes = useUtilityClasses(ownerState);\n const backwardCompatibleSlots = {\n transition: TransitionComponentProp,\n root: components.Root,\n ...slots\n };\n const backwardCompatibleSlotProps = {\n ...componentsProps,\n ...slotProps\n };\n const externalForwardedProps = {\n slots: backwardCompatibleSlots,\n slotProps: backwardCompatibleSlotProps\n };\n const [RootSlot, rootProps] = useSlot('root', {\n elementType: BackdropRoot,\n externalForwardedProps,\n className: clsx(classes.root, className),\n ownerState\n });\n const [TransitionSlot, transitionProps] = useSlot('transition', {\n elementType: Fade,\n externalForwardedProps,\n ownerState\n });\n return /*#__PURE__*/_jsx(TransitionSlot, {\n in: open,\n timeout: transitionDuration,\n ...other,\n ...transitionProps,\n children: /*#__PURE__*/_jsx(RootSlot, {\n \"aria-hidden\": true,\n ...rootProps,\n classes: classes,\n ref: ref,\n children: children\n })\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Backdrop.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 * The content of the component.\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 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 components used for each slot inside.\n *\n * @deprecated Use the `slots` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @deprecated Use the `slotProps` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n root: PropTypes.object\n }),\n /**\n * If `true`, the backdrop is invisible.\n * It can be used when rendering a popover or a custom select component.\n * @default false\n */\n invisible: PropTypes.bool,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n transition: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n root: PropTypes.elementType,\n transition: PropTypes.elementType\n }),\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 * The component used for the transition.\n * [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Fade\n * @deprecated Use `slots.transition` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nexport default Backdrop;","'use client';\n\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport styled from '@mui/styled-engine';\nimport styleFunctionSx, { extendSxProp } from \"../styleFunctionSx/index.js\";\nimport useTheme from \"../useTheme/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function createBox(options = {}) {\n const {\n themeId,\n defaultTheme,\n defaultClassName = 'MuiBox-root',\n generateClassName\n } = options;\n const BoxRoot = styled('div', {\n shouldForwardProp: prop => prop !== 'theme' && prop !== 'sx' && prop !== 'as'\n })(styleFunctionSx);\n const Box = /*#__PURE__*/React.forwardRef(function Box(inProps, ref) {\n const theme = useTheme(defaultTheme);\n const {\n className,\n component = 'div',\n ...other\n } = extendSxProp(inProps);\n return /*#__PURE__*/_jsx(BoxRoot, {\n as: component,\n ref: ref,\n className: clsx(className, generateClassName ? generateClassName(defaultClassName) : defaultClassName),\n theme: themeId ? theme[themeId] || theme : theme,\n ...other\n });\n });\n return Box;\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nconst boxClasses = generateUtilityClasses('MuiBox', ['root']);\nexport default boxClasses;","'use client';\n\nimport { createBox } from '@mui/system';\nimport PropTypes from 'prop-types';\nimport { unstable_ClassNameGenerator as ClassNameGenerator } from \"../className/index.js\";\nimport { createTheme } from \"../styles/index.js\";\nimport THEME_ID from \"../styles/identifier.js\";\nimport boxClasses from \"./boxClasses.js\";\nconst defaultTheme = createTheme();\nconst Box = createBox({\n themeId: THEME_ID,\n defaultTheme,\n defaultClassName: boxClasses.root,\n generateClassName: ClassNameGenerator.generate\n});\nprocess.env.NODE_ENV !== \"production\" ? Box.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 * @ignore\n */\n children: PropTypes.node,\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 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} : void 0;\nexport default Box;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getButtonUtilityClass(slot) {\n return generateUtilityClass('MuiButton', slot);\n}\nconst buttonClasses = generateUtilityClasses('MuiButton', ['root', 'text', 'textInherit', 'textPrimary', 'textSecondary', 'textSuccess', 'textError', 'textInfo', 'textWarning', 'outlined', 'outlinedInherit', 'outlinedPrimary', 'outlinedSecondary', 'outlinedSuccess', 'outlinedError', 'outlinedInfo', 'outlinedWarning', 'contained', 'containedInherit', 'containedPrimary', 'containedSecondary', 'containedSuccess', 'containedError', 'containedInfo', 'containedWarning', 'disableElevation', 'focusVisible', 'disabled', 'colorInherit', 'colorPrimary', 'colorSecondary', 'colorSuccess', 'colorError', 'colorInfo', 'colorWarning', 'textSizeSmall', 'textSizeMedium', 'textSizeLarge', 'outlinedSizeSmall', 'outlinedSizeMedium', 'outlinedSizeLarge', 'containedSizeSmall', 'containedSizeMedium', 'containedSizeLarge', 'sizeMedium', 'sizeSmall', 'sizeLarge', 'fullWidth', 'startIcon', 'endIcon', 'icon', 'iconSizeSmall', 'iconSizeMedium', 'iconSizeLarge', 'loading', 'loadingWrapper', 'loadingIconPlaceholder', 'loadingIndicator', 'loadingPositionCenter', 'loadingPositionStart', 'loadingPositionEnd']);\nexport default buttonClasses;","'use client';\n\nimport * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst ButtonGroupContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n ButtonGroupContext.displayName = 'ButtonGroupContext';\n}\nexport default ButtonGroupContext;","'use client';\n\nimport * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst ButtonGroupButtonContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n ButtonGroupButtonContext.displayName = 'ButtonGroupButtonContext';\n}\nexport default ButtonGroupButtonContext;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport resolveProps from '@mui/utils/resolveProps';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport { unstable_useId as useId } from '@mui/material/utils';\nimport rootShouldForwardProp from \"../styles/rootShouldForwardProp.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport ButtonBase from \"../ButtonBase/index.js\";\nimport CircularProgress from \"../CircularProgress/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport buttonClasses, { getButtonUtilityClass } from \"./buttonClasses.js\";\nimport ButtonGroupContext from \"../ButtonGroup/ButtonGroupContext.js\";\nimport ButtonGroupButtonContext from \"../ButtonGroup/ButtonGroupButtonContext.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n disableElevation,\n fullWidth,\n size,\n variant,\n loading,\n loadingPosition,\n classes\n } = ownerState;\n const slots = {\n root: ['root', loading && 'loading', variant, `${variant}${capitalize(color)}`, `size${capitalize(size)}`, `${variant}Size${capitalize(size)}`, `color${capitalize(color)}`, disableElevation && 'disableElevation', fullWidth && 'fullWidth', loading && `loadingPosition${capitalize(loadingPosition)}`],\n startIcon: ['icon', 'startIcon', `iconSize${capitalize(size)}`],\n endIcon: ['icon', 'endIcon', `iconSize${capitalize(size)}`],\n loadingIndicator: ['loadingIndicator'],\n loadingWrapper: ['loadingWrapper']\n };\n const composedClasses = composeClasses(slots, getButtonUtilityClass, classes);\n return {\n ...classes,\n // forward the focused, disabled, etc. classes to the ButtonBase\n ...composedClasses\n };\n};\nconst commonIconStyles = [{\n props: {\n size: 'small'\n },\n style: {\n '& > *:nth-of-type(1)': {\n fontSize: 18\n }\n }\n}, {\n props: {\n size: 'medium'\n },\n style: {\n '& > *:nth-of-type(1)': {\n fontSize: 20\n }\n }\n}, {\n props: {\n size: 'large'\n },\n style: {\n '& > *:nth-of-type(1)': {\n fontSize: 22\n }\n }\n}];\nconst ButtonRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`${ownerState.variant}${capitalize(ownerState.color)}`], styles[`size${capitalize(ownerState.size)}`], styles[`${ownerState.variant}Size${capitalize(ownerState.size)}`], ownerState.color === 'inherit' && styles.colorInherit, ownerState.disableElevation && styles.disableElevation, ownerState.fullWidth && styles.fullWidth, ownerState.loading && styles.loading];\n }\n})(memoTheme(({\n theme\n}) => {\n const inheritContainedBackgroundColor = theme.palette.mode === 'light' ? theme.palette.grey[300] : theme.palette.grey[800];\n const inheritContainedHoverBackgroundColor = theme.palette.mode === 'light' ? theme.palette.grey.A100 : theme.palette.grey[700];\n return {\n ...theme.typography.button,\n minWidth: 64,\n padding: '6px 16px',\n border: 0,\n borderRadius: (theme.vars || theme).shape.borderRadius,\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color', 'color'], {\n duration: theme.transitions.duration.short\n }),\n '&:hover': {\n textDecoration: 'none'\n },\n [`&.${buttonClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n },\n variants: [{\n props: {\n variant: 'contained'\n },\n style: {\n color: `var(--variant-containedColor)`,\n backgroundColor: `var(--variant-containedBg)`,\n boxShadow: (theme.vars || theme).shadows[2],\n '&:hover': {\n boxShadow: (theme.vars || theme).shadows[4],\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n boxShadow: (theme.vars || theme).shadows[2]\n }\n },\n '&:active': {\n boxShadow: (theme.vars || theme).shadows[8]\n },\n [`&.${buttonClasses.focusVisible}`]: {\n boxShadow: (theme.vars || theme).shadows[6]\n },\n [`&.${buttonClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled,\n boxShadow: (theme.vars || theme).shadows[0],\n backgroundColor: (theme.vars || theme).palette.action.disabledBackground\n }\n }\n }, {\n props: {\n variant: 'outlined'\n },\n style: {\n padding: '5px 15px',\n border: '1px solid currentColor',\n borderColor: `var(--variant-outlinedBorder, currentColor)`,\n backgroundColor: `var(--variant-outlinedBg)`,\n color: `var(--variant-outlinedColor)`,\n [`&.${buttonClasses.disabled}`]: {\n border: `1px solid ${(theme.vars || theme).palette.action.disabledBackground}`\n }\n }\n }, {\n props: {\n variant: 'text'\n },\n style: {\n padding: '6px 8px',\n color: `var(--variant-textColor)`,\n backgroundColor: `var(--variant-textBg)`\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color\n },\n style: {\n '--variant-textColor': (theme.vars || theme).palette[color].main,\n '--variant-outlinedColor': (theme.vars || theme).palette[color].main,\n '--variant-outlinedBorder': theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / 0.5)` : alpha(theme.palette[color].main, 0.5),\n '--variant-containedColor': (theme.vars || theme).palette[color].contrastText,\n '--variant-containedBg': (theme.vars || theme).palette[color].main,\n '@media (hover: hover)': {\n '&:hover': {\n '--variant-containedBg': (theme.vars || theme).palette[color].dark,\n '--variant-textBg': theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[color].main, theme.palette.action.hoverOpacity),\n '--variant-outlinedBorder': (theme.vars || theme).palette[color].main,\n '--variant-outlinedBg': theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[color].main, theme.palette.action.hoverOpacity)\n }\n }\n }\n })), {\n props: {\n color: 'inherit'\n },\n style: {\n color: 'inherit',\n borderColor: 'currentColor',\n '--variant-containedBg': theme.vars ? theme.vars.palette.Button.inheritContainedBg : inheritContainedBackgroundColor,\n '@media (hover: hover)': {\n '&:hover': {\n '--variant-containedBg': theme.vars ? theme.vars.palette.Button.inheritContainedHoverBg : inheritContainedHoverBackgroundColor,\n '--variant-textBg': theme.vars ? `rgba(${theme.vars.palette.text.primaryChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.text.primary, theme.palette.action.hoverOpacity),\n '--variant-outlinedBg': theme.vars ? `rgba(${theme.vars.palette.text.primaryChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.text.primary, theme.palette.action.hoverOpacity)\n }\n }\n }\n }, {\n props: {\n size: 'small',\n variant: 'text'\n },\n style: {\n padding: '4px 5px',\n fontSize: theme.typography.pxToRem(13)\n }\n }, {\n props: {\n size: 'large',\n variant: 'text'\n },\n style: {\n padding: '8px 11px',\n fontSize: theme.typography.pxToRem(15)\n }\n }, {\n props: {\n size: 'small',\n variant: 'outlined'\n },\n style: {\n padding: '3px 9px',\n fontSize: theme.typography.pxToRem(13)\n }\n }, {\n props: {\n size: 'large',\n variant: 'outlined'\n },\n style: {\n padding: '7px 21px',\n fontSize: theme.typography.pxToRem(15)\n }\n }, {\n props: {\n size: 'small',\n variant: 'contained'\n },\n style: {\n padding: '4px 10px',\n fontSize: theme.typography.pxToRem(13)\n }\n }, {\n props: {\n size: 'large',\n variant: 'contained'\n },\n style: {\n padding: '8px 22px',\n fontSize: theme.typography.pxToRem(15)\n }\n }, {\n props: {\n disableElevation: true\n },\n style: {\n boxShadow: 'none',\n '&:hover': {\n boxShadow: 'none'\n },\n [`&.${buttonClasses.focusVisible}`]: {\n boxShadow: 'none'\n },\n '&:active': {\n boxShadow: 'none'\n },\n [`&.${buttonClasses.disabled}`]: {\n boxShadow: 'none'\n }\n }\n }, {\n props: {\n fullWidth: true\n },\n style: {\n width: '100%'\n }\n }, {\n props: {\n loadingPosition: 'center'\n },\n style: {\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n [`&.${buttonClasses.loading}`]: {\n color: 'transparent'\n }\n }\n }]\n };\n}));\nconst ButtonStartIcon = styled('span', {\n name: 'MuiButton',\n slot: 'StartIcon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.startIcon, ownerState.loading && styles.startIconLoadingStart, styles[`iconSize${capitalize(ownerState.size)}`]];\n }\n})(({\n theme\n}) => ({\n display: 'inherit',\n marginRight: 8,\n marginLeft: -4,\n variants: [{\n props: {\n size: 'small'\n },\n style: {\n marginLeft: -2\n }\n }, {\n props: {\n loadingPosition: 'start',\n loading: true\n },\n style: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n }, {\n props: {\n loadingPosition: 'start',\n loading: true,\n fullWidth: true\n },\n style: {\n marginRight: -8\n }\n }, ...commonIconStyles]\n}));\nconst ButtonEndIcon = styled('span', {\n name: 'MuiButton',\n slot: 'EndIcon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.endIcon, ownerState.loading && styles.endIconLoadingEnd, styles[`iconSize${capitalize(ownerState.size)}`]];\n }\n})(({\n theme\n}) => ({\n display: 'inherit',\n marginRight: -4,\n marginLeft: 8,\n variants: [{\n props: {\n size: 'small'\n },\n style: {\n marginRight: -2\n }\n }, {\n props: {\n loadingPosition: 'end',\n loading: true\n },\n style: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n }, {\n props: {\n loadingPosition: 'end',\n loading: true,\n fullWidth: true\n },\n style: {\n marginLeft: -8\n }\n }, ...commonIconStyles]\n}));\nconst ButtonLoadingIndicator = styled('span', {\n name: 'MuiButton',\n slot: 'LoadingIndicator',\n overridesResolver: (props, styles) => styles.loadingIndicator\n})(({\n theme\n}) => ({\n display: 'none',\n position: 'absolute',\n visibility: 'visible',\n variants: [{\n props: {\n loading: true\n },\n style: {\n display: 'flex'\n }\n }, {\n props: {\n loadingPosition: 'start'\n },\n style: {\n left: 14\n }\n }, {\n props: {\n loadingPosition: 'start',\n size: 'small'\n },\n style: {\n left: 10\n }\n }, {\n props: {\n variant: 'text',\n loadingPosition: 'start'\n },\n style: {\n left: 6\n }\n }, {\n props: {\n loadingPosition: 'center'\n },\n style: {\n left: '50%',\n transform: 'translate(-50%)',\n color: (theme.vars || theme).palette.action.disabled\n }\n }, {\n props: {\n loadingPosition: 'end'\n },\n style: {\n right: 14\n }\n }, {\n props: {\n loadingPosition: 'end',\n size: 'small'\n },\n style: {\n right: 10\n }\n }, {\n props: {\n variant: 'text',\n loadingPosition: 'end'\n },\n style: {\n right: 6\n }\n }, {\n props: {\n loadingPosition: 'start',\n fullWidth: true\n },\n style: {\n position: 'relative',\n left: -10\n }\n }, {\n props: {\n loadingPosition: 'end',\n fullWidth: true\n },\n style: {\n position: 'relative',\n right: -10\n }\n }]\n}));\nconst ButtonLoadingIconPlaceholder = styled('span', {\n name: 'MuiButton',\n slot: 'LoadingIconPlaceholder',\n overridesResolver: (props, styles) => styles.loadingIconPlaceholder\n})({\n display: 'inline-block',\n width: '1em',\n height: '1em'\n});\nconst Button = /*#__PURE__*/React.forwardRef(function Button(inProps, ref) {\n // props priority: `inProps` > `contextProps` > `themeDefaultProps`\n const contextProps = React.useContext(ButtonGroupContext);\n const buttonGroupButtonContextPositionClassName = React.useContext(ButtonGroupButtonContext);\n const resolvedProps = resolveProps(contextProps, inProps);\n const props = useDefaultProps({\n props: resolvedProps,\n name: 'MuiButton'\n });\n const {\n children,\n color = 'primary',\n component = 'button',\n className,\n disabled = false,\n disableElevation = false,\n disableFocusRipple = false,\n endIcon: endIconProp,\n focusVisibleClassName,\n fullWidth = false,\n id: idProp,\n loading = null,\n loadingIndicator: loadingIndicatorProp,\n loadingPosition = 'center',\n size = 'medium',\n startIcon: startIconProp,\n type,\n variant = 'text',\n ...other\n } = props;\n const id = useId(idProp);\n const loadingIndicator = loadingIndicatorProp ?? /*#__PURE__*/_jsx(CircularProgress, {\n \"aria-labelledby\": id,\n color: \"inherit\",\n size: 16\n });\n const ownerState = {\n ...props,\n color,\n component,\n disabled,\n disableElevation,\n disableFocusRipple,\n fullWidth,\n loading,\n loadingIndicator,\n loadingPosition,\n size,\n type,\n variant\n };\n const classes = useUtilityClasses(ownerState);\n const startIcon = (startIconProp || loading && loadingPosition === 'start') && /*#__PURE__*/_jsx(ButtonStartIcon, {\n className: classes.startIcon,\n ownerState: ownerState,\n children: startIconProp || /*#__PURE__*/_jsx(ButtonLoadingIconPlaceholder, {\n className: classes.loadingIconPlaceholder,\n ownerState: ownerState\n })\n });\n const endIcon = (endIconProp || loading && loadingPosition === 'end') && /*#__PURE__*/_jsx(ButtonEndIcon, {\n className: classes.endIcon,\n ownerState: ownerState,\n children: endIconProp || /*#__PURE__*/_jsx(ButtonLoadingIconPlaceholder, {\n className: classes.loadingIconPlaceholder,\n ownerState: ownerState\n })\n });\n const positionClassName = buttonGroupButtonContextPositionClassName || '';\n const loader = typeof loading === 'boolean' ?\n /*#__PURE__*/\n // use plain HTML span to minimize the runtime overhead\n _jsx(\"span\", {\n className: classes.loadingWrapper,\n style: {\n display: 'contents'\n },\n children: loading && /*#__PURE__*/_jsx(ButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n })\n }) : null;\n return /*#__PURE__*/_jsxs(ButtonRoot, {\n ownerState: ownerState,\n className: clsx(contextProps.className, classes.root, className, positionClassName),\n component: component,\n disabled: disabled || loading,\n focusRipple: !disableFocusRipple,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n ref: ref,\n type: type,\n id: id,\n ...other,\n classes: classes,\n children: [startIcon, loadingPosition !== 'end' && loader, children, loadingPosition === 'end' && loader, endIcon]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Button.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 * The content of the component.\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 * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'primary', 'secondary', 'success', 'error', 'info', '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 * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, no elevation is used.\n * @default false\n */\n disableElevation: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * Element placed after the children.\n */\n endIcon: PropTypes.node,\n /**\n * @ignore\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * If `true`, the button will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The URL to link to when the button is clicked.\n * If defined, an `a` element will be used as the root node.\n */\n href: PropTypes.string,\n /**\n * @ignore\n */\n id: PropTypes.string,\n /**\n * If `true`, the loading indicator is visible and the button is disabled.\n * If `true | false`, the loading wrapper is always rendered before the children to prevent [Google Translation Crash](https://github.com/mui/material-ui/issues/27853).\n * @default null\n */\n loading: PropTypes.bool,\n /**\n * Element placed before the children if the button is in loading state.\n * The node should contain an element with `role=\"progressbar\"` with an accessible name.\n * By default, it renders a `CircularProgress` that is labeled by the button itself.\n * @default \n */\n loadingIndicator: PropTypes.node,\n /**\n * The loading indicator can be positioned on the start, end, or the center of the button.\n * @default 'center'\n */\n loadingPosition: PropTypes.oneOf(['center', 'end', 'start']),\n /**\n * The size of the component.\n * `small` is equivalent to the dense button styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n /**\n * Element placed before the children.\n */\n startIcon: PropTypes.node,\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 * @ignore\n */\n type: PropTypes.oneOfType([PropTypes.oneOf(['button', 'reset', 'submit']), PropTypes.string]),\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['contained', 'outlined', 'text']), PropTypes.string])\n} : void 0;\nexport default Button;","'use client';\n\nimport * as React from 'react';\nimport useLazyRef from '@mui/utils/useLazyRef';\n/**\n * Lazy initialization container for the Ripple instance. This improves\n * performance by delaying mounting the ripple until it's needed.\n */\nexport class LazyRipple {\n /** React ref to the ripple instance */\n\n /** If the ripple component should be mounted */\n\n /** Promise that resolves when the ripple component is mounted */\n\n /** If the ripple component has been mounted */\n\n /** React state hook setter */\n\n static create() {\n return new LazyRipple();\n }\n static use() {\n /* eslint-disable */\n const ripple = useLazyRef(LazyRipple.create).current;\n const [shouldMount, setShouldMount] = React.useState(false);\n ripple.shouldMount = shouldMount;\n ripple.setShouldMount = setShouldMount;\n React.useEffect(ripple.mountEffect, [shouldMount]);\n /* eslint-enable */\n\n return ripple;\n }\n constructor() {\n this.ref = {\n current: null\n };\n this.mounted = null;\n this.didMount = false;\n this.shouldMount = false;\n this.setShouldMount = null;\n }\n mount() {\n if (!this.mounted) {\n this.mounted = createControlledPromise();\n this.shouldMount = true;\n this.setShouldMount(this.shouldMount);\n }\n return this.mounted;\n }\n mountEffect = () => {\n if (this.shouldMount && !this.didMount) {\n if (this.ref.current !== null) {\n this.didMount = true;\n this.mounted.resolve();\n }\n }\n };\n\n /* Ripple API */\n\n start(...args) {\n this.mount().then(() => this.ref.current?.start(...args));\n }\n stop(...args) {\n this.mount().then(() => this.ref.current?.stop(...args));\n }\n pulsate(...args) {\n this.mount().then(() => this.ref.current?.pulsate(...args));\n }\n}\nexport default function useLazyRipple() {\n return LazyRipple.use();\n}\nfunction createControlledPromise() {\n let resolve;\n let reject;\n const p = new Promise((resolveFn, rejectFn) => {\n resolve = resolveFn;\n reject = rejectFn;\n });\n p.resolve = resolve;\n p.reject = reject;\n return p;\n}","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction Ripple(props) {\n const {\n className,\n classes,\n pulsate = false,\n rippleX,\n rippleY,\n rippleSize,\n in: inProp,\n onExited,\n timeout\n } = props;\n const [leaving, setLeaving] = React.useState(false);\n const rippleClassName = clsx(className, classes.ripple, classes.rippleVisible, pulsate && classes.ripplePulsate);\n const rippleStyles = {\n width: rippleSize,\n height: rippleSize,\n top: -(rippleSize / 2) + rippleY,\n left: -(rippleSize / 2) + rippleX\n };\n const childClassName = clsx(classes.child, leaving && classes.childLeaving, pulsate && classes.childPulsate);\n if (!inProp && !leaving) {\n setLeaving(true);\n }\n React.useEffect(() => {\n if (!inProp && onExited != null) {\n // react-transition-group#onExited\n const timeoutId = setTimeout(onExited, timeout);\n return () => {\n clearTimeout(timeoutId);\n };\n }\n return undefined;\n }, [onExited, inProp, timeout]);\n return /*#__PURE__*/_jsx(\"span\", {\n className: rippleClassName,\n style: rippleStyles,\n children: /*#__PURE__*/_jsx(\"span\", {\n className: childClassName\n })\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? Ripple.propTypes /* remove-proptypes */ = {\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n /**\n * @ignore - injected from TransitionGroup\n */\n in: PropTypes.bool,\n /**\n * @ignore - injected from TransitionGroup\n */\n onExited: PropTypes.func,\n /**\n * If `true`, the ripple pulsates, typically indicating the keyboard focus state of an element.\n */\n pulsate: PropTypes.bool,\n /**\n * Diameter of the ripple.\n */\n rippleSize: PropTypes.number,\n /**\n * Horizontal position of the ripple center.\n */\n rippleX: PropTypes.number,\n /**\n * Vertical position of the ripple center.\n */\n rippleY: PropTypes.number,\n /**\n * exit delay\n */\n timeout: PropTypes.number.isRequired\n} : void 0;\nexport default Ripple;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTouchRippleUtilityClass(slot) {\n return generateUtilityClass('MuiTouchRipple', slot);\n}\nconst touchRippleClasses = generateUtilityClasses('MuiTouchRipple', ['root', 'ripple', 'rippleVisible', 'ripplePulsate', 'child', 'childLeaving', 'childPulsate']);\nexport default touchRippleClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { TransitionGroup } from 'react-transition-group';\nimport clsx from 'clsx';\nimport useTimeout from '@mui/utils/useTimeout';\nimport { keyframes, styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport Ripple from \"./Ripple.js\";\nimport touchRippleClasses from \"./touchRippleClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DURATION = 550;\nexport const DELAY_RIPPLE = 80;\nconst enterKeyframe = keyframes`\n 0% {\n transform: scale(0);\n opacity: 0.1;\n }\n\n 100% {\n transform: scale(1);\n opacity: 0.3;\n }\n`;\nconst exitKeyframe = keyframes`\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n`;\nconst pulsateKeyframe = keyframes`\n 0% {\n transform: scale(1);\n }\n\n 50% {\n transform: scale(0.92);\n }\n\n 100% {\n transform: scale(1);\n }\n`;\nexport const TouchRippleRoot = styled('span', {\n name: 'MuiTouchRipple',\n slot: 'Root'\n})({\n overflow: 'hidden',\n pointerEvents: 'none',\n position: 'absolute',\n zIndex: 0,\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n borderRadius: 'inherit'\n});\n\n// This `styled()` function invokes keyframes. `styled-components` only supports keyframes\n// in string templates. Do not convert these styles in JS object as it will break.\nexport const TouchRippleRipple = styled(Ripple, {\n name: 'MuiTouchRipple',\n slot: 'Ripple'\n})`\n opacity: 0;\n position: absolute;\n\n &.${touchRippleClasses.rippleVisible} {\n opacity: 0.3;\n transform: scale(1);\n animation-name: ${enterKeyframe};\n animation-duration: ${DURATION}ms;\n animation-timing-function: ${({\n theme\n}) => theme.transitions.easing.easeInOut};\n }\n\n &.${touchRippleClasses.ripplePulsate} {\n animation-duration: ${({\n theme\n}) => theme.transitions.duration.shorter}ms;\n }\n\n & .${touchRippleClasses.child} {\n opacity: 1;\n display: block;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: currentColor;\n }\n\n & .${touchRippleClasses.childLeaving} {\n opacity: 0;\n animation-name: ${exitKeyframe};\n animation-duration: ${DURATION}ms;\n animation-timing-function: ${({\n theme\n}) => theme.transitions.easing.easeInOut};\n }\n\n & .${touchRippleClasses.childPulsate} {\n position: absolute;\n /* @noflip */\n left: 0px;\n top: 0;\n animation-name: ${pulsateKeyframe};\n animation-duration: 2500ms;\n animation-timing-function: ${({\n theme\n}) => theme.transitions.easing.easeInOut};\n animation-iteration-count: infinite;\n animation-delay: 200ms;\n }\n`;\n\n/**\n * @ignore - internal component.\n *\n * TODO v5: Make private\n */\nconst TouchRipple = /*#__PURE__*/React.forwardRef(function TouchRipple(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTouchRipple'\n });\n const {\n center: centerProp = false,\n classes = {},\n className,\n ...other\n } = props;\n const [ripples, setRipples] = React.useState([]);\n const nextKey = React.useRef(0);\n const rippleCallback = React.useRef(null);\n React.useEffect(() => {\n if (rippleCallback.current) {\n rippleCallback.current();\n rippleCallback.current = null;\n }\n }, [ripples]);\n\n // Used to filter out mouse emulated events on mobile.\n const ignoringMouseDown = React.useRef(false);\n // We use a timer in order to only show the ripples for touch \"click\" like events.\n // We don't want to display the ripple for touch scroll events.\n const startTimer = useTimeout();\n\n // This is the hook called once the previous timeout is ready.\n const startTimerCommit = React.useRef(null);\n const container = React.useRef(null);\n const startCommit = React.useCallback(params => {\n const {\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n } = params;\n setRipples(oldRipples => [...oldRipples, /*#__PURE__*/_jsx(TouchRippleRipple, {\n classes: {\n ripple: clsx(classes.ripple, touchRippleClasses.ripple),\n rippleVisible: clsx(classes.rippleVisible, touchRippleClasses.rippleVisible),\n ripplePulsate: clsx(classes.ripplePulsate, touchRippleClasses.ripplePulsate),\n child: clsx(classes.child, touchRippleClasses.child),\n childLeaving: clsx(classes.childLeaving, touchRippleClasses.childLeaving),\n childPulsate: clsx(classes.childPulsate, touchRippleClasses.childPulsate)\n },\n timeout: DURATION,\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize\n }, nextKey.current)]);\n nextKey.current += 1;\n rippleCallback.current = cb;\n }, [classes]);\n const start = React.useCallback((event = {}, options = {}, cb = () => {}) => {\n const {\n pulsate = false,\n center = centerProp || options.pulsate,\n fakeElement = false // For test purposes\n } = options;\n if (event?.type === 'mousedown' && ignoringMouseDown.current) {\n ignoringMouseDown.current = false;\n return;\n }\n if (event?.type === 'touchstart') {\n ignoringMouseDown.current = true;\n }\n const element = fakeElement ? null : container.current;\n const rect = element ? element.getBoundingClientRect() : {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n };\n\n // Get the size of the ripple\n let rippleX;\n let rippleY;\n let rippleSize;\n if (center || event === undefined || event.clientX === 0 && event.clientY === 0 || !event.clientX && !event.touches) {\n rippleX = Math.round(rect.width / 2);\n rippleY = Math.round(rect.height / 2);\n } else {\n const {\n clientX,\n clientY\n } = event.touches && event.touches.length > 0 ? event.touches[0] : event;\n rippleX = Math.round(clientX - rect.left);\n rippleY = Math.round(clientY - rect.top);\n }\n if (center) {\n rippleSize = Math.sqrt((2 * rect.width ** 2 + rect.height ** 2) / 3);\n\n // For some reason the animation is broken on Mobile Chrome if the size is even.\n if (rippleSize % 2 === 0) {\n rippleSize += 1;\n }\n } else {\n const sizeX = Math.max(Math.abs((element ? element.clientWidth : 0) - rippleX), rippleX) * 2 + 2;\n const sizeY = Math.max(Math.abs((element ? element.clientHeight : 0) - rippleY), rippleY) * 2 + 2;\n rippleSize = Math.sqrt(sizeX ** 2 + sizeY ** 2);\n }\n\n // Touche devices\n if (event?.touches) {\n // check that this isn't another touchstart due to multitouch\n // otherwise we will only clear a single timer when unmounting while two\n // are running\n if (startTimerCommit.current === null) {\n // Prepare the ripple effect.\n startTimerCommit.current = () => {\n startCommit({\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n });\n };\n // Delay the execution of the ripple effect.\n // We have to make a tradeoff with this delay value.\n startTimer.start(DELAY_RIPPLE, () => {\n if (startTimerCommit.current) {\n startTimerCommit.current();\n startTimerCommit.current = null;\n }\n });\n }\n } else {\n startCommit({\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n });\n }\n }, [centerProp, startCommit, startTimer]);\n const pulsate = React.useCallback(() => {\n start({}, {\n pulsate: true\n });\n }, [start]);\n const stop = React.useCallback((event, cb) => {\n startTimer.clear();\n\n // The touch interaction occurs too quickly.\n // We still want to show ripple effect.\n if (event?.type === 'touchend' && startTimerCommit.current) {\n startTimerCommit.current();\n startTimerCommit.current = null;\n startTimer.start(0, () => {\n stop(event, cb);\n });\n return;\n }\n startTimerCommit.current = null;\n setRipples(oldRipples => {\n if (oldRipples.length > 0) {\n return oldRipples.slice(1);\n }\n return oldRipples;\n });\n rippleCallback.current = cb;\n }, [startTimer]);\n React.useImperativeHandle(ref, () => ({\n pulsate,\n start,\n stop\n }), [pulsate, start, stop]);\n return /*#__PURE__*/_jsx(TouchRippleRoot, {\n className: clsx(touchRippleClasses.root, classes.root, className),\n ref: container,\n ...other,\n children: /*#__PURE__*/_jsx(TransitionGroup, {\n component: null,\n exit: true,\n children: ripples\n })\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? TouchRipple.propTypes /* remove-proptypes */ = {\n /**\n * If `true`, the ripple starts at the center of the component\n * rather than at the point of interaction.\n */\n center: PropTypes.bool,\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} : void 0;\nexport default TouchRipple;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getButtonBaseUtilityClass(slot) {\n return generateUtilityClass('MuiButtonBase', slot);\n}\nconst buttonBaseClasses = generateUtilityClasses('MuiButtonBase', ['root', 'disabled', 'focusVisible']);\nexport default buttonBaseClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport composeClasses from '@mui/utils/composeClasses';\nimport isFocusVisible from '@mui/utils/isFocusVisible';\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport useForkRef from \"../utils/useForkRef.js\";\nimport useEventCallback from \"../utils/useEventCallback.js\";\nimport useLazyRipple from \"../useLazyRipple/index.js\";\nimport TouchRipple from \"./TouchRipple.js\";\nimport buttonBaseClasses, { getButtonBaseUtilityClass } from \"./buttonBaseClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n focusVisible,\n focusVisibleClassName,\n classes\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', focusVisible && 'focusVisible']\n };\n const composedClasses = composeClasses(slots, getButtonBaseUtilityClass, classes);\n if (focusVisible && focusVisibleClassName) {\n composedClasses.root += ` ${focusVisibleClassName}`;\n }\n return composedClasses;\n};\nexport const ButtonBaseRoot = styled('button', {\n name: 'MuiButtonBase',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n boxSizing: 'border-box',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n MozAppearance: 'none',\n // Reset\n WebkitAppearance: 'none',\n // Reset\n textDecoration: 'none',\n // So we take precedent over the style of a native element.\n color: 'inherit',\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n },\n [`&.${buttonBaseClasses.disabled}`]: {\n pointerEvents: 'none',\n // Disable link interactions\n cursor: 'default'\n },\n '@media print': {\n colorAdjust: 'exact'\n }\n});\n\n/**\n * `ButtonBase` contains as few styles as possible.\n * It aims to be a simple building block for creating a button.\n * It contains a load of style reset and some focus/ripple logic.\n */\nconst ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiButtonBase'\n });\n const {\n action,\n centerRipple = false,\n children,\n className,\n component = 'button',\n disabled = false,\n disableRipple = false,\n disableTouchRipple = false,\n focusRipple = false,\n focusVisibleClassName,\n LinkComponent = 'a',\n onBlur,\n onClick,\n onContextMenu,\n onDragLeave,\n onFocus,\n onFocusVisible,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n onMouseLeave,\n onMouseUp,\n onTouchEnd,\n onTouchMove,\n onTouchStart,\n tabIndex = 0,\n TouchRippleProps,\n touchRippleRef,\n type,\n ...other\n } = props;\n const buttonRef = React.useRef(null);\n const ripple = useLazyRipple();\n const handleRippleRef = useForkRef(ripple.ref, touchRippleRef);\n const [focusVisible, setFocusVisible] = React.useState(false);\n if (disabled && focusVisible) {\n setFocusVisible(false);\n }\n React.useImperativeHandle(action, () => ({\n focusVisible: () => {\n setFocusVisible(true);\n buttonRef.current.focus();\n }\n }), []);\n const enableTouchRipple = ripple.shouldMount && !disableRipple && !disabled;\n React.useEffect(() => {\n if (focusVisible && focusRipple && !disableRipple) {\n ripple.pulsate();\n }\n }, [disableRipple, focusRipple, focusVisible, ripple]);\n const handleMouseDown = useRippleHandler(ripple, 'start', onMouseDown, disableTouchRipple);\n const handleContextMenu = useRippleHandler(ripple, 'stop', onContextMenu, disableTouchRipple);\n const handleDragLeave = useRippleHandler(ripple, 'stop', onDragLeave, disableTouchRipple);\n const handleMouseUp = useRippleHandler(ripple, 'stop', onMouseUp, disableTouchRipple);\n const handleMouseLeave = useRippleHandler(ripple, 'stop', event => {\n if (focusVisible) {\n event.preventDefault();\n }\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n }, disableTouchRipple);\n const handleTouchStart = useRippleHandler(ripple, 'start', onTouchStart, disableTouchRipple);\n const handleTouchEnd = useRippleHandler(ripple, 'stop', onTouchEnd, disableTouchRipple);\n const handleTouchMove = useRippleHandler(ripple, 'stop', onTouchMove, disableTouchRipple);\n const handleBlur = useRippleHandler(ripple, 'stop', event => {\n if (!isFocusVisible(event.target)) {\n setFocusVisible(false);\n }\n if (onBlur) {\n onBlur(event);\n }\n }, false);\n const handleFocus = useEventCallback(event => {\n // Fix for https://github.com/facebook/react/issues/7769\n if (!buttonRef.current) {\n buttonRef.current = event.currentTarget;\n }\n if (isFocusVisible(event.target)) {\n setFocusVisible(true);\n if (onFocusVisible) {\n onFocusVisible(event);\n }\n }\n if (onFocus) {\n onFocus(event);\n }\n });\n const isNonNativeButton = () => {\n const button = buttonRef.current;\n return component && component !== 'button' && !(button.tagName === 'A' && button.href);\n };\n const handleKeyDown = useEventCallback(event => {\n // Check if key is already down to avoid repeats being counted as multiple activations\n if (focusRipple && !event.repeat && focusVisible && event.key === ' ') {\n ripple.stop(event, () => {\n ripple.start(event);\n });\n }\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === ' ') {\n event.preventDefault();\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n\n // Keyboard accessibility for non interactive elements\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === 'Enter' && !disabled) {\n event.preventDefault();\n if (onClick) {\n onClick(event);\n }\n }\n });\n const handleKeyUp = useEventCallback(event => {\n // calling preventDefault in keyUp on a \n {isSelected && textOnlyEndAdornmentWhenActive}\n \n );\n })\n : selections.map((selection, i) => {\n const isSelected = selection.value === state;\n\n return (\n handleSelect(selection.value)}\n sx={sxSecondButtonStyles(colorsToUse, isSelected, manyItems, connected)}\n >\n {selection.label}\n \n );\n })}\n \n );\n};\n","import React, { ReactNode, useState } from 'react';\n\nimport { ContentCopyOutlined } from '@mui/icons-material';\nimport { Variant } from '@mui/material/styles/createTypography';\nimport { Alert, IconButton, Snackbar, Typography, TypographyProps } from '@mui/material';\n\nimport { theme } from '../../theme';\nimport { typographyOptions } from '../../theme/typography';\n\nexport type ContrastTypes = 'low' | 'medium' | 'high';\n\nexport type TextTypes = 'h1' | 'h2' | 'h3' | 'button' | 'small' | 'body' | 'bodyBold' | 'tiny' | 'tinyBold';\n\nexport interface TextProps extends Omit {\n text: ReactNode;\n type?: TextTypes;\n includeCopy?: boolean;\n contrast?: ContrastTypes;\n copyOnTopPosition?: boolean;\n component?: React.ElementType;\n}\n\nfunction getTextType(type: TextTypes | undefined): Variant {\n switch (type) {\n case 'h1':\n return 'h1';\n\n case 'h2':\n return 'h2';\n\n case 'h3':\n return 'h3';\n\n case 'button':\n return 'button';\n\n case 'small':\n return 'h5';\n\n case 'body':\n return 'body1';\n\n case 'bodyBold':\n return 'body2';\n\n case 'tiny':\n return 'subtitle1';\n\n case 'tinyBold':\n return 'subtitle2';\n\n default:\n return 'body1';\n }\n}\n\nconst TEXT_COPIED = 'Text copied to clipboard';\n\nexport const Text = (props: TextProps) => {\n const {\n text,\n type,\n color,\n contrast,\n includeCopy = false,\n overflow = 'hidden',\n whiteSpace = 'pre-line',\n copyOnTopPosition = false,\n textOverflow = 'ellipsis',\n component = 'span',\n ...otherProps\n } = props;\n\n const [snackOpen, setSnackOpen] = useState(false);\n\n const getContrastColor = (type: TextTypes | undefined, contrast: ContrastTypes | undefined) => {\n const typographyType = typographyOptions[getTextType(type)];\n const contrasts = typographyType?.contrasts as Record;\n\n switch (contrast) {\n case 'low':\n return contrasts?.low;\n case 'medium':\n return contrasts?.medium;\n case 'high':\n return contrasts?.high;\n default:\n return typographyType?.color || '';\n }\n };\n\n const copyToClipboard = (e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n setSnackOpen(true);\n\n navigator?.clipboard?.writeText(text as string);\n };\n\n return (\n \n {text}\n {includeCopy && (\n copyToClipboard(e)}>\n \n \n )}\n setSnackOpen(false)}\n >\n \n {TEXT_COPIED}\n \n \n \n );\n};\n","export const sxStyles = { width: '18px', height: '18px' };\n","import React from 'react';\n\nimport CloseIcon from '@mui/icons-material/Close';\nimport SearchIcon from '@mui/icons-material/Search';\nimport { Box, OutlinedInput, InputProps as MUIInputProps, styled } from '@mui/material';\n\nimport { Text } from '../Text/Text';\n\nimport { sxStyles } from './Input.styles';\n\nexport const StyledInputLabel = styled(Text)({\n margin: '3px'\n});\n\nconst StyledOutlinedInput = styled(OutlinedInput)(({ theme }) => ({\n borderRadius: '5px',\n color: theme.palette.grey[600],\n\n '& input': { padding: '10px 12px' },\n '& fieldset': { borderColor: theme.palette.grey[300] },\n '&:hover fieldset': {\n borderColor: `${theme.palette.grey[300]} !important`,\n borderWidth: '2px !important'\n },\n '&.Mui-focused fieldset': {\n borderColor: `${theme.palette.primary.main} !important`,\n borderWidth: '1px !important'\n }\n}));\n\nconst StyledSearchIcon = styled(SearchIcon)(({ theme }) => ({\n color: theme.palette.grey[400]\n}));\n\nexport interface InputProps extends MUIInputProps {\n value: string;\n label?: string;\n searchField?: boolean;\n onCloseIconClick?: () => void;\n}\n\nexport const Input = (props: InputProps) => {\n const { value, onCloseIconClick, searchField, label, ...otherProps } = props;\n\n const id = label ? 'id ' + label : label;\n\n const CloseIconAdornment = ;\n\n return (\n \n {label && }\n \n )\n ) : (\n value && onCloseIconClick && CloseIconAdornment\n )\n }\n fullWidth\n {...otherProps}\n />\n \n );\n};\n","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\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-2zm-2 10H7v-2h10v2z\"\n}), 'IndeterminateCheckBox');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCheckboxUtilityClass(slot) {\n return generateUtilityClass('MuiCheckbox', slot);\n}\nconst checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium']);\nexport default checkboxClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport SwitchBase from \"../internal/SwitchBase.js\";\nimport CheckBoxOutlineBlankIcon from \"../internal/svg-icons/CheckBoxOutlineBlank.js\";\nimport CheckBoxIcon from \"../internal/svg-icons/CheckBox.js\";\nimport IndeterminateCheckBoxIcon from \"../internal/svg-icons/IndeterminateCheckBox.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport rootShouldForwardProp from \"../styles/rootShouldForwardProp.js\";\nimport checkboxClasses, { getCheckboxUtilityClass } from \"./checkboxClasses.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n indeterminate,\n color,\n size\n } = ownerState;\n const slots = {\n root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`, `size${capitalize(size)}`]\n };\n const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);\n return {\n ...classes,\n // forward the disabled and checked classes to the SwitchBase\n ...composedClasses\n };\n};\nconst CheckboxRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiCheckbox',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.indeterminate && styles.indeterminate, styles[`size${capitalize(ownerState.size)}`], ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n color: (theme.vars || theme).palette.text.secondary,\n variants: [{\n props: {\n color: 'default',\n disableRipple: false\n },\n style: {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, theme.palette.action.hoverOpacity)\n }\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color,\n disableRipple: false\n },\n style: {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[color].main, theme.palette.action.hoverOpacity)\n }\n }\n })), ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color\n },\n style: {\n [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {\n color: (theme.vars || theme).palette[color].main\n },\n [`&.${checkboxClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n }\n })), {\n // Should be last to override other colors\n props: {\n disableRipple: false\n },\n style: {\n // Reset on touch devices, it doesn't add specificity\n '&:hover': {\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n }\n }]\n})));\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCheckbox'\n });\n const {\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon: iconProp = defaultIcon,\n indeterminate = false,\n indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,\n inputProps,\n size = 'medium',\n disableRipple = false,\n className,\n ...other\n } = props;\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n const ownerState = {\n ...props,\n disableRipple,\n color,\n indeterminate,\n size\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CheckboxRoot, {\n type: \"checkbox\",\n inputProps: {\n 'data-indeterminate': indeterminate,\n ...inputProps\n },\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: icon.props.fontSize ?? size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(indeterminateIcon, {\n fontSize: indeterminateIcon.props.fontSize ?? size\n }),\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className),\n disableRipple: disableRipple,\n ...other,\n classes: classes\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.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 * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n * @default \n */\n checkedIcon: 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 * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * The icon to display when the component is unchecked.\n * @default \n */\n icon: PropTypes.node,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * If `true`, the component appears indeterminate.\n * This does not set the native input element to indeterminate due\n * to inconsistent behavior across browsers.\n * However, we set a `data-indeterminate` attribute on the `input`.\n * @default false\n */\n indeterminate: PropTypes.bool,\n /**\n * The icon to display when the component is indeterminate.\n * @default \n */\n indeterminateIcon: PropTypes.node,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * If `true`, the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The size of the component.\n * `small` is equivalent to the dense checkbox styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), 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 * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Checkbox;","import { Checkbox, styled, Theme } from '@mui/material';\n\nexport const sxBorderStyles = (theme: Theme) => ({ height: '1px', background: theme.palette.grey[200], width: '100%' });\n\nexport const sxLabelStyles = (theme: Theme, disabled?: boolean) => ({\n margin: '2px 0 0 -2px',\n opacity: disabled ? 0.5 : 1,\n color: theme?.palette.common?.black\n});\n\nexport const MUIStyledCheckbox = styled(Checkbox)(({ theme }) => ({\n color: theme.palette.grey[300]\n}));\n","import React, { useState } from 'react';\n\nimport FormControl from '@mui/material/FormControl';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport { FormGroup, CheckboxProps as MUICheckboxProps, Stack, useTheme } from '@mui/material';\n\nimport { Text } from '../../Text/Text';\nimport { Input } from '../../Input/Input';\n\nimport { MUIStyledCheckbox, sxBorderStyles, sxLabelStyles } from './Checkbox.styles';\n\nexport interface CheckboxProps extends MUICheckboxProps {\n limit?: number;\n state: string[];\n formTitle?: string;\n disabled?: boolean;\n noAllCount?: boolean;\n searchField?: boolean;\n defaultValue?: string;\n withSelectAll?: boolean;\n direction?: 'row' | 'column';\n options: {\n value: string;\n label?: string;\n count?: number;\n disabled?: boolean;\n }[];\n setState: (state: string[]) => void;\n}\n\nexport const Checkbox = (props: CheckboxProps) => {\n const {\n state,\n options,\n formTitle,\n disabled,\n noAllCount,\n searchField,\n withSelectAll,\n direction = 'column',\n limit = options.length,\n setState,\n ...otherProps\n } = props;\n\n const theme = useTheme();\n\n const [err, setErr] = useState(false);\n const [searchInput, setSearchInput] = useState('');\n\n const isAllSelected = state.length === options.length;\n const allCount: number = Array?.isArray(options)\n ? options?.reduce((sum, option) => sum + (option?.count ? Number(option?.count) : 0), 0)\n : 0;\n\n const filteredOptions = options.filter(option => option.label?.toLowerCase().includes(searchInput.toLowerCase()));\n\n const handleCheckboxClick = (value: string) => {\n setErr(false);\n\n if (state.includes(value)) {\n setState(state.filter((stateVal: string) => value !== stateVal));\n } else {\n if (state.length === limit) {\n setErr(true);\n } else {\n setState([...state, value]);\n }\n }\n };\n\n const handleSelectAllClick = () => {\n setErr(false);\n if (state.length === options.length) {\n setState([]);\n } else {\n setState(options.map(option => option.value));\n }\n };\n\n return (\n \n {formTitle && }\n {searchField && setSearchInput(e?.target?.value)} searchField />}\n \n {withSelectAll && (\n <>\n \n }\n label={\n \n }\n onChange={handleSelectAllClick}\n />\n {!noAllCount && allCount ? : <>}\n \n \n \n )}\n \n {filteredOptions.map((option, i) => (\n \n \n }\n label={\n option.label && \n }\n onChange={() => handleCheckboxClick(option.value)}\n />\n {typeof option?.count === 'number' ? (\n \n ) : (\n <>\n )}\n \n ))}\n \n \n {err && (\n \n )}\n \n );\n};\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","'use client';\n\n// @inheritedComponent IconButton\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha, darken, lighten } from '@mui/system/colorManipulator';\nimport capitalize from \"../utils/capitalize.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport SwitchBase from \"../internal/SwitchBase.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport switchClasses, { getSwitchUtilityClass } from \"./switchClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return {\n ...classes,\n // forward the disabled and checked classes to the SwitchBase\n ...composedClasses\n };\n};\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n },\n variants: [{\n props: {\n edge: 'start'\n },\n style: {\n marginLeft: -8\n }\n }, {\n props: {\n edge: 'end'\n },\n style: {\n marginRight: -8\n }\n }, {\n props: {\n size: 'small'\n },\n style: {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n }\n }]\n});\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.vars ? theme.vars.palette.Switch.defaultColor : `${theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300]}`,\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.vars ? theme.vars.palette.Switch.defaultDisabledColor : `${theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]}`\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.vars ? theme.vars.opacity.switchTrackDisabled : `${theme.palette.mode === 'light' ? 0.12 : 0.2}`\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n})), memoTheme(({\n theme\n}) => ({\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n variants: [...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(['light'])) // check all the used fields in the style below\n .map(([color]) => ({\n props: {\n color\n },\n style: {\n [`&.${switchClasses.checked}`]: {\n color: (theme.vars || theme).palette[color].main,\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[color].main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.vars ? theme.vars.palette.Switch[`${color}DisabledColor`] : `${theme.palette.mode === 'light' ? lighten(theme.palette[color].main, 0.62) : darken(theme.palette[color].main, 0.55)}`\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: (theme.vars || theme).palette[color].main\n }\n }\n }))]\n})));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(memoTheme(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.vars ? theme.vars.palette.common.onBackground : `${theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white}`,\n opacity: theme.vars ? theme.vars.opacity.switchTrack : `${theme.palette.mode === 'light' ? 0.38 : 0.3}`\n})));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(memoTheme(({\n theme\n}) => ({\n boxShadow: (theme.vars || theme).shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n})));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx,\n ...other\n } = props;\n const ownerState = {\n ...props,\n color,\n edge,\n size\n };\n const classes = useUtilityClasses(ownerState);\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, {\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState,\n ...other,\n classes: {\n ...classes,\n root: classes.switchBase\n }\n }), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.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 * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: 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 * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * If `true`, the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), 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 * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Switch;","import { FormControlLabel, Switch, styled } from '@mui/material';\n\nexport const StyledFormControlLabel = styled(FormControlLabel)({\n marginRight: 0,\n\n '& .MuiFormControlLabel-label': {\n fontWeight: 600,\n fontSize: '14px',\n marginRight: '9px',\n lineHeight: '17px',\n transform: 'translateY(-1px)',\n\n '&.Mui-disabled': { opacity: 0.3 }\n }\n});\n\nexport const StyledSwitch = styled(Switch)(({ theme }) => ({\n width: 36,\n height: 18,\n padding: 0,\n marginRight: 12,\n display: 'flex',\n\n '&:active': {\n '& .MuiSwitch-thumb': { width: 16 },\n\n '& .MuiSwitch-switchBase.Mui-checked': { transform: 'translateX(10px)' }\n },\n\n '& .MuiSwitch-switchBase': {\n padding: 2.2,\n\n '&.Mui-checked': {\n transform: 'translateX(18px)',\n color: theme.palette.common.white,\n\n '& + .MuiSwitch-track': { opacity: 1, backgroundColor: theme.palette.primary.main }\n }\n },\n\n '& .MuiSwitch-thumb': {\n width: 14,\n height: 14,\n margin: '0',\n boxShadow: 'none',\n borderRadius: 14 / 2,\n backgroundColor: '#ffffff',\n transition: theme.transitions.create(['width'], { duration: 200 })\n },\n\n '& .MuiSwitch-track': {\n opacity: 1,\n borderRadius: '16px',\n boxSizing: 'border-box',\n backgroundColor: theme.palette.grey['300'],\n\n '&:after, &:before': {\n top: '3px',\n fontSize: 8,\n color: 'white',\n fontWeight: 700,\n lineHeight: '8px',\n position: 'absolute'\n },\n\n '&:after': {\n left: '4px',\n content: '\"✓\"',\n fontSize: '13px',\n marginTop: '2px'\n }\n }\n}));\n","import React from 'react';\n\nimport { Text } from '../../Text/Text';\n\nimport { StyledFormControlLabel, StyledSwitch } from './Toggle.styles';\n\nimport { paletteOptions } from '../../../theme/palette';\n\nexport interface ToggleProps {\n label?: string;\n state: boolean;\n disabled?: boolean;\n labelPlacement?: 'start' | 'end';\n setState: (arg: boolean) => void;\n}\n\nexport const Toggle = (props: ToggleProps) => {\n const { label, disabled, labelPlacement = 'end', state, setState } = props;\n\n const labelColor = state\n ? paletteOptions.primary?.['main' as keyof typeof paletteOptions.primary]\n : paletteOptions.grey?.[400];\n\n return (\n setState(!state)} checked={state} data-testid=\"Toggle\" />}\n label={label && }\n labelPlacement={labelPlacement}\n disabled={disabled}\n />\n );\n};\n","import React, { useEffect } from 'react';\n\nimport { Radio as MUIRadio, Stack, useTheme } from '@mui/material';\nimport RadioGroup from '@mui/material/RadioGroup';\nimport FormControl from '@mui/material/FormControl';\nimport FormControlLabel from '@mui/material/FormControlLabel';\n\nimport { Text } from '../../Text/Text';\n\nexport interface RadioProps {\n state: string | undefined;\n setState: (state: string) => void;\n options: {\n value: string;\n label?: string;\n disabled?: boolean;\n icon?: React.ReactNode;\n }[];\n formTitle?: string;\n disabled?: boolean;\n defaultValue?: string;\n direction?: 'row' | 'column';\n}\n\nexport const Radio = (props: RadioProps) => {\n const { state, setState, options, formTitle, disabled, defaultValue, direction = 'column' } = props;\n\n const { palette } = useTheme();\n\n const row = direction === 'row';\n\n const labelColor = (value: string) =>\n state === value && palette.primary.main ? palette?.grey[500] : palette?.grey[500];\n\n useEffect(() => {\n const setDefaultValue = () => defaultValue && setState(defaultValue);\n\n setDefaultValue();\n }, []);\n\n return (\n \n {formTitle && }\n \n {options.map((option, i) => (\n }\n data-testid={`Radio${option.value}`}\n disabled={option.disabled}\n label={\n \n {option.icon && option.icon}\n {option.label && (\n \n )}\n \n }\n onChange={() => setState(option.value)}\n />\n ))}\n \n \n );\n};\n","import React from 'react';\n\nexport interface ImageProps {\n src: string;\n alt?: string;\n width?: string;\n height?: string;\n margin?: string;\n borderRadius?: string;\n background?: string;\n padding?: string;\n boxShadow?: string;\n id?: string;\n onClick?: () => void;\n style?: React.CSSProperties;\n}\n\nexport const Image = (props: ImageProps) => {\n const {\n src,\n alt = 'Deepchecks image',\n width = '100%',\n height = '100%',\n margin = '0',\n borderRadius = '0',\n background = 'transparent',\n padding = '0',\n boxShadow = 'none',\n id = '',\n onClick,\n style\n } = props;\n\n return (\n \n );\n};\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDialogContentUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContent', slot);\n}\nconst dialogContentClasses = generateUtilityClasses('MuiDialogContent', ['root', 'dividers']);\nexport default dialogContentClasses;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDialogTitleUtilityClass(slot) {\n return generateUtilityClass('MuiDialogTitle', slot);\n}\nconst dialogTitleClasses = generateUtilityClasses('MuiDialogTitle', ['root']);\nexport default dialogTitleClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { getDialogContentUtilityClass } from \"./dialogContentClasses.js\";\nimport dialogTitleClasses from \"../DialogTitle/dialogTitleClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n dividers\n } = ownerState;\n const slots = {\n root: ['root', dividers && 'dividers']\n };\n return composeClasses(slots, getDialogContentUtilityClass, classes);\n};\nconst DialogContentRoot = styled('div', {\n name: 'MuiDialogContent',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dividers && styles.dividers];\n }\n})(memoTheme(({\n theme\n}) => ({\n flex: '1 1 auto',\n // Add iOS momentum scrolling for iOS < 13.0\n WebkitOverflowScrolling: 'touch',\n overflowY: 'auto',\n padding: '20px 24px',\n variants: [{\n props: ({\n ownerState\n }) => ownerState.dividers,\n style: {\n padding: '16px 24px',\n borderTop: `1px solid ${(theme.vars || theme).palette.divider}`,\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`\n }\n }, {\n props: ({\n ownerState\n }) => !ownerState.dividers,\n style: {\n [`.${dialogTitleClasses.root} + &`]: {\n paddingTop: 0\n }\n }\n }]\n})));\nconst DialogContent = /*#__PURE__*/React.forwardRef(function DialogContent(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiDialogContent'\n });\n const {\n className,\n dividers = false,\n ...other\n } = props;\n const ownerState = {\n ...props,\n dividers\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentRoot, {\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref,\n ...other\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContent.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 * The content of the component.\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 * Display the top and bottom dividers.\n * @default false\n */\n dividers: PropTypes.bool,\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} : void 0;\nexport default DialogContent;","export const sxStyles = { transform: 'translateX(12px)' };\nexport const sxDialogBaseStyles = { '.MuiDialog-paper': { borderRadius: '16px' } };\nexport const sxDialogBaseContentStyles = { padding: '16px 14px', minWidth: '550px' };\n","import React from 'react';\n\nimport { DialogProps, Dialog, DialogContent } from '@mui/material';\n\nimport { sxDialogBaseContentStyles, sxDialogBaseStyles } from './Dialog.styles';\n\nexport const DialogBase = (props: DialogProps) => {\n const { open, children, sx, ...otherProps } = props;\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === 'Escape' && otherProps?.onClose) {\n otherProps?.onClose(event, 'escapeKeyDown');\n }\n };\n\n return (\n \n {children}\n \n );\n};\n","import React, { ReactNode } from 'react';\n\nimport CloseIcon from '@mui/icons-material/Close';\nimport { IconButton, DialogProps as MUIDialogProps } from '@mui/material';\n\nimport { Text } from '../Text/Text';\nimport { Button } from '../Button/Button';\nimport { DialogBase } from './DialogBase';\nimport { Container } from '../Container/Container';\n\nimport { sxStyles } from './Dialog.styles';\n\nexport interface DialogProps extends MUIDialogProps {\n open: boolean;\n title: string;\n onlySave?: boolean;\n isLoading?: boolean;\n onlyCancel?: boolean;\n hideButtons?: boolean;\n submitButtonLabel?: string;\n submitButtonWidth?: string;\n alertTypeButtons?: boolean;\n cancelButtonLabel?: string;\n submitButtonDisabled?: boolean;\n submitButtonStartIcon?: ReactNode;\n children?: ReactNode | ReactNode[];\n closeDialog: () => void;\n submitButtonAction?: () => void;\n cancelButtonAction?: () => void;\n}\n\nexport const Dialog = (props: DialogProps) => {\n const {\n open,\n title,\n children,\n onlySave,\n isLoading,\n onlyCancel,\n alertTypeButtons,\n submitButtonLabel,\n hideButtons = false,\n submitButtonDisabled,\n submitButtonStartIcon,\n submitButtonWidth = 'auto',\n cancelButtonLabel = 'Cancel',\n closeDialog,\n submitButtonAction,\n cancelButtonAction,\n ...otherProps\n } = props;\n\n const buttonColor = alertTypeButtons ? 'error' : 'primary';\n\n return (\n \n \n \n \n \n \n \n {children}\n {!hideButtons && (\n \n {!onlySave && (\n \n )}\n {!onlyCancel && (\n \n )}\n \n )}\n \n );\n};\n","import React, { ReactNode } from 'react';\n\nimport { Dialog, DialogProps } from '../Dialog';\nimport { Text } from '../../Text/Text';\n\ninterface DeletionDialogProps extends DialogProps {\n messageStart?: string;\n itemToDelete?: string | number;\n messageEnd?: string;\n loading?: boolean;\n children?: ReactNode | ReactNode[];\n}\n\nexport const DeletionDialog = ({\n messageStart,\n messageEnd,\n itemToDelete,\n loading,\n children,\n ...otherProps\n}: DeletionDialogProps) => {\n return (\n \n \n {messageStart} {itemToDelete} {messageEnd}\n \n }\n />\n {children}\n \n );\n};\n","import React from 'react';\nimport { useTheme } from '@mui/material';\n\nimport { paletteOptions } from '../../theme/palette';\n\nimport { Container } from '../Container/Container';\nimport { Image } from '../Image/Image';\nimport { Text } from '../Text/Text';\n\nexport interface SeverityProps {\n severity?: 'low' | 'medium' | 'high' | 'critical';\n number?: number;\n hideInfo?: boolean;\n margin?: string;\n width?: string;\n}\n\nexport const Severity = ({ severity, number, hideInfo, margin = '0', width = 'auto' }: SeverityProps) => {\n const theme = useTheme();\n\n const purpleIcon = require('../../assets/severity/purple.svg').default;\n const lowIcon = require('../../assets/severity/low.svg').default;\n const mediumIcon = require('../../assets/severity/medium.svg').default;\n const highIcon = require('../../assets/severity/high.svg').default;\n const criticalIcon = require('../../assets/severity/critical.svg').default;\n\n const showSeverity = severity && !hideInfo;\n\n const severityLevel = () => {\n switch (severity) {\n case 'low':\n return {\n icon: lowIcon,\n color: paletteOptions.severity?.low,\n alt: 'low level'\n };\n case 'medium':\n return {\n icon: mediumIcon,\n color: paletteOptions.severity?.medium,\n alt: 'medium level'\n };\n case 'high':\n return {\n icon: highIcon,\n color: paletteOptions.severity?.high,\n alt: 'high level'\n };\n case 'critical':\n return {\n icon: criticalIcon,\n color: paletteOptions.severity?.critical,\n alt: 'critical level'\n };\n default:\n return {\n icon: purpleIcon,\n color: theme.palette.primary.main,\n alt: 'primary'\n };\n }\n };\n\n return (\n \n {severityLevel().alt}\n {showSeverity && (\n \n \n \n \n )}\n \n );\n};\n","import React from 'react';\n\nexport interface LogoProps {\n withLabel?: boolean;\n margin?: string;\n width?: string;\n}\n\nexport const Logo = (props: LogoProps) => {\n const { withLabel, margin = '8px' } = props;\n\n const logoWithoutLabel = require('../../assets/logo/logo.svg').default;\n const logoWithLabel = require('../../assets/logo/monitoring.svg').default;\n\n const imgWidth = withLabel ? '200px' : '40px';\n\n const logoToUse = () => {\n switch (withLabel) {\n case true:\n return logoWithLabel;\n default:\n return logoWithoutLabel;\n }\n };\n\n return \"logo\";\n};\n","export const sxStyles = {\n width: 50,\n height: '100%',\n display: 'flex',\n alignItems: 'center',\n margin: '0 auto'\n};\n","import React from 'react';\n\nimport { SxProps } from '@mui/system';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport Box from '@mui/material/Box';\n\nimport { sxStyles } from './Loader.styles';\n\nexport type LoaderProps = {\n sx?: SxProps;\n};\n\nexport const Loader = ({ sx }: LoaderProps) => (\n \n \n \n);\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport const getPickersLocalization = pickersTranslations => {\n return {\n components: {\n MuiLocalizationProvider: {\n defaultProps: {\n localeText: _extends({}, pickersTranslations)\n }\n }\n }\n };\n};\nexport const buildGetOpenDialogAriaText = params => {\n const {\n utils,\n formatKey,\n contextTranslation,\n propsTranslation\n } = params;\n return value => {\n const formattedValue = value !== null && utils.isValid(value) ? utils.format(value, formatKey) : null;\n const translation = propsTranslation ?? contextTranslation;\n return translation(value, utils, formattedValue);\n };\n};","import { getPickersLocalization } from \"./utils/getPickersLocalization.js\";\n\n// This object is not Partial because it is the default values\n\nconst enUSPickers = {\n // Calendar navigation\n previousMonth: 'Previous month',\n nextMonth: 'Next month',\n // View navigation\n openPreviousView: 'Open previous view',\n openNextView: 'Open next view',\n calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'year view is open, switch to calendar view' : 'calendar view is open, switch to year view',\n // DateRange labels\n start: 'Start',\n end: 'End',\n startDate: 'Start date',\n startTime: 'Start time',\n endDate: 'End date',\n endTime: 'End time',\n // Action bar\n cancelButtonLabel: 'Cancel',\n clearButtonLabel: 'Clear',\n okButtonLabel: 'OK',\n todayButtonLabel: 'Today',\n // Toolbar titles\n datePickerToolbarTitle: 'Select date',\n dateTimePickerToolbarTitle: 'Select date & time',\n timePickerToolbarTitle: 'Select time',\n dateRangePickerToolbarTitle: 'Select date range',\n // Clock labels\n clockLabelText: (view, time, utils, formattedTime) => `Select ${view}. ${!formattedTime && (time === null || !utils.isValid(time)) ? 'No time selected' : `Selected time is ${formattedTime ?? utils.format(time, 'fullTime')}`}`,\n hoursClockNumberText: hours => `${hours} hours`,\n minutesClockNumberText: minutes => `${minutes} minutes`,\n secondsClockNumberText: seconds => `${seconds} seconds`,\n // Digital clock labels\n selectViewText: view => `Select ${view}`,\n // Calendar labels\n calendarWeekNumberHeaderLabel: 'Week number',\n calendarWeekNumberHeaderText: '#',\n calendarWeekNumberAriaLabelText: weekNumber => `Week ${weekNumber}`,\n calendarWeekNumberText: weekNumber => `${weekNumber}`,\n // Open picker labels\n openDatePickerDialogue: (value, utils, formattedDate) => formattedDate || value !== null && utils.isValid(value) ? `Choose date, selected date is ${formattedDate ?? utils.format(value, 'fullDate')}` : 'Choose date',\n openTimePickerDialogue: (value, utils, formattedTime) => formattedTime || value !== null && utils.isValid(value) ? `Choose time, selected time is ${formattedTime ?? utils.format(value, 'fullTime')}` : 'Choose time',\n fieldClearLabel: 'Clear',\n // Table labels\n timeTableLabel: 'pick time',\n dateTableLabel: 'pick date',\n // Field section placeholders\n fieldYearPlaceholder: params => 'Y'.repeat(params.digitAmount),\n fieldMonthPlaceholder: params => params.contentType === 'letter' ? 'MMMM' : 'MM',\n fieldDayPlaceholder: () => 'DD',\n fieldWeekDayPlaceholder: params => params.contentType === 'letter' ? 'EEEE' : 'EE',\n fieldHoursPlaceholder: () => 'hh',\n fieldMinutesPlaceholder: () => 'mm',\n fieldSecondsPlaceholder: () => 'ss',\n fieldMeridiemPlaceholder: () => 'aa',\n // View names\n year: 'Year',\n month: 'Month',\n day: 'Day',\n weekDay: 'Week day',\n hours: 'Hours',\n minutes: 'Minutes',\n seconds: 'Seconds',\n meridiem: 'Meridiem',\n // Common\n empty: 'Empty'\n};\nexport const DEFAULT_LOCALE = enUSPickers;\nexport const enUS = getPickersLocalization(enUSPickers);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { MuiPickersAdapterContext } from \"../../LocalizationProvider/LocalizationProvider.js\";\nimport { DEFAULT_LOCALE } from \"../../locales/enUS.js\";\nexport const useLocalizationContext = () => {\n const localization = React.useContext(MuiPickersAdapterContext);\n if (localization === null) {\n throw new Error(['MUI X: Can not find the date and time pickers localization context.', 'It looks like you forgot to wrap your component in LocalizationProvider.', 'This can also happen if you are bundling multiple versions of the `@mui/x-date-pickers` package'].join('\\n'));\n }\n if (localization.utils === null) {\n throw new Error(['MUI X: Can not find the date and time pickers adapter from its localization context.', 'It looks like you forgot to pass a `dateAdapter` to your LocalizationProvider.'].join('\\n'));\n }\n const localeText = React.useMemo(() => _extends({}, DEFAULT_LOCALE, localization.localeText), [localization.localeText]);\n return React.useMemo(() => _extends({}, localization, {\n localeText\n }), [localization, localeText]);\n};\nexport const useUtils = () => useLocalizationContext().utils;\nexport const useDefaultDates = () => useLocalizationContext().defaultDates;\nexport const useNow = timezone => {\n const utils = useUtils();\n const now = React.useRef(undefined);\n if (now.current === undefined) {\n now.current = utils.date(undefined, timezone);\n }\n return now.current;\n};","export const areViewsEqual = (views, expectedViews) => {\n if (views.length !== expectedViews.length) {\n return false;\n }\n return expectedViews.every(expectedView => views.includes(expectedView));\n};\nexport const applyDefaultViewProps = ({\n openTo,\n defaultOpenTo,\n views,\n defaultViews\n}) => {\n const viewsWithDefault = views ?? defaultViews;\n let openToWithDefault;\n if (openTo != null) {\n openToWithDefault = openTo;\n } else if (viewsWithDefault.includes(defaultOpenTo)) {\n openToWithDefault = defaultOpenTo;\n } else if (viewsWithDefault.length > 0) {\n openToWithDefault = viewsWithDefault[0];\n } else {\n throw new Error('MUI X: The `views` prop must contain at least one view.');\n }\n return {\n views: viewsWithDefault,\n openTo: openToWithDefault\n };\n};","import { areViewsEqual } from \"./views.js\";\nexport const mergeDateAndTime = (utils, dateParam, timeParam) => {\n let mergedDate = dateParam;\n mergedDate = utils.setHours(mergedDate, utils.getHours(timeParam));\n mergedDate = utils.setMinutes(mergedDate, utils.getMinutes(timeParam));\n mergedDate = utils.setSeconds(mergedDate, utils.getSeconds(timeParam));\n mergedDate = utils.setMilliseconds(mergedDate, utils.getMilliseconds(timeParam));\n return mergedDate;\n};\nexport const findClosestEnabledDate = ({\n date,\n disableFuture,\n disablePast,\n maxDate,\n minDate,\n isDateDisabled,\n utils,\n timezone\n}) => {\n const today = mergeDateAndTime(utils, utils.date(undefined, timezone), date);\n if (disablePast && utils.isBefore(minDate, today)) {\n minDate = today;\n }\n if (disableFuture && utils.isAfter(maxDate, today)) {\n maxDate = today;\n }\n let forward = date;\n let backward = date;\n if (utils.isBefore(date, minDate)) {\n forward = minDate;\n backward = null;\n }\n if (utils.isAfter(date, maxDate)) {\n if (backward) {\n backward = maxDate;\n }\n forward = null;\n }\n while (forward || backward) {\n if (forward && utils.isAfter(forward, maxDate)) {\n forward = null;\n }\n if (backward && utils.isBefore(backward, minDate)) {\n backward = null;\n }\n if (forward) {\n if (!isDateDisabled(forward)) {\n return forward;\n }\n forward = utils.addDays(forward, 1);\n }\n if (backward) {\n if (!isDateDisabled(backward)) {\n return backward;\n }\n backward = utils.addDays(backward, -1);\n }\n }\n return null;\n};\nexport const replaceInvalidDateByNull = (utils, value) => value == null || !utils.isValid(value) ? null : value;\nexport const applyDefaultDate = (utils, value, defaultValue) => {\n if (value == null || !utils.isValid(value)) {\n return defaultValue;\n }\n return value;\n};\nexport const areDatesEqual = (utils, a, b) => {\n if (!utils.isValid(a) && a != null && !utils.isValid(b) && b != null) {\n return true;\n }\n return utils.isEqual(a, b);\n};\nexport const getMonthsInYear = (utils, year) => {\n const firstMonth = utils.startOfYear(year);\n const months = [firstMonth];\n while (months.length < 12) {\n const prevMonth = months[months.length - 1];\n months.push(utils.addMonths(prevMonth, 1));\n }\n return months;\n};\nexport const getTodayDate = (utils, timezone, valueType) => valueType === 'date' ? utils.startOfDay(utils.date(undefined, timezone)) : utils.date(undefined, timezone);\nexport const formatMeridiem = (utils, meridiem) => {\n const date = utils.setHours(utils.date(), meridiem === 'am' ? 2 : 14);\n return utils.format(date, 'meridiem');\n};\nconst dateViews = ['year', 'month', 'day'];\nexport const isDatePickerView = view => dateViews.includes(view);\nexport const resolveDateFormat = (utils, {\n format,\n views\n}, isInToolbar) => {\n if (format != null) {\n return format;\n }\n const formats = utils.formats;\n if (areViewsEqual(views, ['year'])) {\n return formats.year;\n }\n if (areViewsEqual(views, ['month'])) {\n return formats.month;\n }\n if (areViewsEqual(views, ['day'])) {\n return formats.dayOfMonth;\n }\n if (areViewsEqual(views, ['month', 'year'])) {\n return `${formats.month} ${formats.year}`;\n }\n if (areViewsEqual(views, ['day', 'month'])) {\n return `${formats.month} ${formats.dayOfMonth}`;\n }\n if (isInToolbar) {\n // Little localization hack (Google is doing the same for android native pickers):\n // For english localization it is convenient to include weekday into the date \"Mon, Jun 1\".\n // For other locales using strings like \"June 1\", without weekday.\n return /en/.test(utils.getCurrentLocaleCode()) ? formats.normalDateWithWeekday : formats.normalDate;\n }\n return formats.keyboardDate;\n};\nexport const getWeekdays = (utils, date) => {\n const start = utils.startOfWeek(date);\n return [0, 1, 2, 3, 4, 5, 6].map(diff => utils.addDays(start, diff));\n};","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport function getPickersToolbarUtilityClass(slot) {\n return generateUtilityClass('MuiPickersToolbar', slot);\n}\nexport const pickersToolbarClasses = generateUtilityClasses('MuiPickersToolbar', ['root', 'content']);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"toolbarTitle\", \"hidden\", \"titleId\", \"isLandscape\", \"classes\", \"landscapeDirection\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport Typography from '@mui/material/Typography';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { getPickersToolbarUtilityClass } from \"./pickersToolbarClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n content: ['content']\n };\n return composeClasses(slots, getPickersToolbarUtilityClass, classes);\n};\nconst PickersToolbarRoot = styled('div', {\n name: 'MuiPickersToolbar',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n padding: theme.spacing(2, 3),\n variants: [{\n props: {\n isLandscape: true\n },\n style: {\n height: 'auto',\n maxWidth: 160,\n padding: 16,\n justifyContent: 'flex-start',\n flexWrap: 'wrap'\n }\n }]\n}));\nconst PickersToolbarContent = styled('div', {\n name: 'MuiPickersToolbar',\n slot: 'Content',\n overridesResolver: (props, styles) => styles.content\n})({\n display: 'flex',\n flexWrap: 'wrap',\n width: '100%',\n flex: 1,\n justifyContent: 'space-between',\n alignItems: 'center',\n flexDirection: 'row',\n variants: [{\n props: {\n isLandscape: true\n },\n style: {\n justifyContent: 'flex-start',\n alignItems: 'flex-start',\n flexDirection: 'column'\n }\n }, {\n props: {\n isLandscape: true,\n landscapeDirection: 'row'\n },\n style: {\n flexDirection: 'row'\n }\n }]\n});\nexport const PickersToolbar = /*#__PURE__*/React.forwardRef(function PickersToolbar(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersToolbar'\n });\n const {\n children,\n className,\n toolbarTitle,\n hidden,\n titleId\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n if (hidden) {\n return null;\n }\n return /*#__PURE__*/_jsxs(PickersToolbarRoot, _extends({\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, other, {\n children: [/*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n variant: \"overline\",\n id: titleId,\n children: toolbarTitle\n }), /*#__PURE__*/_jsx(PickersToolbarContent, {\n className: classes.content,\n ownerState: ownerState,\n children: children\n })]\n }));\n});","'use client';\n\nimport { useLocalizationContext } from \"../internals/hooks/useUtils.js\";\nexport const usePickersTranslations = () => useLocalizationContext().localeText;","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport function getDatePickerToolbarUtilityClass(slot) {\n return generateUtilityClass('MuiDatePickerToolbar', slot);\n}\nexport const datePickerToolbarClasses = generateUtilityClasses('MuiDatePickerToolbar', ['root', 'title']);","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"value\", \"isLandscape\", \"onChange\", \"toolbarFormat\", \"toolbarPlaceholder\", \"views\", \"className\", \"onViewChange\", \"view\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport Typography from '@mui/material/Typography';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { PickersToolbar } from \"../internals/components/PickersToolbar.js\";\nimport { usePickersTranslations } from \"../hooks/usePickersTranslations.js\";\nimport { useUtils } from \"../internals/hooks/useUtils.js\";\nimport { getDatePickerToolbarUtilityClass } from \"./datePickerToolbarClasses.js\";\nimport { resolveDateFormat } from \"../internals/utils/date-utils.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n title: ['title']\n };\n return composeClasses(slots, getDatePickerToolbarUtilityClass, classes);\n};\nconst DatePickerToolbarRoot = styled(PickersToolbar, {\n name: 'MuiDatePickerToolbar',\n slot: 'Root',\n overridesResolver: (_, styles) => styles.root\n})({});\nconst DatePickerToolbarTitle = styled(Typography, {\n name: 'MuiDatePickerToolbar',\n slot: 'Title',\n overridesResolver: (_, styles) => styles.title\n})({\n variants: [{\n props: {\n isLandscape: true\n },\n style: {\n margin: 'auto 16px auto auto'\n }\n }]\n});\n/**\n * Demos:\n *\n * - [DatePicker](https://mui.com/x/react-date-pickers/date-picker/)\n * - [Custom components](https://mui.com/x/react-date-pickers/custom-components/)\n *\n * API:\n *\n * - [DatePickerToolbar API](https://mui.com/x/api/date-pickers/date-picker-toolbar/)\n */\nexport const DatePickerToolbar = /*#__PURE__*/React.forwardRef(function DatePickerToolbar(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDatePickerToolbar'\n });\n const {\n value,\n isLandscape,\n toolbarFormat,\n toolbarPlaceholder = '––',\n views,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const utils = useUtils();\n const translations = usePickersTranslations();\n const classes = useUtilityClasses(props);\n const dateText = React.useMemo(() => {\n if (!value) {\n return toolbarPlaceholder;\n }\n const formatFromViews = resolveDateFormat(utils, {\n format: toolbarFormat,\n views\n }, true);\n return utils.formatByString(value, formatFromViews);\n }, [value, toolbarFormat, toolbarPlaceholder, utils, views]);\n const ownerState = props;\n return /*#__PURE__*/_jsx(DatePickerToolbarRoot, _extends({\n ref: ref,\n toolbarTitle: translations.datePickerToolbarTitle,\n isLandscape: isLandscape,\n className: clsx(classes.root, className)\n }, other, {\n children: /*#__PURE__*/_jsx(DatePickerToolbarTitle, {\n variant: \"h4\",\n align: isLandscape ? 'left' : 'center',\n ownerState: ownerState,\n className: classes.title,\n children: dateText\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DatePickerToolbar.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 * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n /**\n * If `true`, show the toolbar even in desktop mode.\n * @default `true` for Desktop, `false` for Mobile.\n */\n hidden: PropTypes.bool,\n isLandscape: PropTypes.bool.isRequired,\n onChange: PropTypes.func.isRequired,\n /**\n * Callback called when a toolbar is clicked\n * @template TView\n * @param {TView} view The view to open\n */\n onViewChange: PropTypes.func.isRequired,\n readOnly: PropTypes.bool,\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 titleId: PropTypes.string,\n /**\n * Toolbar date format.\n */\n toolbarFormat: PropTypes.string,\n /**\n * Toolbar value placeholder—it is displayed when the value is empty.\n * @default \"––\"\n */\n toolbarPlaceholder: PropTypes.node,\n value: PropTypes.object,\n /**\n * Currently visible picker view.\n */\n view: PropTypes.oneOf(['day', 'month', 'year']).isRequired,\n /**\n * Available views.\n */\n views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'month', 'year']).isRequired).isRequired\n} : void 0;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { useThemeProps } from '@mui/material/styles';\nimport { useDefaultDates, useUtils } from \"../internals/hooks/useUtils.js\";\nimport { applyDefaultViewProps } from \"../internals/utils/views.js\";\nimport { applyDefaultDate } from \"../internals/utils/date-utils.js\";\nimport { DatePickerToolbar } from \"./DatePickerToolbar.js\";\nexport function useDatePickerDefaultizedProps(props, name) {\n const utils = useUtils();\n const defaultDates = useDefaultDates();\n const themeProps = useThemeProps({\n props,\n name\n });\n const localeText = React.useMemo(() => {\n if (themeProps.localeText?.toolbarTitle == null) {\n return themeProps.localeText;\n }\n return _extends({}, themeProps.localeText, {\n datePickerToolbarTitle: themeProps.localeText.toolbarTitle\n });\n }, [themeProps.localeText]);\n return _extends({}, themeProps, {\n localeText\n }, applyDefaultViewProps({\n views: themeProps.views,\n openTo: themeProps.openTo,\n defaultViews: ['year', 'day'],\n defaultOpenTo: 'day'\n }), {\n disableFuture: themeProps.disableFuture ?? false,\n disablePast: themeProps.disablePast ?? false,\n minDate: applyDefaultDate(utils, themeProps.minDate, defaultDates.minDate),\n maxDate: applyDefaultDate(utils, themeProps.maxDate, defaultDates.maxDate),\n slots: _extends({\n toolbar: DatePickerToolbar\n }, themeProps.slots)\n });\n}","import { areViewsEqual } from \"./views.js\";\nconst timeViews = ['hours', 'minutes', 'seconds'];\nexport const isTimeView = view => timeViews.includes(view);\nexport const isInternalTimeView = view => timeViews.includes(view) || view === 'meridiem';\nexport const getMeridiem = (date, utils) => {\n if (!date) {\n return null;\n }\n return utils.getHours(date) >= 12 ? 'pm' : 'am';\n};\nexport const convertValueToMeridiem = (value, meridiem, ampm) => {\n if (ampm) {\n const currentMeridiem = value >= 12 ? 'pm' : 'am';\n if (currentMeridiem !== meridiem) {\n return meridiem === 'am' ? value - 12 : value + 12;\n }\n }\n return value;\n};\nexport const convertToMeridiem = (time, meridiem, ampm, utils) => {\n const newHoursAmount = convertValueToMeridiem(utils.getHours(time), meridiem, ampm);\n return utils.setHours(time, newHoursAmount);\n};\nexport const getSecondsInDay = (date, utils) => {\n return utils.getHours(date) * 3600 + utils.getMinutes(date) * 60 + utils.getSeconds(date);\n};\nexport const createIsAfterIgnoreDatePart = (disableIgnoringDatePartForTimeValidation, utils) => (dateLeft, dateRight) => {\n if (disableIgnoringDatePartForTimeValidation) {\n return utils.isAfter(dateLeft, dateRight);\n }\n return getSecondsInDay(dateLeft, utils) > getSecondsInDay(dateRight, utils);\n};\nexport const resolveTimeFormat = (utils, {\n format,\n views,\n ampm\n}) => {\n if (format != null) {\n return format;\n }\n const formats = utils.formats;\n if (areViewsEqual(views, ['hours'])) {\n return ampm ? `${formats.hours12h} ${formats.meridiem}` : formats.hours24h;\n }\n if (areViewsEqual(views, ['minutes'])) {\n return formats.minutes;\n }\n if (areViewsEqual(views, ['seconds'])) {\n return formats.seconds;\n }\n if (areViewsEqual(views, ['minutes', 'seconds'])) {\n return `${formats.minutes}:${formats.seconds}`;\n }\n if (areViewsEqual(views, ['hours', 'minutes', 'seconds'])) {\n return ampm ? `${formats.hours12h}:${formats.minutes}:${formats.seconds} ${formats.meridiem}` : `${formats.hours24h}:${formats.minutes}:${formats.seconds}`;\n }\n return ampm ? `${formats.hours12h}:${formats.minutes} ${formats.meridiem}` : `${formats.hours24h}:${formats.minutes}`;\n};","import { createIsAfterIgnoreDatePart } from \"./time-utils.js\";\nimport { mergeDateAndTime, getTodayDate } from \"./date-utils.js\";\nexport const SECTION_TYPE_GRANULARITY = {\n year: 1,\n month: 2,\n day: 3,\n hours: 4,\n minutes: 5,\n seconds: 6,\n milliseconds: 7\n};\nexport const getSectionTypeGranularity = sections => Math.max(...sections.map(section => SECTION_TYPE_GRANULARITY[section.type] ?? 1));\nconst roundDate = (utils, granularity, date) => {\n if (granularity === SECTION_TYPE_GRANULARITY.year) {\n return utils.startOfYear(date);\n }\n if (granularity === SECTION_TYPE_GRANULARITY.month) {\n return utils.startOfMonth(date);\n }\n if (granularity === SECTION_TYPE_GRANULARITY.day) {\n return utils.startOfDay(date);\n }\n\n // We don't have startOfHour / startOfMinute / startOfSecond\n let roundedDate = date;\n if (granularity < SECTION_TYPE_GRANULARITY.minutes) {\n roundedDate = utils.setMinutes(roundedDate, 0);\n }\n if (granularity < SECTION_TYPE_GRANULARITY.seconds) {\n roundedDate = utils.setSeconds(roundedDate, 0);\n }\n if (granularity < SECTION_TYPE_GRANULARITY.milliseconds) {\n roundedDate = utils.setMilliseconds(roundedDate, 0);\n }\n return roundedDate;\n};\nexport const getDefaultReferenceDate = ({\n props,\n utils,\n granularity,\n timezone,\n getTodayDate: inGetTodayDate\n}) => {\n let referenceDate = inGetTodayDate ? inGetTodayDate() : roundDate(utils, granularity, getTodayDate(utils, timezone));\n if (props.minDate != null && utils.isAfterDay(props.minDate, referenceDate)) {\n referenceDate = roundDate(utils, granularity, props.minDate);\n }\n if (props.maxDate != null && utils.isBeforeDay(props.maxDate, referenceDate)) {\n referenceDate = roundDate(utils, granularity, props.maxDate);\n }\n const isAfter = createIsAfterIgnoreDatePart(props.disableIgnoringDatePartForTimeValidation ?? false, utils);\n if (props.minTime != null && isAfter(props.minTime, referenceDate)) {\n referenceDate = roundDate(utils, granularity, props.disableIgnoringDatePartForTimeValidation ? props.minTime : mergeDateAndTime(utils, referenceDate, props.minTime));\n }\n if (props.maxTime != null && isAfter(referenceDate, props.maxTime)) {\n referenceDate = roundDate(utils, granularity, props.disableIgnoringDatePartForTimeValidation ? props.maxTime : mergeDateAndTime(utils, referenceDate, props.maxTime));\n }\n return referenceDate;\n};","import { getMonthsInYear } from \"../../utils/date-utils.js\";\nexport const getDateSectionConfigFromFormatToken = (utils, formatToken) => {\n const config = utils.formatTokenMap[formatToken];\n if (config == null) {\n throw new Error([`MUI X: The token \"${formatToken}\" is not supported by the Date and Time Pickers.`, 'Please try using another token or open an issue on https://github.com/mui/mui-x/issues/new/choose if you think it should be supported.'].join('\\n'));\n }\n if (typeof config === 'string') {\n return {\n type: config,\n contentType: config === 'meridiem' ? 'letter' : 'digit',\n maxLength: undefined\n };\n }\n return {\n type: config.sectionType,\n contentType: config.contentType,\n maxLength: config.maxLength\n };\n};\nconst getDeltaFromKeyCode = keyCode => {\n switch (keyCode) {\n case 'ArrowUp':\n return 1;\n case 'ArrowDown':\n return -1;\n case 'PageUp':\n return 5;\n case 'PageDown':\n return -5;\n default:\n return 0;\n }\n};\nexport const getDaysInWeekStr = (utils, format) => {\n const elements = [];\n const now = utils.date(undefined, 'default');\n const startDate = utils.startOfWeek(now);\n const endDate = utils.endOfWeek(now);\n let current = startDate;\n while (utils.isBefore(current, endDate)) {\n elements.push(current);\n current = utils.addDays(current, 1);\n }\n return elements.map(weekDay => utils.formatByString(weekDay, format));\n};\nexport const getLetterEditingOptions = (utils, timezone, sectionType, format) => {\n switch (sectionType) {\n case 'month':\n {\n return getMonthsInYear(utils, utils.date(undefined, timezone)).map(month => utils.formatByString(month, format));\n }\n case 'weekDay':\n {\n return getDaysInWeekStr(utils, format);\n }\n case 'meridiem':\n {\n const now = utils.date(undefined, timezone);\n return [utils.startOfDay(now), utils.endOfDay(now)].map(date => utils.formatByString(date, format));\n }\n default:\n {\n return [];\n }\n }\n};\n\n// This format should be the same on all the adapters\n// If some adapter does not respect this convention, then we will need to hardcode the format on each adapter.\nexport const FORMAT_SECONDS_NO_LEADING_ZEROS = 's';\nconst NON_LOCALIZED_DIGITS = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];\nexport const getLocalizedDigits = utils => {\n const today = utils.date(undefined);\n const formattedZero = utils.formatByString(utils.setSeconds(today, 0), FORMAT_SECONDS_NO_LEADING_ZEROS);\n if (formattedZero === '0') {\n return NON_LOCALIZED_DIGITS;\n }\n return Array.from({\n length: 10\n }).map((_, index) => utils.formatByString(utils.setSeconds(today, index), FORMAT_SECONDS_NO_LEADING_ZEROS));\n};\nexport const removeLocalizedDigits = (valueStr, localizedDigits) => {\n if (localizedDigits[0] === '0') {\n return valueStr;\n }\n const digits = [];\n let currentFormattedDigit = '';\n for (let i = 0; i < valueStr.length; i += 1) {\n currentFormattedDigit += valueStr[i];\n const matchingDigitIndex = localizedDigits.indexOf(currentFormattedDigit);\n if (matchingDigitIndex > -1) {\n digits.push(matchingDigitIndex.toString());\n currentFormattedDigit = '';\n }\n }\n return digits.join('');\n};\nexport const applyLocalizedDigits = (valueStr, localizedDigits) => {\n if (localizedDigits[0] === '0') {\n return valueStr;\n }\n return valueStr.split('').map(char => localizedDigits[Number(char)]).join('');\n};\nexport const isStringNumber = (valueStr, localizedDigits) => {\n const nonLocalizedValueStr = removeLocalizedDigits(valueStr, localizedDigits);\n // `Number(' ')` returns `0` even if ' ' is not a valid number.\n return nonLocalizedValueStr !== ' ' && !Number.isNaN(Number(nonLocalizedValueStr));\n};\n\n/**\n * Remove the leading zeroes to a digit section value.\n * E.g.: `03` => `3`\n * Warning: Should only be called with non-localized digits. Call `removeLocalizedDigits` with your value if needed.\n */\nexport const cleanLeadingZeros = (valueStr, size) => {\n let cleanValueStr = valueStr;\n\n // Remove the leading zeros\n cleanValueStr = Number(cleanValueStr).toString();\n\n // Add enough leading zeros to fill the section\n while (cleanValueStr.length < size) {\n cleanValueStr = `0${cleanValueStr}`;\n }\n return cleanValueStr;\n};\nexport const cleanDigitSectionValue = (utils, value, sectionBoundaries, localizedDigits, section) => {\n if (process.env.NODE_ENV !== 'production') {\n if (section.type !== 'day' && section.contentType === 'digit-with-letter') {\n throw new Error([`MUI X: The token \"${section.format}\" is a digit format with letter in it.'\n This type of format is only supported for 'day' sections`].join('\\n'));\n }\n }\n if (section.type === 'day' && section.contentType === 'digit-with-letter') {\n const date = utils.setDate(sectionBoundaries.longestMonth, value);\n return utils.formatByString(date, section.format);\n }\n\n // queryValue without leading `0` (`01` => `1`)\n let valueStr = value.toString();\n if (section.hasLeadingZerosInInput) {\n valueStr = cleanLeadingZeros(valueStr, section.maxLength);\n }\n return applyLocalizedDigits(valueStr, localizedDigits);\n};\nexport const adjustSectionValue = (utils, timezone, section, keyCode, sectionsValueBoundaries, localizedDigits, activeDate, stepsAttributes) => {\n const delta = getDeltaFromKeyCode(keyCode);\n const isStart = keyCode === 'Home';\n const isEnd = keyCode === 'End';\n const shouldSetAbsolute = section.value === '' || isStart || isEnd;\n const adjustDigitSection = () => {\n const sectionBoundaries = sectionsValueBoundaries[section.type]({\n currentDate: activeDate,\n format: section.format,\n contentType: section.contentType\n });\n const getCleanValue = value => cleanDigitSectionValue(utils, value, sectionBoundaries, localizedDigits, section);\n const step = section.type === 'minutes' && stepsAttributes?.minutesStep ? stepsAttributes.minutesStep : 1;\n const currentSectionValue = parseInt(removeLocalizedDigits(section.value, localizedDigits), 10);\n let newSectionValueNumber = currentSectionValue + delta * step;\n if (shouldSetAbsolute) {\n if (section.type === 'year' && !isEnd && !isStart) {\n return utils.formatByString(utils.date(undefined, timezone), section.format);\n }\n if (delta > 0 || isStart) {\n newSectionValueNumber = sectionBoundaries.minimum;\n } else {\n newSectionValueNumber = sectionBoundaries.maximum;\n }\n }\n if (newSectionValueNumber % step !== 0) {\n if (delta < 0 || isStart) {\n newSectionValueNumber += step - (step + newSectionValueNumber) % step; // for JS -3 % 5 = -3 (should be 2)\n }\n if (delta > 0 || isEnd) {\n newSectionValueNumber -= newSectionValueNumber % step;\n }\n }\n if (newSectionValueNumber > sectionBoundaries.maximum) {\n return getCleanValue(sectionBoundaries.minimum + (newSectionValueNumber - sectionBoundaries.maximum - 1) % (sectionBoundaries.maximum - sectionBoundaries.minimum + 1));\n }\n if (newSectionValueNumber < sectionBoundaries.minimum) {\n return getCleanValue(sectionBoundaries.maximum - (sectionBoundaries.minimum - newSectionValueNumber - 1) % (sectionBoundaries.maximum - sectionBoundaries.minimum + 1));\n }\n return getCleanValue(newSectionValueNumber);\n };\n const adjustLetterSection = () => {\n const options = getLetterEditingOptions(utils, timezone, section.type, section.format);\n if (options.length === 0) {\n return section.value;\n }\n if (shouldSetAbsolute) {\n if (delta > 0 || isStart) {\n return options[0];\n }\n return options[options.length - 1];\n }\n const currentOptionIndex = options.indexOf(section.value);\n const newOptionIndex = (currentOptionIndex + delta) % options.length;\n const clampedIndex = (newOptionIndex + options.length) % options.length;\n return options[clampedIndex];\n };\n if (section.contentType === 'digit' || section.contentType === 'digit-with-letter') {\n return adjustDigitSection();\n }\n return adjustLetterSection();\n};\nexport const getSectionVisibleValue = (section, target, localizedDigits) => {\n let value = section.value || section.placeholder;\n const hasLeadingZeros = target === 'non-input' ? section.hasLeadingZerosInFormat : section.hasLeadingZerosInInput;\n if (target === 'non-input' && section.hasLeadingZerosInInput && !section.hasLeadingZerosInFormat) {\n value = Number(removeLocalizedDigits(value, localizedDigits)).toString();\n }\n\n // In the input, we add an empty character at the end of each section without leading zeros.\n // This makes sure that `onChange` will always be fired.\n // Otherwise, when your input value equals `1/dd/yyyy` (format `M/DD/YYYY` on DayJs),\n // If you press `1`, on the first section, the new value is also `1/dd/yyyy`,\n // So the browser will not fire the input `onChange`.\n const shouldAddInvisibleSpace = ['input-rtl', 'input-ltr'].includes(target) && section.contentType === 'digit' && !hasLeadingZeros && value.length === 1;\n if (shouldAddInvisibleSpace) {\n value = `${value}\\u200e`;\n }\n if (target === 'input-rtl') {\n value = `\\u2068${value}\\u2069`;\n }\n return value;\n};\nexport const changeSectionValueFormat = (utils, valueStr, currentFormat, newFormat) => {\n if (process.env.NODE_ENV !== 'production') {\n if (getDateSectionConfigFromFormatToken(utils, currentFormat).type === 'weekDay') {\n throw new Error(\"changeSectionValueFormat doesn't support week day formats\");\n }\n }\n return utils.formatByString(utils.parse(valueStr, currentFormat), newFormat);\n};\nconst isFourDigitYearFormat = (utils, format) => utils.formatByString(utils.date(undefined, 'system'), format).length === 4;\nexport const doesSectionFormatHaveLeadingZeros = (utils, contentType, sectionType, format) => {\n if (contentType !== 'digit') {\n return false;\n }\n const now = utils.date(undefined, 'default');\n switch (sectionType) {\n // We can't use `changeSectionValueFormat`, because `utils.parse('1', 'YYYY')` returns `1971` instead of `1`.\n case 'year':\n {\n if (isFourDigitYearFormat(utils, format)) {\n const formatted0001 = utils.formatByString(utils.setYear(now, 1), format);\n return formatted0001 === '0001';\n }\n const formatted2001 = utils.formatByString(utils.setYear(now, 2001), format);\n return formatted2001 === '01';\n }\n case 'month':\n {\n return utils.formatByString(utils.startOfYear(now), format).length > 1;\n }\n case 'day':\n {\n return utils.formatByString(utils.startOfMonth(now), format).length > 1;\n }\n case 'weekDay':\n {\n return utils.formatByString(utils.startOfWeek(now), format).length > 1;\n }\n case 'hours':\n {\n return utils.formatByString(utils.setHours(now, 1), format).length > 1;\n }\n case 'minutes':\n {\n return utils.formatByString(utils.setMinutes(now, 1), format).length > 1;\n }\n case 'seconds':\n {\n return utils.formatByString(utils.setSeconds(now, 1), format).length > 1;\n }\n default:\n {\n throw new Error('Invalid section type');\n }\n }\n};\n\n/**\n * Some date libraries like `dayjs` don't support parsing from date with escaped characters.\n * To make sure that the parsing works, we are building a format and a date without any separator.\n */\nexport const getDateFromDateSections = (utils, sections, localizedDigits) => {\n // If we have both a day and a weekDay section,\n // Then we skip the weekDay in the parsing because libraries like dayjs can't parse complicated formats containing a weekDay.\n // dayjs(dayjs().format('dddd MMMM D YYYY'), 'dddd MMMM D YYYY')) // returns `Invalid Date` even if the format is valid.\n const shouldSkipWeekDays = sections.some(section => section.type === 'day');\n const sectionFormats = [];\n const sectionValues = [];\n for (let i = 0; i < sections.length; i += 1) {\n const section = sections[i];\n const shouldSkip = shouldSkipWeekDays && section.type === 'weekDay';\n if (!shouldSkip) {\n sectionFormats.push(section.format);\n sectionValues.push(getSectionVisibleValue(section, 'non-input', localizedDigits));\n }\n }\n const formatWithoutSeparator = sectionFormats.join(' ');\n const dateWithoutSeparatorStr = sectionValues.join(' ');\n return utils.parse(dateWithoutSeparatorStr, formatWithoutSeparator);\n};\nexport const createDateStrForV7HiddenInputFromSections = sections => sections.map(section => {\n return `${section.startSeparator}${section.value || section.placeholder}${section.endSeparator}`;\n}).join('');\nexport const createDateStrForV6InputFromSections = (sections, localizedDigits, isRtl) => {\n const formattedSections = sections.map(section => {\n const dateValue = getSectionVisibleValue(section, isRtl ? 'input-rtl' : 'input-ltr', localizedDigits);\n return `${section.startSeparator}${dateValue}${section.endSeparator}`;\n });\n const dateStr = formattedSections.join('');\n if (!isRtl) {\n return dateStr;\n }\n\n // \\u2066: start left-to-right isolation\n // \\u2067: start right-to-left isolation\n // \\u2068: start first strong character isolation\n // \\u2069: pop isolation\n // wrap into an isolated group such that separators can split the string in smaller ones by adding \\u2069\\u2068\n return `\\u2066${dateStr}\\u2069`;\n};\nexport const getSectionsBoundaries = (utils, localizedDigits, timezone) => {\n const today = utils.date(undefined, timezone);\n const endOfYear = utils.endOfYear(today);\n const endOfDay = utils.endOfDay(today);\n const {\n maxDaysInMonth,\n longestMonth\n } = getMonthsInYear(utils, today).reduce((acc, month) => {\n const daysInMonth = utils.getDaysInMonth(month);\n if (daysInMonth > acc.maxDaysInMonth) {\n return {\n maxDaysInMonth: daysInMonth,\n longestMonth: month\n };\n }\n return acc;\n }, {\n maxDaysInMonth: 0,\n longestMonth: null\n });\n return {\n year: ({\n format\n }) => ({\n minimum: 0,\n maximum: isFourDigitYearFormat(utils, format) ? 9999 : 99\n }),\n month: () => ({\n minimum: 1,\n // Assumption: All years have the same amount of months\n maximum: utils.getMonth(endOfYear) + 1\n }),\n day: ({\n currentDate\n }) => ({\n minimum: 1,\n maximum: currentDate != null && utils.isValid(currentDate) ? utils.getDaysInMonth(currentDate) : maxDaysInMonth,\n longestMonth: longestMonth\n }),\n weekDay: ({\n format,\n contentType\n }) => {\n if (contentType === 'digit') {\n const daysInWeek = getDaysInWeekStr(utils, format).map(Number);\n return {\n minimum: Math.min(...daysInWeek),\n maximum: Math.max(...daysInWeek)\n };\n }\n return {\n minimum: 1,\n maximum: 7\n };\n },\n hours: ({\n format\n }) => {\n const lastHourInDay = utils.getHours(endOfDay);\n const hasMeridiem = removeLocalizedDigits(utils.formatByString(utils.endOfDay(today), format), localizedDigits) !== lastHourInDay.toString();\n if (hasMeridiem) {\n return {\n minimum: 1,\n maximum: Number(removeLocalizedDigits(utils.formatByString(utils.startOfDay(today), format), localizedDigits))\n };\n }\n return {\n minimum: 0,\n maximum: lastHourInDay\n };\n },\n minutes: () => ({\n minimum: 0,\n // Assumption: All years have the same amount of minutes\n maximum: utils.getMinutes(endOfDay)\n }),\n seconds: () => ({\n minimum: 0,\n // Assumption: All years have the same amount of seconds\n maximum: utils.getSeconds(endOfDay)\n }),\n meridiem: () => ({\n minimum: 0,\n maximum: 1\n }),\n empty: () => ({\n minimum: 0,\n maximum: 0\n })\n };\n};\nlet warnedOnceInvalidSection = false;\nexport const validateSections = (sections, valueType) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnceInvalidSection) {\n const supportedSections = ['empty'];\n if (['date', 'date-time'].includes(valueType)) {\n supportedSections.push('weekDay', 'day', 'month', 'year');\n }\n if (['time', 'date-time'].includes(valueType)) {\n supportedSections.push('hours', 'minutes', 'seconds', 'meridiem');\n }\n const invalidSection = sections.find(section => !supportedSections.includes(section.type));\n if (invalidSection) {\n console.warn(`MUI X: The field component you are using is not compatible with the \"${invalidSection.type}\" date section.`, `The supported date sections are [\"${supportedSections.join('\", \"')}\"]\\`.`);\n warnedOnceInvalidSection = true;\n }\n }\n }\n};\nconst transferDateSectionValue = (utils, section, dateToTransferFrom, dateToTransferTo) => {\n switch (section.type) {\n case 'year':\n {\n return utils.setYear(dateToTransferTo, utils.getYear(dateToTransferFrom));\n }\n case 'month':\n {\n return utils.setMonth(dateToTransferTo, utils.getMonth(dateToTransferFrom));\n }\n case 'weekDay':\n {\n const formattedDaysInWeek = getDaysInWeekStr(utils, section.format);\n const dayInWeekStrOfActiveDate = utils.formatByString(dateToTransferFrom, section.format);\n const dayInWeekOfActiveDate = formattedDaysInWeek.indexOf(dayInWeekStrOfActiveDate);\n const dayInWeekOfNewSectionValue = formattedDaysInWeek.indexOf(section.value);\n const diff = dayInWeekOfNewSectionValue - dayInWeekOfActiveDate;\n return utils.addDays(dateToTransferFrom, diff);\n }\n case 'day':\n {\n return utils.setDate(dateToTransferTo, utils.getDate(dateToTransferFrom));\n }\n case 'meridiem':\n {\n const isAM = utils.getHours(dateToTransferFrom) < 12;\n const mergedDateHours = utils.getHours(dateToTransferTo);\n if (isAM && mergedDateHours >= 12) {\n return utils.addHours(dateToTransferTo, -12);\n }\n if (!isAM && mergedDateHours < 12) {\n return utils.addHours(dateToTransferTo, 12);\n }\n return dateToTransferTo;\n }\n case 'hours':\n {\n return utils.setHours(dateToTransferTo, utils.getHours(dateToTransferFrom));\n }\n case 'minutes':\n {\n return utils.setMinutes(dateToTransferTo, utils.getMinutes(dateToTransferFrom));\n }\n case 'seconds':\n {\n return utils.setSeconds(dateToTransferTo, utils.getSeconds(dateToTransferFrom));\n }\n default:\n {\n return dateToTransferTo;\n }\n }\n};\nconst reliableSectionModificationOrder = {\n year: 1,\n month: 2,\n day: 3,\n weekDay: 4,\n hours: 5,\n minutes: 6,\n seconds: 7,\n meridiem: 8,\n empty: 9\n};\nexport const mergeDateIntoReferenceDate = (utils, dateToTransferFrom, sections, referenceDate, shouldLimitToEditedSections) =>\n// cloning sections before sort to avoid mutating it\n[...sections].sort((a, b) => reliableSectionModificationOrder[a.type] - reliableSectionModificationOrder[b.type]).reduce((mergedDate, section) => {\n if (!shouldLimitToEditedSections || section.modified) {\n return transferDateSectionValue(utils, section, dateToTransferFrom, mergedDate);\n }\n return mergedDate;\n}, referenceDate);\nexport const isAndroid = () => navigator.userAgent.toLowerCase().includes('android');\n\n// TODO v8: Remove if we drop the v6 TextField approach.\nexport const getSectionOrder = (sections, shouldApplyRTL) => {\n const neighbors = {};\n if (!shouldApplyRTL) {\n sections.forEach((_, index) => {\n const leftIndex = index === 0 ? null : index - 1;\n const rightIndex = index === sections.length - 1 ? null : index + 1;\n neighbors[index] = {\n leftIndex,\n rightIndex\n };\n });\n return {\n neighbors,\n startIndex: 0,\n endIndex: sections.length - 1\n };\n }\n const rtl2ltr = {};\n const ltr2rtl = {};\n let groupedSectionsStart = 0;\n let groupedSectionsEnd = 0;\n let RTLIndex = sections.length - 1;\n while (RTLIndex >= 0) {\n groupedSectionsEnd = sections.findIndex(\n // eslint-disable-next-line @typescript-eslint/no-loop-func\n (section, index) => index >= groupedSectionsStart && section.endSeparator?.includes(' ') &&\n // Special case where the spaces were not there in the initial input\n section.endSeparator !== ' / ');\n if (groupedSectionsEnd === -1) {\n groupedSectionsEnd = sections.length - 1;\n }\n for (let i = groupedSectionsEnd; i >= groupedSectionsStart; i -= 1) {\n ltr2rtl[i] = RTLIndex;\n rtl2ltr[RTLIndex] = i;\n RTLIndex -= 1;\n }\n groupedSectionsStart = groupedSectionsEnd + 1;\n }\n sections.forEach((_, index) => {\n const rtlIndex = ltr2rtl[index];\n const leftIndex = rtlIndex === 0 ? null : rtl2ltr[rtlIndex - 1];\n const rightIndex = rtlIndex === sections.length - 1 ? null : rtl2ltr[rtlIndex + 1];\n neighbors[index] = {\n leftIndex,\n rightIndex\n };\n });\n return {\n neighbors,\n startIndex: rtl2ltr[0],\n endIndex: rtl2ltr[sections.length - 1]\n };\n};\nexport const parseSelectedSections = (selectedSections, sections) => {\n if (selectedSections == null) {\n return null;\n }\n if (selectedSections === 'all') {\n return 'all';\n }\n if (typeof selectedSections === 'string') {\n const index = sections.findIndex(section => section.type === selectedSections);\n return index === -1 ? null : index;\n }\n return selectedSections;\n};\nexport const getSectionValueText = (section, utils) => {\n if (!section.value) {\n return undefined;\n }\n switch (section.type) {\n case 'month':\n {\n if (section.contentType === 'digit') {\n return utils.format(utils.setMonth(utils.date(), Number(section.value) - 1), 'month');\n }\n const parsedDate = utils.parse(section.value, section.format);\n return parsedDate ? utils.format(parsedDate, 'month') : undefined;\n }\n case 'day':\n return section.contentType === 'digit' ? utils.format(utils.setDate(utils.startOfYear(utils.date()), Number(section.value)), 'dayOfMonthFull') : section.value;\n case 'weekDay':\n // TODO: improve by providing the label of the week day\n return undefined;\n default:\n return undefined;\n }\n};\nexport const getSectionValueNow = (section, utils) => {\n if (!section.value) {\n return undefined;\n }\n switch (section.type) {\n case 'weekDay':\n {\n if (section.contentType === 'letter') {\n // TODO: improve by resolving the week day number from a letter week day\n return undefined;\n }\n return Number(section.value);\n }\n case 'meridiem':\n {\n const parsedDate = utils.parse(`01:00 ${section.value}`, `${utils.formats.hours12h}:${utils.formats.minutes} ${section.format}`);\n if (parsedDate) {\n return utils.getHours(parsedDate) >= 12 ? 1 : 0;\n }\n return undefined;\n }\n case 'day':\n return section.contentType === 'digit-with-letter' ? parseInt(section.value, 10) : Number(section.value);\n case 'month':\n {\n if (section.contentType === 'digit') {\n return Number(section.value);\n }\n const parsedDate = utils.parse(section.value, section.format);\n return parsedDate ? utils.getMonth(parsedDate) + 1 : undefined;\n }\n default:\n return section.contentType !== 'letter' ? Number(section.value) : undefined;\n }\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"value\", \"referenceDate\"];\nimport { areDatesEqual, getTodayDate, replaceInvalidDateByNull } from \"./date-utils.js\";\nimport { getDefaultReferenceDate } from \"./getDefaultReferenceDate.js\";\nimport { createDateStrForV7HiddenInputFromSections, createDateStrForV6InputFromSections } from \"../hooks/useField/useField.utils.js\";\nexport const singleItemValueManager = {\n emptyValue: null,\n getTodayValue: getTodayDate,\n getInitialReferenceValue: _ref => {\n let {\n value,\n referenceDate\n } = _ref,\n params = _objectWithoutPropertiesLoose(_ref, _excluded);\n if (value != null && params.utils.isValid(value)) {\n return value;\n }\n if (referenceDate != null) {\n return referenceDate;\n }\n return getDefaultReferenceDate(params);\n },\n cleanValue: replaceInvalidDateByNull,\n areValuesEqual: areDatesEqual,\n isSameError: (a, b) => a === b,\n hasError: error => error != null,\n defaultErrorState: null,\n getTimezone: (utils, value) => value == null || !utils.isValid(value) ? null : utils.getTimezone(value),\n setTimezone: (utils, timezone, value) => value == null ? null : utils.setTimezone(value, timezone)\n};\nexport const singleItemFieldValueManager = {\n updateReferenceValue: (utils, value, prevReferenceValue) => value == null || !utils.isValid(value) ? prevReferenceValue : value,\n getSectionsFromValue: (utils, date, prevSections, getSectionsFromDate) => {\n const shouldReUsePrevDateSections = !utils.isValid(date) && !!prevSections;\n if (shouldReUsePrevDateSections) {\n return prevSections;\n }\n return getSectionsFromDate(date);\n },\n getV7HiddenInputValueFromSections: createDateStrForV7HiddenInputFromSections,\n getV6InputValueFromSections: createDateStrForV6InputFromSections,\n getActiveDateManager: (utils, state) => ({\n date: state.value,\n referenceDate: state.referenceValue,\n getSections: sections => sections,\n getNewValuesFromNewActiveDate: newActiveDate => ({\n value: newActiveDate,\n referenceValue: newActiveDate == null || !utils.isValid(newActiveDate) ? state.referenceValue : newActiveDate\n })\n }),\n parseValueStr: (valueStr, referenceValue, parseDate) => parseDate(valueStr.trim(), referenceValue)\n};","import { applyDefaultDate } from \"../internals/utils/date-utils.js\";\nimport { singleItemValueManager } from \"../internals/utils/valueManagers.js\";\nexport const validateDate = ({\n props,\n value,\n timezone,\n adapter\n}) => {\n if (value === null) {\n return null;\n }\n const {\n shouldDisableDate,\n shouldDisableMonth,\n shouldDisableYear,\n disablePast,\n disableFuture\n } = props;\n const now = adapter.utils.date(undefined, timezone);\n const minDate = applyDefaultDate(adapter.utils, props.minDate, adapter.defaultDates.minDate);\n const maxDate = applyDefaultDate(adapter.utils, props.maxDate, adapter.defaultDates.maxDate);\n switch (true) {\n case !adapter.utils.isValid(value):\n return 'invalidDate';\n case Boolean(shouldDisableDate && shouldDisableDate(value)):\n return 'shouldDisableDate';\n case Boolean(shouldDisableMonth && shouldDisableMonth(value)):\n return 'shouldDisableMonth';\n case Boolean(shouldDisableYear && shouldDisableYear(value)):\n return 'shouldDisableYear';\n case Boolean(disableFuture && adapter.utils.isAfterDay(value, now)):\n return 'disableFuture';\n case Boolean(disablePast && adapter.utils.isBeforeDay(value, now)):\n return 'disablePast';\n case Boolean(minDate && adapter.utils.isBeforeDay(value, minDate)):\n return 'minDate';\n case Boolean(maxDate && adapter.utils.isAfterDay(value, maxDate)):\n return 'maxDate';\n default:\n return null;\n }\n};\nvalidateDate.valueManager = singleItemValueManager;","'use client';\n\nimport * as React from 'react';\nimport { validateDate } from \"../validation/index.js\";\nimport { useLocalizationContext } from \"../internals/hooks/useUtils.js\";\nexport const useIsDateDisabled = ({\n shouldDisableDate,\n shouldDisableMonth,\n shouldDisableYear,\n minDate,\n maxDate,\n disableFuture,\n disablePast,\n timezone\n}) => {\n const adapter = useLocalizationContext();\n return React.useCallback(day => validateDate({\n adapter,\n value: day,\n timezone,\n props: {\n shouldDisableDate,\n shouldDisableMonth,\n shouldDisableYear,\n minDate,\n maxDate,\n disableFuture,\n disablePast\n }\n }) !== null, [adapter, shouldDisableDate, shouldDisableMonth, shouldDisableYear, minDate, maxDate, disableFuture, disablePast, timezone]);\n};","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport useEventCallback from '@mui/utils/useEventCallback';\nimport { useIsDateDisabled } from \"./useIsDateDisabled.js\";\nimport { useUtils } from \"../internals/hooks/useUtils.js\";\nimport { singleItemValueManager } from \"../internals/utils/valueManagers.js\";\nimport { SECTION_TYPE_GRANULARITY } from \"../internals/utils/getDefaultReferenceDate.js\";\nexport const createCalendarStateReducer = (reduceAnimations, disableSwitchToMonthOnDayFocus, utils) => (state, action) => {\n switch (action.type) {\n case 'changeMonth':\n return _extends({}, state, {\n slideDirection: action.direction,\n currentMonth: action.newMonth,\n isMonthSwitchingAnimating: !reduceAnimations\n });\n case 'changeMonthTimezone':\n {\n const newTimezone = action.newTimezone;\n if (utils.getTimezone(state.currentMonth) === newTimezone) {\n return state;\n }\n let newCurrentMonth = utils.setTimezone(state.currentMonth, newTimezone);\n if (utils.getMonth(newCurrentMonth) !== utils.getMonth(state.currentMonth)) {\n newCurrentMonth = utils.setMonth(newCurrentMonth, utils.getMonth(state.currentMonth));\n }\n return _extends({}, state, {\n currentMonth: newCurrentMonth\n });\n }\n case 'finishMonthSwitchingAnimation':\n return _extends({}, state, {\n isMonthSwitchingAnimating: false\n });\n case 'changeFocusedDay':\n {\n if (state.focusedDay != null && action.focusedDay != null && utils.isSameDay(action.focusedDay, state.focusedDay)) {\n return state;\n }\n const needMonthSwitch = action.focusedDay != null && !disableSwitchToMonthOnDayFocus && !utils.isSameMonth(state.currentMonth, action.focusedDay);\n return _extends({}, state, {\n focusedDay: action.focusedDay,\n isMonthSwitchingAnimating: needMonthSwitch && !reduceAnimations && !action.withoutMonthSwitchingAnimation,\n currentMonth: needMonthSwitch ? utils.startOfMonth(action.focusedDay) : state.currentMonth,\n slideDirection: action.focusedDay != null && utils.isAfterDay(action.focusedDay, state.currentMonth) ? 'left' : 'right'\n });\n }\n default:\n throw new Error('missing support');\n }\n};\nexport const useCalendarState = params => {\n const {\n value,\n referenceDate: referenceDateProp,\n disableFuture,\n disablePast,\n disableSwitchToMonthOnDayFocus = false,\n maxDate,\n minDate,\n onMonthChange,\n reduceAnimations,\n shouldDisableDate,\n timezone\n } = params;\n const utils = useUtils();\n const reducerFn = React.useRef(createCalendarStateReducer(Boolean(reduceAnimations), disableSwitchToMonthOnDayFocus, utils)).current;\n const referenceDate = React.useMemo(() => {\n return singleItemValueManager.getInitialReferenceValue({\n value,\n utils,\n timezone,\n props: params,\n referenceDate: referenceDateProp,\n granularity: SECTION_TYPE_GRANULARITY.day\n });\n },\n // We want the `referenceDate` to update on prop and `timezone` change (https://github.com/mui/mui-x/issues/10804)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [referenceDateProp, timezone]);\n const [calendarState, dispatch] = React.useReducer(reducerFn, {\n isMonthSwitchingAnimating: false,\n focusedDay: referenceDate,\n currentMonth: utils.startOfMonth(referenceDate),\n slideDirection: 'left'\n });\n\n // Ensure that `calendarState.currentMonth` timezone is updated when `referenceDate` (or timezone changes)\n // https://github.com/mui/mui-x/issues/10804\n React.useEffect(() => {\n dispatch({\n type: 'changeMonthTimezone',\n newTimezone: utils.getTimezone(referenceDate)\n });\n }, [referenceDate, utils]);\n const handleChangeMonth = React.useCallback(payload => {\n dispatch(_extends({\n type: 'changeMonth'\n }, payload));\n if (onMonthChange) {\n onMonthChange(payload.newMonth);\n }\n }, [onMonthChange]);\n const changeMonth = React.useCallback(newDate => {\n const newDateRequested = newDate;\n if (utils.isSameMonth(newDateRequested, calendarState.currentMonth)) {\n return;\n }\n handleChangeMonth({\n newMonth: utils.startOfMonth(newDateRequested),\n direction: utils.isAfterDay(newDateRequested, calendarState.currentMonth) ? 'left' : 'right'\n });\n }, [calendarState.currentMonth, handleChangeMonth, utils]);\n const isDateDisabled = useIsDateDisabled({\n shouldDisableDate,\n minDate,\n maxDate,\n disableFuture,\n disablePast,\n timezone\n });\n const onMonthSwitchingAnimationEnd = React.useCallback(() => {\n dispatch({\n type: 'finishMonthSwitchingAnimation'\n });\n }, []);\n const changeFocusedDay = useEventCallback((newFocusedDate, withoutMonthSwitchingAnimation) => {\n if (!isDateDisabled(newFocusedDate)) {\n dispatch({\n type: 'changeFocusedDay',\n focusedDay: newFocusedDate,\n withoutMonthSwitchingAnimation\n });\n }\n });\n return {\n referenceDate,\n calendarState,\n changeMonth,\n changeFocusedDay,\n isDateDisabled,\n onMonthSwitchingAnimationEnd,\n handleChangeMonth\n };\n};","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport const getPickersFadeTransitionGroupUtilityClass = slot => generateUtilityClass('MuiPickersFadeTransitionGroup', slot);\nexport const pickersFadeTransitionGroupClasses = generateUtilityClasses('MuiPickersFadeTransitionGroup', ['root']);","import * as React from 'react';\nimport clsx from 'clsx';\nimport { TransitionGroup } from 'react-transition-group';\nimport Fade from '@mui/material/Fade';\nimport { styled, useTheme, useThemeProps } from '@mui/material/styles';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { getPickersFadeTransitionGroupUtilityClass } from \"./pickersFadeTransitionGroupClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getPickersFadeTransitionGroupUtilityClass, classes);\n};\nconst PickersFadeTransitionGroupRoot = styled(TransitionGroup, {\n name: 'MuiPickersFadeTransitionGroup',\n slot: 'Root',\n overridesResolver: (_, styles) => styles.root\n})({\n display: 'block',\n position: 'relative'\n});\n\n/**\n * @ignore - do not document.\n */\nexport function PickersFadeTransitionGroup(inProps) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersFadeTransitionGroup'\n });\n const {\n children,\n className,\n reduceAnimations,\n transKey\n } = props;\n const classes = useUtilityClasses(props);\n const theme = useTheme();\n if (reduceAnimations) {\n return children;\n }\n return /*#__PURE__*/_jsx(PickersFadeTransitionGroupRoot, {\n className: clsx(classes.root, className),\n children: /*#__PURE__*/_jsx(Fade, {\n appear: false,\n mountOnEnter: true,\n unmountOnExit: true,\n timeout: {\n appear: theme.transitions.duration.enteringScreen,\n enter: theme.transitions.duration.enteringScreen,\n exit: 0\n },\n children: children\n }, transKey)\n });\n}","export const DAY_SIZE = 36;\nexport const DAY_MARGIN = 2;\nexport const DIALOG_WIDTH = 320;\nexport const MAX_CALENDAR_HEIGHT = 280;\nexport const VIEW_HEIGHT = 336;\nexport const DIGITAL_CLOCK_VIEW_HEIGHT = 232;\nexport const MULTI_SECTION_CLOCK_SECTION_WIDTH = 48;","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport function getPickersDayUtilityClass(slot) {\n return generateUtilityClass('MuiPickersDay', slot);\n}\nexport const pickersDayClasses = generateUtilityClasses('MuiPickersDay', ['root', 'dayWithMargin', 'dayOutsideMonth', 'hiddenDaySpacingFiller', 'today', 'selected', 'disabled']);","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"className\", \"day\", \"disabled\", \"disableHighlightToday\", \"disableMargin\", \"hidden\", \"isAnimating\", \"onClick\", \"onDaySelect\", \"onFocus\", \"onBlur\", \"onKeyDown\", \"onMouseDown\", \"onMouseEnter\", \"outsideCurrentMonth\", \"selected\", \"showDaysOutsideCurrentMonth\", \"children\", \"today\", \"isFirstVisibleCell\", \"isLastVisibleCell\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport ButtonBase from '@mui/material/ButtonBase';\nimport { unstable_useEnhancedEffect as useEnhancedEffect, unstable_composeClasses as composeClasses, unstable_useForkRef as useForkRef } from '@mui/utils';\nimport { alpha, styled, useThemeProps } from '@mui/material/styles';\nimport { useUtils } from \"../internals/hooks/useUtils.js\";\nimport { DAY_SIZE, DAY_MARGIN } from \"../internals/constants/dimensions.js\";\nimport { getPickersDayUtilityClass, pickersDayClasses } from \"./pickersDayClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n selected,\n disableMargin,\n disableHighlightToday,\n today,\n disabled,\n outsideCurrentMonth,\n showDaysOutsideCurrentMonth,\n classes\n } = ownerState;\n const isHiddenDaySpacingFiller = outsideCurrentMonth && !showDaysOutsideCurrentMonth;\n const slots = {\n root: ['root', selected && !isHiddenDaySpacingFiller && 'selected', disabled && 'disabled', !disableMargin && 'dayWithMargin', !disableHighlightToday && today && 'today', outsideCurrentMonth && showDaysOutsideCurrentMonth && 'dayOutsideMonth', isHiddenDaySpacingFiller && 'hiddenDaySpacingFiller'],\n hiddenDaySpacingFiller: ['hiddenDaySpacingFiller']\n };\n return composeClasses(slots, getPickersDayUtilityClass, classes);\n};\nconst styleArg = ({\n theme\n}) => _extends({}, theme.typography.caption, {\n width: DAY_SIZE,\n height: DAY_SIZE,\n borderRadius: '50%',\n padding: 0,\n // explicitly setting to `transparent` to avoid potentially getting impacted by change from the overridden component\n backgroundColor: 'transparent',\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.short\n }),\n color: (theme.vars || theme).palette.text.primary,\n '@media (pointer: fine)': {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.hoverOpacity)\n }\n },\n '&:focus': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.focusOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.focusOpacity),\n [`&.${pickersDayClasses.selected}`]: {\n willChange: 'background-color',\n backgroundColor: (theme.vars || theme).palette.primary.dark\n }\n },\n [`&.${pickersDayClasses.selected}`]: {\n color: (theme.vars || theme).palette.primary.contrastText,\n backgroundColor: (theme.vars || theme).palette.primary.main,\n fontWeight: theme.typography.fontWeightMedium,\n '&:hover': {\n willChange: 'background-color',\n backgroundColor: (theme.vars || theme).palette.primary.dark\n }\n },\n [`&.${pickersDayClasses.disabled}:not(.${pickersDayClasses.selected})`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${pickersDayClasses.disabled}&.${pickersDayClasses.selected}`]: {\n opacity: 0.6\n },\n variants: [{\n props: {\n disableMargin: false\n },\n style: {\n margin: `0 ${DAY_MARGIN}px`\n }\n }, {\n props: {\n outsideCurrentMonth: true,\n showDaysOutsideCurrentMonth: true\n },\n style: {\n color: (theme.vars || theme).palette.text.secondary\n }\n }, {\n props: {\n disableHighlightToday: false,\n today: true\n },\n style: {\n [`&:not(.${pickersDayClasses.selected})`]: {\n border: `1px solid ${(theme.vars || theme).palette.text.secondary}`\n }\n }\n }]\n});\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableMargin && styles.dayWithMargin, !ownerState.disableHighlightToday && ownerState.today && styles.today, !ownerState.outsideCurrentMonth && ownerState.showDaysOutsideCurrentMonth && styles.dayOutsideMonth, ownerState.outsideCurrentMonth && !ownerState.showDaysOutsideCurrentMonth && styles.hiddenDaySpacingFiller];\n};\nconst PickersDayRoot = styled(ButtonBase, {\n name: 'MuiPickersDay',\n slot: 'Root',\n overridesResolver\n})(styleArg);\nconst PickersDayFiller = styled('div', {\n name: 'MuiPickersDay',\n slot: 'Root',\n overridesResolver\n})(({\n theme\n}) => _extends({}, styleArg({\n theme\n}), {\n // visibility: 'hidden' does not work here as it hides the element from screen readers as well\n opacity: 0,\n pointerEvents: 'none'\n}));\nconst noop = () => {};\nconst PickersDayRaw = /*#__PURE__*/React.forwardRef(function PickersDay(inProps, forwardedRef) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersDay'\n });\n const {\n autoFocus = false,\n className,\n day,\n disabled = false,\n disableHighlightToday = false,\n disableMargin = false,\n isAnimating,\n onClick,\n onDaySelect,\n onFocus = noop,\n onBlur = noop,\n onKeyDown = noop,\n onMouseDown = noop,\n onMouseEnter = noop,\n outsideCurrentMonth,\n selected = false,\n showDaysOutsideCurrentMonth = false,\n children,\n today: isToday = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n autoFocus,\n disabled,\n disableHighlightToday,\n disableMargin,\n selected,\n showDaysOutsideCurrentMonth,\n today: isToday\n });\n const classes = useUtilityClasses(ownerState);\n const utils = useUtils();\n const ref = React.useRef(null);\n const handleRef = useForkRef(ref, forwardedRef);\n\n // Since this is rendered when a Popper is opened we can't use passive effects.\n // Focusing in passive effects in Popper causes scroll jump.\n useEnhancedEffect(() => {\n if (autoFocus && !disabled && !isAnimating && !outsideCurrentMonth) {\n // ref.current being null would be a bug in MUI\n ref.current.focus();\n }\n }, [autoFocus, disabled, isAnimating, outsideCurrentMonth]);\n\n // For a day outside the current month, move the focus from mouseDown to mouseUp\n // Goal: have the onClick ends before sliding to the new month\n const handleMouseDown = event => {\n onMouseDown(event);\n if (outsideCurrentMonth) {\n event.preventDefault();\n }\n };\n const handleClick = event => {\n if (!disabled) {\n onDaySelect(day);\n }\n if (outsideCurrentMonth) {\n event.currentTarget.focus();\n }\n if (onClick) {\n onClick(event);\n }\n };\n if (outsideCurrentMonth && !showDaysOutsideCurrentMonth) {\n return /*#__PURE__*/_jsx(PickersDayFiller, {\n className: clsx(classes.root, classes.hiddenDaySpacingFiller, className),\n ownerState: ownerState,\n role: other.role\n });\n }\n return /*#__PURE__*/_jsx(PickersDayRoot, _extends({\n className: clsx(classes.root, className),\n ref: handleRef,\n centerRipple: true,\n disabled: disabled,\n tabIndex: selected ? 0 : -1,\n onKeyDown: event => onKeyDown(event, day),\n onFocus: event => onFocus(event, day),\n onBlur: event => onBlur(event, day),\n onMouseEnter: event => onMouseEnter(event, day),\n onClick: handleClick,\n onMouseDown: handleMouseDown\n }, other, {\n ownerState: ownerState,\n children: !children ? utils.format(day, 'dayOfMonth') : children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? PickersDayRaw.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 * A ref for imperative actions.\n * It currently only supports `focusVisible()` action.\n */\n action: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.shape({\n focusVisible: PropTypes.func.isRequired\n })\n })]),\n /**\n * If `true`, the ripples are centered.\n * They won't start at the cursor interaction position.\n * @default false\n */\n centerRipple: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n className: PropTypes.string,\n component: PropTypes.elementType,\n /**\n * The date to show.\n */\n day: PropTypes.object.isRequired,\n /**\n * If `true`, renders as disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, today's date is rendering without highlighting with circle.\n * @default false\n */\n disableHighlightToday: PropTypes.bool,\n /**\n * If `true`, days are rendering without margin. Useful for displaying linked range of days.\n * @default false\n */\n disableMargin: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * If `true`, the touch ripple effect is disabled.\n * @default false\n */\n disableTouchRipple: PropTypes.bool,\n /**\n * If `true`, the base button will have a keyboard focus ripple.\n * @default false\n */\n focusRipple: PropTypes.bool,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n isAnimating: PropTypes.bool,\n /**\n * If `true`, day is the first visible cell of the month.\n * Either the first day of the month or the first day of the week depending on `showDaysOutsideCurrentMonth`.\n */\n isFirstVisibleCell: PropTypes.bool.isRequired,\n /**\n * If `true`, day is the last visible cell of the month.\n * Either the last day of the month or the last day of the week depending on `showDaysOutsideCurrentMonth`.\n */\n isLastVisibleCell: PropTypes.bool.isRequired,\n onBlur: PropTypes.func,\n onDaySelect: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible: PropTypes.func,\n onKeyDown: PropTypes.func,\n onMouseEnter: PropTypes.func,\n /**\n * If `true`, day is outside of month and will be hidden.\n */\n outsideCurrentMonth: PropTypes.bool.isRequired,\n /**\n * If `true`, renders as selected.\n * @default false\n */\n selected: PropTypes.bool,\n /**\n * If `true`, days outside the current month are rendered:\n *\n * - if `fixedWeekNumber` is defined, renders days to have the weeks requested.\n *\n * - if `fixedWeekNumber` is not defined, renders day to fill the first and last week of the current month.\n *\n * - ignored if `calendars` equals more than `1` on range pickers.\n * @default false\n */\n showDaysOutsideCurrentMonth: PropTypes.bool,\n style: PropTypes.object,\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 * @default 0\n */\n tabIndex: PropTypes.number,\n /**\n * If `true`, renders as today date.\n * @default false\n */\n today: PropTypes.bool,\n /**\n * Props applied to the `TouchRipple` element.\n */\n TouchRippleProps: PropTypes.object,\n /**\n * A ref that points to the `TouchRipple` element.\n */\n touchRippleRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.shape({\n pulsate: PropTypes.func.isRequired,\n start: PropTypes.func.isRequired,\n stop: PropTypes.func.isRequired\n })\n })])\n} : void 0;\n\n/**\n * Demos:\n *\n * - [DateCalendar](https://mui.com/x/react-date-pickers/date-calendar/)\n * API:\n *\n * - [PickersDay API](https://mui.com/x/api/date-pickers/pickers-day/)\n */\nexport const PickersDay = /*#__PURE__*/React.memo(PickersDayRaw);","/**\n * Checks if a given element has a CSS class.\n * \n * @param element the element\n * @param className the CSS class name\n */\nexport default function hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);\n return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}","import hasClass from './hasClass';\n/**\n * Adds a CSS class to a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\nexport default function addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + \" \" + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + \" \" + className);\n}","function replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp(\"(^|\\\\s)\" + classToRemove + \"(?:\\\\s|$)\", 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n/**\n * Removes a CSS class from a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\n\nexport default function removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n } else if (typeof element.className === 'string') {\n element.className = replaceClassName(element.className, className);\n } else {\n element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n }\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport addOneClass from 'dom-helpers/addClass';\nimport removeOneClass from 'dom-helpers/removeClass';\nimport React from 'react';\nimport Transition from './Transition';\nimport { classNamesShape } from './utils/PropTypes';\nimport { forceReflow } from './utils/reflow';\n\nvar _addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return addOneClass(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return removeOneClass(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](https://docs.angularjs.org/api/ngAnimate) library, you should\n * use it if you're using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n *
\n * {\"I'll receive my-node-* classes\"}\n *
\n *
\n * \n *
\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**, so it's\n * important to add `transition` declaration only to them, otherwise transitions\n * might not behave as intended! This might not be obvious when the transitions\n * are symmetrical, i.e. when `*-enter-active` is the same as `*-exit`, like in\n * the example above (minus `transition`), but it becomes apparent in more\n * complex transitions.\n *\n * **Note**: If you're using the\n * [`appear`](http://reactcommunity.org/react-transition-group/transition#Transition-prop-appear)\n * prop, make sure to define styles for `.appear-*` classes as well.\n */\n\n\nvar CSSTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.appliedClasses = {\n appear: {},\n enter: {},\n exit: {}\n };\n\n _this.onEnter = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument[0],\n appearing = _this$resolveArgument[1];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, appearing ? 'appear' : 'enter', 'base');\n\n if (_this.props.onEnter) {\n _this.props.onEnter(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntering = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument2 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument2[0],\n appearing = _this$resolveArgument2[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.addClass(node, type, 'active');\n\n if (_this.props.onEntering) {\n _this.props.onEntering(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntered = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument3 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument3[0],\n appearing = _this$resolveArgument3[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.removeClasses(node, type);\n\n _this.addClass(node, type, 'done');\n\n if (_this.props.onEntered) {\n _this.props.onEntered(maybeNode, maybeAppearing);\n }\n };\n\n _this.onExit = function (maybeNode) {\n var _this$resolveArgument4 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument4[0];\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n _this.addClass(node, 'exit', 'base');\n\n if (_this.props.onExit) {\n _this.props.onExit(maybeNode);\n }\n };\n\n _this.onExiting = function (maybeNode) {\n var _this$resolveArgument5 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument5[0];\n\n _this.addClass(node, 'exit', 'active');\n\n if (_this.props.onExiting) {\n _this.props.onExiting(maybeNode);\n }\n };\n\n _this.onExited = function (maybeNode) {\n var _this$resolveArgument6 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument6[0];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, 'exit', 'done');\n\n if (_this.props.onExited) {\n _this.props.onExited(maybeNode);\n }\n };\n\n _this.resolveArguments = function (maybeNode, maybeAppearing) {\n return _this.props.nodeRef ? [_this.props.nodeRef.current, maybeNode] // here `maybeNode` is actually `appearing`\n : [maybeNode, maybeAppearing];\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + \"-\" : '';\n var baseClassName = isStringClassNames ? \"\" + prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? baseClassName + \"-active\" : classNames[type + \"Active\"];\n var doneClassName = isStringClassNames ? baseClassName + \"-done\" : classNames[type + \"Done\"];\n return {\n baseClassName: baseClassName,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.addClass = function addClass(node, type, phase) {\n var className = this.getClassNames(type)[phase + \"ClassName\"];\n\n var _this$getClassNames = this.getClassNames('enter'),\n doneClassName = _this$getClassNames.doneClassName;\n\n if (type === 'appear' && phase === 'done' && doneClassName) {\n className += \" \" + doneClassName;\n } // This is to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n\n\n if (phase === 'active') {\n if (node) forceReflow(node);\n }\n\n if (className) {\n this.appliedClasses[type][phase] = className;\n\n _addClass(node, className);\n }\n };\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$appliedClasses$ = this.appliedClasses[type],\n baseClassName = _this$appliedClasses$.base,\n activeClassName = _this$appliedClasses$.active,\n doneClassName = _this$appliedClasses$.done;\n this.appliedClasses[type] = {};\n\n if (baseClassName) {\n removeClass(node, baseClassName);\n }\n\n if (activeClassName) {\n removeClass(node, activeClassName);\n }\n\n if (doneClassName) {\n removeClass(node, doneClassName);\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n _ = _this$props.classNames,\n props = _objectWithoutPropertiesLoose(_this$props, [\"classNames\"]);\n\n return /*#__PURE__*/React.createElement(Transition, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(React.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, Transition.propTypes, {\n /**\n * The animation classNames applied to the component as it appears, enters,\n * exits or has finished the transition. A single name can be provided, which\n * will be suffixed for each stage, e.g. `classNames=\"fade\"` applies:\n *\n * - `fade-appear`, `fade-appear-active`, `fade-appear-done`\n * - `fade-enter`, `fade-enter-active`, `fade-enter-done`\n * - `fade-exit`, `fade-exit-active`, `fade-exit-done`\n *\n * A few details to note about how these classes are applied:\n *\n * 1. They are _joined_ with the ones that are already defined on the child\n * component, so if you want to add some base styles, you can use\n * `className` without worrying that it will be overridden.\n *\n * 2. If the transition component mounts with `in={false}`, no classes are\n * applied yet. You might be expecting `*-exit-done`, but if you think\n * about it, a component cannot finish exiting if it hasn't entered yet.\n *\n * 2. `fade-appear-done` and `fade-enter-done` will _both_ be applied. This\n * allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply\n * an epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: classNamesShape,\n\n /**\n * A `` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit-active' is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nexport default CSSTransition;","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport const getPickersSlideTransitionUtilityClass = slot => generateUtilityClass('MuiPickersSlideTransition', slot);\nexport const pickersSlideTransitionClasses = generateUtilityClasses('MuiPickersSlideTransition', ['root', 'slideEnter-left', 'slideEnter-right', 'slideEnterActive', 'slideExit', 'slideExitActiveLeft-left', 'slideExitActiveLeft-right']);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"reduceAnimations\", \"slideDirection\", \"transKey\", \"classes\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport { styled, useTheme, useThemeProps } from '@mui/material/styles';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport { getPickersSlideTransitionUtilityClass, pickersSlideTransitionClasses } from \"./pickersSlideTransitionClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n slideDirection\n } = ownerState;\n const slots = {\n root: ['root'],\n exit: ['slideExit'],\n enterActive: ['slideEnterActive'],\n enter: [`slideEnter-${slideDirection}`],\n exitActive: [`slideExitActiveLeft-${slideDirection}`]\n };\n return composeClasses(slots, getPickersSlideTransitionUtilityClass, classes);\n};\nconst PickersSlideTransitionRoot = styled(TransitionGroup, {\n name: 'MuiPickersSlideTransition',\n slot: 'Root',\n overridesResolver: (_, styles) => [styles.root, {\n [`.${pickersSlideTransitionClasses['slideEnter-left']}`]: styles['slideEnter-left']\n }, {\n [`.${pickersSlideTransitionClasses['slideEnter-right']}`]: styles['slideEnter-right']\n }, {\n [`.${pickersSlideTransitionClasses.slideEnterActive}`]: styles.slideEnterActive\n }, {\n [`.${pickersSlideTransitionClasses.slideExit}`]: styles.slideExit\n }, {\n [`.${pickersSlideTransitionClasses['slideExitActiveLeft-left']}`]: styles['slideExitActiveLeft-left']\n }, {\n [`.${pickersSlideTransitionClasses['slideExitActiveLeft-right']}`]: styles['slideExitActiveLeft-right']\n }]\n})(({\n theme\n}) => {\n const slideTransition = theme.transitions.create('transform', {\n duration: theme.transitions.duration.complex,\n easing: 'cubic-bezier(0.35, 0.8, 0.4, 1)'\n });\n return {\n display: 'block',\n position: 'relative',\n overflowX: 'hidden',\n '& > *': {\n position: 'absolute',\n top: 0,\n right: 0,\n left: 0\n },\n [`& .${pickersSlideTransitionClasses['slideEnter-left']}`]: {\n willChange: 'transform',\n transform: 'translate(100%)',\n zIndex: 1\n },\n [`& .${pickersSlideTransitionClasses['slideEnter-right']}`]: {\n willChange: 'transform',\n transform: 'translate(-100%)',\n zIndex: 1\n },\n [`& .${pickersSlideTransitionClasses.slideEnterActive}`]: {\n transform: 'translate(0%)',\n transition: slideTransition\n },\n [`& .${pickersSlideTransitionClasses.slideExit}`]: {\n transform: 'translate(0%)'\n },\n [`& .${pickersSlideTransitionClasses['slideExitActiveLeft-left']}`]: {\n willChange: 'transform',\n transform: 'translate(-100%)',\n transition: slideTransition,\n zIndex: 0\n },\n [`& .${pickersSlideTransitionClasses['slideExitActiveLeft-right']}`]: {\n willChange: 'transform',\n transform: 'translate(100%)',\n transition: slideTransition,\n zIndex: 0\n }\n };\n});\n\n/**\n * @ignore - do not document.\n */\nexport function PickersSlideTransition(inProps) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersSlideTransition'\n });\n const {\n children,\n className,\n reduceAnimations,\n transKey\n // extracting `classes` from `other`\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const classes = useUtilityClasses(props);\n const theme = useTheme();\n if (reduceAnimations) {\n return /*#__PURE__*/_jsx(\"div\", {\n className: clsx(classes.root, className),\n children: children\n });\n }\n const transitionClasses = {\n exit: classes.exit,\n enterActive: classes.enterActive,\n enter: classes.enter,\n exitActive: classes.exitActive\n };\n return /*#__PURE__*/_jsx(PickersSlideTransitionRoot, {\n className: clsx(classes.root, className),\n childFactory: element => /*#__PURE__*/React.cloneElement(element, {\n classNames: transitionClasses\n }),\n role: \"presentation\",\n children: /*#__PURE__*/_jsx(CSSTransition, _extends({\n mountOnEnter: true,\n unmountOnExit: true,\n timeout: theme.transitions.duration.complex,\n classNames: transitionClasses\n }, other, {\n children: children\n }), transKey)\n });\n}","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport const getDayCalendarUtilityClass = slot => generateUtilityClass('MuiDayCalendar', slot);\nexport const dayCalendarClasses = generateUtilityClasses('MuiDayCalendar', ['root', 'header', 'weekDayLabel', 'loadingContainer', 'slideTransition', 'monthContainer', 'weekContainer', 'weekNumberLabel', 'weekNumber']);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"parentProps\", \"day\", \"focusableDay\", \"selectedDays\", \"isDateDisabled\", \"currentMonthNumber\", \"isViewFocused\"],\n _excluded2 = [\"ownerState\"];\nimport * as React from 'react';\nimport useEventCallback from '@mui/utils/useEventCallback';\nimport Typography from '@mui/material/Typography';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses, unstable_useControlled as useControlled } from '@mui/utils';\nimport clsx from 'clsx';\nimport { PickersDay } from \"../PickersDay/PickersDay.js\";\nimport { usePickersTranslations } from \"../hooks/usePickersTranslations.js\";\nimport { useUtils, useNow } from \"../internals/hooks/useUtils.js\";\nimport { DAY_SIZE, DAY_MARGIN } from \"../internals/constants/dimensions.js\";\nimport { PickersSlideTransition } from \"./PickersSlideTransition.js\";\nimport { useIsDateDisabled } from \"./useIsDateDisabled.js\";\nimport { findClosestEnabledDate, getWeekdays } from \"../internals/utils/date-utils.js\";\nimport { getDayCalendarUtilityClass } from \"./dayCalendarClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n header: ['header'],\n weekDayLabel: ['weekDayLabel'],\n loadingContainer: ['loadingContainer'],\n slideTransition: ['slideTransition'],\n monthContainer: ['monthContainer'],\n weekContainer: ['weekContainer'],\n weekNumberLabel: ['weekNumberLabel'],\n weekNumber: ['weekNumber']\n };\n return composeClasses(slots, getDayCalendarUtilityClass, classes);\n};\nconst weeksContainerHeight = (DAY_SIZE + DAY_MARGIN * 2) * 6;\nconst PickersCalendarDayRoot = styled('div', {\n name: 'MuiDayCalendar',\n slot: 'Root',\n overridesResolver: (_, styles) => styles.root\n})({});\nconst PickersCalendarDayHeader = styled('div', {\n name: 'MuiDayCalendar',\n slot: 'Header',\n overridesResolver: (_, styles) => styles.header\n})({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n});\nconst PickersCalendarWeekDayLabel = styled(Typography, {\n name: 'MuiDayCalendar',\n slot: 'WeekDayLabel',\n overridesResolver: (_, styles) => styles.weekDayLabel\n})(({\n theme\n}) => ({\n width: 36,\n height: 40,\n margin: '0 2px',\n textAlign: 'center',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n color: (theme.vars || theme).palette.text.secondary\n}));\nconst PickersCalendarWeekNumberLabel = styled(Typography, {\n name: 'MuiDayCalendar',\n slot: 'WeekNumberLabel',\n overridesResolver: (_, styles) => styles.weekNumberLabel\n})(({\n theme\n}) => ({\n width: 36,\n height: 40,\n margin: '0 2px',\n textAlign: 'center',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n color: theme.palette.text.disabled\n}));\nconst PickersCalendarWeekNumber = styled(Typography, {\n name: 'MuiDayCalendar',\n slot: 'WeekNumber',\n overridesResolver: (_, styles) => styles.weekNumber\n})(({\n theme\n}) => _extends({}, theme.typography.caption, {\n width: DAY_SIZE,\n height: DAY_SIZE,\n padding: 0,\n margin: `0 ${DAY_MARGIN}px`,\n color: theme.palette.text.disabled,\n fontSize: '0.75rem',\n alignItems: 'center',\n justifyContent: 'center',\n display: 'inline-flex'\n}));\nconst PickersCalendarLoadingContainer = styled('div', {\n name: 'MuiDayCalendar',\n slot: 'LoadingContainer',\n overridesResolver: (_, styles) => styles.loadingContainer\n})({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n minHeight: weeksContainerHeight\n});\nconst PickersCalendarSlideTransition = styled(PickersSlideTransition, {\n name: 'MuiDayCalendar',\n slot: 'SlideTransition',\n overridesResolver: (_, styles) => styles.slideTransition\n})({\n minHeight: weeksContainerHeight\n});\nconst PickersCalendarWeekContainer = styled('div', {\n name: 'MuiDayCalendar',\n slot: 'MonthContainer',\n overridesResolver: (_, styles) => styles.monthContainer\n})({\n overflow: 'hidden'\n});\nconst PickersCalendarWeek = styled('div', {\n name: 'MuiDayCalendar',\n slot: 'WeekContainer',\n overridesResolver: (_, styles) => styles.weekContainer\n})({\n margin: `${DAY_MARGIN}px 0`,\n display: 'flex',\n justifyContent: 'center'\n});\nfunction WrappedDay(_ref) {\n let {\n parentProps,\n day,\n focusableDay,\n selectedDays,\n isDateDisabled,\n currentMonthNumber,\n isViewFocused\n } = _ref,\n other = _objectWithoutPropertiesLoose(_ref, _excluded);\n const {\n disabled,\n disableHighlightToday,\n isMonthSwitchingAnimating,\n showDaysOutsideCurrentMonth,\n slots,\n slotProps,\n timezone\n } = parentProps;\n const utils = useUtils();\n const now = useNow(timezone);\n const isFocusableDay = focusableDay !== null && utils.isSameDay(day, focusableDay);\n const isSelected = selectedDays.some(selectedDay => utils.isSameDay(selectedDay, day));\n const isToday = utils.isSameDay(day, now);\n const Day = slots?.day ?? PickersDay;\n // We don't want to pass to ownerState down, to avoid re-rendering all the day whenever a prop changes.\n const _useSlotProps = useSlotProps({\n elementType: Day,\n externalSlotProps: slotProps?.day,\n additionalProps: _extends({\n disableHighlightToday,\n showDaysOutsideCurrentMonth,\n role: 'gridcell',\n isAnimating: isMonthSwitchingAnimating,\n // it is used in date range dragging logic by accessing `dataset.timestamp`\n 'data-timestamp': utils.toJsDate(day).valueOf()\n }, other),\n ownerState: _extends({}, parentProps, {\n day,\n selected: isSelected\n })\n }),\n dayProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);\n const isDisabled = React.useMemo(() => disabled || isDateDisabled(day), [disabled, isDateDisabled, day]);\n const outsideCurrentMonth = React.useMemo(() => utils.getMonth(day) !== currentMonthNumber, [utils, day, currentMonthNumber]);\n const isFirstVisibleCell = React.useMemo(() => {\n const startOfMonth = utils.startOfMonth(utils.setMonth(day, currentMonthNumber));\n if (!showDaysOutsideCurrentMonth) {\n return utils.isSameDay(day, startOfMonth);\n }\n return utils.isSameDay(day, utils.startOfWeek(startOfMonth));\n }, [currentMonthNumber, day, showDaysOutsideCurrentMonth, utils]);\n const isLastVisibleCell = React.useMemo(() => {\n const endOfMonth = utils.endOfMonth(utils.setMonth(day, currentMonthNumber));\n if (!showDaysOutsideCurrentMonth) {\n return utils.isSameDay(day, endOfMonth);\n }\n return utils.isSameDay(day, utils.endOfWeek(endOfMonth));\n }, [currentMonthNumber, day, showDaysOutsideCurrentMonth, utils]);\n return /*#__PURE__*/_jsx(Day, _extends({}, dayProps, {\n day: day,\n disabled: isDisabled,\n autoFocus: isViewFocused && isFocusableDay,\n today: isToday,\n outsideCurrentMonth: outsideCurrentMonth,\n isFirstVisibleCell: isFirstVisibleCell,\n isLastVisibleCell: isLastVisibleCell,\n selected: isSelected,\n tabIndex: isFocusableDay ? 0 : -1,\n \"aria-selected\": isSelected,\n \"aria-current\": isToday ? 'date' : undefined\n }));\n}\n\n/**\n * @ignore - do not document.\n */\nexport function DayCalendar(inProps) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDayCalendar'\n });\n const utils = useUtils();\n const {\n onFocusedDayChange,\n className,\n currentMonth,\n selectedDays,\n focusedDay,\n loading,\n onSelectedDaysChange,\n onMonthSwitchingAnimationEnd,\n readOnly,\n reduceAnimations,\n renderLoading = () => /*#__PURE__*/_jsx(\"span\", {\n children: \"...\"\n }),\n slideDirection,\n TransitionProps,\n disablePast,\n disableFuture,\n minDate,\n maxDate,\n shouldDisableDate,\n shouldDisableMonth,\n shouldDisableYear,\n dayOfWeekFormatter = date => utils.format(date, 'weekdayShort').charAt(0).toUpperCase(),\n hasFocus,\n onFocusedViewChange,\n gridLabelId,\n displayWeekNumber,\n fixedWeekNumber,\n autoFocus,\n timezone\n } = props;\n const now = useNow(timezone);\n const classes = useUtilityClasses(props);\n const isRtl = useRtl();\n const isDateDisabled = useIsDateDisabled({\n shouldDisableDate,\n shouldDisableMonth,\n shouldDisableYear,\n minDate,\n maxDate,\n disablePast,\n disableFuture,\n timezone\n });\n const translations = usePickersTranslations();\n const [internalHasFocus, setInternalHasFocus] = useControlled({\n name: 'DayCalendar',\n state: 'hasFocus',\n controlled: hasFocus,\n default: autoFocus ?? false\n });\n const [internalFocusedDay, setInternalFocusedDay] = React.useState(() => focusedDay || now);\n const handleDaySelect = useEventCallback(day => {\n if (readOnly) {\n return;\n }\n onSelectedDaysChange(day);\n });\n const focusDay = day => {\n if (!isDateDisabled(day)) {\n onFocusedDayChange(day);\n setInternalFocusedDay(day);\n onFocusedViewChange?.(true);\n setInternalHasFocus(true);\n }\n };\n const handleKeyDown = useEventCallback((event, day) => {\n switch (event.key) {\n case 'ArrowUp':\n focusDay(utils.addDays(day, -7));\n event.preventDefault();\n break;\n case 'ArrowDown':\n focusDay(utils.addDays(day, 7));\n event.preventDefault();\n break;\n case 'ArrowLeft':\n {\n const newFocusedDayDefault = utils.addDays(day, isRtl ? 1 : -1);\n const nextAvailableMonth = utils.addMonths(day, isRtl ? 1 : -1);\n const closestDayToFocus = findClosestEnabledDate({\n utils,\n date: newFocusedDayDefault,\n minDate: isRtl ? newFocusedDayDefault : utils.startOfMonth(nextAvailableMonth),\n maxDate: isRtl ? utils.endOfMonth(nextAvailableMonth) : newFocusedDayDefault,\n isDateDisabled,\n timezone\n });\n focusDay(closestDayToFocus || newFocusedDayDefault);\n event.preventDefault();\n break;\n }\n case 'ArrowRight':\n {\n const newFocusedDayDefault = utils.addDays(day, isRtl ? -1 : 1);\n const nextAvailableMonth = utils.addMonths(day, isRtl ? -1 : 1);\n const closestDayToFocus = findClosestEnabledDate({\n utils,\n date: newFocusedDayDefault,\n minDate: isRtl ? utils.startOfMonth(nextAvailableMonth) : newFocusedDayDefault,\n maxDate: isRtl ? newFocusedDayDefault : utils.endOfMonth(nextAvailableMonth),\n isDateDisabled,\n timezone\n });\n focusDay(closestDayToFocus || newFocusedDayDefault);\n event.preventDefault();\n break;\n }\n case 'Home':\n focusDay(utils.startOfWeek(day));\n event.preventDefault();\n break;\n case 'End':\n focusDay(utils.endOfWeek(day));\n event.preventDefault();\n break;\n case 'PageUp':\n focusDay(utils.addMonths(day, 1));\n event.preventDefault();\n break;\n case 'PageDown':\n focusDay(utils.addMonths(day, -1));\n event.preventDefault();\n break;\n default:\n break;\n }\n });\n const handleFocus = useEventCallback((event, day) => focusDay(day));\n const handleBlur = useEventCallback((event, day) => {\n if (internalHasFocus && utils.isSameDay(internalFocusedDay, day)) {\n onFocusedViewChange?.(false);\n }\n });\n const currentMonthNumber = utils.getMonth(currentMonth);\n const currentYearNumber = utils.getYear(currentMonth);\n const validSelectedDays = React.useMemo(() => selectedDays.filter(day => !!day).map(day => utils.startOfDay(day)), [utils, selectedDays]);\n\n // need a new ref whenever the `key` of the transition changes: https://reactcommunity.org/react-transition-group/transition/#Transition-prop-nodeRef.\n const transitionKey = `${currentYearNumber}-${currentMonthNumber}`;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const slideNodeRef = React.useMemo(() => /*#__PURE__*/React.createRef(), [transitionKey]);\n const focusableDay = React.useMemo(() => {\n const startOfMonth = utils.startOfMonth(currentMonth);\n const endOfMonth = utils.endOfMonth(currentMonth);\n if (isDateDisabled(internalFocusedDay) || utils.isAfterDay(internalFocusedDay, endOfMonth) || utils.isBeforeDay(internalFocusedDay, startOfMonth)) {\n return findClosestEnabledDate({\n utils,\n date: internalFocusedDay,\n minDate: startOfMonth,\n maxDate: endOfMonth,\n disablePast,\n disableFuture,\n isDateDisabled,\n timezone\n });\n }\n return internalFocusedDay;\n }, [currentMonth, disableFuture, disablePast, internalFocusedDay, isDateDisabled, utils, timezone]);\n const weeksToDisplay = React.useMemo(() => {\n const toDisplay = utils.getWeekArray(currentMonth);\n let nextMonth = utils.addMonths(currentMonth, 1);\n while (fixedWeekNumber && toDisplay.length < fixedWeekNumber) {\n const additionalWeeks = utils.getWeekArray(nextMonth);\n const hasCommonWeek = utils.isSameDay(toDisplay[toDisplay.length - 1][0], additionalWeeks[0][0]);\n additionalWeeks.slice(hasCommonWeek ? 1 : 0).forEach(week => {\n if (toDisplay.length < fixedWeekNumber) {\n toDisplay.push(week);\n }\n });\n nextMonth = utils.addMonths(nextMonth, 1);\n }\n return toDisplay;\n }, [currentMonth, fixedWeekNumber, utils]);\n return /*#__PURE__*/_jsxs(PickersCalendarDayRoot, {\n role: \"grid\",\n \"aria-labelledby\": gridLabelId,\n className: classes.root,\n children: [/*#__PURE__*/_jsxs(PickersCalendarDayHeader, {\n role: \"row\",\n className: classes.header,\n children: [displayWeekNumber && /*#__PURE__*/_jsx(PickersCalendarWeekNumberLabel, {\n variant: \"caption\",\n role: \"columnheader\",\n \"aria-label\": translations.calendarWeekNumberHeaderLabel,\n className: classes.weekNumberLabel,\n children: translations.calendarWeekNumberHeaderText\n }), getWeekdays(utils, now).map((weekday, i) => /*#__PURE__*/_jsx(PickersCalendarWeekDayLabel, {\n variant: \"caption\",\n role: \"columnheader\",\n \"aria-label\": utils.format(weekday, 'weekday'),\n className: classes.weekDayLabel,\n children: dayOfWeekFormatter(weekday)\n }, i.toString()))]\n }), loading ? /*#__PURE__*/_jsx(PickersCalendarLoadingContainer, {\n className: classes.loadingContainer,\n children: renderLoading()\n }) : /*#__PURE__*/_jsx(PickersCalendarSlideTransition, _extends({\n transKey: transitionKey,\n onExited: onMonthSwitchingAnimationEnd,\n reduceAnimations: reduceAnimations,\n slideDirection: slideDirection,\n className: clsx(className, classes.slideTransition)\n }, TransitionProps, {\n nodeRef: slideNodeRef,\n children: /*#__PURE__*/_jsx(PickersCalendarWeekContainer, {\n ref: slideNodeRef,\n role: \"rowgroup\",\n className: classes.monthContainer,\n children: weeksToDisplay.map((week, index) => /*#__PURE__*/_jsxs(PickersCalendarWeek, {\n role: \"row\",\n className: classes.weekContainer\n // fix issue of announcing row 1 as row 2\n // caused by week day labels row\n ,\n \"aria-rowindex\": index + 1,\n children: [displayWeekNumber && /*#__PURE__*/_jsx(PickersCalendarWeekNumber, {\n className: classes.weekNumber,\n role: \"rowheader\",\n \"aria-label\": translations.calendarWeekNumberAriaLabelText(utils.getWeekNumber(week[0])),\n children: translations.calendarWeekNumberText(utils.getWeekNumber(week[0]))\n }), week.map((day, dayIndex) => /*#__PURE__*/_jsx(WrappedDay, {\n parentProps: props,\n day: day,\n selectedDays: validSelectedDays,\n focusableDay: focusableDay,\n onKeyDown: handleKeyDown,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onDaySelect: handleDaySelect,\n isDateDisabled: isDateDisabled,\n currentMonthNumber: currentMonthNumber,\n isViewFocused: internalHasFocus\n // fix issue of announcing column 1 as column 2 when `displayWeekNumber` is enabled\n ,\n \"aria-colindex\": dayIndex + 1\n }, day.toString()))]\n }, `week-${week[0]}`))\n })\n }))]\n });\n}","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport function getPickersMonthUtilityClass(slot) {\n return generateUtilityClass('MuiPickersMonth', slot);\n}\nexport const pickersMonthClasses = generateUtilityClasses('MuiPickersMonth', ['root', 'monthButton', 'disabled', 'selected']);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"className\", \"children\", \"disabled\", \"selected\", \"value\", \"tabIndex\", \"onClick\", \"onKeyDown\", \"onFocus\", \"onBlur\", \"aria-current\", \"aria-label\", \"monthsPerRow\", \"slots\", \"slotProps\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport { styled, alpha, useThemeProps } from '@mui/material/styles';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useEnhancedEffect from '@mui/utils/useEnhancedEffect';\nimport { getPickersMonthUtilityClass, pickersMonthClasses } from \"./pickersMonthClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n monthButton: ['monthButton', disabled && 'disabled', selected && 'selected']\n };\n return composeClasses(slots, getPickersMonthUtilityClass, classes);\n};\nconst PickersMonthRoot = styled('div', {\n name: 'MuiPickersMonth',\n slot: 'Root',\n overridesResolver: (_, styles) => [styles.root]\n})({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexBasis: '33.3%',\n variants: [{\n props: {\n monthsPerRow: 4\n },\n style: {\n flexBasis: '25%'\n }\n }]\n});\nconst MonthCalendarButton = styled('button', {\n name: 'MuiPickersMonth',\n slot: 'MonthButton',\n overridesResolver: (_, styles) => [styles.monthButton, {\n [`&.${pickersMonthClasses.disabled}`]: styles.disabled\n }, {\n [`&.${pickersMonthClasses.selected}`]: styles.selected\n }]\n})(({\n theme\n}) => _extends({\n color: 'unset',\n backgroundColor: 'transparent',\n border: 0,\n outline: 0\n}, theme.typography.subtitle1, {\n margin: '8px 0',\n height: 36,\n width: 72,\n borderRadius: 18,\n cursor: 'pointer',\n '&:focus': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, theme.palette.action.hoverOpacity)\n },\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, theme.palette.action.hoverOpacity)\n },\n '&:disabled': {\n cursor: 'auto',\n pointerEvents: 'none'\n },\n [`&.${pickersMonthClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.secondary\n },\n [`&.${pickersMonthClasses.selected}`]: {\n color: (theme.vars || theme).palette.primary.contrastText,\n backgroundColor: (theme.vars || theme).palette.primary.main,\n '&:focus, &:hover': {\n backgroundColor: (theme.vars || theme).palette.primary.dark\n }\n }\n}));\n\n/**\n * @ignore - do not document.\n */\nexport const PickersMonth = /*#__PURE__*/React.memo(function PickersMonth(inProps) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersMonth'\n });\n const {\n autoFocus,\n className,\n children,\n disabled,\n selected,\n value,\n tabIndex,\n onClick,\n onKeyDown,\n onFocus,\n onBlur,\n 'aria-current': ariaCurrent,\n 'aria-label': ariaLabel\n // We don't want to forward this prop to the root element\n ,\n\n slots,\n slotProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ref = React.useRef(null);\n const classes = useUtilityClasses(props);\n\n // We can't forward the `autoFocus` to the button because it is a native button, not a MUI Button\n useEnhancedEffect(() => {\n if (autoFocus) {\n // `ref.current` being `null` would be a bug in MUI.\n ref.current?.focus();\n }\n }, [autoFocus]);\n const MonthButton = slots?.monthButton ?? MonthCalendarButton;\n const monthButtonProps = useSlotProps({\n elementType: MonthButton,\n externalSlotProps: slotProps?.monthButton,\n additionalProps: {\n children,\n disabled,\n tabIndex,\n ref,\n type: 'button',\n role: 'radio',\n 'aria-current': ariaCurrent,\n 'aria-checked': selected,\n 'aria-label': ariaLabel,\n onClick: event => onClick(event, value),\n onKeyDown: event => onKeyDown(event, value),\n onFocus: event => onFocus(event, value),\n onBlur: event => onBlur(event, value)\n },\n ownerState: props,\n className: classes.monthButton\n });\n return /*#__PURE__*/_jsx(PickersMonthRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: props\n }, other, {\n children: /*#__PURE__*/_jsx(MonthButton, _extends({}, monthButtonProps))\n }));\n});","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport function getMonthCalendarUtilityClass(slot) {\n return generateUtilityClass('MuiMonthCalendar', slot);\n}\nexport const monthCalendarClasses = generateUtilityClasses('MuiMonthCalendar', ['root']);","import * as React from 'react';\nimport useEventCallback from '@mui/utils/useEventCallback';\nimport useControlled from '@mui/utils/useControlled';\nimport { useUtils } from \"./useUtils.js\";\n/**\n * Hooks making sure that:\n * - The value returned by `onChange` always have the timezone of `props.value` or `props.defaultValue` if defined\n * - The value rendered is always the one from `props.timezone` if defined\n */\nexport const useValueWithTimezone = ({\n timezone: timezoneProp,\n value: valueProp,\n defaultValue,\n referenceDate,\n onChange,\n valueManager\n}) => {\n const utils = useUtils();\n const firstDefaultValue = React.useRef(defaultValue);\n const inputValue = valueProp ?? firstDefaultValue.current ?? valueManager.emptyValue;\n const inputTimezone = React.useMemo(() => valueManager.getTimezone(utils, inputValue), [utils, valueManager, inputValue]);\n const setInputTimezone = useEventCallback(newValue => {\n if (inputTimezone == null) {\n return newValue;\n }\n return valueManager.setTimezone(utils, inputTimezone, newValue);\n });\n let timezoneToRender;\n if (timezoneProp) {\n timezoneToRender = timezoneProp;\n } else if (inputTimezone) {\n timezoneToRender = inputTimezone;\n } else if (referenceDate) {\n timezoneToRender = utils.getTimezone(referenceDate);\n } else {\n timezoneToRender = 'default';\n }\n const valueWithTimezoneToRender = React.useMemo(() => valueManager.setTimezone(utils, timezoneToRender, inputValue), [valueManager, utils, timezoneToRender, inputValue]);\n const handleValueChange = useEventCallback((newValue, ...otherParams) => {\n const newValueWithInputTimezone = setInputTimezone(newValue);\n onChange?.(newValueWithInputTimezone, ...otherParams);\n });\n return {\n value: valueWithTimezoneToRender,\n handleValueChange,\n timezone: timezoneToRender\n };\n};\n\n/**\n * Wrapper around `useControlled` and `useValueWithTimezone`\n */\nexport const useControlledValueWithTimezone = ({\n name,\n timezone: timezoneProp,\n value: valueProp,\n defaultValue,\n referenceDate,\n onChange: onChangeProp,\n valueManager\n}) => {\n const [valueWithInputTimezone, setValue] = useControlled({\n name,\n state: 'value',\n controlled: valueProp,\n default: defaultValue ?? valueManager.emptyValue\n });\n const onChange = useEventCallback((newValue, ...otherParams) => {\n setValue(newValue);\n onChangeProp?.(newValue, ...otherParams);\n });\n return useValueWithTimezone({\n timezone: timezoneProp,\n value: valueWithInputTimezone,\n defaultValue: undefined,\n referenceDate,\n onChange,\n valueManager\n });\n};","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"value\", \"defaultValue\", \"referenceDate\", \"disabled\", \"disableFuture\", \"disablePast\", \"maxDate\", \"minDate\", \"onChange\", \"shouldDisableMonth\", \"readOnly\", \"disableHighlightToday\", \"autoFocus\", \"onMonthFocus\", \"hasFocus\", \"onFocusedViewChange\", \"monthsPerRow\", \"timezone\", \"gridLabelId\", \"slots\", \"slotProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_useControlled as useControlled, unstable_composeClasses as composeClasses, unstable_useEventCallback as useEventCallback } from '@mui/utils';\nimport { PickersMonth } from \"./PickersMonth.js\";\nimport { useUtils, useNow, useDefaultDates } from \"../internals/hooks/useUtils.js\";\nimport { getMonthCalendarUtilityClass } from \"./monthCalendarClasses.js\";\nimport { applyDefaultDate, getMonthsInYear } from \"../internals/utils/date-utils.js\";\nimport { singleItemValueManager } from \"../internals/utils/valueManagers.js\";\nimport { SECTION_TYPE_GRANULARITY } from \"../internals/utils/getDefaultReferenceDate.js\";\nimport { useControlledValueWithTimezone } from \"../internals/hooks/useValueWithTimezone.js\";\nimport { DIALOG_WIDTH } from \"../internals/constants/dimensions.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getMonthCalendarUtilityClass, classes);\n};\nexport function useMonthCalendarDefaultizedProps(props, name) {\n const utils = useUtils();\n const defaultDates = useDefaultDates();\n const themeProps = useThemeProps({\n props,\n name\n });\n return _extends({\n disableFuture: false,\n disablePast: false\n }, themeProps, {\n minDate: applyDefaultDate(utils, themeProps.minDate, defaultDates.minDate),\n maxDate: applyDefaultDate(utils, themeProps.maxDate, defaultDates.maxDate)\n });\n}\nconst MonthCalendarRoot = styled('div', {\n name: 'MuiMonthCalendar',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'flex',\n flexWrap: 'wrap',\n alignContent: 'stretch',\n padding: '0 4px',\n width: DIALOG_WIDTH,\n // avoid padding increasing width over defined\n boxSizing: 'border-box'\n});\n/**\n * Demos:\n *\n * - [DateCalendar](https://mui.com/x/react-date-pickers/date-calendar/)\n *\n * API:\n *\n * - [MonthCalendar API](https://mui.com/x/api/date-pickers/month-calendar/)\n */\nexport const MonthCalendar = /*#__PURE__*/React.forwardRef(function MonthCalendar(inProps, ref) {\n const props = useMonthCalendarDefaultizedProps(inProps, 'MuiMonthCalendar');\n const {\n className,\n value: valueProp,\n defaultValue,\n referenceDate: referenceDateProp,\n disabled,\n disableFuture,\n disablePast,\n maxDate,\n minDate,\n onChange,\n shouldDisableMonth,\n readOnly,\n autoFocus = false,\n onMonthFocus,\n hasFocus,\n onFocusedViewChange,\n monthsPerRow = 3,\n timezone: timezoneProp,\n gridLabelId,\n slots,\n slotProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n value,\n handleValueChange,\n timezone\n } = useControlledValueWithTimezone({\n name: 'MonthCalendar',\n timezone: timezoneProp,\n value: valueProp,\n defaultValue,\n referenceDate: referenceDateProp,\n onChange,\n valueManager: singleItemValueManager\n });\n const now = useNow(timezone);\n const isRtl = useRtl();\n const utils = useUtils();\n const referenceDate = React.useMemo(() => singleItemValueManager.getInitialReferenceValue({\n value,\n utils,\n props,\n timezone,\n referenceDate: referenceDateProp,\n granularity: SECTION_TYPE_GRANULARITY.month\n }), [] // eslint-disable-line react-hooks/exhaustive-deps\n );\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n const todayMonth = React.useMemo(() => utils.getMonth(now), [utils, now]);\n const selectedMonth = React.useMemo(() => {\n if (value != null) {\n return utils.getMonth(value);\n }\n return null;\n }, [value, utils]);\n const [focusedMonth, setFocusedMonth] = React.useState(() => selectedMonth || utils.getMonth(referenceDate));\n const [internalHasFocus, setInternalHasFocus] = useControlled({\n name: 'MonthCalendar',\n state: 'hasFocus',\n controlled: hasFocus,\n default: autoFocus ?? false\n });\n const changeHasFocus = useEventCallback(newHasFocus => {\n setInternalHasFocus(newHasFocus);\n if (onFocusedViewChange) {\n onFocusedViewChange(newHasFocus);\n }\n });\n const isMonthDisabled = React.useCallback(dateToValidate => {\n const firstEnabledMonth = utils.startOfMonth(disablePast && utils.isAfter(now, minDate) ? now : minDate);\n const lastEnabledMonth = utils.startOfMonth(disableFuture && utils.isBefore(now, maxDate) ? now : maxDate);\n const monthToValidate = utils.startOfMonth(dateToValidate);\n if (utils.isBefore(monthToValidate, firstEnabledMonth)) {\n return true;\n }\n if (utils.isAfter(monthToValidate, lastEnabledMonth)) {\n return true;\n }\n if (!shouldDisableMonth) {\n return false;\n }\n return shouldDisableMonth(monthToValidate);\n }, [disableFuture, disablePast, maxDate, minDate, now, shouldDisableMonth, utils]);\n const handleMonthSelection = useEventCallback((event, month) => {\n if (readOnly) {\n return;\n }\n const newDate = utils.setMonth(value ?? referenceDate, month);\n handleValueChange(newDate);\n });\n const focusMonth = useEventCallback(month => {\n if (!isMonthDisabled(utils.setMonth(value ?? referenceDate, month))) {\n setFocusedMonth(month);\n changeHasFocus(true);\n if (onMonthFocus) {\n onMonthFocus(month);\n }\n }\n });\n React.useEffect(() => {\n setFocusedMonth(prevFocusedMonth => selectedMonth !== null && prevFocusedMonth !== selectedMonth ? selectedMonth : prevFocusedMonth);\n }, [selectedMonth]);\n const handleKeyDown = useEventCallback((event, month) => {\n const monthsInYear = 12;\n const monthsInRow = 3;\n switch (event.key) {\n case 'ArrowUp':\n focusMonth((monthsInYear + month - monthsInRow) % monthsInYear);\n event.preventDefault();\n break;\n case 'ArrowDown':\n focusMonth((monthsInYear + month + monthsInRow) % monthsInYear);\n event.preventDefault();\n break;\n case 'ArrowLeft':\n focusMonth((monthsInYear + month + (isRtl ? 1 : -1)) % monthsInYear);\n event.preventDefault();\n break;\n case 'ArrowRight':\n focusMonth((monthsInYear + month + (isRtl ? -1 : 1)) % monthsInYear);\n event.preventDefault();\n break;\n default:\n break;\n }\n });\n const handleMonthFocus = useEventCallback((event, month) => {\n focusMonth(month);\n });\n const handleMonthBlur = useEventCallback((event, month) => {\n if (focusedMonth === month) {\n changeHasFocus(false);\n }\n });\n return /*#__PURE__*/_jsx(MonthCalendarRoot, _extends({\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState,\n role: \"radiogroup\",\n \"aria-labelledby\": gridLabelId\n }, other, {\n children: getMonthsInYear(utils, value ?? referenceDate).map(month => {\n const monthNumber = utils.getMonth(month);\n const monthText = utils.format(month, 'monthShort');\n const monthLabel = utils.format(month, 'month');\n const isSelected = monthNumber === selectedMonth;\n const isDisabled = disabled || isMonthDisabled(month);\n return /*#__PURE__*/_jsx(PickersMonth, {\n selected: isSelected,\n value: monthNumber,\n onClick: handleMonthSelection,\n onKeyDown: handleKeyDown,\n autoFocus: internalHasFocus && monthNumber === focusedMonth,\n disabled: isDisabled,\n tabIndex: monthNumber === focusedMonth && !isDisabled ? 0 : -1,\n onFocus: handleMonthFocus,\n onBlur: handleMonthBlur,\n \"aria-current\": todayMonth === monthNumber ? 'date' : undefined,\n \"aria-label\": monthLabel,\n monthsPerRow: monthsPerRow,\n slots: slots,\n slotProps: slotProps,\n children: monthText\n }, monthText);\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? MonthCalendar.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 autoFocus: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n className: PropTypes.string,\n /**\n * The default selected value.\n * Used when the component is not controlled.\n */\n defaultValue: PropTypes.object,\n /**\n * If `true` picker is disabled\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, disable values after the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disableFuture: PropTypes.bool,\n /**\n * If `true`, today's date is rendering without highlighting with circle.\n * @default false\n */\n disableHighlightToday: PropTypes.bool,\n /**\n * If `true`, disable values before the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disablePast: PropTypes.bool,\n gridLabelId: PropTypes.string,\n hasFocus: PropTypes.bool,\n /**\n * Maximal selectable date.\n * @default 2099-12-31\n */\n maxDate: PropTypes.object,\n /**\n * Minimal selectable date.\n * @default 1900-01-01\n */\n minDate: PropTypes.object,\n /**\n * Months rendered per row.\n * @default 3\n */\n monthsPerRow: PropTypes.oneOf([3, 4]),\n /**\n * Callback fired when the value changes.\n * @template TDate\n * @param {TDate} value The new value.\n */\n onChange: PropTypes.func,\n onFocusedViewChange: PropTypes.func,\n onMonthFocus: PropTypes.func,\n /**\n * If `true` picker is readonly\n */\n readOnly: PropTypes.bool,\n /**\n * The date used to generate the new value when both `value` and `defaultValue` are empty.\n * @default The closest valid month using the validation props, except callbacks such as `shouldDisableMonth`.\n */\n referenceDate: PropTypes.object,\n /**\n * Disable specific month.\n * @template TDate\n * @param {TDate} month The month to test.\n * @returns {boolean} If `true`, the month will be disabled.\n */\n shouldDisableMonth: PropTypes.func,\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * Overridable component slots.\n * @default {}\n */\n slots: PropTypes.object,\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 * Choose which timezone to use for the value.\n * Example: \"default\", \"system\", \"UTC\", \"America/New_York\".\n * If you pass values from other timezones to some props, they will be converted to this timezone before being used.\n * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.\n * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.\n */\n timezone: PropTypes.string,\n /**\n * The selected value.\n * Used when the component is controlled.\n */\n value: PropTypes.object\n} : void 0;","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport function getPickersYearUtilityClass(slot) {\n return generateUtilityClass('MuiPickersYear', slot);\n}\nexport const pickersYearClasses = generateUtilityClasses('MuiPickersYear', ['root', 'yearButton', 'selected', 'disabled']);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"className\", \"children\", \"disabled\", \"selected\", \"value\", \"tabIndex\", \"onClick\", \"onKeyDown\", \"onFocus\", \"onBlur\", \"aria-current\", \"yearsPerRow\", \"slots\", \"slotProps\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport { styled, alpha, useThemeProps } from '@mui/material/styles';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useEnhancedEffect from '@mui/utils/useEnhancedEffect';\nimport { getPickersYearUtilityClass, pickersYearClasses } from \"./pickersYearClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n yearButton: ['yearButton', disabled && 'disabled', selected && 'selected']\n };\n return composeClasses(slots, getPickersYearUtilityClass, classes);\n};\nconst PickersYearRoot = styled('div', {\n name: 'MuiPickersYear',\n slot: 'Root',\n overridesResolver: (_, styles) => [styles.root]\n})({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexBasis: '33.3%',\n variants: [{\n props: {\n yearsPerRow: 4\n },\n style: {\n flexBasis: '25%'\n }\n }]\n});\nconst YearCalendarButton = styled('button', {\n name: 'MuiPickersYear',\n slot: 'YearButton',\n overridesResolver: (_, styles) => [styles.yearButton, {\n [`&.${pickersYearClasses.disabled}`]: styles.disabled\n }, {\n [`&.${pickersYearClasses.selected}`]: styles.selected\n }]\n})(({\n theme\n}) => _extends({\n color: 'unset',\n backgroundColor: 'transparent',\n border: 0,\n outline: 0\n}, theme.typography.subtitle1, {\n margin: '6px 0',\n height: 36,\n width: 72,\n borderRadius: 18,\n cursor: 'pointer',\n '&:focus': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.focusOpacity})` : alpha(theme.palette.action.active, theme.palette.action.focusOpacity)\n },\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, theme.palette.action.hoverOpacity)\n },\n '&:disabled': {\n cursor: 'auto',\n pointerEvents: 'none'\n },\n [`&.${pickersYearClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.secondary\n },\n [`&.${pickersYearClasses.selected}`]: {\n color: (theme.vars || theme).palette.primary.contrastText,\n backgroundColor: (theme.vars || theme).palette.primary.main,\n '&:focus, &:hover': {\n backgroundColor: (theme.vars || theme).palette.primary.dark\n }\n }\n}));\n\n/**\n * @ignore - internal component.\n */\nexport const PickersYear = /*#__PURE__*/React.memo(function PickersYear(inProps) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersYear'\n });\n const {\n autoFocus,\n className,\n children,\n disabled,\n selected,\n value,\n tabIndex,\n onClick,\n onKeyDown,\n onFocus,\n onBlur,\n 'aria-current': ariaCurrent\n // We don't want to forward this prop to the root element\n ,\n\n slots,\n slotProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ref = React.useRef(null);\n const classes = useUtilityClasses(props);\n\n // We can't forward the `autoFocus` to the button because it is a native button, not a MUI Button\n useEnhancedEffect(() => {\n if (autoFocus) {\n // `ref.current` being `null` would be a bug in MUI.\n ref.current?.focus();\n }\n }, [autoFocus]);\n const YearButton = slots?.yearButton ?? YearCalendarButton;\n const yearButtonProps = useSlotProps({\n elementType: YearButton,\n externalSlotProps: slotProps?.yearButton,\n additionalProps: {\n children,\n disabled,\n tabIndex,\n ref,\n type: 'button',\n role: 'radio',\n 'aria-current': ariaCurrent,\n 'aria-checked': selected,\n onClick: event => onClick(event, value),\n onKeyDown: event => onKeyDown(event, value),\n onFocus: event => onFocus(event, value),\n onBlur: event => onBlur(event, value)\n },\n ownerState: props,\n className: classes.yearButton\n });\n return /*#__PURE__*/_jsx(PickersYearRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: props\n }, other, {\n children: /*#__PURE__*/_jsx(YearButton, _extends({}, yearButtonProps))\n }));\n});","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport function getYearCalendarUtilityClass(slot) {\n return generateUtilityClass('MuiYearCalendar', slot);\n}\nexport const yearCalendarClasses = generateUtilityClasses('MuiYearCalendar', ['root']);","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"className\", \"value\", \"defaultValue\", \"referenceDate\", \"disabled\", \"disableFuture\", \"disablePast\", \"maxDate\", \"minDate\", \"onChange\", \"readOnly\", \"shouldDisableYear\", \"disableHighlightToday\", \"onYearFocus\", \"hasFocus\", \"onFocusedViewChange\", \"yearsOrder\", \"yearsPerRow\", \"timezone\", \"gridLabelId\", \"slots\", \"slotProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_useForkRef as useForkRef, unstable_composeClasses as composeClasses, unstable_useControlled as useControlled, unstable_useEventCallback as useEventCallback } from '@mui/utils';\nimport { PickersYear } from \"./PickersYear.js\";\nimport { useUtils, useNow, useDefaultDates } from \"../internals/hooks/useUtils.js\";\nimport { getYearCalendarUtilityClass } from \"./yearCalendarClasses.js\";\nimport { applyDefaultDate } from \"../internals/utils/date-utils.js\";\nimport { singleItemValueManager } from \"../internals/utils/valueManagers.js\";\nimport { SECTION_TYPE_GRANULARITY } from \"../internals/utils/getDefaultReferenceDate.js\";\nimport { useControlledValueWithTimezone } from \"../internals/hooks/useValueWithTimezone.js\";\nimport { DIALOG_WIDTH, MAX_CALENDAR_HEIGHT } from \"../internals/constants/dimensions.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getYearCalendarUtilityClass, classes);\n};\nfunction useYearCalendarDefaultizedProps(props, name) {\n const utils = useUtils();\n const defaultDates = useDefaultDates();\n const themeProps = useThemeProps({\n props,\n name\n });\n return _extends({\n disablePast: false,\n disableFuture: false\n }, themeProps, {\n yearsPerRow: themeProps.yearsPerRow ?? 3,\n minDate: applyDefaultDate(utils, themeProps.minDate, defaultDates.minDate),\n maxDate: applyDefaultDate(utils, themeProps.maxDate, defaultDates.maxDate)\n });\n}\nconst YearCalendarRoot = styled('div', {\n name: 'MuiYearCalendar',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n overflowY: 'auto',\n height: '100%',\n padding: '0 4px',\n width: DIALOG_WIDTH,\n maxHeight: MAX_CALENDAR_HEIGHT,\n // avoid padding increasing width over defined\n boxSizing: 'border-box',\n position: 'relative'\n});\n/**\n * Demos:\n *\n * - [DateCalendar](https://mui.com/x/react-date-pickers/date-calendar/)\n *\n * API:\n *\n * - [YearCalendar API](https://mui.com/x/api/date-pickers/year-calendar/)\n */\nexport const YearCalendar = /*#__PURE__*/React.forwardRef(function YearCalendar(inProps, ref) {\n const props = useYearCalendarDefaultizedProps(inProps, 'MuiYearCalendar');\n const {\n autoFocus,\n className,\n value: valueProp,\n defaultValue,\n referenceDate: referenceDateProp,\n disabled,\n disableFuture,\n disablePast,\n maxDate,\n minDate,\n onChange,\n readOnly,\n shouldDisableYear,\n onYearFocus,\n hasFocus,\n onFocusedViewChange,\n yearsOrder = 'asc',\n yearsPerRow,\n timezone: timezoneProp,\n gridLabelId,\n slots,\n slotProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n value,\n handleValueChange,\n timezone\n } = useControlledValueWithTimezone({\n name: 'YearCalendar',\n timezone: timezoneProp,\n value: valueProp,\n defaultValue,\n referenceDate: referenceDateProp,\n onChange,\n valueManager: singleItemValueManager\n });\n const now = useNow(timezone);\n const isRtl = useRtl();\n const utils = useUtils();\n const referenceDate = React.useMemo(() => singleItemValueManager.getInitialReferenceValue({\n value,\n utils,\n props,\n timezone,\n referenceDate: referenceDateProp,\n granularity: SECTION_TYPE_GRANULARITY.year\n }), [] // eslint-disable-line react-hooks/exhaustive-deps\n );\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n const todayYear = React.useMemo(() => utils.getYear(now), [utils, now]);\n const selectedYear = React.useMemo(() => {\n if (value != null) {\n return utils.getYear(value);\n }\n return null;\n }, [value, utils]);\n const [focusedYear, setFocusedYear] = React.useState(() => selectedYear || utils.getYear(referenceDate));\n const [internalHasFocus, setInternalHasFocus] = useControlled({\n name: 'YearCalendar',\n state: 'hasFocus',\n controlled: hasFocus,\n default: autoFocus ?? false\n });\n const changeHasFocus = useEventCallback(newHasFocus => {\n setInternalHasFocus(newHasFocus);\n if (onFocusedViewChange) {\n onFocusedViewChange(newHasFocus);\n }\n });\n const isYearDisabled = React.useCallback(dateToValidate => {\n if (disablePast && utils.isBeforeYear(dateToValidate, now)) {\n return true;\n }\n if (disableFuture && utils.isAfterYear(dateToValidate, now)) {\n return true;\n }\n if (minDate && utils.isBeforeYear(dateToValidate, minDate)) {\n return true;\n }\n if (maxDate && utils.isAfterYear(dateToValidate, maxDate)) {\n return true;\n }\n if (!shouldDisableYear) {\n return false;\n }\n const yearToValidate = utils.startOfYear(dateToValidate);\n return shouldDisableYear(yearToValidate);\n }, [disableFuture, disablePast, maxDate, minDate, now, shouldDisableYear, utils]);\n const handleYearSelection = useEventCallback((event, year) => {\n if (readOnly) {\n return;\n }\n const newDate = utils.setYear(value ?? referenceDate, year);\n handleValueChange(newDate);\n });\n const focusYear = useEventCallback(year => {\n if (!isYearDisabled(utils.setYear(value ?? referenceDate, year))) {\n setFocusedYear(year);\n changeHasFocus(true);\n onYearFocus?.(year);\n }\n });\n React.useEffect(() => {\n setFocusedYear(prevFocusedYear => selectedYear !== null && prevFocusedYear !== selectedYear ? selectedYear : prevFocusedYear);\n }, [selectedYear]);\n const verticalDirection = yearsOrder !== 'desc' ? yearsPerRow * 1 : yearsPerRow * -1;\n const horizontalDirection = isRtl && yearsOrder === 'asc' || !isRtl && yearsOrder === 'desc' ? -1 : 1;\n const handleKeyDown = useEventCallback((event, year) => {\n switch (event.key) {\n case 'ArrowUp':\n focusYear(year - verticalDirection);\n event.preventDefault();\n break;\n case 'ArrowDown':\n focusYear(year + verticalDirection);\n event.preventDefault();\n break;\n case 'ArrowLeft':\n focusYear(year - horizontalDirection);\n event.preventDefault();\n break;\n case 'ArrowRight':\n focusYear(year + horizontalDirection);\n event.preventDefault();\n break;\n default:\n break;\n }\n });\n const handleYearFocus = useEventCallback((event, year) => {\n focusYear(year);\n });\n const handleYearBlur = useEventCallback((event, year) => {\n if (focusedYear === year) {\n changeHasFocus(false);\n }\n });\n const scrollerRef = React.useRef(null);\n const handleRef = useForkRef(ref, scrollerRef);\n React.useEffect(() => {\n if (autoFocus || scrollerRef.current === null) {\n return;\n }\n const tabbableButton = scrollerRef.current.querySelector('[tabindex=\"0\"]');\n if (!tabbableButton) {\n return;\n }\n\n // Taken from useScroll in x-data-grid, but vertically centered\n const offsetHeight = tabbableButton.offsetHeight;\n const offsetTop = tabbableButton.offsetTop;\n const clientHeight = scrollerRef.current.clientHeight;\n const scrollTop = scrollerRef.current.scrollTop;\n const elementBottom = offsetTop + offsetHeight;\n if (offsetHeight > clientHeight || offsetTop < scrollTop) {\n // Button already visible\n return;\n }\n scrollerRef.current.scrollTop = elementBottom - clientHeight / 2 - offsetHeight / 2;\n }, [autoFocus]);\n const yearRange = utils.getYearRange([minDate, maxDate]);\n if (yearsOrder === 'desc') {\n yearRange.reverse();\n }\n return /*#__PURE__*/_jsx(YearCalendarRoot, _extends({\n ref: handleRef,\n className: clsx(classes.root, className),\n ownerState: ownerState,\n role: \"radiogroup\",\n \"aria-labelledby\": gridLabelId\n }, other, {\n children: yearRange.map(year => {\n const yearNumber = utils.getYear(year);\n const isSelected = yearNumber === selectedYear;\n const isDisabled = disabled || isYearDisabled(year);\n return /*#__PURE__*/_jsx(PickersYear, {\n selected: isSelected,\n value: yearNumber,\n onClick: handleYearSelection,\n onKeyDown: handleKeyDown,\n autoFocus: internalHasFocus && yearNumber === focusedYear,\n disabled: isDisabled,\n tabIndex: yearNumber === focusedYear && !isDisabled ? 0 : -1,\n onFocus: handleYearFocus,\n onBlur: handleYearBlur,\n \"aria-current\": todayYear === yearNumber ? 'date' : undefined,\n yearsPerRow: yearsPerRow,\n slots: slots,\n slotProps: slotProps,\n children: utils.format(year, 'year')\n }, utils.format(year, 'year'));\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? YearCalendar.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 autoFocus: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n className: PropTypes.string,\n /**\n * The default selected value.\n * Used when the component is not controlled.\n */\n defaultValue: PropTypes.object,\n /**\n * If `true` picker is disabled\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, disable values after the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disableFuture: PropTypes.bool,\n /**\n * If `true`, today's date is rendering without highlighting with circle.\n * @default false\n */\n disableHighlightToday: PropTypes.bool,\n /**\n * If `true`, disable values before the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disablePast: PropTypes.bool,\n gridLabelId: PropTypes.string,\n hasFocus: PropTypes.bool,\n /**\n * Maximal selectable date.\n * @default 2099-12-31\n */\n maxDate: PropTypes.object,\n /**\n * Minimal selectable date.\n * @default 1900-01-01\n */\n minDate: PropTypes.object,\n /**\n * Callback fired when the value changes.\n * @template TDate\n * @param {TDate} value The new value.\n */\n onChange: PropTypes.func,\n onFocusedViewChange: PropTypes.func,\n onYearFocus: PropTypes.func,\n /**\n * If `true` picker is readonly\n */\n readOnly: PropTypes.bool,\n /**\n * The date used to generate the new value when both `value` and `defaultValue` are empty.\n * @default The closest valid year using the validation props, except callbacks such as `shouldDisableYear`.\n */\n referenceDate: PropTypes.object,\n /**\n * Disable specific year.\n * @template TDate\n * @param {TDate} year The year to test.\n * @returns {boolean} If `true`, the year will be disabled.\n */\n shouldDisableYear: PropTypes.func,\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * Overridable component slots.\n * @default {}\n */\n slots: PropTypes.object,\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 * Choose which timezone to use for the value.\n * Example: \"default\", \"system\", \"UTC\", \"America/New_York\".\n * If you pass values from other timezones to some props, they will be converted to this timezone before being used.\n * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.\n * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.\n */\n timezone: PropTypes.string,\n /**\n * The selected value.\n * Used when the component is controlled.\n */\n value: PropTypes.object,\n /**\n * Years are displayed in ascending (chronological) order by default.\n * If `desc`, years are displayed in descending order.\n * @default 'asc'\n */\n yearsOrder: PropTypes.oneOf(['asc', 'desc']),\n /**\n * Years rendered per row.\n * @default 3\n */\n yearsPerRow: PropTypes.oneOf([3, 4])\n} : void 0;","import * as React from 'react';\nimport useEventCallback from '@mui/utils/useEventCallback';\nimport { unstable_useControlled as useControlled } from '@mui/utils';\nlet warnedOnceNotValidView = false;\nexport function useViews({\n onChange,\n onViewChange,\n openTo,\n view: inView,\n views,\n autoFocus,\n focusedView: inFocusedView,\n onFocusedViewChange\n}) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnceNotValidView) {\n if (inView != null && !views.includes(inView)) {\n console.warn(`MUI X: \\`view=\"${inView}\"\\` is not a valid prop.`, `It must be an element of \\`views=[\"${views.join('\", \"')}\"]\\`.`);\n warnedOnceNotValidView = true;\n }\n if (inView == null && openTo != null && !views.includes(openTo)) {\n console.warn(`MUI X: \\`openTo=\"${openTo}\"\\` is not a valid prop.`, `It must be an element of \\`views=[\"${views.join('\", \"')}\"]\\`.`);\n warnedOnceNotValidView = true;\n }\n }\n }\n const previousOpenTo = React.useRef(openTo);\n const previousViews = React.useRef(views);\n const defaultView = React.useRef(views.includes(openTo) ? openTo : views[0]);\n const [view, setView] = useControlled({\n name: 'useViews',\n state: 'view',\n controlled: inView,\n default: defaultView.current\n });\n const defaultFocusedView = React.useRef(autoFocus ? view : null);\n const [focusedView, setFocusedView] = useControlled({\n name: 'useViews',\n state: 'focusedView',\n controlled: inFocusedView,\n default: defaultFocusedView.current\n });\n React.useEffect(() => {\n // Update the current view when `openTo` or `views` props change\n if (previousOpenTo.current && previousOpenTo.current !== openTo || previousViews.current && previousViews.current.some(previousView => !views.includes(previousView))) {\n setView(views.includes(openTo) ? openTo : views[0]);\n previousViews.current = views;\n previousOpenTo.current = openTo;\n }\n }, [openTo, setView, view, views]);\n const viewIndex = views.indexOf(view);\n const previousView = views[viewIndex - 1] ?? null;\n const nextView = views[viewIndex + 1] ?? null;\n const handleFocusedViewChange = useEventCallback((viewToFocus, hasFocus) => {\n if (hasFocus) {\n // Focus event\n setFocusedView(viewToFocus);\n } else {\n // Blur event\n setFocusedView(prevFocusedView => viewToFocus === prevFocusedView ? null : prevFocusedView // If false the blur is due to view switching\n );\n }\n onFocusedViewChange?.(viewToFocus, hasFocus);\n });\n const handleChangeView = useEventCallback(newView => {\n // always keep the focused view in sync\n handleFocusedViewChange(newView, true);\n if (newView === view) {\n return;\n }\n setView(newView);\n if (onViewChange) {\n onViewChange(newView);\n }\n });\n const goToNextView = useEventCallback(() => {\n if (nextView) {\n handleChangeView(nextView);\n }\n });\n const setValueAndGoToNextView = useEventCallback((value, currentViewSelectionState, selectedView) => {\n const isSelectionFinishedOnCurrentView = currentViewSelectionState === 'finish';\n const hasMoreViews = selectedView ?\n // handles case like `DateTimePicker`, where a view might return a `finish` selection state\n // but when it's not the final view given all `views` -> overall selection state should be `partial`.\n views.indexOf(selectedView) < views.length - 1 : Boolean(nextView);\n const globalSelectionState = isSelectionFinishedOnCurrentView && hasMoreViews ? 'partial' : currentViewSelectionState;\n onChange(value, globalSelectionState, selectedView);\n // Detects if the selected view is not the active one.\n // Can happen if multiple views are displayed, like in `DesktopDateTimePicker` or `MultiSectionDigitalClock`.\n if (selectedView && selectedView !== view) {\n const nextViewAfterSelected = views[views.indexOf(selectedView) + 1];\n if (nextViewAfterSelected) {\n // move to next view after the selected one\n handleChangeView(nextViewAfterSelected);\n }\n } else if (isSelectionFinishedOnCurrentView) {\n goToNextView();\n }\n });\n return {\n view,\n setView: handleChangeView,\n focusedView,\n setFocusedView: handleFocusedViewChange,\n nextView,\n previousView,\n // Always return up-to-date default view instead of the initial one (i.e. defaultView.current)\n defaultView: views.includes(openTo) ? openTo : views[0],\n goToNextView,\n setValueAndGoToNextView\n };\n}","import { createSvgIcon } from '@mui/material/utils';\nimport * as React from 'react';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const ArrowDropDownIcon = createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M7 10l5 5 5-5z\"\n}), 'ArrowDropDown');\n\n/**\n * @ignore - internal component.\n */\nexport const ArrowLeftIcon = createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z\"\n}), 'ArrowLeft');\n\n/**\n * @ignore - internal component.\n */\nexport const ArrowRightIcon = createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z\"\n}), 'ArrowRight');\n\n/**\n * @ignore - internal component.\n */\nexport const CalendarIcon = createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z\"\n}), 'Calendar');\n\n/**\n * @ignore - internal component.\n */\nexport const ClockIcon = createSvgIcon(/*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__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 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n }), /*#__PURE__*/_jsx(\"path\", {\n d: \"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z\"\n })]\n}), 'Clock');\n\n/**\n * @ignore - internal component.\n */\nexport const DateRangeIcon = createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z\"\n}), 'DateRange');\n\n/**\n * @ignore - internal component.\n */\nexport const TimeIcon = createSvgIcon(/*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__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 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n }), /*#__PURE__*/_jsx(\"path\", {\n d: \"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z\"\n })]\n}), 'Time');\n\n/**\n * @ignore - internal component.\n */\nexport const ClearIcon = 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}), 'Clear');","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport function getPickersArrowSwitcherUtilityClass(slot) {\n return generateUtilityClass('MuiPickersArrowSwitcher', slot);\n}\nexport const pickersArrowSwitcherClasses = generateUtilityClasses('MuiPickersArrowSwitcher', ['root', 'spacer', 'button', 'previousIconButton', 'nextIconButton', 'leftArrowIcon', 'rightArrowIcon']);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"slots\", \"slotProps\", \"isNextDisabled\", \"isNextHidden\", \"onGoToNext\", \"nextLabel\", \"isPreviousDisabled\", \"isPreviousHidden\", \"onGoToPrevious\", \"previousLabel\", \"labelId\"],\n _excluded2 = [\"ownerState\"],\n _excluded3 = [\"ownerState\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport Typography from '@mui/material/Typography';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport IconButton from '@mui/material/IconButton';\nimport { ArrowLeftIcon, ArrowRightIcon } from \"../../../icons/index.js\";\nimport { getPickersArrowSwitcherUtilityClass } from \"./pickersArrowSwitcherClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst PickersArrowSwitcherRoot = styled('div', {\n name: 'MuiPickersArrowSwitcher',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'flex'\n});\nconst PickersArrowSwitcherSpacer = styled('div', {\n name: 'MuiPickersArrowSwitcher',\n slot: 'Spacer',\n overridesResolver: (props, styles) => styles.spacer\n})(({\n theme\n}) => ({\n width: theme.spacing(3)\n}));\nconst PickersArrowSwitcherButton = styled(IconButton, {\n name: 'MuiPickersArrowSwitcher',\n slot: 'Button',\n overridesResolver: (props, styles) => styles.button\n})({\n variants: [{\n props: {\n hidden: true\n },\n style: {\n visibility: 'hidden'\n }\n }]\n});\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n spacer: ['spacer'],\n button: ['button'],\n previousIconButton: ['previousIconButton'],\n nextIconButton: ['nextIconButton'],\n leftArrowIcon: ['leftArrowIcon'],\n rightArrowIcon: ['rightArrowIcon']\n };\n return composeClasses(slots, getPickersArrowSwitcherUtilityClass, classes);\n};\nexport const PickersArrowSwitcher = /*#__PURE__*/React.forwardRef(function PickersArrowSwitcher(inProps, ref) {\n const isRtl = useRtl();\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersArrowSwitcher'\n });\n const {\n children,\n className,\n slots,\n slotProps,\n isNextDisabled,\n isNextHidden,\n onGoToNext,\n nextLabel,\n isPreviousDisabled,\n isPreviousHidden,\n onGoToPrevious,\n previousLabel,\n labelId\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n const nextProps = {\n isDisabled: isNextDisabled,\n isHidden: isNextHidden,\n goTo: onGoToNext,\n label: nextLabel\n };\n const previousProps = {\n isDisabled: isPreviousDisabled,\n isHidden: isPreviousHidden,\n goTo: onGoToPrevious,\n label: previousLabel\n };\n const PreviousIconButton = slots?.previousIconButton ?? PickersArrowSwitcherButton;\n const previousIconButtonProps = useSlotProps({\n elementType: PreviousIconButton,\n externalSlotProps: slotProps?.previousIconButton,\n additionalProps: {\n size: 'medium',\n title: previousProps.label,\n 'aria-label': previousProps.label,\n disabled: previousProps.isDisabled,\n edge: 'end',\n onClick: previousProps.goTo\n },\n ownerState: _extends({}, ownerState, {\n hidden: previousProps.isHidden\n }),\n className: clsx(classes.button, classes.previousIconButton)\n });\n const NextIconButton = slots?.nextIconButton ?? PickersArrowSwitcherButton;\n const nextIconButtonProps = useSlotProps({\n elementType: NextIconButton,\n externalSlotProps: slotProps?.nextIconButton,\n additionalProps: {\n size: 'medium',\n title: nextProps.label,\n 'aria-label': nextProps.label,\n disabled: nextProps.isDisabled,\n edge: 'start',\n onClick: nextProps.goTo\n },\n ownerState: _extends({}, ownerState, {\n hidden: nextProps.isHidden\n }),\n className: clsx(classes.button, classes.nextIconButton)\n });\n const LeftArrowIcon = slots?.leftArrowIcon ?? ArrowLeftIcon;\n // The spread is here to avoid this bug mui/material-ui#34056\n const _useSlotProps = useSlotProps({\n elementType: LeftArrowIcon,\n externalSlotProps: slotProps?.leftArrowIcon,\n additionalProps: {\n fontSize: 'inherit'\n },\n ownerState,\n className: classes.leftArrowIcon\n }),\n leftArrowIconProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);\n const RightArrowIcon = slots?.rightArrowIcon ?? ArrowRightIcon;\n // The spread is here to avoid this bug mui/material-ui#34056\n const _useSlotProps2 = useSlotProps({\n elementType: RightArrowIcon,\n externalSlotProps: slotProps?.rightArrowIcon,\n additionalProps: {\n fontSize: 'inherit'\n },\n ownerState,\n className: classes.rightArrowIcon\n }),\n rightArrowIconProps = _objectWithoutPropertiesLoose(_useSlotProps2, _excluded3);\n return /*#__PURE__*/_jsxs(PickersArrowSwitcherRoot, _extends({\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, other, {\n children: [/*#__PURE__*/_jsx(PreviousIconButton, _extends({}, previousIconButtonProps, {\n children: isRtl ? /*#__PURE__*/_jsx(RightArrowIcon, _extends({}, rightArrowIconProps)) : /*#__PURE__*/_jsx(LeftArrowIcon, _extends({}, leftArrowIconProps))\n })), children ? /*#__PURE__*/_jsx(Typography, {\n variant: \"subtitle1\",\n component: \"span\",\n id: labelId,\n children: children\n }) : /*#__PURE__*/_jsx(PickersArrowSwitcherSpacer, {\n className: classes.spacer,\n ownerState: ownerState\n }), /*#__PURE__*/_jsx(NextIconButton, _extends({}, nextIconButtonProps, {\n children: isRtl ? /*#__PURE__*/_jsx(LeftArrowIcon, _extends({}, leftArrowIconProps)) : /*#__PURE__*/_jsx(RightArrowIcon, _extends({}, rightArrowIconProps))\n }))]\n }));\n});","import * as React from 'react';\nimport { useUtils } from \"./useUtils.js\";\nimport { getMeridiem, convertToMeridiem } from \"../utils/time-utils.js\";\nexport function useNextMonthDisabled(month, {\n disableFuture,\n maxDate,\n timezone\n}) {\n const utils = useUtils();\n return React.useMemo(() => {\n const now = utils.date(undefined, timezone);\n const lastEnabledMonth = utils.startOfMonth(disableFuture && utils.isBefore(now, maxDate) ? now : maxDate);\n return !utils.isAfter(lastEnabledMonth, month);\n }, [disableFuture, maxDate, month, utils, timezone]);\n}\nexport function usePreviousMonthDisabled(month, {\n disablePast,\n minDate,\n timezone\n}) {\n const utils = useUtils();\n return React.useMemo(() => {\n const now = utils.date(undefined, timezone);\n const firstEnabledMonth = utils.startOfMonth(disablePast && utils.isAfter(now, minDate) ? now : minDate);\n return !utils.isBefore(firstEnabledMonth, month);\n }, [disablePast, minDate, month, utils, timezone]);\n}\nexport function useMeridiemMode(date, ampm, onChange, selectionState) {\n const utils = useUtils();\n const meridiemMode = getMeridiem(date, utils);\n const handleMeridiemChange = React.useCallback(mode => {\n const timeWithMeridiem = date == null ? null : convertToMeridiem(date, mode, Boolean(ampm), utils);\n onChange(timeWithMeridiem, selectionState ?? 'partial');\n }, [ampm, date, onChange, selectionState, utils]);\n return {\n meridiemMode,\n handleMeridiemChange\n };\n}","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport const getPickersCalendarHeaderUtilityClass = slot => generateUtilityClass('MuiPickersCalendarHeader', slot);\nexport const pickersCalendarHeaderClasses = generateUtilityClasses('MuiPickersCalendarHeader', ['root', 'labelContainer', 'label', 'switchViewButton', 'switchViewIcon']);","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"slots\", \"slotProps\", \"currentMonth\", \"disabled\", \"disableFuture\", \"disablePast\", \"maxDate\", \"minDate\", \"onMonthChange\", \"onViewChange\", \"view\", \"reduceAnimations\", \"views\", \"labelId\", \"className\", \"timezone\", \"format\"],\n _excluded2 = [\"ownerState\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport Fade from '@mui/material/Fade';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport composeClasses from '@mui/utils/composeClasses';\nimport IconButton from '@mui/material/IconButton';\nimport { usePickersTranslations } from \"../hooks/usePickersTranslations.js\";\nimport { useUtils } from \"../internals/hooks/useUtils.js\";\nimport { PickersFadeTransitionGroup } from \"../DateCalendar/PickersFadeTransitionGroup.js\";\nimport { ArrowDropDownIcon } from \"../icons/index.js\";\nimport { PickersArrowSwitcher } from \"../internals/components/PickersArrowSwitcher/index.js\";\nimport { usePreviousMonthDisabled, useNextMonthDisabled } from \"../internals/hooks/date-helpers-hooks.js\";\nimport { getPickersCalendarHeaderUtilityClass, pickersCalendarHeaderClasses } from \"./pickersCalendarHeaderClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n labelContainer: ['labelContainer'],\n label: ['label'],\n switchViewButton: ['switchViewButton'],\n switchViewIcon: ['switchViewIcon']\n };\n return composeClasses(slots, getPickersCalendarHeaderUtilityClass, classes);\n};\nconst PickersCalendarHeaderRoot = styled('div', {\n name: 'MuiPickersCalendarHeader',\n slot: 'Root',\n overridesResolver: (_, styles) => styles.root\n})({\n display: 'flex',\n alignItems: 'center',\n marginTop: 12,\n marginBottom: 4,\n paddingLeft: 24,\n paddingRight: 12,\n // prevent jumping in safari\n maxHeight: 40,\n minHeight: 40\n});\nconst PickersCalendarHeaderLabelContainer = styled('div', {\n name: 'MuiPickersCalendarHeader',\n slot: 'LabelContainer',\n overridesResolver: (_, styles) => styles.labelContainer\n})(({\n theme\n}) => _extends({\n display: 'flex',\n overflow: 'hidden',\n alignItems: 'center',\n cursor: 'pointer',\n marginRight: 'auto'\n}, theme.typography.body1, {\n fontWeight: theme.typography.fontWeightMedium\n}));\nconst PickersCalendarHeaderLabel = styled('div', {\n name: 'MuiPickersCalendarHeader',\n slot: 'Label',\n overridesResolver: (_, styles) => styles.label\n})({\n marginRight: 6\n});\nconst PickersCalendarHeaderSwitchViewButton = styled(IconButton, {\n name: 'MuiPickersCalendarHeader',\n slot: 'SwitchViewButton',\n overridesResolver: (_, styles) => styles.switchViewButton\n})({\n marginRight: 'auto',\n variants: [{\n props: {\n view: 'year'\n },\n style: {\n [`.${pickersCalendarHeaderClasses.switchViewIcon}`]: {\n transform: 'rotate(180deg)'\n }\n }\n }]\n});\nconst PickersCalendarHeaderSwitchViewIcon = styled(ArrowDropDownIcon, {\n name: 'MuiPickersCalendarHeader',\n slot: 'SwitchViewIcon',\n overridesResolver: (_, styles) => styles.switchViewIcon\n})(({\n theme\n}) => ({\n willChange: 'transform',\n transition: theme.transitions.create('transform'),\n transform: 'rotate(0deg)'\n}));\n/**\n * Demos:\n *\n * - [DateCalendar](https://mui.com/x/react-date-pickers/date-calendar/)\n * - [DateRangeCalendar](https://mui.com/x/react-date-pickers/date-range-calendar/)\n * - [Custom slots and subcomponents](https://mui.com/x/react-date-pickers/custom-components/)\n *\n * API:\n *\n * - [PickersCalendarHeader API](https://mui.com/x/api/date-pickers/pickers-calendar-header/)\n */\nconst PickersCalendarHeader = /*#__PURE__*/React.forwardRef(function PickersCalendarHeader(inProps, ref) {\n const translations = usePickersTranslations();\n const utils = useUtils();\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersCalendarHeader'\n });\n const {\n slots,\n slotProps,\n currentMonth: month,\n disabled,\n disableFuture,\n disablePast,\n maxDate,\n minDate,\n onMonthChange,\n onViewChange,\n view,\n reduceAnimations,\n views,\n labelId,\n className,\n timezone,\n format = `${utils.formats.month} ${utils.formats.year}`\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = props;\n const classes = useUtilityClasses(props);\n const SwitchViewButton = slots?.switchViewButton ?? PickersCalendarHeaderSwitchViewButton;\n const switchViewButtonProps = useSlotProps({\n elementType: SwitchViewButton,\n externalSlotProps: slotProps?.switchViewButton,\n additionalProps: {\n size: 'small',\n 'aria-label': translations.calendarViewSwitchingButtonAriaLabel(view)\n },\n ownerState,\n className: classes.switchViewButton\n });\n const SwitchViewIcon = slots?.switchViewIcon ?? PickersCalendarHeaderSwitchViewIcon;\n // The spread is here to avoid this bug mui/material-ui#34056\n const _useSlotProps = useSlotProps({\n elementType: SwitchViewIcon,\n externalSlotProps: slotProps?.switchViewIcon,\n ownerState,\n className: classes.switchViewIcon\n }),\n switchViewIconProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);\n const selectNextMonth = () => onMonthChange(utils.addMonths(month, 1), 'left');\n const selectPreviousMonth = () => onMonthChange(utils.addMonths(month, -1), 'right');\n const isNextMonthDisabled = useNextMonthDisabled(month, {\n disableFuture,\n maxDate,\n timezone\n });\n const isPreviousMonthDisabled = usePreviousMonthDisabled(month, {\n disablePast,\n minDate,\n timezone\n });\n const handleToggleView = () => {\n if (views.length === 1 || !onViewChange || disabled) {\n return;\n }\n if (views.length === 2) {\n onViewChange(views.find(el => el !== view) || views[0]);\n } else {\n // switching only between first 2\n const nextIndexToOpen = views.indexOf(view) !== 0 ? 0 : 1;\n onViewChange(views[nextIndexToOpen]);\n }\n };\n\n // No need to display more information\n if (views.length === 1 && views[0] === 'year') {\n return null;\n }\n const label = utils.formatByString(month, format);\n return /*#__PURE__*/_jsxs(PickersCalendarHeaderRoot, _extends({}, other, {\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref,\n children: [/*#__PURE__*/_jsxs(PickersCalendarHeaderLabelContainer, {\n role: \"presentation\",\n onClick: handleToggleView,\n ownerState: ownerState\n // putting this on the label item element below breaks when using transition\n ,\n \"aria-live\": \"polite\",\n className: classes.labelContainer,\n children: [/*#__PURE__*/_jsx(PickersFadeTransitionGroup, {\n reduceAnimations: reduceAnimations,\n transKey: label,\n children: /*#__PURE__*/_jsx(PickersCalendarHeaderLabel, {\n id: labelId,\n ownerState: ownerState,\n className: classes.label,\n children: label\n })\n }), views.length > 1 && !disabled && /*#__PURE__*/_jsx(SwitchViewButton, _extends({}, switchViewButtonProps, {\n children: /*#__PURE__*/_jsx(SwitchViewIcon, _extends({}, switchViewIconProps))\n }))]\n }), /*#__PURE__*/_jsx(Fade, {\n in: view === 'day',\n appear: !reduceAnimations,\n enter: !reduceAnimations,\n children: /*#__PURE__*/_jsx(PickersArrowSwitcher, {\n slots: slots,\n slotProps: slotProps,\n onGoToPrevious: selectPreviousMonth,\n isPreviousDisabled: isPreviousMonthDisabled,\n previousLabel: translations.previousMonth,\n onGoToNext: selectNextMonth,\n isNextDisabled: isNextMonthDisabled,\n nextLabel: translations.nextMonth\n })\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? PickersCalendarHeader.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 * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n className: PropTypes.string,\n currentMonth: PropTypes.object.isRequired,\n disabled: PropTypes.bool,\n disableFuture: PropTypes.bool,\n disablePast: PropTypes.bool,\n /**\n * Format used to display the date.\n * @default `${adapter.formats.month} ${adapter.formats.year}`\n */\n format: PropTypes.string,\n /**\n * Id of the calendar text element.\n * It is used to establish an `aria-labelledby` relationship with the calendar `grid` element.\n */\n labelId: PropTypes.string,\n maxDate: PropTypes.object.isRequired,\n minDate: PropTypes.object.isRequired,\n onMonthChange: PropTypes.func.isRequired,\n onViewChange: PropTypes.func,\n reduceAnimations: PropTypes.bool.isRequired,\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * Overridable component slots.\n * @default {}\n */\n slots: PropTypes.object,\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 timezone: PropTypes.string.isRequired,\n view: PropTypes.oneOf(['day', 'month', 'year']).isRequired,\n views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'month', 'year']).isRequired).isRequired\n} : void 0;\nexport { PickersCalendarHeader };","import { styled } from '@mui/material/styles';\nimport { DIALOG_WIDTH, VIEW_HEIGHT } from \"../../constants/dimensions.js\";\nexport const PickerViewRoot = styled('div')({\n overflow: 'hidden',\n width: DIALOG_WIDTH,\n maxHeight: VIEW_HEIGHT,\n display: 'flex',\n flexDirection: 'column',\n margin: '0 auto'\n});","import useMediaQuery from '@mui/material/useMediaQuery';\nconst PREFERS_REDUCED_MOTION = '@media (prefers-reduced-motion: reduce)';\n\n// detect if user agent has Android version < 10 or iOS version < 13\nconst mobileVersionMatches = typeof navigator !== 'undefined' && navigator.userAgent.match(/android\\s(\\d+)|OS\\s(\\d+)/i);\nconst androidVersion = mobileVersionMatches && mobileVersionMatches[1] ? parseInt(mobileVersionMatches[1], 10) : null;\nconst iOSVersion = mobileVersionMatches && mobileVersionMatches[2] ? parseInt(mobileVersionMatches[2], 10) : null;\nexport const slowAnimationDevices = androidVersion && androidVersion < 10 || iOSVersion && iOSVersion < 13 || false;\nexport const useDefaultReduceAnimations = () => {\n const prefersReduced = useMediaQuery(PREFERS_REDUCED_MOTION, {\n defaultMatches: false\n });\n return prefersReduced || slowAnimationDevices;\n};","import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nexport const getDateCalendarUtilityClass = slot => generateUtilityClass('MuiDateCalendar', slot);\nexport const dateCalendarClasses = generateUtilityClasses('MuiDateCalendar', ['root', 'viewTransitionContainer']);","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"onViewChange\", \"value\", \"defaultValue\", \"referenceDate\", \"disableFuture\", \"disablePast\", \"onChange\", \"onYearChange\", \"onMonthChange\", \"reduceAnimations\", \"shouldDisableDate\", \"shouldDisableMonth\", \"shouldDisableYear\", \"view\", \"views\", \"openTo\", \"className\", \"disabled\", \"readOnly\", \"minDate\", \"maxDate\", \"disableHighlightToday\", \"focusedView\", \"onFocusedViewChange\", \"showDaysOutsideCurrentMonth\", \"fixedWeekNumber\", \"dayOfWeekFormatter\", \"slots\", \"slotProps\", \"loading\", \"renderLoading\", \"displayWeekNumber\", \"yearsOrder\", \"yearsPerRow\", \"monthsPerRow\", \"timezone\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses, unstable_useId as useId, unstable_useEventCallback as useEventCallback } from '@mui/utils';\nimport { useCalendarState } from \"./useCalendarState.js\";\nimport { useDefaultDates, useUtils } from \"../internals/hooks/useUtils.js\";\nimport { PickersFadeTransitionGroup } from \"./PickersFadeTransitionGroup.js\";\nimport { DayCalendar } from \"./DayCalendar.js\";\nimport { MonthCalendar } from \"../MonthCalendar/index.js\";\nimport { YearCalendar } from \"../YearCalendar/index.js\";\nimport { useViews } from \"../internals/hooks/useViews.js\";\nimport { PickersCalendarHeader } from \"../PickersCalendarHeader/index.js\";\nimport { findClosestEnabledDate, applyDefaultDate, mergeDateAndTime } from \"../internals/utils/date-utils.js\";\nimport { PickerViewRoot } from \"../internals/components/PickerViewRoot/index.js\";\nimport { useDefaultReduceAnimations } from \"../internals/hooks/useDefaultReduceAnimations.js\";\nimport { getDateCalendarUtilityClass } from \"./dateCalendarClasses.js\";\nimport { useControlledValueWithTimezone } from \"../internals/hooks/useValueWithTimezone.js\";\nimport { singleItemValueManager } from \"../internals/utils/valueManagers.js\";\nimport { VIEW_HEIGHT } from \"../internals/constants/dimensions.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n viewTransitionContainer: ['viewTransitionContainer']\n };\n return composeClasses(slots, getDateCalendarUtilityClass, classes);\n};\nfunction useDateCalendarDefaultizedProps(props, name) {\n const utils = useUtils();\n const defaultDates = useDefaultDates();\n const defaultReduceAnimations = useDefaultReduceAnimations();\n const themeProps = useThemeProps({\n props,\n name\n });\n return _extends({}, themeProps, {\n loading: themeProps.loading ?? false,\n disablePast: themeProps.disablePast ?? false,\n disableFuture: themeProps.disableFuture ?? false,\n openTo: themeProps.openTo ?? 'day',\n views: themeProps.views ?? ['year', 'day'],\n reduceAnimations: themeProps.reduceAnimations ?? defaultReduceAnimations,\n renderLoading: themeProps.renderLoading ?? (() => /*#__PURE__*/_jsx(\"span\", {\n children: \"...\"\n })),\n minDate: applyDefaultDate(utils, themeProps.minDate, defaultDates.minDate),\n maxDate: applyDefaultDate(utils, themeProps.maxDate, defaultDates.maxDate)\n });\n}\nconst DateCalendarRoot = styled(PickerViewRoot, {\n name: 'MuiDateCalendar',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'flex',\n flexDirection: 'column',\n height: VIEW_HEIGHT\n});\nconst DateCalendarViewTransitionContainer = styled(PickersFadeTransitionGroup, {\n name: 'MuiDateCalendar',\n slot: 'ViewTransitionContainer',\n overridesResolver: (props, styles) => styles.viewTransitionContainer\n})({});\n/**\n * Demos:\n *\n * - [DatePicker](https://mui.com/x/react-date-pickers/date-picker/)\n * - [DateCalendar](https://mui.com/x/react-date-pickers/date-calendar/)\n * - [Validation](https://mui.com/x/react-date-pickers/validation/)\n *\n * API:\n *\n * - [DateCalendar API](https://mui.com/x/api/date-pickers/date-calendar/)\n */\nexport const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(inProps, ref) {\n const utils = useUtils();\n const id = useId();\n const props = useDateCalendarDefaultizedProps(inProps, 'MuiDateCalendar');\n const {\n autoFocus,\n onViewChange,\n value: valueProp,\n defaultValue,\n referenceDate: referenceDateProp,\n disableFuture,\n disablePast,\n onChange,\n onYearChange,\n onMonthChange,\n reduceAnimations,\n shouldDisableDate,\n shouldDisableMonth,\n shouldDisableYear,\n view: inView,\n views,\n openTo,\n className,\n disabled,\n readOnly,\n minDate,\n maxDate,\n disableHighlightToday,\n focusedView: inFocusedView,\n onFocusedViewChange,\n showDaysOutsideCurrentMonth,\n fixedWeekNumber,\n dayOfWeekFormatter,\n slots,\n slotProps,\n loading,\n renderLoading,\n displayWeekNumber,\n yearsOrder,\n yearsPerRow,\n monthsPerRow,\n timezone: timezoneProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n value,\n handleValueChange,\n timezone\n } = useControlledValueWithTimezone({\n name: 'DateCalendar',\n timezone: timezoneProp,\n value: valueProp,\n defaultValue,\n referenceDate: referenceDateProp,\n onChange,\n valueManager: singleItemValueManager\n });\n const {\n view,\n setView,\n focusedView,\n setFocusedView,\n goToNextView,\n setValueAndGoToNextView\n } = useViews({\n view: inView,\n views,\n openTo,\n onChange: handleValueChange,\n onViewChange,\n autoFocus,\n focusedView: inFocusedView,\n onFocusedViewChange\n });\n const {\n referenceDate,\n calendarState,\n changeFocusedDay,\n changeMonth,\n handleChangeMonth,\n isDateDisabled,\n onMonthSwitchingAnimationEnd\n } = useCalendarState({\n value,\n referenceDate: referenceDateProp,\n reduceAnimations,\n onMonthChange,\n minDate,\n maxDate,\n shouldDisableDate,\n disablePast,\n disableFuture,\n timezone\n });\n\n // When disabled, limit the view to the selected date\n const minDateWithDisabled = disabled && value || minDate;\n const maxDateWithDisabled = disabled && value || maxDate;\n const gridLabelId = `${id}-grid-label`;\n const hasFocus = focusedView !== null;\n const CalendarHeader = slots?.calendarHeader ?? PickersCalendarHeader;\n const calendarHeaderProps = useSlotProps({\n elementType: CalendarHeader,\n externalSlotProps: slotProps?.calendarHeader,\n additionalProps: {\n views,\n view,\n currentMonth: calendarState.currentMonth,\n onViewChange: setView,\n onMonthChange: (newMonth, direction) => handleChangeMonth({\n newMonth,\n direction\n }),\n minDate: minDateWithDisabled,\n maxDate: maxDateWithDisabled,\n disabled,\n disablePast,\n disableFuture,\n reduceAnimations,\n timezone,\n labelId: gridLabelId\n },\n ownerState: props\n });\n const handleDateMonthChange = useEventCallback(newDate => {\n const startOfMonth = utils.startOfMonth(newDate);\n const endOfMonth = utils.endOfMonth(newDate);\n const closestEnabledDate = isDateDisabled(newDate) ? findClosestEnabledDate({\n utils,\n date: newDate,\n minDate: utils.isBefore(minDate, startOfMonth) ? startOfMonth : minDate,\n maxDate: utils.isAfter(maxDate, endOfMonth) ? endOfMonth : maxDate,\n disablePast,\n disableFuture,\n isDateDisabled,\n timezone\n }) : newDate;\n if (closestEnabledDate) {\n setValueAndGoToNextView(closestEnabledDate, 'finish');\n onMonthChange?.(startOfMonth);\n } else {\n goToNextView();\n changeMonth(startOfMonth);\n }\n changeFocusedDay(closestEnabledDate, true);\n });\n const handleDateYearChange = useEventCallback(newDate => {\n const startOfYear = utils.startOfYear(newDate);\n const endOfYear = utils.endOfYear(newDate);\n const closestEnabledDate = isDateDisabled(newDate) ? findClosestEnabledDate({\n utils,\n date: newDate,\n minDate: utils.isBefore(minDate, startOfYear) ? startOfYear : minDate,\n maxDate: utils.isAfter(maxDate, endOfYear) ? endOfYear : maxDate,\n disablePast,\n disableFuture,\n isDateDisabled,\n timezone\n }) : newDate;\n if (closestEnabledDate) {\n setValueAndGoToNextView(closestEnabledDate, 'finish');\n onYearChange?.(closestEnabledDate);\n } else {\n goToNextView();\n changeMonth(startOfYear);\n }\n changeFocusedDay(closestEnabledDate, true);\n });\n const handleSelectedDayChange = useEventCallback(day => {\n if (day) {\n // If there is a date already selected, then we want to keep its time\n return handleValueChange(mergeDateAndTime(utils, day, value ?? referenceDate), 'finish', view);\n }\n return handleValueChange(day, 'finish', view);\n });\n React.useEffect(() => {\n if (value != null && utils.isValid(value)) {\n changeMonth(value);\n }\n }, [value]); // eslint-disable-line\n\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n const baseDateValidationProps = {\n disablePast,\n disableFuture,\n maxDate,\n minDate\n };\n const commonViewProps = {\n disableHighlightToday,\n readOnly,\n disabled,\n timezone,\n gridLabelId,\n slots,\n slotProps\n };\n const prevOpenViewRef = React.useRef(view);\n React.useEffect(() => {\n // If the view change and the focus was on the previous view\n // Then we update the focus.\n if (prevOpenViewRef.current === view) {\n return;\n }\n if (focusedView === prevOpenViewRef.current) {\n setFocusedView(view, true);\n }\n prevOpenViewRef.current = view;\n }, [focusedView, setFocusedView, view]);\n const selectedDays = React.useMemo(() => [value], [value]);\n return /*#__PURE__*/_jsxs(DateCalendarRoot, _extends({\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, other, {\n children: [/*#__PURE__*/_jsx(CalendarHeader, _extends({}, calendarHeaderProps, {\n slots: slots,\n slotProps: slotProps\n })), /*#__PURE__*/_jsx(DateCalendarViewTransitionContainer, {\n reduceAnimations: reduceAnimations,\n className: classes.viewTransitionContainer,\n transKey: view,\n ownerState: ownerState,\n children: /*#__PURE__*/_jsxs(\"div\", {\n children: [view === 'year' && /*#__PURE__*/_jsx(YearCalendar, _extends({}, baseDateValidationProps, commonViewProps, {\n value: value,\n onChange: handleDateYearChange,\n shouldDisableYear: shouldDisableYear,\n hasFocus: hasFocus,\n onFocusedViewChange: isViewFocused => setFocusedView('year', isViewFocused),\n yearsOrder: yearsOrder,\n yearsPerRow: yearsPerRow,\n referenceDate: referenceDate\n })), view === 'month' && /*#__PURE__*/_jsx(MonthCalendar, _extends({}, baseDateValidationProps, commonViewProps, {\n hasFocus: hasFocus,\n className: className,\n value: value,\n onChange: handleDateMonthChange,\n shouldDisableMonth: shouldDisableMonth,\n onFocusedViewChange: isViewFocused => setFocusedView('month', isViewFocused),\n monthsPerRow: monthsPerRow,\n referenceDate: referenceDate\n })), view === 'day' && /*#__PURE__*/_jsx(DayCalendar, _extends({}, calendarState, baseDateValidationProps, commonViewProps, {\n onMonthSwitchingAnimationEnd: onMonthSwitchingAnimationEnd,\n onFocusedDayChange: changeFocusedDay,\n reduceAnimations: reduceAnimations,\n selectedDays: selectedDays,\n onSelectedDaysChange: handleSelectedDayChange,\n shouldDisableDate: shouldDisableDate,\n shouldDisableMonth: shouldDisableMonth,\n shouldDisableYear: shouldDisableYear,\n hasFocus: hasFocus,\n onFocusedViewChange: isViewFocused => setFocusedView('day', isViewFocused),\n showDaysOutsideCurrentMonth: showDaysOutsideCurrentMonth,\n fixedWeekNumber: fixedWeekNumber,\n dayOfWeekFormatter: dayOfWeekFormatter,\n displayWeekNumber: displayWeekNumber,\n loading: loading,\n renderLoading: renderLoading\n }))]\n })\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DateCalendar.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 * If `true`, the main element is focused during the first mount.\n * This main element is:\n * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).\n * - the `input` element if there is a field rendered.\n */\n autoFocus: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n className: PropTypes.string,\n /**\n * Formats the day of week displayed in the calendar header.\n * @param {TDate} date The date of the day of week provided by the adapter.\n * @returns {string} The name to display.\n * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()\n */\n dayOfWeekFormatter: PropTypes.func,\n /**\n * The default selected value.\n * Used when the component is not controlled.\n */\n defaultValue: PropTypes.object,\n /**\n * If `true`, the picker and text field are disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, disable values after the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disableFuture: PropTypes.bool,\n /**\n * If `true`, today's date is rendering without highlighting with circle.\n * @default false\n */\n disableHighlightToday: PropTypes.bool,\n /**\n * If `true`, disable values before the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disablePast: PropTypes.bool,\n /**\n * If `true`, the week number will be display in the calendar.\n */\n displayWeekNumber: PropTypes.bool,\n /**\n * The day view will show as many weeks as needed after the end of the current month to match this value.\n * Put it to 6 to have a fixed number of weeks in Gregorian calendars\n */\n fixedWeekNumber: PropTypes.number,\n /**\n * Controlled focused view.\n */\n focusedView: PropTypes.oneOf(['day', 'month', 'year']),\n /**\n * If `true`, calls `renderLoading` instead of rendering the day calendar.\n * Can be used to preload information and show it in calendar.\n * @default false\n */\n loading: PropTypes.bool,\n /**\n * Maximal selectable date.\n * @default 2099-12-31\n */\n maxDate: PropTypes.object,\n /**\n * Minimal selectable date.\n * @default 1900-01-01\n */\n minDate: PropTypes.object,\n /**\n * Months rendered per row.\n * @default 3\n */\n monthsPerRow: PropTypes.oneOf([3, 4]),\n /**\n * Callback fired when the value changes.\n * @template TValue The value type. It will be the same type as `value` or `null`. It can be in `[start, end]` format in case of range value.\n * @template TView The view type. Will be one of date or time views.\n * @param {TValue} value The new value.\n * @param {PickerSelectionState | undefined} selectionState Indicates if the date selection is complete.\n * @param {TView | undefined} selectedView Indicates the view in which the selection has been made.\n */\n onChange: PropTypes.func,\n /**\n * Callback fired on focused view change.\n * @template TView\n * @param {TView} view The new view to focus or not.\n * @param {boolean} hasFocus `true` if the view should be focused.\n */\n onFocusedViewChange: PropTypes.func,\n /**\n * Callback fired on month change.\n * @template TDate\n * @param {TDate} month The new month.\n */\n onMonthChange: PropTypes.func,\n /**\n * Callback fired on view change.\n * @template TView\n * @param {TView} view The new view.\n */\n onViewChange: PropTypes.func,\n /**\n * Callback fired on year change.\n * @template TDate\n * @param {TDate} year The new year.\n */\n onYearChange: PropTypes.func,\n /**\n * The default visible view.\n * Used when the component view is not controlled.\n * Must be a valid option from `views` list.\n */\n openTo: PropTypes.oneOf(['day', 'month', 'year']),\n /**\n * Make picker read only.\n * @default false\n */\n readOnly: PropTypes.bool,\n /**\n * If `true`, disable heavy animations.\n * @default `@media(prefers-reduced-motion: reduce)` || `navigator.userAgent` matches Android <10 or iOS <13\n */\n reduceAnimations: PropTypes.bool,\n /**\n * The date used to generate the new value when both `value` and `defaultValue` are empty.\n * @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`.\n */\n referenceDate: PropTypes.object,\n /**\n * Component displaying when passed `loading` true.\n * @returns {React.ReactNode} The node to render when loading.\n * @default () => ...\n */\n renderLoading: PropTypes.func,\n /**\n * Disable specific date.\n *\n * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.\n *\n * @template TDate\n * @param {TDate} day The date to test.\n * @returns {boolean} If `true` the date will be disabled.\n */\n shouldDisableDate: PropTypes.func,\n /**\n * Disable specific month.\n * @template TDate\n * @param {TDate} month The month to test.\n * @returns {boolean} If `true`, the month will be disabled.\n */\n shouldDisableMonth: PropTypes.func,\n /**\n * Disable specific year.\n * @template TDate\n * @param {TDate} year The year to test.\n * @returns {boolean} If `true`, the year will be disabled.\n */\n shouldDisableYear: PropTypes.func,\n /**\n * If `true`, days outside the current month are rendered:\n *\n * - if `fixedWeekNumber` is defined, renders days to have the weeks requested.\n *\n * - if `fixedWeekNumber` is not defined, renders day to fill the first and last week of the current month.\n *\n * - ignored if `calendars` equals more than `1` on range pickers.\n * @default false\n */\n showDaysOutsideCurrentMonth: PropTypes.bool,\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * Overridable component slots.\n * @default {}\n */\n slots: PropTypes.object,\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 * Choose which timezone to use for the value.\n * Example: \"default\", \"system\", \"UTC\", \"America/New_York\".\n * If you pass values from other timezones to some props, they will be converted to this timezone before being used.\n * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.\n * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.\n */\n timezone: PropTypes.string,\n /**\n * The selected value.\n * Used when the component is controlled.\n */\n value: PropTypes.object,\n /**\n * The visible view.\n * Used when the component view is controlled.\n * Must be a valid option from `views` list.\n */\n view: PropTypes.oneOf(['day', 'month', 'year']),\n /**\n * Available views.\n */\n views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'month', 'year']).isRequired),\n /**\n * Years are displayed in ascending (chronological) order by default.\n * If `desc`, years are displayed in descending order.\n * @default 'asc'\n */\n yearsOrder: PropTypes.oneOf(['asc', 'desc']),\n /**\n * Years rendered per row.\n * @default 3\n */\n yearsPerRow: PropTypes.oneOf([3, 4])\n} : void 0;","import * as React from 'react';\nimport { DateCalendar } from \"../DateCalendar/index.js\";\nimport { isDatePickerView } from \"../internals/utils/date-utils.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const renderDateViewCalendar = ({\n view,\n onViewChange,\n views,\n focusedView,\n onFocusedViewChange,\n value,\n defaultValue,\n referenceDate,\n onChange,\n className,\n classes,\n disableFuture,\n disablePast,\n minDate,\n maxDate,\n shouldDisableDate,\n shouldDisableMonth,\n shouldDisableYear,\n reduceAnimations,\n onMonthChange,\n monthsPerRow,\n onYearChange,\n yearsOrder,\n yearsPerRow,\n slots,\n slotProps,\n loading,\n renderLoading,\n disableHighlightToday,\n readOnly,\n disabled,\n showDaysOutsideCurrentMonth,\n dayOfWeekFormatter,\n sx,\n autoFocus,\n fixedWeekNumber,\n displayWeekNumber,\n timezone\n}) => /*#__PURE__*/_jsx(DateCalendar, {\n view: view,\n onViewChange: onViewChange,\n views: views.filter(isDatePickerView),\n focusedView: focusedView && isDatePickerView(focusedView) ? focusedView : null,\n onFocusedViewChange: onFocusedViewChange,\n value: value,\n defaultValue: defaultValue,\n referenceDate: referenceDate,\n onChange: onChange,\n className: className,\n classes: classes,\n disableFuture: disableFuture,\n disablePast: disablePast,\n minDate: minDate,\n maxDate: maxDate,\n shouldDisableDate: shouldDisableDate,\n shouldDisableMonth: shouldDisableMonth,\n shouldDisableYear: shouldDisableYear,\n reduceAnimations: reduceAnimations,\n onMonthChange: onMonthChange,\n monthsPerRow: monthsPerRow,\n onYearChange: onYearChange,\n yearsOrder: yearsOrder,\n yearsPerRow: yearsPerRow,\n slots: slots,\n slotProps: slotProps,\n loading: loading,\n renderLoading: renderLoading,\n disableHighlightToday: disableHighlightToday,\n readOnly: readOnly,\n disabled: disabled,\n showDaysOutsideCurrentMonth: showDaysOutsideCurrentMonth,\n dayOfWeekFormatter: dayOfWeekFormatter,\n sx: sx,\n autoFocus: autoFocus,\n fixedWeekNumber: fixedWeekNumber,\n displayWeekNumber: displayWeekNumber,\n timezone: timezone\n});","import * as React from 'react';\nexport const useOpenState = ({\n open,\n onOpen,\n onClose\n}) => {\n const isControllingOpenProp = React.useRef(typeof open === 'boolean').current;\n const [openState, setIsOpenState] = React.useState(false);\n\n // It is required to update inner state in useEffect in order to avoid situation when\n // Our component is not mounted yet, but `open` state is set to `true` (for example initially opened)\n React.useEffect(() => {\n if (isControllingOpenProp) {\n if (typeof open !== 'boolean') {\n throw new Error('You must not mix controlling and uncontrolled mode for `open` prop');\n }\n setIsOpenState(open);\n }\n }, [isControllingOpenProp, open]);\n const setIsOpen = React.useCallback(newIsOpen => {\n if (!isControllingOpenProp) {\n setIsOpenState(newIsOpen);\n }\n if (newIsOpen && onOpen) {\n onOpen();\n }\n if (!newIsOpen && onClose) {\n onClose();\n }\n }, [isControllingOpenProp, onOpen, onClose]);\n return {\n isOpen: openState,\n setIsOpen\n };\n};","'use client';\n\nimport * as React from 'react';\nimport useEventCallback from '@mui/utils/useEventCallback';\nimport { useLocalizationContext } from \"../internals/hooks/useUtils.js\";\n/**\n * Utility hook to check if a given value is valid based on the provided validation props.\n * @template TDate\n * @template TValue The value type. It will be either the same type as `value` or `null`. It can be in `[start, end]` format in case of range value.\n * @template TError The validation error type. It will be either `string` or a `null`. It can be in `[start, end]` format in case of range value.\n * @param {UseValidationOptions} options The options to configure the hook.\n * @param {TValue} options.value The value to validate.\n * @param {PickersTimezone} options.timezone The timezone to use for the validation.\n * @param {Validator} options.validator The validator function to use.\n * @param {TValidationProps} options.props The validation props, they differ depending on the component.\n * @param {(error: TError, value: TValue) => void} options.onError Callback fired when the error associated with the current value changes.\n */\nexport function useValidation(options) {\n const {\n props,\n validator,\n value,\n timezone,\n onError\n } = options;\n const adapter = useLocalizationContext();\n const previousValidationErrorRef = React.useRef(validator.valueManager.defaultErrorState);\n const validationError = validator({\n adapter,\n value,\n timezone,\n props\n });\n const hasValidationError = validator.valueManager.hasError(validationError);\n React.useEffect(() => {\n if (onError && !validator.valueManager.isSameError(validationError, previousValidationErrorRef.current)) {\n onError(validationError, value);\n }\n previousValidationErrorRef.current = validationError;\n }, [validator, onError, validationError, value]);\n const getValidationErrorForNewValue = useEventCallback(newValue => {\n return validator({\n adapter,\n value: newValue,\n timezone,\n props\n });\n });\n return {\n validationError,\n hasValidationError,\n getValidationErrorForNewValue\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport useEventCallback from '@mui/utils/useEventCallback';\nimport { useOpenState } from \"../useOpenState.js\";\nimport { useLocalizationContext, useUtils } from \"../useUtils.js\";\nimport { useValidation } from \"../../../validation/index.js\";\nimport { useValueWithTimezone } from \"../useValueWithTimezone.js\";\n/**\n * Decide if the new value should be published\n * The published value will be passed to `onChange` if defined.\n */\nconst shouldPublishValue = params => {\n const {\n action,\n hasChanged,\n dateState,\n isControlled\n } = params;\n const isCurrentValueTheDefaultValue = !isControlled && !dateState.hasBeenModifiedSinceMount;\n\n // The field is responsible for only calling `onChange` when needed.\n if (action.name === 'setValueFromField') {\n return true;\n }\n if (action.name === 'setValueFromAction') {\n // If the component is not controlled, and the value has not been modified since the mount,\n // Then we want to publish the default value whenever the user pressed the \"Accept\", \"Today\" or \"Clear\" button.\n if (isCurrentValueTheDefaultValue && ['accept', 'today', 'clear'].includes(action.pickerAction)) {\n return true;\n }\n return hasChanged(dateState.lastPublishedValue);\n }\n if (action.name === 'setValueFromView' && action.selectionState !== 'shallow') {\n // On the first view,\n // If the value is not controlled, then clicking on any value (including the one equal to `defaultValue`) should call `onChange`\n if (isCurrentValueTheDefaultValue) {\n return true;\n }\n return hasChanged(dateState.lastPublishedValue);\n }\n if (action.name === 'setValueFromShortcut') {\n // On the first view,\n // If the value is not controlled, then clicking on any value (including the one equal to `defaultValue`) should call `onChange`\n if (isCurrentValueTheDefaultValue) {\n return true;\n }\n return hasChanged(dateState.lastPublishedValue);\n }\n return false;\n};\n\n/**\n * Decide if the new value should be committed.\n * The committed value will be passed to `onAccept` if defined.\n * It will also be used as a reset target when calling the `cancel` picker action (when clicking on the \"Cancel\" button).\n */\nconst shouldCommitValue = params => {\n const {\n action,\n hasChanged,\n dateState,\n isControlled,\n closeOnSelect\n } = params;\n const isCurrentValueTheDefaultValue = !isControlled && !dateState.hasBeenModifiedSinceMount;\n if (action.name === 'setValueFromAction') {\n // If the component is not controlled, and the value has not been modified since the mount,\n // Then we want to commit the default value whenever the user pressed the \"Accept\", \"Today\" or \"Clear\" button.\n if (isCurrentValueTheDefaultValue && ['accept', 'today', 'clear'].includes(action.pickerAction)) {\n return true;\n }\n return hasChanged(dateState.lastCommittedValue);\n }\n if (action.name === 'setValueFromView' && action.selectionState === 'finish' && closeOnSelect) {\n // On picker where the 1st view is also the last view,\n // If the value is not controlled, then clicking on any value (including the one equal to `defaultValue`) should call `onAccept`\n if (isCurrentValueTheDefaultValue) {\n return true;\n }\n return hasChanged(dateState.lastCommittedValue);\n }\n if (action.name === 'setValueFromShortcut') {\n return action.changeImportance === 'accept' && hasChanged(dateState.lastCommittedValue);\n }\n return false;\n};\n\n/**\n * Decide if the picker should be closed after the value is updated.\n */\nconst shouldClosePicker = params => {\n const {\n action,\n closeOnSelect\n } = params;\n if (action.name === 'setValueFromAction') {\n return true;\n }\n if (action.name === 'setValueFromView') {\n return action.selectionState === 'finish' && closeOnSelect;\n }\n if (action.name === 'setValueFromShortcut') {\n return action.changeImportance === 'accept';\n }\n return false;\n};\n\n/**\n * Manage the value lifecycle of all the pickers.\n */\nexport const usePickerValue = ({\n props,\n valueManager,\n valueType,\n wrapperVariant,\n validator\n}) => {\n const {\n onAccept,\n onChange,\n value: inValueWithoutRenderTimezone,\n defaultValue: inDefaultValue,\n closeOnSelect = wrapperVariant === 'desktop',\n timezone: timezoneProp,\n referenceDate\n } = props;\n const {\n current: defaultValue\n } = React.useRef(inDefaultValue);\n const {\n current: isControlled\n } = React.useRef(inValueWithoutRenderTimezone !== undefined);\n const [previousTimezoneProp, setPreviousTimezoneProp] = React.useState(timezoneProp);\n\n /* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */\n if (process.env.NODE_ENV !== 'production') {\n React.useEffect(() => {\n if (isControlled !== (inValueWithoutRenderTimezone !== undefined)) {\n console.error([`MUI X: A component is changing the ${isControlled ? '' : 'un'}controlled value of a picker to be ${isControlled ? 'un' : ''}controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', `Decide between using a controlled or uncontrolled value` + 'for the lifetime of the component.', \"The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.\", 'More info: https://fb.me/react-controlled-components'].join('\\n'));\n }\n }, [inValueWithoutRenderTimezone]);\n React.useEffect(() => {\n if (!isControlled && defaultValue !== inDefaultValue) {\n console.error([`MUI X: A component is changing the defaultValue of an uncontrolled picker after being initialized. ` + `To suppress this warning opt to use a controlled value.`].join('\\n'));\n }\n }, [JSON.stringify(defaultValue)]);\n }\n /* eslint-enable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */\n\n const utils = useUtils();\n const adapter = useLocalizationContext();\n const {\n isOpen,\n setIsOpen\n } = useOpenState(props);\n const {\n timezone,\n value: inValueWithTimezoneToRender,\n handleValueChange\n } = useValueWithTimezone({\n timezone: timezoneProp,\n value: inValueWithoutRenderTimezone,\n defaultValue,\n referenceDate,\n onChange,\n valueManager\n });\n const [dateState, setDateState] = React.useState(() => {\n let initialValue;\n if (inValueWithTimezoneToRender !== undefined) {\n initialValue = inValueWithTimezoneToRender;\n } else if (defaultValue !== undefined) {\n initialValue = defaultValue;\n } else {\n initialValue = valueManager.emptyValue;\n }\n return {\n draft: initialValue,\n lastPublishedValue: initialValue,\n lastCommittedValue: initialValue,\n lastControlledValue: inValueWithoutRenderTimezone,\n hasBeenModifiedSinceMount: false\n };\n });\n const timezoneFromDraftValue = valueManager.getTimezone(utils, dateState.draft);\n if (previousTimezoneProp !== timezoneProp) {\n setPreviousTimezoneProp(timezoneProp);\n if (timezoneProp && timezoneFromDraftValue && timezoneProp !== timezoneFromDraftValue) {\n setDateState(prev => _extends({}, prev, {\n draft: valueManager.setTimezone(utils, timezoneProp, prev.draft)\n }));\n }\n }\n const {\n getValidationErrorForNewValue\n } = useValidation({\n props,\n validator,\n timezone,\n value: dateState.draft,\n onError: props.onError\n });\n const updateDate = useEventCallback(action => {\n const updaterParams = {\n action,\n dateState,\n hasChanged: comparison => !valueManager.areValuesEqual(utils, action.value, comparison),\n isControlled,\n closeOnSelect\n };\n const shouldPublish = shouldPublishValue(updaterParams);\n const shouldCommit = shouldCommitValue(updaterParams);\n const shouldClose = shouldClosePicker(updaterParams);\n setDateState(prev => _extends({}, prev, {\n draft: action.value,\n lastPublishedValue: shouldPublish ? action.value : prev.lastPublishedValue,\n lastCommittedValue: shouldCommit ? action.value : prev.lastCommittedValue,\n hasBeenModifiedSinceMount: true\n }));\n let cachedContext = null;\n const getContext = () => {\n if (!cachedContext) {\n const validationError = action.name === 'setValueFromField' ? action.context.validationError : getValidationErrorForNewValue(action.value);\n cachedContext = {\n validationError\n };\n if (action.name === 'setValueFromShortcut') {\n cachedContext.shortcut = action.shortcut;\n }\n }\n return cachedContext;\n };\n if (shouldPublish) {\n handleValueChange(action.value, getContext());\n }\n if (shouldCommit && onAccept) {\n onAccept(action.value, getContext());\n }\n if (shouldClose) {\n setIsOpen(false);\n }\n });\n if (dateState.lastControlledValue !== inValueWithoutRenderTimezone) {\n const isUpdateComingFromPicker = valueManager.areValuesEqual(utils, dateState.draft, inValueWithTimezoneToRender);\n setDateState(prev => _extends({}, prev, {\n lastControlledValue: inValueWithoutRenderTimezone\n }, isUpdateComingFromPicker ? {} : {\n lastCommittedValue: inValueWithTimezoneToRender,\n lastPublishedValue: inValueWithTimezoneToRender,\n draft: inValueWithTimezoneToRender,\n hasBeenModifiedSinceMount: true\n }));\n }\n const handleClear = useEventCallback(() => {\n updateDate({\n value: valueManager.emptyValue,\n name: 'setValueFromAction',\n pickerAction: 'clear'\n });\n });\n const handleAccept = useEventCallback(() => {\n updateDate({\n value: dateState.lastPublishedValue,\n name: 'setValueFromAction',\n pickerAction: 'accept'\n });\n });\n const handleDismiss = useEventCallback(() => {\n updateDate({\n value: dateState.lastPublishedValue,\n name: 'setValueFromAction',\n pickerAction: 'dismiss'\n });\n });\n const handleCancel = useEventCallback(() => {\n updateDate({\n value: dateState.lastCommittedValue,\n name: 'setValueFromAction',\n pickerAction: 'cancel'\n });\n });\n const handleSetToday = useEventCallback(() => {\n updateDate({\n value: valueManager.getTodayValue(utils, timezone, valueType),\n name: 'setValueFromAction',\n pickerAction: 'today'\n });\n });\n const handleOpen = useEventCallback(event => {\n event.preventDefault();\n setIsOpen(true);\n });\n const handleClose = useEventCallback(event => {\n event?.preventDefault();\n setIsOpen(false);\n });\n const handleChange = useEventCallback((newValue, selectionState = 'partial') => updateDate({\n name: 'setValueFromView',\n value: newValue,\n selectionState\n }));\n const handleSelectShortcut = useEventCallback((newValue, changeImportance, shortcut) => updateDate({\n name: 'setValueFromShortcut',\n value: newValue,\n changeImportance,\n shortcut\n }));\n const handleChangeFromField = useEventCallback((newValue, context) => updateDate({\n name: 'setValueFromField',\n value: newValue,\n context\n }));\n const actions = {\n onClear: handleClear,\n onAccept: handleAccept,\n onDismiss: handleDismiss,\n onCancel: handleCancel,\n onSetToday: handleSetToday,\n onOpen: handleOpen,\n onClose: handleClose\n };\n const fieldResponse = {\n value: dateState.draft,\n onChange: handleChangeFromField\n };\n const viewValue = React.useMemo(() => valueManager.cleanValue(utils, dateState.draft), [utils, valueManager, dateState.draft]);\n const viewResponse = {\n value: viewValue,\n onChange: handleChange,\n onClose: handleClose,\n open: isOpen\n };\n const isValid = testedValue => {\n const error = validator({\n adapter,\n value: testedValue,\n timezone,\n props\n });\n return !valueManager.hasError(error);\n };\n const layoutResponse = _extends({}, actions, {\n value: viewValue,\n onChange: handleChange,\n onSelectShortcut: handleSelectShortcut,\n isValid\n });\n const contextValue = React.useMemo(() => ({\n onOpen: handleOpen,\n onClose: handleClose,\n open: isOpen\n }), [isOpen, handleClose, handleOpen]);\n return {\n open: isOpen,\n fieldProps: fieldResponse,\n viewProps: viewResponse,\n layoutProps: layoutResponse,\n actions,\n contextValue\n };\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"sx\"];\nimport * as React from 'react';\nimport useEnhancedEffect from '@mui/utils/useEnhancedEffect';\nimport useEventCallback from '@mui/utils/useEventCallback';\nimport { useViews } from \"../useViews.js\";\nimport { isTimeView } from \"../../utils/time-utils.js\";\n\n/**\n * Props used to handle the views that are common to all pickers.\n */\n\n/**\n * Props used to handle the views of the pickers.\n */\n\n/**\n * Props used to handle the value of the pickers.\n */\n\n/**\n * Manage the views of all the pickers:\n * - Handles the view switch\n * - Handles the switch between UI views and field views\n * - Handles the focus management when switching views\n */\nexport const usePickerViews = ({\n props,\n propsFromPickerValue,\n additionalViewProps,\n autoFocusView,\n rendererInterceptor,\n fieldRef\n}) => {\n const {\n onChange,\n open,\n onClose\n } = propsFromPickerValue;\n const {\n view: inView,\n views,\n openTo,\n onViewChange,\n viewRenderers,\n timezone\n } = props;\n const propsToForwardToView = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n view,\n setView,\n defaultView,\n focusedView,\n setFocusedView,\n setValueAndGoToNextView\n } = useViews({\n view: inView,\n views,\n openTo,\n onChange,\n onViewChange,\n autoFocus: autoFocusView\n });\n const {\n hasUIView,\n viewModeLookup\n } = React.useMemo(() => views.reduce((acc, viewForReduce) => {\n let viewMode;\n if (viewRenderers[viewForReduce] != null) {\n viewMode = 'UI';\n } else {\n viewMode = 'field';\n }\n acc.viewModeLookup[viewForReduce] = viewMode;\n if (viewMode === 'UI') {\n acc.hasUIView = true;\n }\n return acc;\n }, {\n hasUIView: false,\n viewModeLookup: {}\n }), [viewRenderers, views]);\n const timeViewsCount = React.useMemo(() => views.reduce((acc, viewForReduce) => {\n if (viewRenderers[viewForReduce] != null && isTimeView(viewForReduce)) {\n return acc + 1;\n }\n return acc;\n }, 0), [viewRenderers, views]);\n const currentViewMode = viewModeLookup[view];\n const shouldRestoreFocus = useEventCallback(() => currentViewMode === 'UI');\n const [popperView, setPopperView] = React.useState(currentViewMode === 'UI' ? view : null);\n if (popperView !== view && viewModeLookup[view] === 'UI') {\n setPopperView(view);\n }\n useEnhancedEffect(() => {\n // Handle case of `DateTimePicker` without time renderers\n if (currentViewMode === 'field' && open) {\n onClose();\n setTimeout(() => {\n fieldRef?.current?.setSelectedSections(view);\n // focusing the input before the range selection is done\n // calling it outside of timeout results in an inconsistent behavior between Safari And Chrome\n fieldRef?.current?.focusField(view);\n });\n }\n }, [view]); // eslint-disable-line react-hooks/exhaustive-deps\n\n useEnhancedEffect(() => {\n if (!open) {\n return;\n }\n let newView = view;\n\n // If the current view is a field view, go to the last popper view\n if (currentViewMode === 'field' && popperView != null) {\n newView = popperView;\n }\n\n // If the current view is not the default view and both are UI views\n if (newView !== defaultView && viewModeLookup[newView] === 'UI' && viewModeLookup[defaultView] === 'UI') {\n newView = defaultView;\n }\n if (newView !== view) {\n setView(newView);\n }\n setFocusedView(newView, true);\n }, [open]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const layoutProps = {\n views,\n view: popperView,\n onViewChange: setView\n };\n return {\n hasUIView,\n shouldRestoreFocus,\n layoutProps,\n renderCurrentView: () => {\n if (popperView == null) {\n return null;\n }\n const renderer = viewRenderers[popperView];\n if (renderer == null) {\n return null;\n }\n const rendererProps = _extends({}, propsToForwardToView, additionalViewProps, propsFromPickerValue, {\n views,\n timezone,\n onChange: setValueAndGoToNextView,\n view: popperView,\n onViewChange: setView,\n focusedView,\n onFocusedViewChange: setFocusedView,\n showViewSwitcher: timeViewsCount > 1,\n timeViewsCount\n });\n if (rendererInterceptor) {\n return rendererInterceptor(viewRenderers, popperView, rendererProps);\n }\n return renderer(rendererProps);\n }\n };\n};","/* Use it instead of .includes method for IE support */\nexport function arrayIncludes(array, itemOrItems) {\n if (Array.isArray(itemOrItems)) {\n return itemOrItems.every(item => array.indexOf(item) !== -1);\n }\n return array.indexOf(itemOrItems) !== -1;\n}\nexport const onSpaceOrEnter = (innerFn, externalEvent) => event => {\n if (event.key === 'Enter' || event.key === ' ') {\n innerFn(event);\n\n // prevent any side effects\n event.preventDefault();\n event.stopPropagation();\n }\n if (externalEvent) {\n externalEvent(event);\n }\n};\nexport const executeInTheNextEventLoopTick = fn => {\n setTimeout(fn, 0);\n};\n\n// https://www.abeautifulsite.net/posts/finding-the-active-element-in-a-shadow-root/\nexport const getActiveElement = (root = document) => {\n const activeEl = root.activeElement;\n if (!activeEl) {\n return null;\n }\n if (activeEl.shadowRoot) {\n return getActiveElement(activeEl.shadowRoot);\n }\n return activeEl;\n};\n\n/**\n * Gets the index of the focused list item in a given ul list element.\n *\n * @param {HTMLUListElement} listElement - The list element to search within.\n * @returns {number} The index of the focused list item, or -1 if none is focused.\n */\nexport const getFocusedListItemIndex = listElement => {\n const children = Array.from(listElement.children);\n return children.indexOf(getActiveElement(document));\n};\nexport const DEFAULT_DESKTOP_MODE_MEDIA_QUERY = '@media (pointer: fine)';","import * as React from 'react';\nimport { unstable_useEnhancedEffect as useEnhancedEffect } from '@mui/utils';\nimport { arrayIncludes } from \"../utils/utils.js\";\nfunction getOrientation() {\n if (typeof window === 'undefined') {\n return 'portrait';\n }\n if (window.screen && window.screen.orientation && window.screen.orientation.angle) {\n return Math.abs(window.screen.orientation.angle) === 90 ? 'landscape' : 'portrait';\n }\n\n // Support IOS safari\n if (window.orientation) {\n return Math.abs(Number(window.orientation)) === 90 ? 'landscape' : 'portrait';\n }\n return 'portrait';\n}\nexport const useIsLandscape = (views, customOrientation) => {\n const [orientation, setOrientation] = React.useState(getOrientation);\n useEnhancedEffect(() => {\n const eventHandler = () => {\n setOrientation(getOrientation());\n };\n window.addEventListener('orientationchange', eventHandler);\n return () => {\n window.removeEventListener('orientationchange', eventHandler);\n };\n }, []);\n if (arrayIncludes(views, ['hours', 'minutes', 'seconds'])) {\n // could not display 13:34:44 in landscape mode\n return false;\n }\n const orientationToUse = customOrientation || orientation;\n return orientationToUse === 'landscape';\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { useRtl } from '@mui/system/RtlProvider';\nimport { useIsLandscape } from \"../useIsLandscape.js\";\n\n/**\n * Props used to create the layout of the views.\n * Those props are exposed on all the pickers.\n */\n\n/**\n * Prepare the props for the view layout (managed by `PickersLayout`)\n */\nexport const usePickerLayoutProps = ({\n props,\n propsFromPickerValue,\n propsFromPickerViews,\n wrapperVariant\n}) => {\n const {\n orientation\n } = props;\n const isLandscape = useIsLandscape(propsFromPickerViews.views, orientation);\n const isRtl = useRtl();\n const layoutProps = _extends({}, propsFromPickerViews, propsFromPickerValue, {\n isLandscape,\n isRtl,\n wrapperVariant,\n disabled: props.disabled,\n readOnly: props.readOnly\n });\n return {\n layoutProps\n };\n};","import * as React from 'react';\nexport function usePickerOwnerState(parameters) {\n const {\n props,\n pickerValueResponse\n } = parameters;\n return React.useMemo(() => ({\n value: pickerValueResponse.viewProps.value,\n open: pickerValueResponse.open,\n disabled: props.disabled ?? false,\n readOnly: props.readOnly ?? false\n }), [pickerValueResponse.viewProps.value, pickerValueResponse.open, props.disabled, props.readOnly]);\n}","import { warnOnce } from '@mui/x-internals/warning';\nimport { usePickerValue } from \"./usePickerValue.js\";\nimport { usePickerViews } from \"./usePickerViews.js\";\nimport { usePickerLayoutProps } from \"./usePickerLayoutProps.js\";\nimport { usePickerOwnerState } from \"./usePickerOwnerState.js\";\nexport const usePicker = ({\n props,\n valueManager,\n valueType,\n wrapperVariant,\n additionalViewProps,\n validator,\n autoFocusView,\n rendererInterceptor,\n fieldRef\n}) => {\n if (process.env.NODE_ENV !== 'production') {\n if (props.renderInput != null) {\n warnOnce(['MUI X: The `renderInput` prop has been removed in version 6.0 of the Date and Time Pickers.', 'You can replace it with the `textField` component slot in most cases.', 'For more information, please have a look at the migration guide (https://mui.com/x/migration/migration-pickers-v5/#input-renderer-required-in-v5).']);\n }\n }\n const pickerValueResponse = usePickerValue({\n props,\n valueManager,\n valueType,\n wrapperVariant,\n validator\n });\n const pickerViewsResponse = usePickerViews({\n props,\n additionalViewProps,\n autoFocusView,\n fieldRef,\n propsFromPickerValue: pickerValueResponse.viewProps,\n rendererInterceptor\n });\n const pickerLayoutResponse = usePickerLayoutProps({\n props,\n wrapperVariant,\n propsFromPickerValue: pickerValueResponse.layoutProps,\n propsFromPickerViews: pickerViewsResponse.layoutProps\n });\n const pickerOwnerState = usePickerOwnerState({\n props,\n pickerValueResponse\n });\n return {\n // Picker value\n open: pickerValueResponse.open,\n actions: pickerValueResponse.actions,\n fieldProps: pickerValueResponse.fieldProps,\n // Picker views\n renderCurrentView: pickerViewsResponse.renderCurrentView,\n hasUIView: pickerViewsResponse.hasUIView,\n shouldRestoreFocus: pickerViewsResponse.shouldRestoreFocus,\n // Picker layout\n layoutProps: pickerLayoutResponse.layoutProps,\n // Picker context\n contextValue: pickerValueResponse.contextValue,\n // Picker owner state\n ownerState: pickerOwnerState\n };\n};","import generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nexport function getPickersLayoutUtilityClass(slot) {\n return generateUtilityClass('MuiPickersLayout', slot);\n}\nexport const pickersLayoutClasses = generateUtilityClasses('MuiPickersLayout', ['root', 'landscape', 'contentWrapper', 'toolbar', 'actionBar', 'tabs', 'shortcuts']);","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { getDialogActionsUtilityClass } from \"./dialogActionsClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto',\n variants: [{\n props: ({\n ownerState\n }) => !ownerState.disableSpacing,\n style: {\n '& > :not(style) ~ :not(style)': {\n marginLeft: 8\n }\n }\n }]\n});\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n const {\n className,\n disableSpacing = false,\n ...other\n } = props;\n const ownerState = {\n ...props,\n disableSpacing\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, {\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref,\n ...other\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.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 * The content of the component.\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 * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\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} : void 0;\nexport default DialogActions;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onAccept\", \"onClear\", \"onCancel\", \"onSetToday\", \"actions\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@mui/material/Button';\nimport DialogActions from '@mui/material/DialogActions';\nimport { usePickersTranslations } from \"../hooks/usePickersTranslations.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * Demos:\n *\n * - [Custom slots and subcomponents](https://mui.com/x/react-date-pickers/custom-components/)\n * - [Custom layout](https://mui.com/x/react-date-pickers/custom-layout/)\n *\n * API:\n *\n * - [PickersActionBar API](https://mui.com/x/api/date-pickers/pickers-action-bar/)\n */\nfunction PickersActionBar(props) {\n const {\n onAccept,\n onClear,\n onCancel,\n onSetToday,\n actions\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const translations = usePickersTranslations();\n if (actions == null || actions.length === 0) {\n return null;\n }\n const buttons = actions?.map(actionType => {\n switch (actionType) {\n case 'clear':\n return /*#__PURE__*/_jsx(Button, {\n onClick: onClear,\n children: translations.clearButtonLabel\n }, actionType);\n case 'cancel':\n return /*#__PURE__*/_jsx(Button, {\n onClick: onCancel,\n children: translations.cancelButtonLabel\n }, actionType);\n case 'accept':\n return /*#__PURE__*/_jsx(Button, {\n onClick: onAccept,\n children: translations.okButtonLabel\n }, actionType);\n case 'today':\n return /*#__PURE__*/_jsx(Button, {\n onClick: onSetToday,\n children: translations.todayButtonLabel\n }, actionType);\n default:\n return null;\n }\n });\n return /*#__PURE__*/_jsx(DialogActions, _extends({}, other, {\n children: buttons\n }));\n}\nprocess.env.NODE_ENV !== \"production\" ? PickersActionBar.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 * Ordered array of actions to display.\n * If empty, does not display that action bar.\n * @default `['cancel', 'accept']` for mobile and `[]` for desktop\n */\n actions: PropTypes.arrayOf(PropTypes.oneOf(['accept', 'cancel', 'clear', 'today']).isRequired),\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n onAccept: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n onClear: PropTypes.func.isRequired,\n onSetToday: PropTypes.func.isRequired,\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} : void 0;\nexport { PickersActionBar };","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"items\", \"changeImportance\", \"isLandscape\", \"onChange\", \"isValid\"],\n _excluded2 = [\"getValue\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\nimport Chip from '@mui/material/Chip';\nimport { VIEW_HEIGHT } from \"../internals/constants/dimensions.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * Demos:\n *\n * - [Shortcuts](https://mui.com/x/react-date-pickers/shortcuts/)\n *\n * API:\n *\n * - [PickersShortcuts API](https://mui.com/x/api/date-pickers/pickers-shortcuts/)\n */\nfunction PickersShortcuts(props) {\n const {\n items,\n changeImportance = 'accept',\n onChange,\n isValid\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n if (items == null || items.length === 0) {\n return null;\n }\n const resolvedItems = items.map(_ref => {\n let {\n getValue\n } = _ref,\n item = _objectWithoutPropertiesLoose(_ref, _excluded2);\n const newValue = getValue({\n isValid\n });\n return _extends({}, item, {\n label: item.label,\n onClick: () => {\n onChange(newValue, changeImportance, item);\n },\n disabled: !isValid(newValue)\n });\n });\n return /*#__PURE__*/_jsx(List, _extends({\n dense: true,\n sx: [{\n maxHeight: VIEW_HEIGHT,\n maxWidth: 200,\n overflow: 'auto'\n }, ...(Array.isArray(other.sx) ? other.sx : [other.sx])]\n }, other, {\n children: resolvedItems.map(item => {\n return /*#__PURE__*/_jsx(ListItem, {\n children: /*#__PURE__*/_jsx(Chip, _extends({}, item))\n }, item.id ?? item.label);\n })\n }));\n}\nprocess.env.NODE_ENV !== \"production\" ? PickersShortcuts.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 * Importance of the change when picking a shortcut:\n * - \"accept\": fires `onChange`, fires `onAccept` and closes the picker.\n * - \"set\": fires `onChange` but do not fire `onAccept` and does not close the picker.\n * @default \"accept\"\n */\n changeImportance: PropTypes.oneOf(['accept', 'set']),\n className: PropTypes.string,\n component: PropTypes.elementType,\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used for\n * the list and list items.\n * The prop is available to descendant components as the `dense` context.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * If `true`, vertical padding is removed from the list.\n * @default false\n */\n disablePadding: PropTypes.bool,\n isLandscape: PropTypes.bool.isRequired,\n isValid: PropTypes.func.isRequired,\n /**\n * Ordered array of shortcuts to display.\n * If empty, does not display the shortcuts.\n * @default []\n */\n items: PropTypes.arrayOf(PropTypes.shape({\n getValue: PropTypes.func.isRequired,\n id: PropTypes.string,\n label: PropTypes.string.isRequired\n })),\n onChange: PropTypes.func.isRequired,\n style: PropTypes.object,\n /**\n * The content of the subheader, normally `ListSubheader`.\n */\n subheader: PropTypes.node,\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} : void 0;\nexport { PickersShortcuts };","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { PickersActionBar } from \"../PickersActionBar/index.js\";\nimport { getPickersLayoutUtilityClass } from \"./pickersLayoutClasses.js\";\nimport { PickersShortcuts } from \"../PickersShortcuts/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction toolbarHasView(toolbarProps) {\n return toolbarProps.view !== null;\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n isLandscape\n } = ownerState;\n const slots = {\n root: ['root', isLandscape && 'landscape'],\n contentWrapper: ['contentWrapper'],\n toolbar: ['toolbar'],\n actionBar: ['actionBar'],\n tabs: ['tabs'],\n landscape: ['landscape'],\n shortcuts: ['shortcuts']\n };\n return composeClasses(slots, getPickersLayoutUtilityClass, classes);\n};\nconst usePickerLayout = props => {\n const {\n wrapperVariant,\n onAccept,\n onClear,\n onCancel,\n onSetToday,\n view,\n views,\n onViewChange,\n value,\n onChange,\n onSelectShortcut,\n isValid,\n isLandscape,\n disabled,\n readOnly,\n children,\n slots,\n slotProps\n // TODO: Remove this \"as\" hack. It get introduced to mark `value` prop in PickersLayoutProps as not required.\n // The true type should be\n // - For pickers value: TDate | null\n // - For range pickers value: [TDate | null, TDate | null]\n } = props;\n const classes = useUtilityClasses(props);\n\n // Action bar\n const ActionBar = slots?.actionBar ?? PickersActionBar;\n const actionBarProps = useSlotProps({\n elementType: ActionBar,\n externalSlotProps: slotProps?.actionBar,\n additionalProps: {\n onAccept,\n onClear,\n onCancel,\n onSetToday,\n actions: wrapperVariant === 'desktop' ? [] : ['cancel', 'accept']\n },\n className: classes.actionBar,\n ownerState: _extends({}, props, {\n wrapperVariant\n })\n });\n const actionBar = /*#__PURE__*/_jsx(ActionBar, _extends({}, actionBarProps));\n\n // Toolbar\n const Toolbar = slots?.toolbar;\n const toolbarProps = useSlotProps({\n elementType: Toolbar,\n externalSlotProps: slotProps?.toolbar,\n additionalProps: {\n isLandscape,\n onChange,\n value,\n view,\n onViewChange,\n views,\n disabled,\n readOnly\n },\n className: classes.toolbar,\n ownerState: _extends({}, props, {\n wrapperVariant\n })\n });\n const toolbar = toolbarHasView(toolbarProps) && !!Toolbar ? /*#__PURE__*/_jsx(Toolbar, _extends({}, toolbarProps)) : null;\n\n // Content\n const content = children;\n\n // Tabs\n const Tabs = slots?.tabs;\n const tabs = view && Tabs ? /*#__PURE__*/_jsx(Tabs, _extends({\n view: view,\n onViewChange: onViewChange,\n className: classes.tabs\n }, slotProps?.tabs)) : null;\n\n // Shortcuts\n const Shortcuts = slots?.shortcuts ?? PickersShortcuts;\n const shortcutsProps = useSlotProps({\n elementType: Shortcuts,\n externalSlotProps: slotProps?.shortcuts,\n additionalProps: {\n isValid,\n isLandscape,\n onChange: onSelectShortcut\n },\n className: classes.shortcuts,\n ownerState: {\n isValid,\n isLandscape,\n onChange: onSelectShortcut,\n wrapperVariant\n }\n });\n const shortcuts = view && !!Shortcuts ? /*#__PURE__*/_jsx(Shortcuts, _extends({}, shortcutsProps)) : null;\n return {\n toolbar,\n content,\n tabs,\n actionBar,\n shortcuts\n };\n};\nexport default usePickerLayout;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { pickersLayoutClasses, getPickersLayoutUtilityClass } from \"./pickersLayoutClasses.js\";\nimport usePickerLayout from \"./usePickerLayout.js\";\nimport { jsxs as _jsxs, jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n isLandscape,\n classes\n } = ownerState;\n const slots = {\n root: ['root', isLandscape && 'landscape'],\n contentWrapper: ['contentWrapper']\n };\n return composeClasses(slots, getPickersLayoutUtilityClass, classes);\n};\nexport const PickersLayoutRoot = styled('div', {\n name: 'MuiPickersLayout',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'grid',\n gridAutoColumns: 'max-content auto max-content',\n gridAutoRows: 'max-content auto max-content',\n [`& .${pickersLayoutClasses.actionBar}`]: {\n gridColumn: '1 / 4',\n gridRow: 3\n },\n variants: [{\n props: {\n isLandscape: true\n },\n style: {\n [`& .${pickersLayoutClasses.toolbar}`]: {\n gridColumn: 1,\n gridRow: '2 / 3'\n },\n [`.${pickersLayoutClasses.shortcuts}`]: {\n gridColumn: '2 / 4',\n gridRow: 1\n }\n }\n }, {\n props: {\n isLandscape: true,\n isRtl: true\n },\n style: {\n [`& .${pickersLayoutClasses.toolbar}`]: {\n gridColumn: 3\n }\n }\n }, {\n props: {\n isLandscape: false\n },\n style: {\n [`& .${pickersLayoutClasses.toolbar}`]: {\n gridColumn: '2 / 4',\n gridRow: 1\n },\n [`& .${pickersLayoutClasses.shortcuts}`]: {\n gridColumn: 1,\n gridRow: '2 / 3'\n }\n }\n }, {\n props: {\n isLandscape: false,\n isRtl: true\n },\n style: {\n [`& .${pickersLayoutClasses.shortcuts}`]: {\n gridColumn: 3\n }\n }\n }]\n});\nexport const PickersLayoutContentWrapper = styled('div', {\n name: 'MuiPickersLayout',\n slot: 'ContentWrapper',\n overridesResolver: (props, styles) => styles.contentWrapper\n})({\n gridColumn: 2,\n gridRow: 2,\n display: 'flex',\n flexDirection: 'column'\n});\n/**\n * Demos:\n *\n * - [Custom layout](https://mui.com/x/react-date-pickers/custom-layout/)\n *\n * API:\n *\n * - [PickersLayout API](https://mui.com/x/api/date-pickers/pickers-layout/)\n */\nconst PickersLayout = /*#__PURE__*/React.forwardRef(function PickersLayout(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPickersLayout'\n });\n const {\n toolbar,\n content,\n tabs,\n actionBar,\n shortcuts\n } = usePickerLayout(props);\n const {\n sx,\n className,\n isLandscape,\n wrapperVariant\n } = props;\n const classes = useUtilityClasses(props);\n return /*#__PURE__*/_jsxs(PickersLayoutRoot, {\n ref: ref,\n sx: sx,\n className: clsx(classes.root, className),\n ownerState: props,\n children: [isLandscape ? shortcuts : toolbar, isLandscape ? toolbar : shortcuts, /*#__PURE__*/_jsx(PickersLayoutContentWrapper, {\n className: classes.contentWrapper,\n children: wrapperVariant === 'desktop' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [content, tabs]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [tabs, content]\n })\n }), actionBar]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? PickersLayout.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 children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n isLandscape: PropTypes.bool.isRequired,\n /**\n * `true` if the application is in right-to-left direction.\n */\n isRtl: PropTypes.bool.isRequired,\n isValid: PropTypes.func.isRequired,\n onAccept: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n onClear: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired,\n onDismiss: PropTypes.func.isRequired,\n onOpen: PropTypes.func.isRequired,\n onSelectShortcut: PropTypes.func.isRequired,\n onSetToday: PropTypes.func.isRequired,\n onViewChange: PropTypes.func.isRequired,\n /**\n * Force rendering in particular orientation.\n */\n orientation: PropTypes.oneOf(['landscape', 'portrait']),\n readOnly: PropTypes.bool,\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * Overridable component slots.\n * @default {}\n */\n slots: PropTypes.object,\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 value: PropTypes.any,\n view: PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']),\n views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']).isRequired).isRequired,\n wrapperVariant: PropTypes.oneOf(['desktop', 'mobile'])\n} : void 0;\nexport { PickersLayout };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"props\", \"ref\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport { styled } from '@mui/material/styles';\nimport { usePicker } from \"../usePicker/index.js\";\nimport { LocalizationProvider } from \"../../../LocalizationProvider/index.js\";\nimport { PickersLayout } from \"../../../PickersLayout/index.js\";\nimport { DIALOG_WIDTH } from \"../../constants/dimensions.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PickerStaticLayout = styled(PickersLayout)(({\n theme\n}) => ({\n overflow: 'hidden',\n minWidth: DIALOG_WIDTH,\n backgroundColor: (theme.vars || theme).palette.background.paper\n}));\n\n/**\n * Hook managing all the single-date static pickers:\n * - StaticDatePicker\n * - StaticDateTimePicker\n * - StaticTimePicker\n */\nexport const useStaticPicker = _ref => {\n let {\n props,\n ref\n } = _ref,\n pickerParams = _objectWithoutPropertiesLoose(_ref, _excluded);\n const {\n localeText,\n slots,\n slotProps,\n className,\n sx,\n displayStaticWrapperAs,\n autoFocus\n } = props;\n const {\n layoutProps,\n renderCurrentView\n } = usePicker(_extends({}, pickerParams, {\n props,\n autoFocusView: autoFocus ?? false,\n additionalViewProps: {},\n wrapperVariant: displayStaticWrapperAs\n }));\n const Layout = slots?.layout ?? PickerStaticLayout;\n const renderPicker = () => /*#__PURE__*/_jsx(LocalizationProvider, {\n localeText: localeText,\n children: /*#__PURE__*/_jsx(Layout, _extends({}, layoutProps, slotProps?.layout, {\n slots: slots,\n slotProps: slotProps,\n sx: [...(Array.isArray(sx) ? sx : [sx]), ...(Array.isArray(slotProps?.layout?.sx) ? slotProps.layout.sx : [slotProps?.layout?.sx])],\n className: clsx(className, slotProps?.layout?.className),\n ref: ref,\n children: renderCurrentView()\n }))\n });\n return {\n renderPicker\n };\n};","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { useDatePickerDefaultizedProps } from \"../DatePicker/shared.js\";\nimport { renderDateViewCalendar } from \"../dateViewRenderers/index.js\";\nimport { useStaticPicker } from \"../internals/hooks/useStaticPicker/index.js\";\nimport { validateDate } from \"../validation/index.js\";\nimport { singleItemValueManager } from \"../internals/utils/valueManagers.js\";\n/**\n * Demos:\n *\n * - [DatePicker](https://mui.com/x/react-date-pickers/date-picker/)\n * - [Validation](https://mui.com/x/react-date-pickers/validation/)\n *\n * API:\n *\n * - [StaticDatePicker API](https://mui.com/x/api/date-pickers/static-date-picker/)\n */\nconst StaticDatePicker = /*#__PURE__*/React.forwardRef(function StaticDatePicker(inProps, ref) {\n const defaultizedProps = useDatePickerDefaultizedProps(inProps, 'MuiStaticDatePicker');\n const displayStaticWrapperAs = defaultizedProps.displayStaticWrapperAs ?? 'mobile';\n const viewRenderers = _extends({\n day: renderDateViewCalendar,\n month: renderDateViewCalendar,\n year: renderDateViewCalendar\n }, defaultizedProps.viewRenderers);\n\n // Props with the default values specific to the static variant\n const props = _extends({}, defaultizedProps, {\n viewRenderers,\n displayStaticWrapperAs,\n yearsPerRow: defaultizedProps.yearsPerRow ?? (displayStaticWrapperAs === 'mobile' ? 3 : 4),\n slotProps: _extends({}, defaultizedProps.slotProps, {\n toolbar: _extends({\n hidden: displayStaticWrapperAs === 'desktop'\n }, defaultizedProps.slotProps?.toolbar)\n })\n });\n const {\n renderPicker\n } = useStaticPicker({\n props,\n valueManager: singleItemValueManager,\n valueType: 'date',\n validator: validateDate,\n ref\n });\n return renderPicker();\n});\nStaticDatePicker.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 * If `true`, the main element is focused during the first mount.\n * This main element is:\n * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).\n * - the `input` element if there is a field rendered.\n */\n autoFocus: PropTypes.bool,\n className: PropTypes.string,\n /**\n * Formats the day of week displayed in the calendar header.\n * @param {TDate} date The date of the day of week provided by the adapter.\n * @returns {string} The name to display.\n * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()\n */\n dayOfWeekFormatter: PropTypes.func,\n /**\n * The default value.\n * Used when the component is not controlled.\n */\n defaultValue: PropTypes.object,\n /**\n * If `true`, the picker and text field are disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, disable values after the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disableFuture: PropTypes.bool,\n /**\n * If `true`, today's date is rendering without highlighting with circle.\n * @default false\n */\n disableHighlightToday: PropTypes.bool,\n /**\n * If `true`, disable values before the current date for date components, time for time components and both for date time components.\n * @default false\n */\n disablePast: PropTypes.bool,\n /**\n * Force static wrapper inner components to be rendered in mobile or desktop mode.\n * @default \"mobile\"\n */\n displayStaticWrapperAs: PropTypes.oneOf(['desktop', 'mobile']),\n /**\n * If `true`, the week number will be display in the calendar.\n */\n displayWeekNumber: PropTypes.bool,\n /**\n * The day view will show as many weeks as needed after the end of the current month to match this value.\n * Put it to 6 to have a fixed number of weeks in Gregorian calendars\n */\n fixedWeekNumber: PropTypes.number,\n /**\n * If `true`, calls `renderLoading` instead of rendering the day calendar.\n * Can be used to preload information and show it in calendar.\n * @default false\n */\n loading: PropTypes.bool,\n /**\n * Locale for components texts.\n * Allows overriding texts coming from `LocalizationProvider` and `theme`.\n */\n localeText: PropTypes.object,\n /**\n * Maximal selectable date.\n * @default 2099-12-31\n */\n maxDate: PropTypes.object,\n /**\n * Minimal selectable date.\n * @default 1900-01-01\n */\n minDate: PropTypes.object,\n /**\n * Months rendered per row.\n * @default 3\n */\n monthsPerRow: PropTypes.oneOf([3, 4]),\n /**\n * Callback fired when the value is accepted.\n * @template TValue The value type. It will be the same type as `value` or `null`. It can be in `[start, end]` format in case of range value.\n * @template TError The validation error type. It will be either `string` or a `null`. It can be in `[start, end]` format in case of range value.\n * @param {TValue} value The value that was just accepted.\n * @param {FieldChangeHandlerContext} context The context containing the validation result of the current value.\n */\n onAccept: PropTypes.func,\n /**\n * Callback fired when the value changes.\n * @template TValue The value type. It will be the same type as `value` or `null`. It can be in `[start, end]` format in case of range value.\n * @template TError The validation error type. It will be either `string` or a `null`. It can be in `[start, end]` format in case of range value.\n * @param {TValue} value The new value.\n * @param {FieldChangeHandlerContext} context The context containing the validation result of the current value.\n */\n onChange: PropTypes.func,\n /**\n * Callback fired when component requests to be closed.\n * Can be fired when selecting (by default on `desktop` mode) or clearing a value.\n * @deprecated Please avoid using as it will be removed in next major version.\n */\n onClose: PropTypes.func,\n /**\n * Callback fired when the error associated with the current value changes.\n * When a validation error is detected, the `error` parameter contains a non-null value.\n * This can be used to render an appropriate form error.\n * @template TError The validation error type. It will be either `string` or a `null`. It can be in `[start, end]` format in case of range value.\n * @template TValue The value type. It will be the same type as `value` or `null`. It can be in `[start, end]` format in case of range value.\n * @param {TError} error The reason why the current value is not valid.\n * @param {TValue} value The value associated with the error.\n */\n onError: PropTypes.func,\n /**\n * Callback fired on month change.\n * @template TDate\n * @param {TDate} month The new month.\n */\n onMonthChange: PropTypes.func,\n /**\n * Callback fired on view change.\n * @template TView\n * @param {TView} view The new view.\n */\n onViewChange: PropTypes.func,\n /**\n * Callback fired on year change.\n * @template TDate\n * @param {TDate} year The new year.\n */\n onYearChange: PropTypes.func,\n /**\n * The default visible view.\n * Used when the component view is not controlled.\n * Must be a valid option from `views` list.\n */\n openTo: PropTypes.oneOf(['day', 'month', 'year']),\n /**\n * Force rendering in particular orientation.\n */\n orientation: PropTypes.oneOf(['landscape', 'portrait']),\n readOnly: PropTypes.bool,\n /**\n * If `true`, disable heavy animations.\n * @default `@media(prefers-reduced-motion: reduce)` || `navigator.userAgent` matches Android <10 or iOS <13\n */\n reduceAnimations: PropTypes.bool,\n /**\n * The date used to generate the new value when both `value` and `defaultValue` are empty.\n * @default The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`.\n */\n referenceDate: PropTypes.object,\n /**\n * Component displaying when passed `loading` true.\n * @returns {React.ReactNode} The node to render when loading.\n * @default () => ...\n */\n renderLoading: PropTypes.func,\n /**\n * Disable specific date.\n *\n * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.\n *\n * @template TDate\n * @param {TDate} day The date to test.\n * @returns {boolean} If `true` the date will be disabled.\n */\n shouldDisableDate: PropTypes.func,\n /**\n * Disable specific month.\n * @template TDate\n * @param {TDate} month The month to test.\n * @returns {boolean} If `true`, the month will be disabled.\n */\n shouldDisableMonth: PropTypes.func,\n /**\n * Disable specific year.\n * @template TDate\n * @param {TDate} year The year to test.\n * @returns {boolean} If `true`, the year will be disabled.\n */\n shouldDisableYear: PropTypes.func,\n /**\n * If `true`, days outside the current month are rendered:\n *\n * - if `fixedWeekNumber` is defined, renders days to have the weeks requested.\n *\n * - if `fixedWeekNumber` is not defined, renders day to fill the first and last week of the current month.\n *\n * - ignored if `calendars` equals more than `1` on range pickers.\n * @default false\n */\n showDaysOutsideCurrentMonth: PropTypes.bool,\n /**\n * The props used for each component slot.\n * @default {}\n */\n slotProps: PropTypes.object,\n /**\n * Overridable component slots.\n * @default {}\n */\n slots: PropTypes.object,\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 * Choose which timezone to use for the value.\n * Example: \"default\", \"system\", \"UTC\", \"America/New_York\".\n * If you pass values from other timezones to some props, they will be converted to this timezone before being used.\n * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.\n * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.\n */\n timezone: PropTypes.string,\n /**\n * The selected value.\n * Used when the component is controlled.\n */\n value: PropTypes.object,\n /**\n * The visible view.\n * Used when the component view is controlled.\n * Must be a valid option from `views` list.\n */\n view: PropTypes.oneOf(['day', 'month', 'year']),\n /**\n * Define custom view renderers for each section.\n * If `null`, the section will only have field editing.\n * If `undefined`, internally defined view will be used.\n */\n viewRenderers: PropTypes.shape({\n day: PropTypes.func,\n month: PropTypes.func,\n year: PropTypes.func\n }),\n /**\n * Available views.\n */\n views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'month', 'year']).isRequired),\n /**\n * Years are displayed in ascending (chronological) order by default.\n * If `desc`, years are displayed in descending order.\n * @default 'asc'\n */\n yearsOrder: PropTypes.oneOf(['asc', 'desc']),\n /**\n * Years rendered per row.\n * @default `4` when `displayStaticWrapperAs === 'desktop'`, `3` otherwise.\n */\n yearsPerRow: PropTypes.oneOf([3, 4])\n};\nexport { StaticDatePicker };","import { Box, styled, Button, alpha } from '@mui/material';\nimport { StaticDatePicker } from '@mui/x-date-pickers/StaticDatePicker';\n\nconst OPACITY = 0.4;\n\nconst AppFiltersTimeFilterButton = styled(Button)(({ theme }) => ({\n margin: '0',\n fontWeight: 500,\n minWidth: '225px',\n boxShadow: 'none',\n borderRadius: '8px',\n color: theme.palette.grey[500],\n justifyContent: 'space-between',\n backgroundColor: theme.palette.grey[200],\n\n '&:hover': {\n boxShadow: 'none',\n backgroundColor: theme.palette.grey[200]\n },\n\n '.MuiSvgIcon-root': { margin: '1.5px 0', width: '24px', height: '24px' }\n}));\n\nconst sharedDatePickerStyles = (primaryColor: string, secondaryColor: string) => ({\n '& .MuiPickersToolbar-root': {\n display: 'none'\n },\n\n '& .MuiPickersCalendarHeader-label': {\n fontWeight: 600,\n color: secondaryColor\n },\n\n '& .MuiButtonBase-root': {\n fontWeight: 700,\n color: secondaryColor\n },\n\n '& .MuiPickersLayout-toolbar': {\n backgroundColor: primaryColor,\n paddingBottom: 0,\n\n '& > span': {\n display: 'none'\n },\n\n '& .MuiTypography-root': {\n color: secondaryColor\n },\n\n '& .Mui-selected': {\n opacity: 1\n }\n },\n\n '& .MuiDateCalendar-root': {\n backgroundColor: primaryColor,\n\n '& .MuiSvgIcon-root, .MuiTypography-root, .MuiPickersCalendarHeader-label': {\n color: secondaryColor\n },\n\n '& .MuiDayCalendar-monthContainer': {\n '& .MuiButtonBase-root': {\n color: secondaryColor\n },\n\n '& .MuiButtonBase-root:hover, .MuiPickersDay-today, .Mui-selected': {\n border: '1px solid',\n borderColor: secondaryColor,\n fontWeight: 800\n },\n\n '& .MuiPickersDay-today': {\n background: secondaryColor,\n color: primaryColor\n },\n\n '& .Mui-disabled': {\n opacity: OPACITY\n }\n }\n },\n\n '& .MuiPickersFadeTransitionGroup-root, .MuiYearCalendar-root': {\n maxHeight: '280px'\n },\n\n '& .MuiPickersYear-root': {\n '& .MuiPickersYear-yearButton': {\n color: alpha(secondaryColor, OPACITY),\n border: '1px solid transparent',\n\n '&:hover': {\n borderColor: secondaryColor,\n backgroundColor: 'transparent'\n }\n },\n\n '& .Mui-selected': {\n color: secondaryColor\n }\n },\n\n '& .MuiDialogActions-root': {\n display: 'none'\n }\n});\n\nconst StyledStaticDatePicker = styled(StaticDatePicker)(({ theme }) => ({\n ...sharedDatePickerStyles(theme.palette.primary.main, theme.palette.common.white),\n\n '& .MuiTypography-root': {\n opacity: 1\n }\n})) as typeof StaticDatePicker;\n\nconst StyledButtonsContainer = styled(Box)(({ theme }) => ({\n gap: '8px',\n padding: '16px 0 8px',\n display: 'flex',\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'center',\n backgroundColor: theme.palette.primary.main\n}));\n\nconst StyledButton = styled(Button)(({ theme }) => ({\n height: '32px',\n fontWeight: 700,\n fontSize: '14px',\n minWidth: '70px',\n marginBottom: '8px',\n width: 'fit-content',\n borderRadius: '28px',\n border: '1px solid transparent',\n color: theme.palette.primary.main,\n transition: 'all 0.3s ease-in-out',\n backgroundColor: theme.palette.common.white,\n\n '&:hover': { opacity: 0.8 }\n}));\n\nconst StyledResetButton = styled(Button)(({ theme }) => ({\n height: '32px',\n fontWeight: 700,\n fontSize: '14px',\n minWidth: '70px',\n marginBottom: '8px',\n width: 'fit-content',\n borderRadius: '28px',\n border: `1px solid ${theme.palette.common.white}`,\n color: theme.palette.common.white,\n transition: 'all 0.3s ease-in-out',\n backgroundColor: theme.palette.primary.main,\n\n '&:hover': { opacity: 0.8 }\n}));\n\nexport { StyledButton, AppFiltersTimeFilterButton, StyledResetButton, StyledButtonsContainer, StyledStaticDatePicker };\n","import React, { useState, useRef, useEffect } from 'react';\n\nimport dayjs, { Dayjs } from 'dayjs';\n\nimport { Box, Popover, Stack } from '@mui/material';\nimport { KeyboardArrowDownOutlined } from '@mui/icons-material';\n\nimport {\n StyledButton,\n StyledResetButton,\n StyledStaticDatePicker,\n StyledButtonsContainer,\n AppFiltersTimeFilterButton\n} from './DateTimePicker.styles';\n\ninterface DateTimePickerProps {\n timestamp: { start: number | undefined; end: number | undefined };\n resetToDefault?: () => void;\n setTimestamp: (newDates: { start: number; end: number }) => void;\n}\n\nconst constants = {\n apply: 'Apply',\n all: 'All Time',\n reset: 'Reset To Default'\n};\n\nexport const DateTimePicker = (props: DateTimePickerProps) => {\n const { timestamp, setTimestamp, resetToDefault } = props;\n\n const [anchorEl, setAnchorEl] = useState(null);\n const [tempStartValue, setTempStartValue] = useState(timestamp?.start);\n const [tempEndValue, setTempEndValue] = useState(timestamp?.end);\n\n const selectRef = useRef(null);\n const openDatePicker = Boolean(anchorEl);\n\n const openDateTimePicker = () => {\n selectRef?.current && setAnchorEl(selectRef.current);\n\n if (!tempStartValue && timestamp.start) {\n setTempStartValue(timestamp.start);\n }\n if (!tempEndValue && timestamp.end) {\n setTempEndValue(timestamp.end);\n }\n selectRef?.current && setAnchorEl(selectRef.current);\n };\n\n const closeDateTimePicker = () => {\n setAnchorEl(null);\n setTempEndValue(timestamp?.end);\n setTempStartValue(timestamp?.start);\n };\n\n const onApply = () => {\n if (!tempStartValue && !tempEndValue) {\n setAnchorEl(null);\n } else {\n setAnchorEl(null);\n\n const startDateStartOfDay = dayjs(Number(tempStartValue) * 1000)\n ?.startOf('day')\n ?.unix();\n const endDateEndOfDay = dayjs(Number(tempEndValue) * 1000)\n ?.endOf('day')\n ?.unix();\n\n // Fallback in case start or end isn't provided\n const startDateEndOfDay = dayjs(Number(tempStartValue) * 1000)\n ?.endOf('day')\n ?.unix();\n const endDateStartOfDay = dayjs(Number(tempEndValue) * 1000)\n ?.endOf('day')\n ?.unix();\n\n setTimestamp({\n start: tempStartValue ? startDateStartOfDay : endDateStartOfDay,\n end: tempEndValue ? endDateEndOfDay : startDateEndOfDay\n });\n }\n };\n\n const handleReset = () => {\n if (resetToDefault) {\n resetToDefault();\n setAnchorEl(null);\n }\n };\n\n useEffect(() => {\n setTempStartValue(timestamp?.start);\n setTempEndValue(timestamp?.end);\n }, [timestamp?.start, timestamp?.end]);\n\n return (\n \n }\n >\n {!timestamp?.start || !timestamp?.end\n ? constants.all\n : `${dayjs(timestamp?.start * 1000).format('ll')} - ${dayjs(timestamp?.end * 1000).format('ll')}`}\n \n \n \n setTempStartValue(newValue ? newValue.unix() : undefined)}\n />\n setTempEndValue(newValue ? newValue.unix() : undefined)}\n />\n \n \n \n {constants.apply}\n \n {resetToDefault && (\n \n {constants.reset}\n \n )}\n \n \n \n );\n};\n","import React from 'react';\n\nimport { CancelRounded, InfoRounded } from '@mui/icons-material';\n\nimport { paletteOptions } from '../../theme/palette';\n\nimport { Text } from '../Text/Text';\nimport { Container } from '../Container/Container';\n\nimport { sxStyles } from './Notification.styles';\n\nexport interface NotificationProps {\n title: string;\n content?: string;\n severity?: 'low' | 'medium' | 'high' | 'critical';\n onNotificationClick?: () => void;\n onDelete?: () => void;\n}\n\nexport const Notification = (props: NotificationProps) => {\n const { severity, title, content, onDelete, onNotificationClick = () => '' } = props;\n\n const bgColor = () => {\n switch (severity) {\n case 'low':\n return paletteOptions.secondary?.['main' as keyof typeof paletteOptions.secondary];\n case 'medium':\n return paletteOptions.severity?.medium;\n case 'high':\n return paletteOptions.severity?.high;\n case 'critical':\n return paletteOptions.severity?.critical;\n default:\n return paletteOptions.primary?.['main' as keyof typeof paletteOptions.primary];\n }\n };\n\n const containerMaxWidth = onDelete ? '390px' : '300px';\n\n return (\n \n onNotificationClick()} />\n \n \n {content && }\n \n {onDelete && (\n \n \n onDelete()} />\n \n )}\n \n );\n};\n","import Select from '@mui/material/Select';\nimport { styled, MenuProps, Box, Stack, Theme, PaletteOptions } from '@mui/material';\n\nimport { Text } from '../Text/Text';\n\nimport { paletteOptions } from '../../theme/palette';\n\nconst StyledSelect = styled(Select)(({ theme }) => ({\n color: theme.palette.grey[500],\n backgroundColor: theme.palette.grey[200],\n borderRadius: '8px',\n border: 'none',\n fontSize: '16px',\n\n '& .MuiSelect-select': {\n padding: '9px 16px 7px'\n },\n\n '& .MuiOutlinedInput-notchedOutline, &:hover .MuiOutlinedInput-notchedOutline': {\n border: 'none'\n },\n\n '& svg': {\n color: 'inherit'\n }\n}));\n\nconst menuProps = (searchField: boolean, whiteBg?: boolean, minWidth?: string): Partial => ({\n PaperProps: {\n style: {\n maxHeight: '300px',\n backgroundColor: whiteBg ? '#FFF' : paletteOptions.grey?.[200],\n borderRadius: '8px',\n marginTop: '8px',\n minWidth: minWidth || '150px',\n padding: '0 8px'\n }\n },\n MenuListProps: {\n style: {\n paddingBottom: 0,\n paddingTop: searchField ? 0 : '8px'\n },\n sx: {\n '& li': {\n padding: '8px'\n }\n }\n },\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'left'\n },\n transformOrigin: {\n vertical: 'top',\n horizontal: 'left'\n }\n});\n\nconst StyledStickyContainer = styled(Box)<{ is_white_bg?: string }>(({ is_white_bg }) => ({\n zIndex: 1,\n top: 0,\n padding: '8px 0',\n position: 'sticky',\n backgroundColor: is_white_bg === 'true' ? 'white' : paletteOptions.grey?.[200]\n}));\n\nconst StyledBottomContainer = styled(Box)<{ is_white_bg?: string; is_no_border?: string; is_no_data?: string }>(\n ({ is_white_bg, is_no_border, is_no_data }) => ({\n zIndex: 3,\n bottom: 0,\n margin: 0,\n position: 'sticky',\n padding: is_no_data === 'true' ? '8px 0' : '0 0 8px',\n backgroundColor: is_white_bg === 'true' ? 'white' : paletteOptions.grey?.[200],\n borderTop: is_no_border === 'true' ? 'none' : `2px solid ${paletteOptions.grey?.[300]}`,\n '& > div': {\n justifyContent: 'flex-start'\n }\n })\n);\n\nconst StyledBottomTextContainer = styled(Box)(({ theme }) => ({\n height: '41px',\n gap: '6px',\n display: 'flex',\n padding: '6px 0 6px 8px',\n cursor: 'pointer',\n alignItems: 'center',\n justifyContent: 'center',\n\n '.MuiTypography-root': { color: theme.palette.primary.main },\n '.MuiSvgIcon-root': { color: paletteOptions.grey?.[400], fontSize: '20px', marginLeft: '-2px' }\n}));\n\nconst StyledValueContainer = styled(Stack)({\n flexDirection: 'row',\n alignItems: 'center',\n gap: '4px'\n});\n\nconst StyledText = styled(Text)(({ theme }) => ({\n color: theme.palette.grey[400]\n}));\n\nconst StyledPlaceholderText = styled(Text)(({ theme }) => ({\n color: theme.palette.grey[300]\n}));\n\nconst sxStyles = (theme: Theme) => ({\n width: 1,\n color: theme.palette.grey[500],\n\n '&::before, ::after': {\n borderColor: theme.palette.grey[500],\n opacity: 0.3,\n\n '&:hover': {\n borderColor: theme.palette.grey[500]\n }\n }\n});\n\nconst sxDropdownItemFistTestStyles = (paletteOptions: PaletteOptions) => ({ color: paletteOptions.grey?.[500] });\nconst sxDropdownItemSecondTestStyles = (paletteOptions: PaletteOptions) => ({\n marginLeft: 'auto',\n color: paletteOptions.grey?.[400]\n});\nconst sxDropdownItemThirdTestStyles = (paletteOptions: PaletteOptions) => ({\n marginLeft: 'auto',\n color: paletteOptions.grey?.[500]\n});\nconst sxDropdownItemFourthTestStyles = (theme: Theme) => ({\n color: theme.palette.grey[500],\n margin: '2px 16px 8px 16px'\n});\nconst sxDropdownItemTestStyles = (paletteOptions: PaletteOptions, name: string, selectedValue?: string) => ({\n marginRight: '20px',\n color:\n selectedValue === name\n ? paletteOptions.primary?.['main' as keyof typeof paletteOptions.primary]\n : paletteOptions.grey?.[500]\n});\nconst sxOutlinedDropdownStyles = (theme: Theme) => ({\n height: '42px',\n borderRadius: '5px',\n\n '&.Mui-focused .MuiOutlinedInput-notchedOutline': {\n borderWidth: '1px'\n },\n '&:hover .MuiOutlinedInput-notchedOutline': {\n borderColor: theme.palette.grey[300],\n borderWidth: '2px'\n },\n '& .MuiOutlinedInput-notchedOutline': {\n borderColor: theme.palette.grey[300]\n },\n '.MuiInputBase-input': {\n color: theme.palette.grey[600]\n }\n});\n\nexport {\n StyledSelect,\n menuProps,\n StyledStickyContainer,\n StyledBottomContainer,\n StyledBottomTextContainer,\n StyledValueContainer,\n StyledText,\n StyledPlaceholderText,\n sxStyles,\n sxDropdownItemFistTestStyles,\n sxDropdownItemSecondTestStyles,\n sxDropdownItemThirdTestStyles,\n sxDropdownItemFourthTestStyles,\n sxDropdownItemTestStyles,\n sxOutlinedDropdownStyles\n};\n","import React from 'react';\n\nexport const folderExampleProps = {\n label: 'Folder',\n data: [\n {\n name: 'Price',\n amount: '3 models'\n },\n {\n name: 'Popularity',\n amount: '4 models'\n },\n {\n name: 'Hosts',\n amount: '3 models'\n },\n {\n name: 'Locations',\n amount: '5 models'\n }\n ]\n};\n\nexport const modelsExampleProps = {\n label: 'Models',\n data: [\n {\n name: 'Airbnb-rent-prices',\n amount: '3 alerts / 1 Critical'\n },\n {\n name: 'Car-prices',\n amount: 'No alerts'\n },\n {\n name: 'Ecommerce-customer-purchases',\n amount: '2 alerts / 0 Critical'\n }\n ]\n};\n\nexport function highlightText(text: string, match: string) {\n return text.split(new RegExp(`(${match})`, 'gi')).map((part, i) =>\n part.toLowerCase() === match.toLowerCase() ? (\n part\n ) : (\n \n {part}\n \n )\n );\n}\n","import React from 'react';\n\nimport { MenuItem } from '@mui/material';\n\nimport { Text } from '../Text/Text';\nimport { highlightText } from './Dropdown.helpers';\n\nimport { paletteOptions } from '../../theme/palette';\nimport {\n sxDropdownItemFistTestStyles,\n sxDropdownItemFourthTestStyles,\n sxDropdownItemSecondTestStyles,\n sxDropdownItemTestStyles,\n sxDropdownItemThirdTestStyles\n} from './Dropdown.styles';\n\ninterface DropdownItemProps {\n state: {\n name: string;\n amount?: string;\n }[];\n inputValue: string;\n handleChange: (name: string) => void;\n selectedValue: string | undefined;\n isEnvSelect?: boolean;\n isNoEmptyText?: boolean;\n}\n\nconst NO_RESULTS_STRING = 'No results, try a different combination';\n\nexport const DropdownItem = (props: DropdownItemProps) => {\n const { inputValue, state, handleChange, selectedValue, isEnvSelect, isNoEmptyText } = props;\n\n return (\n <>\n {state.length > 0 ? (\n state.map(({ name, amount }, i) => (\n \n {isEnvSelect ? (\n <>\n \n \n \n ) : (\n <>\n \n {amount && }\n \n )}\n \n ))\n ) : isNoEmptyText ? null : (\n \n )}\n \n );\n};\n","import React, { useState, useEffect } from 'react';\n\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport { FormControl, SvgIconTypeMap, SxProps } from '@mui/material';\nimport { OverridableComponent } from '@mui/material/OverridableComponent';\n\nimport { Input } from '../Input/Input';\n\nimport {\n StyledSelect,\n menuProps,\n StyledStickyContainer,\n StyledBottomContainer,\n StyledBottomTextContainer,\n StyledValueContainer,\n StyledText,\n StyledPlaceholderText,\n sxStyles\n} from './Dropdown.styles';\n\nimport { Text, TextTypes } from '../Text/Text';\nimport { DropdownItem } from './DropdownItem';\n\ninterface DropdownProps {\n id?: string;\n sx?: SxProps;\n whiteBg?: boolean;\n dataTestid?: string;\n label?: string;\n searchPlaceholder?: string;\n minWidth?: string;\n textType?: string;\n disabled?: boolean;\n noEmptyText?: boolean;\n data: {\n name: string;\n amount?: string;\n }[];\n value: string | undefined;\n setValue: (value: string) => void;\n searchField?: boolean;\n isEnvSelect?: boolean;\n iconComponent?: OverridableComponent> & { muiName: string };\n bottomBtn?: {\n label?: string;\n icon?: React.ReactNode;\n action: () => void;\n secondary?: {\n label: string;\n icon: React.ReactNode;\n action: () => void;\n };\n };\n}\n\nexport const Dropdown = (props: DropdownProps) => {\n const {\n label = '',\n dataTestid,\n data,\n value,\n setValue,\n searchField,\n searchPlaceholder,\n bottomBtn,\n isEnvSelect,\n disabled,\n whiteBg,\n minWidth,\n noEmptyText,\n textType,\n iconComponent,\n ...otherProps\n } = props;\n\n const [open, setOpen] = useState(false);\n const [state, setState] = useState(data);\n const [inputValue, setInputValue] = useState('');\n\n useEffect(() => {\n if (!inputValue) {\n setState(data);\n }\n }, [inputValue, data?.length]);\n\n const handleOpen = () => setOpen(true);\n\n const handleClose = () => {\n setOpen(false);\n setState(data);\n };\n\n const handleChange = (name: string) => {\n setValue(name);\n handleClose();\n setInputValue('');\n };\n\n const handleSearch = (event: React.ChangeEvent) => {\n const { value } = event.target;\n\n setInputValue(value);\n setState(data.filter(item => item.name.toLowerCase().includes(value.toLowerCase().trim())));\n };\n\n const resetInput = () => {\n setInputValue('');\n setState(data);\n };\n\n const renderValue = isEnvSelect ? (\n \n \n \n ) : textType ? (\n \n ) : (\n value\n );\n\n const placeholderText = ;\n\n return (\n \n (value && value !== 'undefined' ? renderValue : placeholderText)}\n disabled={disabled}\n autoWidth\n displayEmpty\n {...otherProps}\n >\n {searchField && data.length && (\n \n e.stopPropagation()}\n onClick={e => e.stopPropagation()}\n searchField\n sx={sxStyles}\n />\n \n )}\n \n {bottomBtn?.label && (\n \n bottomBtn.action()} data-testid={bottomBtn?.label}>\n {bottomBtn?.icon && bottomBtn.icon}\n \n \n {bottomBtn?.secondary && (\n bottomBtn.secondary?.action()}\n data-testid={bottomBtn.secondary.label}\n >\n {bottomBtn.secondary.icon}\n \n \n )}\n \n )}\n \n \n );\n};\n","import React, { useState } from 'react';\n\nimport ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';\nimport { Select, FormControl, MenuItem, styled, Stack } from '@mui/material';\n\nimport { Text } from '../../Text/Text';\nimport { Input } from '../../Input/Input';\n\nimport { sxOutlinedDropdownStyles } from '../Dropdown.styles';\n\nexport interface OutlinedDropdownProps {\n label?: string;\n disabled?: boolean;\n dataTestid?: string;\n searchField?: boolean;\n size?: 'small' | 'medium';\n value: string | number | undefined;\n setValue: (value: string | number) => void;\n data: { value: string | number; label: string }[];\n}\n\nexport const OutlinedDropdown = (props: OutlinedDropdownProps) => {\n const { label, disabled, dataTestid, searchField, size, value, setValue, data } = props;\n\n const [open, setOpen] = useState(false);\n const [searchQuery, setSearchQuery] = useState('');\n const filteredData = data?.filter(item => item?.label?.toLowerCase().includes(searchQuery?.toLowerCase()));\n\n const handleSelectClose = () => {\n setOpen(false);\n };\n\n return (\n \n \n setOpen(true)}\n renderValue={selected => {\n const selectedItem = data.find(item => item.value === selected);\n return selectedItem ? selectedItem.label : '';\n }}\n >\n {searchField && (\n \n e.stopPropagation()}\n onChange={e => setSearchQuery(e.target.value)}\n autoFocus\n />\n \n )}\n \n {filteredData.map(({ value, label }) => (\n {\n setValue(value);\n handleSelectClose();\n }}\n >\n {label}\n \n ))}\n \n \n \n );\n};\n\nexport const SelectPrimaryItem = styled(MenuItem)({\n '&.Mui-selected': {\n backgroundColor: 'transparent'\n }\n});\n\nexport const StyledFormControl = styled(FormControl)({\n minWidth: 160\n});\n\nexport const StyledInputLabel = styled(Text)({\n margin: '3px'\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: \"M1 21h22L12 2zm12-3h-2v-2h2zm0-4h-2v-4h2z\"\n}), 'Warning');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTooltipUtilityClass(slot) {\n return generateUtilityClass('MuiTooltip', slot);\n}\nconst tooltipClasses = generateUtilityClasses('MuiTooltip', ['popper', 'popperInteractive', 'popperArrow', 'popperClose', 'tooltip', 'tooltipArrow', 'touch', 'tooltipPlacementLeft', 'tooltipPlacementRight', 'tooltipPlacementTop', 'tooltipPlacementBottom', 'arrow']);\nexport default tooltipClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport useTimeout, { Timeout } from '@mui/utils/useTimeout';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport isFocusVisible from '@mui/utils/isFocusVisible';\nimport getReactElementRef from '@mui/utils/getReactElementRef';\nimport { styled, useTheme } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport Grow from \"../Grow/index.js\";\nimport Popper from \"../Popper/index.js\";\nimport useEventCallback from \"../utils/useEventCallback.js\";\nimport useForkRef from \"../utils/useForkRef.js\";\nimport useId from \"../utils/useId.js\";\nimport useControlled from \"../utils/useControlled.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport tooltipClasses, { getTooltipUtilityClass } from \"./tooltipClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableInteractive,\n arrow,\n touch,\n placement\n } = ownerState;\n const slots = {\n popper: ['popper', !disableInteractive && 'popperInteractive', arrow && 'popperArrow'],\n tooltip: ['tooltip', arrow && 'tooltipArrow', touch && 'touch', `tooltipPlacement${capitalize(placement.split('-')[0])}`],\n arrow: ['arrow']\n };\n return composeClasses(slots, getTooltipUtilityClass, classes);\n};\nconst TooltipPopper = styled(Popper, {\n name: 'MuiTooltip',\n slot: 'Popper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.popper, !ownerState.disableInteractive && styles.popperInteractive, ownerState.arrow && styles.popperArrow, !ownerState.open && styles.popperClose];\n }\n})(memoTheme(({\n theme\n}) => ({\n zIndex: (theme.vars || theme).zIndex.tooltip,\n pointerEvents: 'none',\n variants: [{\n props: ({\n ownerState\n }) => !ownerState.disableInteractive,\n style: {\n pointerEvents: 'auto'\n }\n }, {\n props: ({\n open\n }) => !open,\n style: {\n pointerEvents: 'none'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.arrow,\n style: {\n [`&[data-popper-placement*=\"bottom\"] .${tooltipClasses.arrow}`]: {\n top: 0,\n marginTop: '-0.71em',\n '&::before': {\n transformOrigin: '0 100%'\n }\n },\n [`&[data-popper-placement*=\"top\"] .${tooltipClasses.arrow}`]: {\n bottom: 0,\n marginBottom: '-0.71em',\n '&::before': {\n transformOrigin: '100% 0'\n }\n },\n [`&[data-popper-placement*=\"right\"] .${tooltipClasses.arrow}`]: {\n height: '1em',\n width: '0.71em',\n '&::before': {\n transformOrigin: '100% 100%'\n }\n },\n [`&[data-popper-placement*=\"left\"] .${tooltipClasses.arrow}`]: {\n height: '1em',\n width: '0.71em',\n '&::before': {\n transformOrigin: '0 0'\n }\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.arrow && !ownerState.isRtl,\n style: {\n [`&[data-popper-placement*=\"right\"] .${tooltipClasses.arrow}`]: {\n left: 0,\n marginLeft: '-0.71em'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.arrow && !!ownerState.isRtl,\n style: {\n [`&[data-popper-placement*=\"right\"] .${tooltipClasses.arrow}`]: {\n right: 0,\n marginRight: '-0.71em'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.arrow && !ownerState.isRtl,\n style: {\n [`&[data-popper-placement*=\"left\"] .${tooltipClasses.arrow}`]: {\n right: 0,\n marginRight: '-0.71em'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.arrow && !!ownerState.isRtl,\n style: {\n [`&[data-popper-placement*=\"left\"] .${tooltipClasses.arrow}`]: {\n left: 0,\n marginLeft: '-0.71em'\n }\n }\n }]\n})));\nconst TooltipTooltip = styled('div', {\n name: 'MuiTooltip',\n slot: 'Tooltip',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.tooltip, ownerState.touch && styles.touch, ownerState.arrow && styles.tooltipArrow, styles[`tooltipPlacement${capitalize(ownerState.placement.split('-')[0])}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n backgroundColor: theme.vars ? theme.vars.palette.Tooltip.bg : alpha(theme.palette.grey[700], 0.92),\n borderRadius: (theme.vars || theme).shape.borderRadius,\n color: (theme.vars || theme).palette.common.white,\n fontFamily: theme.typography.fontFamily,\n padding: '4px 8px',\n fontSize: theme.typography.pxToRem(11),\n maxWidth: 300,\n margin: 2,\n wordWrap: 'break-word',\n fontWeight: theme.typography.fontWeightMedium,\n [`.${tooltipClasses.popper}[data-popper-placement*=\"left\"] &`]: {\n transformOrigin: 'right center'\n },\n [`.${tooltipClasses.popper}[data-popper-placement*=\"right\"] &`]: {\n transformOrigin: 'left center'\n },\n [`.${tooltipClasses.popper}[data-popper-placement*=\"top\"] &`]: {\n transformOrigin: 'center bottom',\n marginBottom: '14px'\n },\n [`.${tooltipClasses.popper}[data-popper-placement*=\"bottom\"] &`]: {\n transformOrigin: 'center top',\n marginTop: '14px'\n },\n variants: [{\n props: ({\n ownerState\n }) => ownerState.arrow,\n style: {\n position: 'relative',\n margin: 0\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.touch,\n style: {\n padding: '8px 16px',\n fontSize: theme.typography.pxToRem(14),\n lineHeight: `${round(16 / 14)}em`,\n fontWeight: theme.typography.fontWeightRegular\n }\n }, {\n props: ({\n ownerState\n }) => !ownerState.isRtl,\n style: {\n [`.${tooltipClasses.popper}[data-popper-placement*=\"left\"] &`]: {\n marginRight: '14px'\n },\n [`.${tooltipClasses.popper}[data-popper-placement*=\"right\"] &`]: {\n marginLeft: '14px'\n }\n }\n }, {\n props: ({\n ownerState\n }) => !ownerState.isRtl && ownerState.touch,\n style: {\n [`.${tooltipClasses.popper}[data-popper-placement*=\"left\"] &`]: {\n marginRight: '24px'\n },\n [`.${tooltipClasses.popper}[data-popper-placement*=\"right\"] &`]: {\n marginLeft: '24px'\n }\n }\n }, {\n props: ({\n ownerState\n }) => !!ownerState.isRtl,\n style: {\n [`.${tooltipClasses.popper}[data-popper-placement*=\"left\"] &`]: {\n marginLeft: '14px'\n },\n [`.${tooltipClasses.popper}[data-popper-placement*=\"right\"] &`]: {\n marginRight: '14px'\n }\n }\n }, {\n props: ({\n ownerState\n }) => !!ownerState.isRtl && ownerState.touch,\n style: {\n [`.${tooltipClasses.popper}[data-popper-placement*=\"left\"] &`]: {\n marginLeft: '24px'\n },\n [`.${tooltipClasses.popper}[data-popper-placement*=\"right\"] &`]: {\n marginRight: '24px'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.touch,\n style: {\n [`.${tooltipClasses.popper}[data-popper-placement*=\"top\"] &`]: {\n marginBottom: '24px'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.touch,\n style: {\n [`.${tooltipClasses.popper}[data-popper-placement*=\"bottom\"] &`]: {\n marginTop: '24px'\n }\n }\n }]\n})));\nconst TooltipArrow = styled('span', {\n name: 'MuiTooltip',\n slot: 'Arrow',\n overridesResolver: (props, styles) => styles.arrow\n})(memoTheme(({\n theme\n}) => ({\n overflow: 'hidden',\n position: 'absolute',\n width: '1em',\n height: '0.71em' /* = width / sqrt(2) = (length of the hypotenuse) */,\n boxSizing: 'border-box',\n color: theme.vars ? theme.vars.palette.Tooltip.bg : alpha(theme.palette.grey[700], 0.9),\n '&::before': {\n content: '\"\"',\n margin: 'auto',\n display: 'block',\n width: '100%',\n height: '100%',\n backgroundColor: 'currentColor',\n transform: 'rotate(45deg)'\n }\n})));\nlet hystersisOpen = false;\nconst hystersisTimer = new Timeout();\nlet cursorPosition = {\n x: 0,\n y: 0\n};\nexport function testReset() {\n hystersisOpen = false;\n hystersisTimer.clear();\n}\nfunction composeEventHandler(handler, eventHandler) {\n return (event, ...params) => {\n if (eventHandler) {\n eventHandler(event, ...params);\n }\n handler(event, ...params);\n };\n}\n\n// TODO v6: Remove PopperComponent, PopperProps, TransitionComponent and TransitionProps.\nconst Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTooltip'\n });\n const {\n arrow = false,\n children: childrenProp,\n classes: classesProp,\n components = {},\n componentsProps = {},\n describeChild = false,\n disableFocusListener = false,\n disableHoverListener = false,\n disableInteractive: disableInteractiveProp = false,\n disableTouchListener = false,\n enterDelay = 100,\n enterNextDelay = 0,\n enterTouchDelay = 700,\n followCursor = false,\n id: idProp,\n leaveDelay = 0,\n leaveTouchDelay = 1500,\n onClose,\n onOpen,\n open: openProp,\n placement = 'bottom',\n PopperComponent: PopperComponentProp,\n PopperProps = {},\n slotProps = {},\n slots = {},\n title,\n TransitionComponent: TransitionComponentProp,\n TransitionProps,\n ...other\n } = props;\n\n // to prevent runtime errors, developers will need to provide a child as a React element anyway.\n const children = /*#__PURE__*/React.isValidElement(childrenProp) ? childrenProp : /*#__PURE__*/_jsx(\"span\", {\n children: childrenProp\n });\n const theme = useTheme();\n const isRtl = useRtl();\n const [childNode, setChildNode] = React.useState();\n const [arrowRef, setArrowRef] = React.useState(null);\n const ignoreNonTouchEvents = React.useRef(false);\n const disableInteractive = disableInteractiveProp || followCursor;\n const closeTimer = useTimeout();\n const enterTimer = useTimeout();\n const leaveTimer = useTimeout();\n const touchTimer = useTimeout();\n const [openState, setOpenState] = useControlled({\n controlled: openProp,\n default: false,\n name: 'Tooltip',\n state: 'open'\n });\n let open = openState;\n if (process.env.NODE_ENV !== 'production') {\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks -- process.env never changes\n const {\n current: isControlled\n } = React.useRef(openProp !== undefined);\n\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks -- process.env never changes\n React.useEffect(() => {\n if (childNode && childNode.disabled && !isControlled && title !== '' && childNode.tagName.toLowerCase() === 'button') {\n console.warn(['MUI: You are providing a disabled `button` child to the Tooltip component.', 'A disabled element does not fire events.', \"Tooltip needs to listen to the child element's events to display the title.\", '', 'Add a simple wrapper element, such as a `span`.'].join('\\n'));\n }\n }, [title, childNode, isControlled]);\n }\n const id = useId(idProp);\n const prevUserSelect = React.useRef();\n const stopTouchInteraction = useEventCallback(() => {\n if (prevUserSelect.current !== undefined) {\n document.body.style.WebkitUserSelect = prevUserSelect.current;\n prevUserSelect.current = undefined;\n }\n touchTimer.clear();\n });\n React.useEffect(() => stopTouchInteraction, [stopTouchInteraction]);\n const handleOpen = event => {\n hystersisTimer.clear();\n hystersisOpen = true;\n\n // The mouseover event will trigger for every nested element in the tooltip.\n // We can skip rerendering when the tooltip is already open.\n // We are using the mouseover event instead of the mouseenter event to fix a hide/show issue.\n setOpenState(true);\n if (onOpen && !open) {\n onOpen(event);\n }\n };\n const handleClose = useEventCallback(\n /**\n * @param {React.SyntheticEvent | Event} event\n */\n event => {\n hystersisTimer.start(800 + leaveDelay, () => {\n hystersisOpen = false;\n });\n setOpenState(false);\n if (onClose && open) {\n onClose(event);\n }\n closeTimer.start(theme.transitions.duration.shortest, () => {\n ignoreNonTouchEvents.current = false;\n });\n });\n const handleMouseOver = event => {\n if (ignoreNonTouchEvents.current && event.type !== 'touchstart') {\n return;\n }\n\n // Remove the title ahead of time.\n // We don't want to wait for the next render commit.\n // We would risk displaying two tooltips at the same time (native + this one).\n if (childNode) {\n childNode.removeAttribute('title');\n }\n enterTimer.clear();\n leaveTimer.clear();\n if (enterDelay || hystersisOpen && enterNextDelay) {\n enterTimer.start(hystersisOpen ? enterNextDelay : enterDelay, () => {\n handleOpen(event);\n });\n } else {\n handleOpen(event);\n }\n };\n const handleMouseLeave = event => {\n enterTimer.clear();\n leaveTimer.start(leaveDelay, () => {\n handleClose(event);\n });\n };\n const [, setChildIsFocusVisible] = React.useState(false);\n const handleBlur = event => {\n if (!isFocusVisible(event.target)) {\n setChildIsFocusVisible(false);\n handleMouseLeave(event);\n }\n };\n const handleFocus = event => {\n // Workaround for https://github.com/facebook/react/issues/7769\n // The autoFocus of React might trigger the event before the componentDidMount.\n // We need to account for this eventuality.\n if (!childNode) {\n setChildNode(event.currentTarget);\n }\n if (isFocusVisible(event.target)) {\n setChildIsFocusVisible(true);\n handleMouseOver(event);\n }\n };\n const detectTouchStart = event => {\n ignoreNonTouchEvents.current = true;\n const childrenProps = children.props;\n if (childrenProps.onTouchStart) {\n childrenProps.onTouchStart(event);\n }\n };\n const handleTouchStart = event => {\n detectTouchStart(event);\n leaveTimer.clear();\n closeTimer.clear();\n stopTouchInteraction();\n prevUserSelect.current = document.body.style.WebkitUserSelect;\n // Prevent iOS text selection on long-tap.\n document.body.style.WebkitUserSelect = 'none';\n touchTimer.start(enterTouchDelay, () => {\n document.body.style.WebkitUserSelect = prevUserSelect.current;\n handleMouseOver(event);\n });\n };\n const handleTouchEnd = event => {\n if (children.props.onTouchEnd) {\n children.props.onTouchEnd(event);\n }\n stopTouchInteraction();\n leaveTimer.start(leaveTouchDelay, () => {\n handleClose(event);\n });\n };\n React.useEffect(() => {\n if (!open) {\n return undefined;\n }\n\n /**\n * @param {KeyboardEvent} nativeEvent\n */\n function handleKeyDown(nativeEvent) {\n if (nativeEvent.key === 'Escape') {\n handleClose(nativeEvent);\n }\n }\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [handleClose, open]);\n const handleRef = useForkRef(getReactElementRef(children), setChildNode, ref);\n\n // There is no point in displaying an empty tooltip.\n // So we exclude all falsy values, except 0, which is valid.\n if (!title && title !== 0) {\n open = false;\n }\n const popperRef = React.useRef();\n const handleMouseMove = event => {\n const childrenProps = children.props;\n if (childrenProps.onMouseMove) {\n childrenProps.onMouseMove(event);\n }\n cursorPosition = {\n x: event.clientX,\n y: event.clientY\n };\n if (popperRef.current) {\n popperRef.current.update();\n }\n };\n const nameOrDescProps = {};\n const titleIsString = typeof title === 'string';\n if (describeChild) {\n nameOrDescProps.title = !open && titleIsString && !disableHoverListener ? title : null;\n nameOrDescProps['aria-describedby'] = open ? id : null;\n } else {\n nameOrDescProps['aria-label'] = titleIsString ? title : null;\n nameOrDescProps['aria-labelledby'] = open && !titleIsString ? id : null;\n }\n const childrenProps = {\n ...nameOrDescProps,\n ...other,\n ...children.props,\n className: clsx(other.className, children.props.className),\n onTouchStart: detectTouchStart,\n ref: handleRef,\n ...(followCursor ? {\n onMouseMove: handleMouseMove\n } : {})\n };\n if (process.env.NODE_ENV !== 'production') {\n childrenProps['data-mui-internal-clone-element'] = true;\n\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks -- process.env never changes\n React.useEffect(() => {\n if (childNode && !childNode.getAttribute('data-mui-internal-clone-element')) {\n console.error(['MUI: The `children` component of the Tooltip is not forwarding its props correctly.', 'Please make sure that props are spread on the same element that the ref is applied to.'].join('\\n'));\n }\n }, [childNode]);\n }\n const interactiveWrapperListeners = {};\n if (!disableTouchListener) {\n childrenProps.onTouchStart = handleTouchStart;\n childrenProps.onTouchEnd = handleTouchEnd;\n }\n if (!disableHoverListener) {\n childrenProps.onMouseOver = composeEventHandler(handleMouseOver, childrenProps.onMouseOver);\n childrenProps.onMouseLeave = composeEventHandler(handleMouseLeave, childrenProps.onMouseLeave);\n if (!disableInteractive) {\n interactiveWrapperListeners.onMouseOver = handleMouseOver;\n interactiveWrapperListeners.onMouseLeave = handleMouseLeave;\n }\n }\n if (!disableFocusListener) {\n childrenProps.onFocus = composeEventHandler(handleFocus, childrenProps.onFocus);\n childrenProps.onBlur = composeEventHandler(handleBlur, childrenProps.onBlur);\n if (!disableInteractive) {\n interactiveWrapperListeners.onFocus = handleFocus;\n interactiveWrapperListeners.onBlur = handleBlur;\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n if (children.props.title) {\n console.error(['MUI: You have provided a `title` prop to the child of .', `Remove this title prop \\`${children.props.title}\\` or the Tooltip component.`].join('\\n'));\n }\n }\n const ownerState = {\n ...props,\n isRtl,\n arrow,\n disableInteractive,\n placement,\n PopperComponentProp,\n touch: ignoreNonTouchEvents.current\n };\n const resolvedPopperProps = typeof slotProps.popper === 'function' ? slotProps.popper(ownerState) : slotProps.popper;\n const popperOptions = React.useMemo(() => {\n let tooltipModifiers = [{\n name: 'arrow',\n enabled: Boolean(arrowRef),\n options: {\n element: arrowRef,\n padding: 4\n }\n }];\n if (PopperProps.popperOptions?.modifiers) {\n tooltipModifiers = tooltipModifiers.concat(PopperProps.popperOptions.modifiers);\n }\n if (resolvedPopperProps?.popperOptions?.modifiers) {\n tooltipModifiers = tooltipModifiers.concat(resolvedPopperProps.popperOptions.modifiers);\n }\n return {\n ...PopperProps.popperOptions,\n ...resolvedPopperProps?.popperOptions,\n modifiers: tooltipModifiers\n };\n }, [arrowRef, PopperProps.popperOptions, resolvedPopperProps?.popperOptions]);\n const classes = useUtilityClasses(ownerState);\n const resolvedTransitionProps = typeof slotProps.transition === 'function' ? slotProps.transition(ownerState) : slotProps.transition;\n const externalForwardedProps = {\n slots: {\n popper: components.Popper,\n transition: components.Transition ?? TransitionComponentProp,\n tooltip: components.Tooltip,\n arrow: components.Arrow,\n ...slots\n },\n slotProps: {\n arrow: slotProps.arrow ?? componentsProps.arrow,\n popper: {\n ...PopperProps,\n ...(resolvedPopperProps ?? componentsProps.popper)\n },\n // resolvedPopperProps can be spread because it's already an object\n tooltip: slotProps.tooltip ?? componentsProps.tooltip,\n transition: {\n ...TransitionProps,\n ...(resolvedTransitionProps ?? componentsProps.transition)\n }\n }\n };\n const [PopperSlot, popperSlotProps] = useSlot('popper', {\n elementType: TooltipPopper,\n externalForwardedProps,\n ownerState,\n className: clsx(classes.popper, PopperProps?.className)\n });\n const [TransitionSlot, transitionSlotProps] = useSlot('transition', {\n elementType: Grow,\n externalForwardedProps,\n ownerState\n });\n const [TooltipSlot, tooltipSlotProps] = useSlot('tooltip', {\n elementType: TooltipTooltip,\n className: classes.tooltip,\n externalForwardedProps,\n ownerState\n });\n const [ArrowSlot, arrowSlotProps] = useSlot('arrow', {\n elementType: TooltipArrow,\n className: classes.arrow,\n externalForwardedProps,\n ownerState,\n ref: setArrowRef\n });\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/React.cloneElement(children, childrenProps), /*#__PURE__*/_jsx(PopperSlot, {\n as: PopperComponentProp ?? Popper,\n placement: placement,\n anchorEl: followCursor ? {\n getBoundingClientRect: () => ({\n top: cursorPosition.y,\n left: cursorPosition.x,\n right: cursorPosition.x,\n bottom: cursorPosition.y,\n width: 0,\n height: 0\n })\n } : childNode,\n popperRef: popperRef,\n open: childNode ? open : false,\n id: id,\n transition: true,\n ...interactiveWrapperListeners,\n ...popperSlotProps,\n popperOptions: popperOptions,\n children: ({\n TransitionProps: TransitionPropsInner\n }) => /*#__PURE__*/_jsx(TransitionSlot, {\n timeout: theme.transitions.duration.shorter,\n ...TransitionPropsInner,\n ...transitionSlotProps,\n children: /*#__PURE__*/_jsxs(TooltipSlot, {\n ...tooltipSlotProps,\n children: [title, arrow ? /*#__PURE__*/_jsx(ArrowSlot, {\n ...arrowSlotProps\n }) : null]\n })\n })\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Tooltip.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 * If `true`, adds an arrow to the tooltip.\n * @default false\n */\n arrow: PropTypes.bool,\n /**\n * Tooltip reference element.\n */\n children: elementAcceptingRef.isRequired,\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 components used for each slot inside.\n *\n * @deprecated use the `slots` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Arrow: PropTypes.elementType,\n Popper: PropTypes.elementType,\n Tooltip: PropTypes.elementType,\n Transition: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @deprecated use the `slotProps` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n arrow: PropTypes.object,\n popper: PropTypes.object,\n tooltip: PropTypes.object,\n transition: PropTypes.object\n }),\n /**\n * Set to `true` if the `title` acts as an accessible description.\n * By default the `title` acts as an accessible label for the child.\n * @default false\n */\n describeChild: PropTypes.bool,\n /**\n * Do not respond to focus-visible events.\n * @default false\n */\n disableFocusListener: PropTypes.bool,\n /**\n * Do not respond to hover events.\n * @default false\n */\n disableHoverListener: PropTypes.bool,\n /**\n * Makes a tooltip not interactive, i.e. it will close when the user\n * hovers over the tooltip before the `leaveDelay` is expired.\n * @default false\n */\n disableInteractive: PropTypes.bool,\n /**\n * Do not respond to long press touch events.\n * @default false\n */\n disableTouchListener: PropTypes.bool,\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This prop won't impact the enter touch delay (`enterTouchDelay`).\n * @default 100\n */\n enterDelay: PropTypes.number,\n /**\n * The number of milliseconds to wait before showing the tooltip when one was already recently opened.\n * @default 0\n */\n enterNextDelay: PropTypes.number,\n /**\n * The number of milliseconds a user must touch the element before showing the tooltip.\n * @default 700\n */\n enterTouchDelay: PropTypes.number,\n /**\n * If `true`, the tooltip follow the cursor over the wrapped element.\n * @default false\n */\n followCursor: PropTypes.bool,\n /**\n * This prop is used to help implement the accessibility logic.\n * If you don't provide this prop. It falls back to a randomly generated id.\n */\n id: PropTypes.string,\n /**\n * The number of milliseconds to wait before hiding the tooltip.\n * This prop won't impact the leave touch delay (`leaveTouchDelay`).\n * @default 0\n */\n leaveDelay: PropTypes.number,\n /**\n * The number of milliseconds after the user stops touching an element before hiding the tooltip.\n * @default 1500\n */\n leaveTouchDelay: PropTypes.number,\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n */\n onClose: PropTypes.func,\n /**\n * Callback fired when the component requests to be open.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n */\n onOpen: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool,\n /**\n * Tooltip placement.\n * @default 'bottom'\n */\n placement: PropTypes.oneOf(['bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n /**\n * The component used for the popper.\n * @deprecated use the `slots.popper` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n PopperComponent: PropTypes.elementType,\n /**\n * Props applied to the [`Popper`](https://mui.com/material-ui/api/popper/) element.\n * @deprecated use the `slotProps.popper` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n * @default {}\n */\n PopperProps: PropTypes.object,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n arrow: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n popper: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n tooltip: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n transition: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n arrow: PropTypes.elementType,\n popper: PropTypes.elementType,\n tooltip: PropTypes.elementType,\n transition: PropTypes.elementType\n }),\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 * Tooltip title. Zero-length titles string, undefined, null and false are never displayed.\n */\n title: PropTypes.node,\n /**\n * The component used for the transition.\n * [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @deprecated use the `slots.transition` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n * @deprecated use the `slotProps.transition` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n * @default {}\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Tooltip;","import { Stack, Theme, styled } from '@mui/material';\n\nexport const StyledDescriptionsContainer = styled(Stack)({\n marginBottom: '6px',\n alignItems: 'center'\n});\n\nexport const sxContainerStyles = (theme: Theme, maxHeight?: string) => ({\n '.MuiTypography-root': {\n lineHeight: '18px'\n },\n ...(maxHeight && {\n maxHeight: maxHeight,\n overflow: 'auto',\n '&::-webkit-scrollbar': {\n width: '7px'\n },\n '&::-webkit-scrollbar-thumb': {\n backgroundColor: theme.palette.grey[300],\n borderRadius: '8px'\n },\n '&::-webkit-scrollbar-thumb:hover': {\n background: theme.palette.grey[500]\n }\n })\n});\n\nexport const sxWarningStyles = { margin: 'auto 0', width: '16px', height: '16px' };\nexport const sxTextStyles = { fontWeight: 900, marginRight: '5px' };\nexport const sxMarginStyles = { margin: '0 4px' };\n","import React, { ReactNode } from 'react';\n\nimport { Warning } from '@mui/icons-material';\nimport { Stack, Tooltip, useTheme } from '@mui/material';\n\nimport { StyledText } from '../../..';\nimport { Container } from '../Container';\n\nimport {\n StyledDescriptionsContainer,\n sxContainerStyles,\n sxMarginStyles,\n sxTextStyles,\n sxWarningStyles\n} from './ToolTip.styles';\n\nexport interface ToolTipProps {\n text?: string;\n row?: boolean;\n arrow?: boolean;\n error?: boolean;\n maxHeight?: string;\n children: React.ReactElement;\n placement?: 'bottom' | 'top' | 'left' | 'right';\n link?: { label?: string; href?: string; onClickOverride?: () => void };\n range?: { min: number | undefined; max: number | undefined };\n descriptions?: ReactNode | string | { text: string; info: string; icon: ReactNode }[];\n}\n\nexport const ToolTip = ({\n text,\n descriptions,\n error = false,\n children,\n arrow = true,\n placement = 'top',\n link,\n range,\n maxHeight\n}: ToolTipProps) => {\n const theme = useTheme();\n\n const linkColor = theme.palette.primary.main;\n const showLink = (link?.label && link?.onClickOverride) || (link?.href && link?.label);\n\n return (\n \n \n {error && }\n \n {range && (\n \n \n \n \n )}\n {descriptions &&\n (Array.isArray(descriptions) ? (\n \n {descriptions.map((el, index) => (\n \n {el.icon}\n \n \n \n ))}\n \n ) : (\n \n \n \n ))}\n \n {showLink && (\n undefined}\n style={{\n textDecoration: 'none',\n color: linkColor,\n fontSize: '12px',\n fontWeight: 900,\n cursor: 'pointer'\n }}\n >\n {link.label}\n
\n )}\n \n )\n }\n arrow={arrow}\n placement={placement}\n >\n {children}\n \n );\n};\n","import { Theme } from '@mui/material';\n\nexport const sxContainerStyles = (theme: Theme, disabled?: boolean) => ({\n ...(disabled && { cursor: 'default !important' }),\n '& svg': {\n ...(disabled && { color: theme.palette.grey[300] })\n },\n '& p': {\n ...(disabled && { color: theme.palette.grey[300] })\n }\n});\n\nexport const sxStyles = (linkColor: string) => ({\n color: linkColor,\n textDecoration: 'none',\n fontWeight: 600,\n fontSize: '16px',\n height: '20px',\n lineHeight: '20px'\n});\n","import React, { MouseEvent, ReactNode } from 'react';\n\nimport Link from '@mui/material/Link';\nimport { useTheme } from '@mui/material';\n\nimport { Text } from '../Text/Text';\nimport { Container } from '../Container/Container';\nimport { ToolTip } from '../Container/ToolTip/ToolTip';\n\nimport { sxContainerStyles, sxStyles } from './NavLink.styles';\n\nexport interface NavLinkProps {\n linkLabel: string;\n icon: React.ReactElement;\n link?: string;\n activeIcon?: React.ReactElement;\n endIcon?: ReactNode;\n activeEndIcon?: ReactNode;\n isActive?: boolean;\n disabled?: boolean;\n iconsOnly?: boolean;\n setIsActive?: (isActive: boolean) => void;\n onClick?: () => void;\n}\n\nexport const NavLink = (props: NavLinkProps) => {\n const {\n link,\n linkLabel,\n icon,\n isActive,\n activeIcon,\n endIcon,\n activeEndIcon,\n iconsOnly,\n onClick,\n setIsActive,\n disabled\n } = props;\n\n const theme = useTheme();\n\n const linkColor = isActive && !endIcon ? theme.palette.primary.main : theme.palette.grey[500];\n\n const handleClick = (e: MouseEvent) => {\n !link && e.preventDefault();\n\n setIsActive && setIsActive(!isActive);\n !disabled && onClick && onClick();\n };\n\n return (\n ) => handleClick(e)}\n style={{\n cursor: 'pointer',\n flexDirection: 'row',\n alignItems: 'center',\n gap: '6px',\n marginLeft: iconsOnly && endIcon ? '-24px' : '0'\n }}\n sx={sxContainerStyles(theme, disabled)}\n >\n {isActive && activeIcon ? activeIcon : icon}\n {!iconsOnly &&\n (link ? (\n \n {linkLabel}\n \n ) : (\n \n ))}\n {endIcon && isActive ? activeEndIcon : endIcon && endIcon}\n \n );\n};\n","import { Theme } from '@mui/material';\n\nexport const sharedStyles = {\n whiteSpace: 'pre-wrap'\n};\n\nexport const sxStyles = (theme: Theme, isOnclick: boolean, highlightedTextBold?: boolean) => ({\n fontWeight: highlightedTextBold ? 700 : 500,\n color: theme.palette.primary.main,\n cursor: isOnclick ? 'pointer' : 'text',\n transition: 'opacity 0.3s',\n ...sharedStyles,\n\n '&:hover': {\n opacity: isOnclick ? 0.7 : 1\n },\n\n '&:active': {\n opacity: isOnclick ? 0.5 : 1\n }\n});\n","import React from 'react';\n\nimport { TypographyProps, Typography } from '@mui/material';\n\nimport { Text, TextTypes } from '../Text';\n\nimport { sharedStyles, sxStyles } from './HighlightedText.styles';\n\ninterface HighlightedTextProps extends TypographyProps {\n beforeHighlightedText?: string;\n highlightedText: string;\n afterHighlightedText?: string;\n type?: TextTypes;\n highlightedTextType?: TextTypes;\n highlightedTextBold?: boolean;\n onHighlightedTextClick?: (e: React.SyntheticEvent) => void;\n}\n\nexport const HighlightedText = ({\n beforeHighlightedText = '',\n highlightedText,\n onHighlightedTextClick,\n afterHighlightedText = '',\n type,\n highlightedTextType,\n highlightedTextBold,\n color,\n ...otherProps\n}: HighlightedTextProps) => {\n const isOnclick = !!onHighlightedTextClick;\n\n return (\n \n \n sxStyles(theme, isOnclick, highlightedTextBold)}\n />\n \n \n );\n};\n","/*!\n * @kurkle/color v0.3.4\n * https://github.com/kurkle/color#readme\n * (c) 2024 Jukka Kurkela\n * Released under the MIT License\n */\nfunction round(v) {\n return v + 0.5 | 0;\n}\nconst lim = (v, l, h) => Math.max(Math.min(v, h), l);\nfunction p2b(v) {\n return lim(round(v * 2.55), 0, 255);\n}\nfunction b2p(v) {\n return lim(round(v / 2.55), 0, 100);\n}\nfunction n2b(v) {\n return lim(round(v * 255), 0, 255);\n}\nfunction b2n(v) {\n return lim(round(v / 2.55) / 100, 0, 1);\n}\nfunction n2p(v) {\n return lim(round(v * 100), 0, 100);\n}\n\nconst map$1 = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15};\nconst hex = [...'0123456789ABCDEF'];\nconst h1 = b => hex[b & 0xF];\nconst h2 = b => hex[(b & 0xF0) >> 4] + hex[b & 0xF];\nconst eq = b => ((b & 0xF0) >> 4) === (b & 0xF);\nconst isShort = v => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a);\nfunction hexParse(str) {\n var len = str.length;\n var ret;\n if (str[0] === '#') {\n if (len === 4 || len === 5) {\n ret = {\n r: 255 & map$1[str[1]] * 17,\n g: 255 & map$1[str[2]] * 17,\n b: 255 & map$1[str[3]] * 17,\n a: len === 5 ? map$1[str[4]] * 17 : 255\n };\n } else if (len === 7 || len === 9) {\n ret = {\n r: map$1[str[1]] << 4 | map$1[str[2]],\n g: map$1[str[3]] << 4 | map$1[str[4]],\n b: map$1[str[5]] << 4 | map$1[str[6]],\n a: len === 9 ? (map$1[str[7]] << 4 | map$1[str[8]]) : 255\n };\n }\n }\n return ret;\n}\nconst alpha = (a, f) => a < 255 ? f(a) : '';\nfunction hexString(v) {\n var f = isShort(v) ? h1 : h2;\n return v\n ? '#' + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f)\n : undefined;\n}\n\nconst HUE_RE = /^(hsla?|hwb|hsv)\\(\\s*([-+.e\\d]+)(?:deg)?[\\s,]+([-+.e\\d]+)%[\\s,]+([-+.e\\d]+)%(?:[\\s,]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction hsl2rgbn(h, s, l) {\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 return [f(0), f(8), f(4)];\n}\nfunction hsv2rgbn(h, s, v) {\n const f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n return [f(5), f(3), f(1)];\n}\nfunction hwb2rgbn(h, w, b) {\n const rgb = hsl2rgbn(h, 1, 0.5);\n let i;\n if (w + b > 1) {\n i = 1 / (w + b);\n w *= i;\n b *= i;\n }\n for (i = 0; i < 3; i++) {\n rgb[i] *= 1 - w - b;\n rgb[i] += w;\n }\n return rgb;\n}\nfunction hueValue(r, g, b, d, max) {\n if (r === max) {\n return ((g - b) / d) + (g < b ? 6 : 0);\n }\n if (g === max) {\n return (b - r) / d + 2;\n }\n return (r - g) / d + 4;\n}\nfunction rgb2hsl(v) {\n const range = 255;\n const r = v.r / range;\n const g = v.g / range;\n const b = v.b / range;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const l = (max + min) / 2;\n let h, s, d;\n if (max !== min) {\n d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n h = hueValue(r, g, b, d, max);\n h = h * 60 + 0.5;\n }\n return [h | 0, s || 0, l];\n}\nfunction calln(f, a, b, c) {\n return (\n Array.isArray(a)\n ? f(a[0], a[1], a[2])\n : f(a, b, c)\n ).map(n2b);\n}\nfunction hsl2rgb(h, s, l) {\n return calln(hsl2rgbn, h, s, l);\n}\nfunction hwb2rgb(h, w, b) {\n return calln(hwb2rgbn, h, w, b);\n}\nfunction hsv2rgb(h, s, v) {\n return calln(hsv2rgbn, h, s, v);\n}\nfunction hue(h) {\n return (h % 360 + 360) % 360;\n}\nfunction hueParse(str) {\n const m = HUE_RE.exec(str);\n let a = 255;\n let v;\n if (!m) {\n return;\n }\n if (m[5] !== v) {\n a = m[6] ? p2b(+m[5]) : n2b(+m[5]);\n }\n const h = hue(+m[2]);\n const p1 = +m[3] / 100;\n const p2 = +m[4] / 100;\n if (m[1] === 'hwb') {\n v = hwb2rgb(h, p1, p2);\n } else if (m[1] === 'hsv') {\n v = hsv2rgb(h, p1, p2);\n } else {\n v = hsl2rgb(h, p1, p2);\n }\n return {\n r: v[0],\n g: v[1],\n b: v[2],\n a: a\n };\n}\nfunction rotate(v, deg) {\n var h = rgb2hsl(v);\n h[0] = hue(h[0] + deg);\n h = hsl2rgb(h);\n v.r = h[0];\n v.g = h[1];\n v.b = h[2];\n}\nfunction hslString(v) {\n if (!v) {\n return;\n }\n const a = rgb2hsl(v);\n const h = a[0];\n const s = n2p(a[1]);\n const l = n2p(a[2]);\n return v.a < 255\n ? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`\n : `hsl(${h}, ${s}%, ${l}%)`;\n}\n\nconst map = {\n\tx: 'dark',\n\tZ: 'light',\n\tY: 're',\n\tX: 'blu',\n\tW: 'gr',\n\tV: 'medium',\n\tU: 'slate',\n\tA: 'ee',\n\tT: 'ol',\n\tS: 'or',\n\tB: 'ra',\n\tC: 'lateg',\n\tD: 'ights',\n\tR: 'in',\n\tQ: 'turquois',\n\tE: 'hi',\n\tP: 'ro',\n\tO: 'al',\n\tN: 'le',\n\tM: 'de',\n\tL: 'yello',\n\tF: 'en',\n\tK: 'ch',\n\tG: 'arks',\n\tH: 'ea',\n\tI: 'ightg',\n\tJ: 'wh'\n};\nconst names$1 = {\n\tOiceXe: 'f0f8ff',\n\tantiquewEte: 'faebd7',\n\taqua: 'ffff',\n\taquamarRe: '7fffd4',\n\tazuY: 'f0ffff',\n\tbeige: 'f5f5dc',\n\tbisque: 'ffe4c4',\n\tblack: '0',\n\tblanKedOmond: 'ffebcd',\n\tXe: 'ff',\n\tXeviTet: '8a2be2',\n\tbPwn: 'a52a2a',\n\tburlywood: 'deb887',\n\tcaMtXe: '5f9ea0',\n\tKartYuse: '7fff00',\n\tKocTate: 'd2691e',\n\tcSO: 'ff7f50',\n\tcSnflowerXe: '6495ed',\n\tcSnsilk: 'fff8dc',\n\tcrimson: 'dc143c',\n\tcyan: 'ffff',\n\txXe: '8b',\n\txcyan: '8b8b',\n\txgTMnPd: 'b8860b',\n\txWay: 'a9a9a9',\n\txgYF: '6400',\n\txgYy: 'a9a9a9',\n\txkhaki: 'bdb76b',\n\txmagFta: '8b008b',\n\txTivegYF: '556b2f',\n\txSange: 'ff8c00',\n\txScEd: '9932cc',\n\txYd: '8b0000',\n\txsOmon: 'e9967a',\n\txsHgYF: '8fbc8f',\n\txUXe: '483d8b',\n\txUWay: '2f4f4f',\n\txUgYy: '2f4f4f',\n\txQe: 'ced1',\n\txviTet: '9400d3',\n\tdAppRk: 'ff1493',\n\tdApskyXe: 'bfff',\n\tdimWay: '696969',\n\tdimgYy: '696969',\n\tdodgerXe: '1e90ff',\n\tfiYbrick: 'b22222',\n\tflSOwEte: 'fffaf0',\n\tfoYstWAn: '228b22',\n\tfuKsia: 'ff00ff',\n\tgaRsbSo: 'dcdcdc',\n\tghostwEte: 'f8f8ff',\n\tgTd: 'ffd700',\n\tgTMnPd: 'daa520',\n\tWay: '808080',\n\tgYF: '8000',\n\tgYFLw: 'adff2f',\n\tgYy: '808080',\n\thoneyMw: 'f0fff0',\n\thotpRk: 'ff69b4',\n\tRdianYd: 'cd5c5c',\n\tRdigo: '4b0082',\n\tivSy: 'fffff0',\n\tkhaki: 'f0e68c',\n\tlavFMr: 'e6e6fa',\n\tlavFMrXsh: 'fff0f5',\n\tlawngYF: '7cfc00',\n\tNmoncEffon: 'fffacd',\n\tZXe: 'add8e6',\n\tZcSO: 'f08080',\n\tZcyan: 'e0ffff',\n\tZgTMnPdLw: 'fafad2',\n\tZWay: 'd3d3d3',\n\tZgYF: '90ee90',\n\tZgYy: 'd3d3d3',\n\tZpRk: 'ffb6c1',\n\tZsOmon: 'ffa07a',\n\tZsHgYF: '20b2aa',\n\tZskyXe: '87cefa',\n\tZUWay: '778899',\n\tZUgYy: '778899',\n\tZstAlXe: 'b0c4de',\n\tZLw: 'ffffe0',\n\tlime: 'ff00',\n\tlimegYF: '32cd32',\n\tlRF: 'faf0e6',\n\tmagFta: 'ff00ff',\n\tmaPon: '800000',\n\tVaquamarRe: '66cdaa',\n\tVXe: 'cd',\n\tVScEd: 'ba55d3',\n\tVpurpN: '9370db',\n\tVsHgYF: '3cb371',\n\tVUXe: '7b68ee',\n\tVsprRggYF: 'fa9a',\n\tVQe: '48d1cc',\n\tVviTetYd: 'c71585',\n\tmidnightXe: '191970',\n\tmRtcYam: 'f5fffa',\n\tmistyPse: 'ffe4e1',\n\tmoccasR: 'ffe4b5',\n\tnavajowEte: 'ffdead',\n\tnavy: '80',\n\tTdlace: 'fdf5e6',\n\tTive: '808000',\n\tTivedBb: '6b8e23',\n\tSange: 'ffa500',\n\tSangeYd: 'ff4500',\n\tScEd: 'da70d6',\n\tpOegTMnPd: 'eee8aa',\n\tpOegYF: '98fb98',\n\tpOeQe: 'afeeee',\n\tpOeviTetYd: 'db7093',\n\tpapayawEp: 'ffefd5',\n\tpHKpuff: 'ffdab9',\n\tperu: 'cd853f',\n\tpRk: 'ffc0cb',\n\tplum: 'dda0dd',\n\tpowMrXe: 'b0e0e6',\n\tpurpN: '800080',\n\tYbeccapurpN: '663399',\n\tYd: 'ff0000',\n\tPsybrown: 'bc8f8f',\n\tPyOXe: '4169e1',\n\tsaddNbPwn: '8b4513',\n\tsOmon: 'fa8072',\n\tsandybPwn: 'f4a460',\n\tsHgYF: '2e8b57',\n\tsHshell: 'fff5ee',\n\tsiFna: 'a0522d',\n\tsilver: 'c0c0c0',\n\tskyXe: '87ceeb',\n\tUXe: '6a5acd',\n\tUWay: '708090',\n\tUgYy: '708090',\n\tsnow: 'fffafa',\n\tsprRggYF: 'ff7f',\n\tstAlXe: '4682b4',\n\ttan: 'd2b48c',\n\tteO: '8080',\n\ttEstN: 'd8bfd8',\n\ttomato: 'ff6347',\n\tQe: '40e0d0',\n\tviTet: 'ee82ee',\n\tJHt: 'f5deb3',\n\twEte: 'ffffff',\n\twEtesmoke: 'f5f5f5',\n\tLw: 'ffff00',\n\tLwgYF: '9acd32'\n};\nfunction unpack() {\n const unpacked = {};\n const keys = Object.keys(names$1);\n const tkeys = Object.keys(map);\n let i, j, k, ok, nk;\n for (i = 0; i < keys.length; i++) {\n ok = nk = keys[i];\n for (j = 0; j < tkeys.length; j++) {\n k = tkeys[j];\n nk = nk.replace(k, map[k]);\n }\n k = parseInt(names$1[ok], 16);\n unpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF];\n }\n return unpacked;\n}\n\nlet names;\nfunction nameParse(str) {\n if (!names) {\n names = unpack();\n names.transparent = [0, 0, 0, 0];\n }\n const a = names[str.toLowerCase()];\n return a && {\n r: a[0],\n g: a[1],\n b: a[2],\n a: a.length === 4 ? a[3] : 255\n };\n}\n\nconst RGB_RE = /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction rgbParse(str) {\n const m = RGB_RE.exec(str);\n let a = 255;\n let r, g, b;\n if (!m) {\n return;\n }\n if (m[7] !== r) {\n const v = +m[7];\n a = m[8] ? p2b(v) : lim(v * 255, 0, 255);\n }\n r = +m[1];\n g = +m[3];\n b = +m[5];\n r = 255 & (m[2] ? p2b(r) : lim(r, 0, 255));\n g = 255 & (m[4] ? p2b(g) : lim(g, 0, 255));\n b = 255 & (m[6] ? p2b(b) : lim(b, 0, 255));\n return {\n r: r,\n g: g,\n b: b,\n a: a\n };\n}\nfunction rgbString(v) {\n return v && (\n v.a < 255\n ? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`\n : `rgb(${v.r}, ${v.g}, ${v.b})`\n );\n}\n\nconst to = v => v <= 0.0031308 ? v * 12.92 : Math.pow(v, 1.0 / 2.4) * 1.055 - 0.055;\nconst from = v => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\nfunction interpolate(rgb1, rgb2, t) {\n const r = from(b2n(rgb1.r));\n const g = from(b2n(rgb1.g));\n const b = from(b2n(rgb1.b));\n return {\n r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))),\n g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))),\n b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))),\n a: rgb1.a + t * (rgb2.a - rgb1.a)\n };\n}\n\nfunction modHSL(v, i, ratio) {\n if (v) {\n let tmp = rgb2hsl(v);\n tmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1));\n tmp = hsl2rgb(tmp);\n v.r = tmp[0];\n v.g = tmp[1];\n v.b = tmp[2];\n }\n}\nfunction clone(v, proto) {\n return v ? Object.assign(proto || {}, v) : v;\n}\nfunction fromObject(input) {\n var v = {r: 0, g: 0, b: 0, a: 255};\n if (Array.isArray(input)) {\n if (input.length >= 3) {\n v = {r: input[0], g: input[1], b: input[2], a: 255};\n if (input.length > 3) {\n v.a = n2b(input[3]);\n }\n }\n } else {\n v = clone(input, {r: 0, g: 0, b: 0, a: 1});\n v.a = n2b(v.a);\n }\n return v;\n}\nfunction functionParse(str) {\n if (str.charAt(0) === 'r') {\n return rgbParse(str);\n }\n return hueParse(str);\n}\nclass Color {\n constructor(input) {\n if (input instanceof Color) {\n return input;\n }\n const type = typeof input;\n let v;\n if (type === 'object') {\n v = fromObject(input);\n } else if (type === 'string') {\n v = hexParse(input) || nameParse(input) || functionParse(input);\n }\n this._rgb = v;\n this._valid = !!v;\n }\n get valid() {\n return this._valid;\n }\n get rgb() {\n var v = clone(this._rgb);\n if (v) {\n v.a = b2n(v.a);\n }\n return v;\n }\n set rgb(obj) {\n this._rgb = fromObject(obj);\n }\n rgbString() {\n return this._valid ? rgbString(this._rgb) : undefined;\n }\n hexString() {\n return this._valid ? hexString(this._rgb) : undefined;\n }\n hslString() {\n return this._valid ? hslString(this._rgb) : undefined;\n }\n mix(color, weight) {\n if (color) {\n const c1 = this.rgb;\n const c2 = color.rgb;\n let w2;\n const p = weight === w2 ? 0.5 : weight;\n const w = 2 * p - 1;\n const a = c1.a - c2.a;\n const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n w2 = 1 - w1;\n c1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5;\n c1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5;\n c1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5;\n c1.a = p * c1.a + (1 - p) * c2.a;\n this.rgb = c1;\n }\n return this;\n }\n interpolate(color, t) {\n if (color) {\n this._rgb = interpolate(this._rgb, color._rgb, t);\n }\n return this;\n }\n clone() {\n return new Color(this.rgb);\n }\n alpha(a) {\n this._rgb.a = n2b(a);\n return this;\n }\n clearer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 - ratio;\n return this;\n }\n greyscale() {\n const rgb = this._rgb;\n const val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11);\n rgb.r = rgb.g = rgb.b = val;\n return this;\n }\n opaquer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 + ratio;\n return this;\n }\n negate() {\n const v = this._rgb;\n v.r = 255 - v.r;\n v.g = 255 - v.g;\n v.b = 255 - v.b;\n return this;\n }\n lighten(ratio) {\n modHSL(this._rgb, 2, ratio);\n return this;\n }\n darken(ratio) {\n modHSL(this._rgb, 2, -ratio);\n return this;\n }\n saturate(ratio) {\n modHSL(this._rgb, 1, ratio);\n return this;\n }\n desaturate(ratio) {\n modHSL(this._rgb, 1, -ratio);\n return this;\n }\n rotate(deg) {\n rotate(this._rgb, deg);\n return this;\n }\n}\n\nfunction index_esm(input) {\n return new Color(input);\n}\n\nexport { Color, b2n, b2p, index_esm as default, hexParse, hexString, hsl2rgb, hslString, hsv2rgb, hueParse, hwb2rgb, lim, n2b, n2p, nameParse, p2b, rgb2hsl, rgbParse, rgbString, rotate, round };\n","/*!\n * Chart.js v4.4.7\n * https://www.chartjs.org\n * (c) 2024 Chart.js Contributors\n * Released under the MIT License\n */\nimport { Color } from '@kurkle/color';\n\n/**\n * @namespace Chart.helpers\n */ /**\n * An empty function that can be used, for example, for optional callback.\n */ function noop() {\n/* noop */ }\n/**\n * Returns a unique id, sequentially generated from a global variable.\n */ const uid = (()=>{\n let id = 0;\n return ()=>id++;\n})();\n/**\n * Returns true if `value` is neither null nor undefined, else returns false.\n * @param value - The value to test.\n * @since 2.7.0\n */ function isNullOrUndef(value) {\n return value === null || value === undefined;\n}\n/**\n * Returns true if `value` is an array (including typed arrays), else returns false.\n * @param value - The value to test.\n * @function\n */ function isArray(value) {\n if (Array.isArray && Array.isArray(value)) {\n return true;\n }\n const type = Object.prototype.toString.call(value);\n if (type.slice(0, 7) === '[object' && type.slice(-6) === 'Array]') {\n return true;\n }\n return false;\n}\n/**\n * Returns true if `value` is an object (excluding null), else returns false.\n * @param value - The value to test.\n * @since 2.7.0\n */ function isObject(value) {\n return value !== null && Object.prototype.toString.call(value) === '[object Object]';\n}\n/**\n * Returns true if `value` is a finite number, else returns false\n * @param value - The value to test.\n */ function isNumberFinite(value) {\n return (typeof value === 'number' || value instanceof Number) && isFinite(+value);\n}\n/**\n * Returns `value` if finite, else returns `defaultValue`.\n * @param value - The value to return if defined.\n * @param defaultValue - The value to return if `value` is not finite.\n */ function finiteOrDefault(value, defaultValue) {\n return isNumberFinite(value) ? value : defaultValue;\n}\n/**\n * Returns `value` if defined, else returns `defaultValue`.\n * @param value - The value to return if defined.\n * @param defaultValue - The value to return if `value` is undefined.\n */ function valueOrDefault(value, defaultValue) {\n return typeof value === 'undefined' ? defaultValue : value;\n}\nconst toPercentage = (value, dimension)=>typeof value === 'string' && value.endsWith('%') ? parseFloat(value) / 100 : +value / dimension;\nconst toDimension = (value, dimension)=>typeof value === 'string' && value.endsWith('%') ? parseFloat(value) / 100 * dimension : +value;\n/**\n * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the\n * value returned by `fn`. If `fn` is not a function, this method returns undefined.\n * @param fn - The function to call.\n * @param args - The arguments with which `fn` should be called.\n * @param [thisArg] - The value of `this` provided for the call to `fn`.\n */ function callback(fn, args, thisArg) {\n if (fn && typeof fn.call === 'function') {\n return fn.apply(thisArg, args);\n }\n}\nfunction each(loopable, fn, thisArg, reverse) {\n let i, len, keys;\n if (isArray(loopable)) {\n len = loopable.length;\n if (reverse) {\n for(i = len - 1; i >= 0; i--){\n fn.call(thisArg, loopable[i], i);\n }\n } else {\n for(i = 0; i < len; i++){\n fn.call(thisArg, loopable[i], i);\n }\n }\n } else if (isObject(loopable)) {\n keys = Object.keys(loopable);\n len = keys.length;\n for(i = 0; i < len; i++){\n fn.call(thisArg, loopable[keys[i]], keys[i]);\n }\n }\n}\n/**\n * Returns true if the `a0` and `a1` arrays have the same content, else returns false.\n * @param a0 - The array to compare\n * @param a1 - The array to compare\n * @private\n */ function _elementsEqual(a0, a1) {\n let i, ilen, v0, v1;\n if (!a0 || !a1 || a0.length !== a1.length) {\n return false;\n }\n for(i = 0, ilen = a0.length; i < ilen; ++i){\n v0 = a0[i];\n v1 = a1[i];\n if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) {\n return false;\n }\n }\n return true;\n}\n/**\n * Returns a deep copy of `source` without keeping references on objects and arrays.\n * @param source - The value to clone.\n */ function clone(source) {\n if (isArray(source)) {\n return source.map(clone);\n }\n if (isObject(source)) {\n const target = Object.create(null);\n const keys = Object.keys(source);\n const klen = keys.length;\n let k = 0;\n for(; k < klen; ++k){\n target[keys[k]] = clone(source[keys[k]]);\n }\n return target;\n }\n return source;\n}\nfunction isValidKey(key) {\n return [\n '__proto__',\n 'prototype',\n 'constructor'\n ].indexOf(key) === -1;\n}\n/**\n * The default merger when Chart.helpers.merge is called without merger option.\n * Note(SB): also used by mergeConfig and mergeScaleConfig as fallback.\n * @private\n */ function _merger(key, target, source, options) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n merge(tval, sval, options);\n } else {\n target[key] = clone(sval);\n }\n}\nfunction merge(target, source, options) {\n const sources = isArray(source) ? source : [\n source\n ];\n const ilen = sources.length;\n if (!isObject(target)) {\n return target;\n }\n options = options || {};\n const merger = options.merger || _merger;\n let current;\n for(let i = 0; i < ilen; ++i){\n current = sources[i];\n if (!isObject(current)) {\n continue;\n }\n const keys = Object.keys(current);\n for(let k = 0, klen = keys.length; k < klen; ++k){\n merger(keys[k], target, current, options);\n }\n }\n return target;\n}\nfunction mergeIf(target, source) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return merge(target, source, {\n merger: _mergerIf\n });\n}\n/**\n * Merges source[key] in target[key] only if target[key] is undefined.\n * @private\n */ function _mergerIf(key, target, source) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n mergeIf(tval, sval);\n } else if (!Object.prototype.hasOwnProperty.call(target, key)) {\n target[key] = clone(sval);\n }\n}\n/**\n * @private\n */ function _deprecated(scope, value, previous, current) {\n if (value !== undefined) {\n console.warn(scope + ': \"' + previous + '\" is deprecated. Please use \"' + current + '\" instead');\n }\n}\n// resolveObjectKey resolver cache\nconst keyResolvers = {\n // Chart.helpers.core resolveObjectKey should resolve empty key to root object\n '': (v)=>v,\n // default resolvers\n x: (o)=>o.x,\n y: (o)=>o.y\n};\n/**\n * @private\n */ function _splitKey(key) {\n const parts = key.split('.');\n const keys = [];\n let tmp = '';\n for (const part of parts){\n tmp += part;\n if (tmp.endsWith('\\\\')) {\n tmp = tmp.slice(0, -1) + '.';\n } else {\n keys.push(tmp);\n tmp = '';\n }\n }\n return keys;\n}\nfunction _getKeyResolver(key) {\n const keys = _splitKey(key);\n return (obj)=>{\n for (const k of keys){\n if (k === '') {\n break;\n }\n obj = obj && obj[k];\n }\n return obj;\n };\n}\nfunction resolveObjectKey(obj, key) {\n const resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key));\n return resolver(obj);\n}\n/**\n * @private\n */ function _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nconst defined = (value)=>typeof value !== 'undefined';\nconst isFunction = (value)=>typeof value === 'function';\n// Adapted from https://stackoverflow.com/questions/31128855/comparing-ecma6-sets-for-equality#31129384\nconst setsEqual = (a, b)=>{\n if (a.size !== b.size) {\n return false;\n }\n for (const item of a){\n if (!b.has(item)) {\n return false;\n }\n }\n return true;\n};\n/**\n * @param e - The event\n * @private\n */ function _isClickEvent(e) {\n return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu';\n}\n\n/**\n * @alias Chart.helpers.math\n * @namespace\n */ const PI = Math.PI;\nconst TAU = 2 * PI;\nconst PITAU = TAU + PI;\nconst INFINITY = Number.POSITIVE_INFINITY;\nconst RAD_PER_DEG = PI / 180;\nconst HALF_PI = PI / 2;\nconst QUARTER_PI = PI / 4;\nconst TWO_THIRDS_PI = PI * 2 / 3;\nconst log10 = Math.log10;\nconst sign = Math.sign;\nfunction almostEquals(x, y, epsilon) {\n return Math.abs(x - y) < epsilon;\n}\n/**\n * Implementation of the nice number algorithm used in determining where axis labels will go\n */ function niceNum(range) {\n const roundedRange = Math.round(range);\n range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range;\n const niceRange = Math.pow(10, Math.floor(log10(range)));\n const fraction = range / niceRange;\n const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10;\n return niceFraction * niceRange;\n}\n/**\n * Returns an array of factors sorted from 1 to sqrt(value)\n * @private\n */ function _factorize(value) {\n const result = [];\n const sqrt = Math.sqrt(value);\n let i;\n for(i = 1; i < sqrt; i++){\n if (value % i === 0) {\n result.push(i);\n result.push(value / i);\n }\n }\n if (sqrt === (sqrt | 0)) {\n result.push(sqrt);\n }\n result.sort((a, b)=>a - b).pop();\n return result;\n}\nfunction isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n}\nfunction almostWhole(x, epsilon) {\n const rounded = Math.round(x);\n return rounded - epsilon <= x && rounded + epsilon >= x;\n}\n/**\n * @private\n */ function _setMinAndMaxByKey(array, target, property) {\n let i, ilen, value;\n for(i = 0, ilen = array.length; i < ilen; i++){\n value = array[i][property];\n if (!isNaN(value)) {\n target.min = Math.min(target.min, value);\n target.max = Math.max(target.max, value);\n }\n }\n}\nfunction toRadians(degrees) {\n return degrees * (PI / 180);\n}\nfunction toDegrees(radians) {\n return radians * (180 / PI);\n}\n/**\n * Returns the number of decimal places\n * i.e. the number of digits after the decimal point, of the value of this Number.\n * @param x - A number.\n * @returns The number of decimal places.\n * @private\n */ function _decimalPlaces(x) {\n if (!isNumberFinite(x)) {\n return;\n }\n let e = 1;\n let p = 0;\n while(Math.round(x * e) / e !== x){\n e *= 10;\n p++;\n }\n return p;\n}\n// Gets the angle from vertical upright to the point about a centre.\nfunction getAngleFromPoint(centrePoint, anglePoint) {\n const distanceFromXCenter = anglePoint.x - centrePoint.x;\n const distanceFromYCenter = anglePoint.y - centrePoint.y;\n const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n if (angle < -0.5 * PI) {\n angle += TAU; // make sure the returned angle is in the range of (-PI/2, 3PI/2]\n }\n return {\n angle,\n distance: radialDistanceFromCenter\n };\n}\nfunction distanceBetweenPoints(pt1, pt2) {\n return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n}\n/**\n * Shortest distance between angles, in either direction.\n * @private\n */ function _angleDiff(a, b) {\n return (a - b + PITAU) % TAU - PI;\n}\n/**\n * Normalize angle to be between 0 and 2*PI\n * @private\n */ function _normalizeAngle(a) {\n return (a % TAU + TAU) % TAU;\n}\n/**\n * @private\n */ function _angleBetween(angle, start, end, sameAngleIsFullCircle) {\n const a = _normalizeAngle(angle);\n const s = _normalizeAngle(start);\n const e = _normalizeAngle(end);\n const angleToStart = _normalizeAngle(s - a);\n const angleToEnd = _normalizeAngle(e - a);\n const startToAngle = _normalizeAngle(a - s);\n const endToAngle = _normalizeAngle(a - e);\n return a === s || a === e || sameAngleIsFullCircle && s === e || angleToStart > angleToEnd && startToAngle < endToAngle;\n}\n/**\n * Limit `value` between `min` and `max`\n * @param value\n * @param min\n * @param max\n * @private\n */ function _limitValue(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\n/**\n * @param {number} value\n * @private\n */ function _int16Range(value) {\n return _limitValue(value, -32768, 32767);\n}\n/**\n * @param value\n * @param start\n * @param end\n * @param [epsilon]\n * @private\n */ function _isBetween(value, start, end, epsilon = 1e-6) {\n return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon;\n}\n\nfunction _lookup(table, value, cmp) {\n cmp = cmp || ((index)=>table[index] < value);\n let hi = table.length - 1;\n let lo = 0;\n let mid;\n while(hi - lo > 1){\n mid = lo + hi >> 1;\n if (cmp(mid)) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n return {\n lo,\n hi\n };\n}\n/**\n * Binary search\n * @param table - the table search. must be sorted!\n * @param key - property name for the value in each entry\n * @param value - value to find\n * @param last - lookup last index\n * @private\n */ const _lookupByKey = (table, key, value, last)=>_lookup(table, value, last ? (index)=>{\n const ti = table[index][key];\n return ti < value || ti === value && table[index + 1][key] === value;\n } : (index)=>table[index][key] < value);\n/**\n * Reverse binary search\n * @param table - the table search. must be sorted!\n * @param key - property name for the value in each entry\n * @param value - value to find\n * @private\n */ const _rlookupByKey = (table, key, value)=>_lookup(table, value, (index)=>table[index][key] >= value);\n/**\n * Return subset of `values` between `min` and `max` inclusive.\n * Values are assumed to be in sorted order.\n * @param values - sorted array of values\n * @param min - min value\n * @param max - max value\n */ function _filterBetween(values, min, max) {\n let start = 0;\n let end = values.length;\n while(start < end && values[start] < min){\n start++;\n }\n while(end > start && values[end - 1] > max){\n end--;\n }\n return start > 0 || end < values.length ? values.slice(start, end) : values;\n}\nconst arrayEvents = [\n 'push',\n 'pop',\n 'shift',\n 'splice',\n 'unshift'\n];\nfunction listenArrayEvents(array, listener) {\n if (array._chartjs) {\n array._chartjs.listeners.push(listener);\n return;\n }\n Object.defineProperty(array, '_chartjs', {\n configurable: true,\n enumerable: false,\n value: {\n listeners: [\n listener\n ]\n }\n });\n arrayEvents.forEach((key)=>{\n const method = '_onData' + _capitalize(key);\n const base = array[key];\n Object.defineProperty(array, key, {\n configurable: true,\n enumerable: false,\n value (...args) {\n const res = base.apply(this, args);\n array._chartjs.listeners.forEach((object)=>{\n if (typeof object[method] === 'function') {\n object[method](...args);\n }\n });\n return res;\n }\n });\n });\n}\nfunction unlistenArrayEvents(array, listener) {\n const stub = array._chartjs;\n if (!stub) {\n return;\n }\n const listeners = stub.listeners;\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n if (listeners.length > 0) {\n return;\n }\n arrayEvents.forEach((key)=>{\n delete array[key];\n });\n delete array._chartjs;\n}\n/**\n * @param items\n */ function _arrayUnique(items) {\n const set = new Set(items);\n if (set.size === items.length) {\n return items;\n }\n return Array.from(set);\n}\n\nfunction fontString(pixelSize, fontStyle, fontFamily) {\n return fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n}\n/**\n* Request animation polyfill\n*/ const requestAnimFrame = function() {\n if (typeof window === 'undefined') {\n return function(callback) {\n return callback();\n };\n }\n return window.requestAnimationFrame;\n}();\n/**\n * Throttles calling `fn` once per animation frame\n * Latest arguments are used on the actual call\n */ function throttled(fn, thisArg) {\n let argsToUse = [];\n let ticking = false;\n return function(...args) {\n // Save the args for use later\n argsToUse = args;\n if (!ticking) {\n ticking = true;\n requestAnimFrame.call(window, ()=>{\n ticking = false;\n fn.apply(thisArg, argsToUse);\n });\n }\n };\n}\n/**\n * Debounces calling `fn` for `delay` ms\n */ function debounce(fn, delay) {\n let timeout;\n return function(...args) {\n if (delay) {\n clearTimeout(timeout);\n timeout = setTimeout(fn, delay, args);\n } else {\n fn.apply(this, args);\n }\n return delay;\n };\n}\n/**\n * Converts 'start' to 'left', 'end' to 'right' and others to 'center'\n * @private\n */ const _toLeftRightCenter = (align)=>align === 'start' ? 'left' : align === 'end' ? 'right' : 'center';\n/**\n * Returns `start`, `end` or `(start + end) / 2` depending on `align`. Defaults to `center`\n * @private\n */ const _alignStartEnd = (align, start, end)=>align === 'start' ? start : align === 'end' ? end : (start + end) / 2;\n/**\n * Returns `left`, `right` or `(left + right) / 2` depending on `align`. Defaults to `left`\n * @private\n */ const _textX = (align, left, right, rtl)=>{\n const check = rtl ? 'left' : 'right';\n return align === check ? right : align === 'center' ? (left + right) / 2 : left;\n};\n/**\n * Return start and count of visible points.\n * @private\n */ function _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) {\n const pointCount = points.length;\n let start = 0;\n let count = pointCount;\n if (meta._sorted) {\n const { iScale , _parsed } = meta;\n const axis = iScale.axis;\n const { min , max , minDefined , maxDefined } = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(Math.min(// @ts-expect-error Need to type _parsed\n _lookupByKey(_parsed, axis, min).lo, // @ts-expect-error Need to fix types on _lookupByKey\n animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo), 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(Math.max(// @ts-expect-error Need to type _parsed\n _lookupByKey(_parsed, iScale.axis, max, true).hi + 1, // @ts-expect-error Need to fix types on _lookupByKey\n animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1), start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n }\n return {\n start,\n count\n };\n}\n/**\n * Checks if the scale ranges have changed.\n * @param {object} meta - dataset meta.\n * @returns {boolean}\n * @private\n */ function _scaleRangesChanged(meta) {\n const { xScale , yScale , _scaleRanges } = meta;\n const newRanges = {\n xmin: xScale.min,\n xmax: xScale.max,\n ymin: yScale.min,\n ymax: yScale.max\n };\n if (!_scaleRanges) {\n meta._scaleRanges = newRanges;\n return true;\n }\n const changed = _scaleRanges.xmin !== xScale.min || _scaleRanges.xmax !== xScale.max || _scaleRanges.ymin !== yScale.min || _scaleRanges.ymax !== yScale.max;\n Object.assign(_scaleRanges, newRanges);\n return changed;\n}\n\nconst atEdge = (t)=>t === 0 || t === 1;\nconst elasticIn = (t, s, p)=>-(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p));\nconst elasticOut = (t, s, p)=>Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1;\n/**\n * Easing functions adapted from Robert Penner's easing equations.\n * @namespace Chart.helpers.easing.effects\n * @see http://www.robertpenner.com/easing/\n */ const effects = {\n linear: (t)=>t,\n easeInQuad: (t)=>t * t,\n easeOutQuad: (t)=>-t * (t - 2),\n easeInOutQuad: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t : -0.5 * (--t * (t - 2) - 1),\n easeInCubic: (t)=>t * t * t,\n easeOutCubic: (t)=>(t -= 1) * t * t + 1,\n easeInOutCubic: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t * t : 0.5 * ((t -= 2) * t * t + 2),\n easeInQuart: (t)=>t * t * t * t,\n easeOutQuart: (t)=>-((t -= 1) * t * t * t - 1),\n easeInOutQuart: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t * t * t : -0.5 * ((t -= 2) * t * t * t - 2),\n easeInQuint: (t)=>t * t * t * t * t,\n easeOutQuint: (t)=>(t -= 1) * t * t * t * t + 1,\n easeInOutQuint: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t * t * t * t : 0.5 * ((t -= 2) * t * t * t * t + 2),\n easeInSine: (t)=>-Math.cos(t * HALF_PI) + 1,\n easeOutSine: (t)=>Math.sin(t * HALF_PI),\n easeInOutSine: (t)=>-0.5 * (Math.cos(PI * t) - 1),\n easeInExpo: (t)=>t === 0 ? 0 : Math.pow(2, 10 * (t - 1)),\n easeOutExpo: (t)=>t === 1 ? 1 : -Math.pow(2, -10 * t) + 1,\n easeInOutExpo: (t)=>atEdge(t) ? t : t < 0.5 ? 0.5 * Math.pow(2, 10 * (t * 2 - 1)) : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2),\n easeInCirc: (t)=>t >= 1 ? t : -(Math.sqrt(1 - t * t) - 1),\n easeOutCirc: (t)=>Math.sqrt(1 - (t -= 1) * t),\n easeInOutCirc: (t)=>(t /= 0.5) < 1 ? -0.5 * (Math.sqrt(1 - t * t) - 1) : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1),\n easeInElastic: (t)=>atEdge(t) ? t : elasticIn(t, 0.075, 0.3),\n easeOutElastic: (t)=>atEdge(t) ? t : elasticOut(t, 0.075, 0.3),\n easeInOutElastic (t) {\n const s = 0.1125;\n const p = 0.45;\n return atEdge(t) ? t : t < 0.5 ? 0.5 * elasticIn(t * 2, s, p) : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p);\n },\n easeInBack (t) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n },\n easeOutBack (t) {\n const s = 1.70158;\n return (t -= 1) * t * ((s + 1) * t + s) + 1;\n },\n easeInOutBack (t) {\n let s = 1.70158;\n if ((t /= 0.5) < 1) {\n return 0.5 * (t * t * (((s *= 1.525) + 1) * t - s));\n }\n return 0.5 * ((t -= 2) * t * (((s *= 1.525) + 1) * t + s) + 2);\n },\n easeInBounce: (t)=>1 - effects.easeOutBounce(1 - t),\n easeOutBounce (t) {\n const m = 7.5625;\n const d = 2.75;\n if (t < 1 / d) {\n return m * t * t;\n }\n if (t < 2 / d) {\n return m * (t -= 1.5 / d) * t + 0.75;\n }\n if (t < 2.5 / d) {\n return m * (t -= 2.25 / d) * t + 0.9375;\n }\n return m * (t -= 2.625 / d) * t + 0.984375;\n },\n easeInOutBounce: (t)=>t < 0.5 ? effects.easeInBounce(t * 2) * 0.5 : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5\n};\n\nfunction isPatternOrGradient(value) {\n if (value && typeof value === 'object') {\n const type = value.toString();\n return type === '[object CanvasPattern]' || type === '[object CanvasGradient]';\n }\n return false;\n}\nfunction color(value) {\n return isPatternOrGradient(value) ? value : new Color(value);\n}\nfunction getHoverColor(value) {\n return isPatternOrGradient(value) ? value : new Color(value).saturate(0.5).darken(0.1).hexString();\n}\n\nconst numbers = [\n 'x',\n 'y',\n 'borderWidth',\n 'radius',\n 'tension'\n];\nconst colors = [\n 'color',\n 'borderColor',\n 'backgroundColor'\n];\nfunction applyAnimationsDefaults(defaults) {\n defaults.set('animation', {\n delay: undefined,\n duration: 1000,\n easing: 'easeOutQuart',\n fn: undefined,\n from: undefined,\n loop: undefined,\n to: undefined,\n type: undefined\n });\n defaults.describe('animation', {\n _fallback: false,\n _indexable: false,\n _scriptable: (name)=>name !== 'onProgress' && name !== 'onComplete' && name !== 'fn'\n });\n defaults.set('animations', {\n colors: {\n type: 'color',\n properties: colors\n },\n numbers: {\n type: 'number',\n properties: numbers\n }\n });\n defaults.describe('animations', {\n _fallback: 'animation'\n });\n defaults.set('transitions', {\n active: {\n animation: {\n duration: 400\n }\n },\n resize: {\n animation: {\n duration: 0\n }\n },\n show: {\n animations: {\n colors: {\n from: 'transparent'\n },\n visible: {\n type: 'boolean',\n duration: 0\n }\n }\n },\n hide: {\n animations: {\n colors: {\n to: 'transparent'\n },\n visible: {\n type: 'boolean',\n easing: 'linear',\n fn: (v)=>v | 0\n }\n }\n }\n });\n}\n\nfunction applyLayoutsDefaults(defaults) {\n defaults.set('layout', {\n autoPadding: true,\n padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n });\n}\n\nconst intlCache = new Map();\nfunction getNumberFormat(locale, options) {\n options = options || {};\n const cacheKey = locale + JSON.stringify(options);\n let formatter = intlCache.get(cacheKey);\n if (!formatter) {\n formatter = new Intl.NumberFormat(locale, options);\n intlCache.set(cacheKey, formatter);\n }\n return formatter;\n}\nfunction formatNumber(num, locale, options) {\n return getNumberFormat(locale, options).format(num);\n}\n\nconst formatters = {\n values (value) {\n return isArray(value) ? value : '' + value;\n },\n numeric (tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const locale = this.chart.options.locale;\n let notation;\n let delta = tickValue;\n if (ticks.length > 1) {\n const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value));\n if (maxTick < 1e-4 || maxTick > 1e+15) {\n notation = 'scientific';\n }\n delta = calculateDelta(tickValue, ticks);\n }\n const logDelta = log10(Math.abs(delta));\n const numDecimal = isNaN(logDelta) ? 1 : Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0);\n const options = {\n notation,\n minimumFractionDigits: numDecimal,\n maximumFractionDigits: numDecimal\n };\n Object.assign(options, this.options.ticks.format);\n return formatNumber(tickValue, locale, options);\n },\n logarithmic (tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const remain = ticks[index].significand || tickValue / Math.pow(10, Math.floor(log10(tickValue)));\n if ([\n 1,\n 2,\n 3,\n 5,\n 10,\n 15\n ].includes(remain) || index > 0.8 * ticks.length) {\n return formatters.numeric.call(this, tickValue, index, ticks);\n }\n return '';\n }\n};\nfunction calculateDelta(tickValue, ticks) {\n let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value;\n if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) {\n delta = tickValue - Math.floor(tickValue);\n }\n return delta;\n}\n var Ticks = {\n formatters\n};\n\nfunction applyScaleDefaults(defaults) {\n defaults.set('scale', {\n display: true,\n offset: false,\n reverse: false,\n beginAtZero: false,\n bounds: 'ticks',\n clip: true,\n grace: 0,\n grid: {\n display: true,\n lineWidth: 1,\n drawOnChartArea: true,\n drawTicks: true,\n tickLength: 8,\n tickWidth: (_ctx, options)=>options.lineWidth,\n tickColor: (_ctx, options)=>options.color,\n offset: false\n },\n border: {\n display: true,\n dash: [],\n dashOffset: 0.0,\n width: 1\n },\n title: {\n display: false,\n text: '',\n padding: {\n top: 4,\n bottom: 4\n }\n },\n ticks: {\n minRotation: 0,\n maxRotation: 50,\n mirror: false,\n textStrokeWidth: 0,\n textStrokeColor: '',\n padding: 3,\n display: true,\n autoSkip: true,\n autoSkipPadding: 3,\n labelOffset: 0,\n callback: Ticks.formatters.values,\n minor: {},\n major: {},\n align: 'center',\n crossAlign: 'near',\n showLabelBackdrop: false,\n backdropColor: 'rgba(255, 255, 255, 0.75)',\n backdropPadding: 2\n }\n });\n defaults.route('scale.ticks', 'color', '', 'color');\n defaults.route('scale.grid', 'color', '', 'borderColor');\n defaults.route('scale.border', 'color', '', 'borderColor');\n defaults.route('scale.title', 'color', '', 'color');\n defaults.describe('scale', {\n _fallback: false,\n _scriptable: (name)=>!name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser',\n _indexable: (name)=>name !== 'borderDash' && name !== 'tickBorderDash' && name !== 'dash'\n });\n defaults.describe('scales', {\n _fallback: 'scale'\n });\n defaults.describe('scale.ticks', {\n _scriptable: (name)=>name !== 'backdropPadding' && name !== 'callback',\n _indexable: (name)=>name !== 'backdropPadding'\n });\n}\n\nconst overrides = Object.create(null);\nconst descriptors = Object.create(null);\n function getScope$1(node, key) {\n if (!key) {\n return node;\n }\n const keys = key.split('.');\n for(let i = 0, n = keys.length; i < n; ++i){\n const k = keys[i];\n node = node[k] || (node[k] = Object.create(null));\n }\n return node;\n}\nfunction set(root, scope, values) {\n if (typeof scope === 'string') {\n return merge(getScope$1(root, scope), values);\n }\n return merge(getScope$1(root, ''), scope);\n}\n class Defaults {\n constructor(_descriptors, _appliers){\n this.animation = undefined;\n this.backgroundColor = 'rgba(0,0,0,0.1)';\n this.borderColor = 'rgba(0,0,0,0.1)';\n this.color = '#666';\n this.datasets = {};\n this.devicePixelRatio = (context)=>context.chart.platform.getDevicePixelRatio();\n this.elements = {};\n this.events = [\n 'mousemove',\n 'mouseout',\n 'click',\n 'touchstart',\n 'touchmove'\n ];\n this.font = {\n family: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n size: 12,\n style: 'normal',\n lineHeight: 1.2,\n weight: null\n };\n this.hover = {};\n this.hoverBackgroundColor = (ctx, options)=>getHoverColor(options.backgroundColor);\n this.hoverBorderColor = (ctx, options)=>getHoverColor(options.borderColor);\n this.hoverColor = (ctx, options)=>getHoverColor(options.color);\n this.indexAxis = 'x';\n this.interaction = {\n mode: 'nearest',\n intersect: true,\n includeInvisible: false\n };\n this.maintainAspectRatio = true;\n this.onHover = null;\n this.onClick = null;\n this.parsing = true;\n this.plugins = {};\n this.responsive = true;\n this.scale = undefined;\n this.scales = {};\n this.showLine = true;\n this.drawActiveElementsOnTop = true;\n this.describe(_descriptors);\n this.apply(_appliers);\n }\n set(scope, values) {\n return set(this, scope, values);\n }\n get(scope) {\n return getScope$1(this, scope);\n }\n describe(scope, values) {\n return set(descriptors, scope, values);\n }\n override(scope, values) {\n return set(overrides, scope, values);\n }\n route(scope, name, targetScope, targetName) {\n const scopeObject = getScope$1(this, scope);\n const targetScopeObject = getScope$1(this, targetScope);\n const privateName = '_' + name;\n Object.defineProperties(scopeObject, {\n [privateName]: {\n value: scopeObject[name],\n writable: true\n },\n [name]: {\n enumerable: true,\n get () {\n const local = this[privateName];\n const target = targetScopeObject[targetName];\n if (isObject(local)) {\n return Object.assign({}, target, local);\n }\n return valueOrDefault(local, target);\n },\n set (value) {\n this[privateName] = value;\n }\n }\n });\n }\n apply(appliers) {\n appliers.forEach((apply)=>apply(this));\n }\n}\nvar defaults = /* #__PURE__ */ new Defaults({\n _scriptable: (name)=>!name.startsWith('on'),\n _indexable: (name)=>name !== 'events',\n hover: {\n _fallback: 'interaction'\n },\n interaction: {\n _scriptable: false,\n _indexable: false\n }\n}, [\n applyAnimationsDefaults,\n applyLayoutsDefaults,\n applyScaleDefaults\n]);\n\n/**\n * Converts the given font object into a CSS font string.\n * @param font - A font object.\n * @return The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font\n * @private\n */ function toFontString(font) {\n if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) {\n return null;\n }\n return (font.style ? font.style + ' ' : '') + (font.weight ? font.weight + ' ' : '') + font.size + 'px ' + font.family;\n}\n/**\n * @private\n */ function _measureText(ctx, data, gc, longest, string) {\n let textWidth = data[string];\n if (!textWidth) {\n textWidth = data[string] = ctx.measureText(string).width;\n gc.push(string);\n }\n if (textWidth > longest) {\n longest = textWidth;\n }\n return longest;\n}\n/**\n * @private\n */ // eslint-disable-next-line complexity\nfunction _longestText(ctx, font, arrayOfThings, cache) {\n cache = cache || {};\n let data = cache.data = cache.data || {};\n let gc = cache.garbageCollect = cache.garbageCollect || [];\n if (cache.font !== font) {\n data = cache.data = {};\n gc = cache.garbageCollect = [];\n cache.font = font;\n }\n ctx.save();\n ctx.font = font;\n let longest = 0;\n const ilen = arrayOfThings.length;\n let i, j, jlen, thing, nestedThing;\n for(i = 0; i < ilen; i++){\n thing = arrayOfThings[i];\n // Undefined strings and arrays should not be measured\n if (thing !== undefined && thing !== null && !isArray(thing)) {\n longest = _measureText(ctx, data, gc, longest, thing);\n } else if (isArray(thing)) {\n // if it is an array lets measure each element\n // to do maybe simplify this function a bit so we can do this more recursively?\n for(j = 0, jlen = thing.length; j < jlen; j++){\n nestedThing = thing[j];\n // Undefined strings and arrays should not be measured\n if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) {\n longest = _measureText(ctx, data, gc, longest, nestedThing);\n }\n }\n }\n }\n ctx.restore();\n const gcLen = gc.length / 2;\n if (gcLen > arrayOfThings.length) {\n for(i = 0; i < gcLen; i++){\n delete data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n return longest;\n}\n/**\n * Returns the aligned pixel value to avoid anti-aliasing blur\n * @param chart - The chart instance.\n * @param pixel - A pixel value.\n * @param width - The width of the element.\n * @returns The aligned pixel value.\n * @private\n */ function _alignPixel(chart, pixel, width) {\n const devicePixelRatio = chart.currentDevicePixelRatio;\n const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0;\n return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\n}\n/**\n * Clears the entire canvas.\n */ function clearCanvas(canvas, ctx) {\n if (!ctx && !canvas) {\n return;\n }\n ctx = ctx || canvas.getContext('2d');\n ctx.save();\n // canvas.width and canvas.height do not consider the canvas transform,\n // while clearRect does\n ctx.resetTransform();\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.restore();\n}\nfunction drawPoint(ctx, options, x, y) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n drawPointLegend(ctx, options, x, y, null);\n}\n// eslint-disable-next-line complexity\nfunction drawPointLegend(ctx, options, x, y, w) {\n let type, xOffset, yOffset, size, cornerRadius, width, xOffsetW, yOffsetW;\n const style = options.pointStyle;\n const rotation = options.rotation;\n const radius = options.radius;\n let rad = (rotation || 0) * RAD_PER_DEG;\n if (style && typeof style === 'object') {\n type = style.toString();\n if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n ctx.save();\n ctx.translate(x, y);\n ctx.rotate(rad);\n ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n ctx.restore();\n return;\n }\n }\n if (isNaN(radius) || radius <= 0) {\n return;\n }\n ctx.beginPath();\n switch(style){\n // Default includes circle\n default:\n if (w) {\n ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU);\n } else {\n ctx.arc(x, y, radius, 0, TAU);\n }\n ctx.closePath();\n break;\n case 'triangle':\n width = w ? w / 2 : radius;\n ctx.moveTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius);\n ctx.closePath();\n break;\n case 'rectRounded':\n // NOTE: the rounded rect implementation changed to use `arc` instead of\n // `quadraticCurveTo` since it generates better results when rect is\n // almost a circle. 0.516 (instead of 0.5) produces results with visually\n // closer proportion to the previous impl and it is inscribed in the\n // circle with `radius`. For more details, see the following PRs:\n // https://github.com/chartjs/Chart.js/issues/5597\n // https://github.com/chartjs/Chart.js/issues/5858\n cornerRadius = radius * 0.516;\n size = radius - cornerRadius;\n xOffset = Math.cos(rad + QUARTER_PI) * size;\n xOffsetW = Math.cos(rad + QUARTER_PI) * (w ? w / 2 - cornerRadius : size);\n yOffset = Math.sin(rad + QUARTER_PI) * size;\n yOffsetW = Math.sin(rad + QUARTER_PI) * (w ? w / 2 - cornerRadius : size);\n ctx.arc(x - xOffsetW, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n ctx.arc(x + yOffsetW, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n ctx.arc(x + xOffsetW, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n ctx.arc(x - yOffsetW, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n ctx.closePath();\n break;\n case 'rect':\n if (!rotation) {\n size = Math.SQRT1_2 * radius;\n width = w ? w / 2 : size;\n ctx.rect(x - width, y - size, 2 * width, 2 * size);\n break;\n }\n rad += QUARTER_PI;\n /* falls through */ case 'rectRot':\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n ctx.closePath();\n break;\n case 'crossRot':\n rad += QUARTER_PI;\n /* falls through */ case 'cross':\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.moveTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n break;\n case 'star':\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.moveTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n rad += QUARTER_PI;\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.moveTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n break;\n case 'line':\n xOffset = w ? w / 2 : Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n break;\n case 'dash':\n ctx.moveTo(x, y);\n ctx.lineTo(x + Math.cos(rad) * (w ? w / 2 : radius), y + Math.sin(rad) * radius);\n break;\n case false:\n ctx.closePath();\n break;\n }\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n}\n/**\n * Returns true if the point is inside the rectangle\n * @param point - The point to test\n * @param area - The rectangle\n * @param margin - allowed margin\n * @private\n */ function _isPointInArea(point, area, margin) {\n margin = margin || 0.5; // margin - default is to match rounded decimals\n return !area || point && point.x > area.left - margin && point.x < area.right + margin && point.y > area.top - margin && point.y < area.bottom + margin;\n}\nfunction clipArea(ctx, area) {\n ctx.save();\n ctx.beginPath();\n ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n ctx.clip();\n}\nfunction unclipArea(ctx) {\n ctx.restore();\n}\n/**\n * @private\n */ function _steppedLineTo(ctx, previous, target, flip, mode) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n if (mode === 'middle') {\n const midpoint = (previous.x + target.x) / 2.0;\n ctx.lineTo(midpoint, previous.y);\n ctx.lineTo(midpoint, target.y);\n } else if (mode === 'after' !== !!flip) {\n ctx.lineTo(previous.x, target.y);\n } else {\n ctx.lineTo(target.x, previous.y);\n }\n ctx.lineTo(target.x, target.y);\n}\n/**\n * @private\n */ function _bezierCurveTo(ctx, previous, target, flip) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n ctx.bezierCurveTo(flip ? previous.cp1x : previous.cp2x, flip ? previous.cp1y : previous.cp2y, flip ? target.cp2x : target.cp1x, flip ? target.cp2y : target.cp1y, target.x, target.y);\n}\nfunction setRenderOpts(ctx, opts) {\n if (opts.translation) {\n ctx.translate(opts.translation[0], opts.translation[1]);\n }\n if (!isNullOrUndef(opts.rotation)) {\n ctx.rotate(opts.rotation);\n }\n if (opts.color) {\n ctx.fillStyle = opts.color;\n }\n if (opts.textAlign) {\n ctx.textAlign = opts.textAlign;\n }\n if (opts.textBaseline) {\n ctx.textBaseline = opts.textBaseline;\n }\n}\nfunction decorateText(ctx, x, y, line, opts) {\n if (opts.strikethrough || opts.underline) {\n /**\n * Now that IE11 support has been dropped, we can use more\n * of the TextMetrics object. The actual bounding boxes\n * are unflagged in Chrome, Firefox, Edge, and Safari so they\n * can be safely used.\n * See https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics#Browser_compatibility\n */ const metrics = ctx.measureText(line);\n const left = x - metrics.actualBoundingBoxLeft;\n const right = x + metrics.actualBoundingBoxRight;\n const top = y - metrics.actualBoundingBoxAscent;\n const bottom = y + metrics.actualBoundingBoxDescent;\n const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom;\n ctx.strokeStyle = ctx.fillStyle;\n ctx.beginPath();\n ctx.lineWidth = opts.decorationWidth || 2;\n ctx.moveTo(left, yDecoration);\n ctx.lineTo(right, yDecoration);\n ctx.stroke();\n }\n}\nfunction drawBackdrop(ctx, opts) {\n const oldColor = ctx.fillStyle;\n ctx.fillStyle = opts.color;\n ctx.fillRect(opts.left, opts.top, opts.width, opts.height);\n ctx.fillStyle = oldColor;\n}\n/**\n * Render text onto the canvas\n */ function renderText(ctx, text, x, y, font, opts = {}) {\n const lines = isArray(text) ? text : [\n text\n ];\n const stroke = opts.strokeWidth > 0 && opts.strokeColor !== '';\n let i, line;\n ctx.save();\n ctx.font = font.string;\n setRenderOpts(ctx, opts);\n for(i = 0; i < lines.length; ++i){\n line = lines[i];\n if (opts.backdrop) {\n drawBackdrop(ctx, opts.backdrop);\n }\n if (stroke) {\n if (opts.strokeColor) {\n ctx.strokeStyle = opts.strokeColor;\n }\n if (!isNullOrUndef(opts.strokeWidth)) {\n ctx.lineWidth = opts.strokeWidth;\n }\n ctx.strokeText(line, x, y, opts.maxWidth);\n }\n ctx.fillText(line, x, y, opts.maxWidth);\n decorateText(ctx, x, y, line, opts);\n y += Number(font.lineHeight);\n }\n ctx.restore();\n}\n/**\n * Add a path of a rectangle with rounded corners to the current sub-path\n * @param ctx - Context\n * @param rect - Bounding rect\n */ function addRoundedRectPath(ctx, rect) {\n const { x , y , w , h , radius } = rect;\n // top left arc\n ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, 1.5 * PI, PI, true);\n // line from top left to bottom left\n ctx.lineTo(x, y + h - radius.bottomLeft);\n // bottom left arc\n ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true);\n // line from bottom left to bottom right\n ctx.lineTo(x + w - radius.bottomRight, y + h);\n // bottom right arc\n ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true);\n // line from bottom right to top right\n ctx.lineTo(x + w, y + radius.topRight);\n // top right arc\n ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true);\n // line from top right to top left\n ctx.lineTo(x + radius.topLeft, y);\n}\n\nconst LINE_HEIGHT = /^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/;\nconst FONT_STYLE = /^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;\n/**\n * @alias Chart.helpers.options\n * @namespace\n */ /**\n * Converts the given line height `value` in pixels for a specific font `size`.\n * @param value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em').\n * @param size - The font size (in pixels) used to resolve relative `value`.\n * @returns The effective line height in pixels (size * 1.2 if value is invalid).\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height\n * @since 2.7.0\n */ function toLineHeight(value, size) {\n const matches = ('' + value).match(LINE_HEIGHT);\n if (!matches || matches[1] === 'normal') {\n return size * 1.2;\n }\n value = +matches[2];\n switch(matches[3]){\n case 'px':\n return value;\n case '%':\n value /= 100;\n break;\n }\n return size * value;\n}\nconst numberOrZero = (v)=>+v || 0;\nfunction _readValueToProps(value, props) {\n const ret = {};\n const objProps = isObject(props);\n const keys = objProps ? Object.keys(props) : props;\n const read = isObject(value) ? objProps ? (prop)=>valueOrDefault(value[prop], value[props[prop]]) : (prop)=>value[prop] : ()=>value;\n for (const prop of keys){\n ret[prop] = numberOrZero(read(prop));\n }\n return ret;\n}\n/**\n * Converts the given value into a TRBL object.\n * @param value - If a number, set the value to all TRBL component,\n * else, if an object, use defined properties and sets undefined ones to 0.\n * x / y are shorthands for same value for left/right and top/bottom.\n * @returns The padding values (top, right, bottom, left)\n * @since 3.0.0\n */ function toTRBL(value) {\n return _readValueToProps(value, {\n top: 'y',\n right: 'x',\n bottom: 'y',\n left: 'x'\n });\n}\n/**\n * Converts the given value into a TRBL corners object (similar with css border-radius).\n * @param value - If a number, set the value to all TRBL corner components,\n * else, if an object, use defined properties and sets undefined ones to 0.\n * @returns The TRBL corner values (topLeft, topRight, bottomLeft, bottomRight)\n * @since 3.0.0\n */ function toTRBLCorners(value) {\n return _readValueToProps(value, [\n 'topLeft',\n 'topRight',\n 'bottomLeft',\n 'bottomRight'\n ]);\n}\n/**\n * Converts the given value into a padding object with pre-computed width/height.\n * @param value - If a number, set the value to all TRBL component,\n * else, if an object, use defined properties and sets undefined ones to 0.\n * x / y are shorthands for same value for left/right and top/bottom.\n * @returns The padding values (top, right, bottom, left, width, height)\n * @since 2.7.0\n */ function toPadding(value) {\n const obj = toTRBL(value);\n obj.width = obj.left + obj.right;\n obj.height = obj.top + obj.bottom;\n return obj;\n}\n/**\n * Parses font options and returns the font object.\n * @param options - A object that contains font options to be parsed.\n * @param fallback - A object that contains fallback font options.\n * @return The font object.\n * @private\n */ function toFont(options, fallback) {\n options = options || {};\n fallback = fallback || defaults.font;\n let size = valueOrDefault(options.size, fallback.size);\n if (typeof size === 'string') {\n size = parseInt(size, 10);\n }\n let style = valueOrDefault(options.style, fallback.style);\n if (style && !('' + style).match(FONT_STYLE)) {\n console.warn('Invalid font style specified: \"' + style + '\"');\n style = undefined;\n }\n const font = {\n family: valueOrDefault(options.family, fallback.family),\n lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size),\n size,\n style,\n weight: valueOrDefault(options.weight, fallback.weight),\n string: ''\n };\n font.string = toFontString(font);\n return font;\n}\n/**\n * Evaluates the given `inputs` sequentially and returns the first defined value.\n * @param inputs - An array of values, falling back to the last value.\n * @param context - If defined and the current value is a function, the value\n * is called with `context` as first argument and the result becomes the new input.\n * @param index - If defined and the current value is an array, the value\n * at `index` become the new input.\n * @param info - object to return information about resolution in\n * @param info.cacheable - Will be set to `false` if option is not cacheable.\n * @since 2.7.0\n */ function resolve(inputs, context, index, info) {\n let cacheable = true;\n let i, ilen, value;\n for(i = 0, ilen = inputs.length; i < ilen; ++i){\n value = inputs[i];\n if (value === undefined) {\n continue;\n }\n if (context !== undefined && typeof value === 'function') {\n value = value(context);\n cacheable = false;\n }\n if (index !== undefined && isArray(value)) {\n value = value[index % value.length];\n cacheable = false;\n }\n if (value !== undefined) {\n if (info && !cacheable) {\n info.cacheable = false;\n }\n return value;\n }\n }\n}\n/**\n * @param minmax\n * @param grace\n * @param beginAtZero\n * @private\n */ function _addGrace(minmax, grace, beginAtZero) {\n const { min , max } = minmax;\n const change = toDimension(grace, (max - min) / 2);\n const keepZero = (value, add)=>beginAtZero && value === 0 ? 0 : value + add;\n return {\n min: keepZero(min, -Math.abs(change)),\n max: keepZero(max, change)\n };\n}\nfunction createContext(parentContext, context) {\n return Object.assign(Object.create(parentContext), context);\n}\n\n/**\n * Creates a Proxy for resolving raw values for options.\n * @param scopes - The option scopes to look for values, in resolution order\n * @param prefixes - The prefixes for values, in resolution order.\n * @param rootScopes - The root option scopes\n * @param fallback - Parent scopes fallback\n * @param getTarget - callback for getting the target for changed values\n * @returns Proxy\n * @private\n */ function _createResolver(scopes, prefixes = [\n ''\n], rootScopes, fallback, getTarget = ()=>scopes[0]) {\n const finalRootScopes = rootScopes || scopes;\n if (typeof fallback === 'undefined') {\n fallback = _resolve('_fallback', scopes);\n }\n const cache = {\n [Symbol.toStringTag]: 'Object',\n _cacheable: true,\n _scopes: scopes,\n _rootScopes: finalRootScopes,\n _fallback: fallback,\n _getTarget: getTarget,\n override: (scope)=>_createResolver([\n scope,\n ...scopes\n ], prefixes, finalRootScopes, fallback)\n };\n return new Proxy(cache, {\n /**\n * A trap for the delete operator.\n */ deleteProperty (target, prop) {\n delete target[prop]; // remove from cache\n delete target._keys; // remove cached keys\n delete scopes[0][prop]; // remove from top level scope\n return true;\n },\n /**\n * A trap for getting property values.\n */ get (target, prop) {\n return _cached(target, prop, ()=>_resolveWithPrefixes(prop, prefixes, scopes, target));\n },\n /**\n * A trap for Object.getOwnPropertyDescriptor.\n * Also used by Object.hasOwnProperty.\n */ getOwnPropertyDescriptor (target, prop) {\n return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop);\n },\n /**\n * A trap for Object.getPrototypeOf.\n */ getPrototypeOf () {\n return Reflect.getPrototypeOf(scopes[0]);\n },\n /**\n * A trap for the in operator.\n */ has (target, prop) {\n return getKeysFromAllScopes(target).includes(prop);\n },\n /**\n * A trap for Object.getOwnPropertyNames and Object.getOwnPropertySymbols.\n */ ownKeys (target) {\n return getKeysFromAllScopes(target);\n },\n /**\n * A trap for setting property values.\n */ set (target, prop, value) {\n const storage = target._storage || (target._storage = getTarget());\n target[prop] = storage[prop] = value; // set to top level scope + cache\n delete target._keys; // remove cached keys\n return true;\n }\n });\n}\n/**\n * Returns an Proxy for resolving option values with context.\n * @param proxy - The Proxy returned by `_createResolver`\n * @param context - Context object for scriptable/indexable options\n * @param subProxy - The proxy provided for scriptable options\n * @param descriptorDefaults - Defaults for descriptors\n * @private\n */ function _attachContext(proxy, context, subProxy, descriptorDefaults) {\n const cache = {\n _cacheable: false,\n _proxy: proxy,\n _context: context,\n _subProxy: subProxy,\n _stack: new Set(),\n _descriptors: _descriptors(proxy, descriptorDefaults),\n setContext: (ctx)=>_attachContext(proxy, ctx, subProxy, descriptorDefaults),\n override: (scope)=>_attachContext(proxy.override(scope), context, subProxy, descriptorDefaults)\n };\n return new Proxy(cache, {\n /**\n * A trap for the delete operator.\n */ deleteProperty (target, prop) {\n delete target[prop]; // remove from cache\n delete proxy[prop]; // remove from proxy\n return true;\n },\n /**\n * A trap for getting property values.\n */ get (target, prop, receiver) {\n return _cached(target, prop, ()=>_resolveWithContext(target, prop, receiver));\n },\n /**\n * A trap for Object.getOwnPropertyDescriptor.\n * Also used by Object.hasOwnProperty.\n */ getOwnPropertyDescriptor (target, prop) {\n return target._descriptors.allKeys ? Reflect.has(proxy, prop) ? {\n enumerable: true,\n configurable: true\n } : undefined : Reflect.getOwnPropertyDescriptor(proxy, prop);\n },\n /**\n * A trap for Object.getPrototypeOf.\n */ getPrototypeOf () {\n return Reflect.getPrototypeOf(proxy);\n },\n /**\n * A trap for the in operator.\n */ has (target, prop) {\n return Reflect.has(proxy, prop);\n },\n /**\n * A trap for Object.getOwnPropertyNames and Object.getOwnPropertySymbols.\n */ ownKeys () {\n return Reflect.ownKeys(proxy);\n },\n /**\n * A trap for setting property values.\n */ set (target, prop, value) {\n proxy[prop] = value; // set to proxy\n delete target[prop]; // remove from cache\n return true;\n }\n });\n}\n/**\n * @private\n */ function _descriptors(proxy, defaults = {\n scriptable: true,\n indexable: true\n}) {\n const { _scriptable =defaults.scriptable , _indexable =defaults.indexable , _allKeys =defaults.allKeys } = proxy;\n return {\n allKeys: _allKeys,\n scriptable: _scriptable,\n indexable: _indexable,\n isScriptable: isFunction(_scriptable) ? _scriptable : ()=>_scriptable,\n isIndexable: isFunction(_indexable) ? _indexable : ()=>_indexable\n };\n}\nconst readKey = (prefix, name)=>prefix ? prefix + _capitalize(name) : name;\nconst needsSubResolver = (prop, value)=>isObject(value) && prop !== 'adapters' && (Object.getPrototypeOf(value) === null || value.constructor === Object);\nfunction _cached(target, prop, resolve) {\n if (Object.prototype.hasOwnProperty.call(target, prop) || prop === 'constructor') {\n return target[prop];\n }\n const value = resolve();\n // cache the resolved value\n target[prop] = value;\n return value;\n}\nfunction _resolveWithContext(target, prop, receiver) {\n const { _proxy , _context , _subProxy , _descriptors: descriptors } = target;\n let value = _proxy[prop]; // resolve from proxy\n // resolve with context\n if (isFunction(value) && descriptors.isScriptable(prop)) {\n value = _resolveScriptable(prop, value, target, receiver);\n }\n if (isArray(value) && value.length) {\n value = _resolveArray(prop, value, target, descriptors.isIndexable);\n }\n if (needsSubResolver(prop, value)) {\n // if the resolved value is an object, create a sub resolver for it\n value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors);\n }\n return value;\n}\nfunction _resolveScriptable(prop, getValue, target, receiver) {\n const { _proxy , _context , _subProxy , _stack } = target;\n if (_stack.has(prop)) {\n throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop);\n }\n _stack.add(prop);\n let value = getValue(_context, _subProxy || receiver);\n _stack.delete(prop);\n if (needsSubResolver(prop, value)) {\n // When scriptable option returns an object, create a resolver on that.\n value = createSubResolver(_proxy._scopes, _proxy, prop, value);\n }\n return value;\n}\nfunction _resolveArray(prop, value, target, isIndexable) {\n const { _proxy , _context , _subProxy , _descriptors: descriptors } = target;\n if (typeof _context.index !== 'undefined' && isIndexable(prop)) {\n return value[_context.index % value.length];\n } else if (isObject(value[0])) {\n // Array of objects, return array or resolvers\n const arr = value;\n const scopes = _proxy._scopes.filter((s)=>s !== arr);\n value = [];\n for (const item of arr){\n const resolver = createSubResolver(scopes, _proxy, prop, item);\n value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors));\n }\n }\n return value;\n}\nfunction resolveFallback(fallback, prop, value) {\n return isFunction(fallback) ? fallback(prop, value) : fallback;\n}\nconst getScope = (key, parent)=>key === true ? parent : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined;\nfunction addScopes(set, parentScopes, key, parentFallback, value) {\n for (const parent of parentScopes){\n const scope = getScope(key, parent);\n if (scope) {\n set.add(scope);\n const fallback = resolveFallback(scope._fallback, key, value);\n if (typeof fallback !== 'undefined' && fallback !== key && fallback !== parentFallback) {\n // When we reach the descriptor that defines a new _fallback, return that.\n // The fallback will resume to that new scope.\n return fallback;\n }\n } else if (scope === false && typeof parentFallback !== 'undefined' && key !== parentFallback) {\n // Fallback to `false` results to `false`, when falling back to different key.\n // For example `interaction` from `hover` or `plugins.tooltip` and `animation` from `animations`\n return null;\n }\n }\n return false;\n}\nfunction createSubResolver(parentScopes, resolver, prop, value) {\n const rootScopes = resolver._rootScopes;\n const fallback = resolveFallback(resolver._fallback, prop, value);\n const allScopes = [\n ...parentScopes,\n ...rootScopes\n ];\n const set = new Set();\n set.add(value);\n let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value);\n if (key === null) {\n return false;\n }\n if (typeof fallback !== 'undefined' && fallback !== prop) {\n key = addScopesFromKey(set, allScopes, fallback, key, value);\n if (key === null) {\n return false;\n }\n }\n return _createResolver(Array.from(set), [\n ''\n ], rootScopes, fallback, ()=>subGetTarget(resolver, prop, value));\n}\nfunction addScopesFromKey(set, allScopes, key, fallback, item) {\n while(key){\n key = addScopes(set, allScopes, key, fallback, item);\n }\n return key;\n}\nfunction subGetTarget(resolver, prop, value) {\n const parent = resolver._getTarget();\n if (!(prop in parent)) {\n parent[prop] = {};\n }\n const target = parent[prop];\n if (isArray(target) && isObject(value)) {\n // For array of objects, the object is used to store updated values\n return value;\n }\n return target || {};\n}\nfunction _resolveWithPrefixes(prop, prefixes, scopes, proxy) {\n let value;\n for (const prefix of prefixes){\n value = _resolve(readKey(prefix, prop), scopes);\n if (typeof value !== 'undefined') {\n return needsSubResolver(prop, value) ? createSubResolver(scopes, proxy, prop, value) : value;\n }\n }\n}\nfunction _resolve(key, scopes) {\n for (const scope of scopes){\n if (!scope) {\n continue;\n }\n const value = scope[key];\n if (typeof value !== 'undefined') {\n return value;\n }\n }\n}\nfunction getKeysFromAllScopes(target) {\n let keys = target._keys;\n if (!keys) {\n keys = target._keys = resolveKeysFromAllScopes(target._scopes);\n }\n return keys;\n}\nfunction resolveKeysFromAllScopes(scopes) {\n const set = new Set();\n for (const scope of scopes){\n for (const key of Object.keys(scope).filter((k)=>!k.startsWith('_'))){\n set.add(key);\n }\n }\n return Array.from(set);\n}\nfunction _parseObjectDataRadialScale(meta, data, start, count) {\n const { iScale } = meta;\n const { key ='r' } = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for(i = 0, ilen = count; i < ilen; ++i){\n index = i + start;\n item = data[index];\n parsed[i] = {\n r: iScale.parse(resolveObjectKey(item, key), index)\n };\n }\n return parsed;\n}\n\nconst EPSILON = Number.EPSILON || 1e-14;\nconst getPoint = (points, i)=>i < points.length && !points[i].skip && points[i];\nconst getValueAxis = (indexAxis)=>indexAxis === 'x' ? 'y' : 'x';\nfunction splineCurve(firstPoint, middlePoint, afterPoint, t) {\n // Props to Rob Spencer at scaled innovation for his post on splining between points\n // http://scaledinnovation.com/analytics/splines/aboutSplines.html\n // This function must also respect \"skipped\" points\n const previous = firstPoint.skip ? middlePoint : firstPoint;\n const current = middlePoint;\n const next = afterPoint.skip ? middlePoint : afterPoint;\n const d01 = distanceBetweenPoints(current, previous);\n const d12 = distanceBetweenPoints(next, current);\n let s01 = d01 / (d01 + d12);\n let s12 = d12 / (d01 + d12);\n // If all points are the same, s01 & s02 will be inf\n s01 = isNaN(s01) ? 0 : s01;\n s12 = isNaN(s12) ? 0 : s12;\n const fa = t * s01; // scaling factor for triangle Ta\n const fb = t * s12;\n return {\n previous: {\n x: current.x - fa * (next.x - previous.x),\n y: current.y - fa * (next.y - previous.y)\n },\n next: {\n x: current.x + fb * (next.x - previous.x),\n y: current.y + fb * (next.y - previous.y)\n }\n };\n}\n/**\n * Adjust tangents to ensure monotonic properties\n */ function monotoneAdjust(points, deltaK, mK) {\n const pointsLen = points.length;\n let alphaK, betaK, tauK, squaredMagnitude, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for(let i = 0; i < pointsLen - 1; ++i){\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent || !pointAfter) {\n continue;\n }\n if (almostEquals(deltaK[i], 0, EPSILON)) {\n mK[i] = mK[i + 1] = 0;\n continue;\n }\n alphaK = mK[i] / deltaK[i];\n betaK = mK[i + 1] / deltaK[i];\n squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n if (squaredMagnitude <= 9) {\n continue;\n }\n tauK = 3 / Math.sqrt(squaredMagnitude);\n mK[i] = alphaK * tauK * deltaK[i];\n mK[i + 1] = betaK * tauK * deltaK[i];\n }\n}\nfunction monotoneCompute(points, mK, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n let delta, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for(let i = 0; i < pointsLen; ++i){\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n const iPixel = pointCurrent[indexAxis];\n const vPixel = pointCurrent[valueAxis];\n if (pointBefore) {\n delta = (iPixel - pointBefore[indexAxis]) / 3;\n pointCurrent[`cp1${indexAxis}`] = iPixel - delta;\n pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i];\n }\n if (pointAfter) {\n delta = (pointAfter[indexAxis] - iPixel) / 3;\n pointCurrent[`cp2${indexAxis}`] = iPixel + delta;\n pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i];\n }\n }\n}\n/**\n * This function calculates Bézier control points in a similar way than |splineCurve|,\n * but preserves monotonicity of the provided data and ensures no local extremums are added\n * between the dataset discrete points due to the interpolation.\n * See : https://en.wikipedia.org/wiki/Monotone_cubic_interpolation\n */ function splineCurveMonotone(points, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n const deltaK = Array(pointsLen).fill(0);\n const mK = Array(pointsLen);\n // Calculate slopes (deltaK) and initialize tangents (mK)\n let i, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for(i = 0; i < pointsLen; ++i){\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n if (pointAfter) {\n const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];\n // In the case of two points that appear at the same x pixel, slopeDeltaX is 0\n deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;\n }\n mK[i] = !pointBefore ? deltaK[i] : !pointAfter ? deltaK[i - 1] : sign(deltaK[i - 1]) !== sign(deltaK[i]) ? 0 : (deltaK[i - 1] + deltaK[i]) / 2;\n }\n monotoneAdjust(points, deltaK, mK);\n monotoneCompute(points, mK, indexAxis);\n}\nfunction capControlPoint(pt, min, max) {\n return Math.max(Math.min(pt, max), min);\n}\nfunction capBezierPoints(points, area) {\n let i, ilen, point, inArea, inAreaPrev;\n let inAreaNext = _isPointInArea(points[0], area);\n for(i = 0, ilen = points.length; i < ilen; ++i){\n inAreaPrev = inArea;\n inArea = inAreaNext;\n inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);\n if (!inArea) {\n continue;\n }\n point = points[i];\n if (inAreaPrev) {\n point.cp1x = capControlPoint(point.cp1x, area.left, area.right);\n point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);\n }\n if (inAreaNext) {\n point.cp2x = capControlPoint(point.cp2x, area.left, area.right);\n point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);\n }\n }\n}\n/**\n * @private\n */ function _updateBezierControlPoints(points, options, area, loop, indexAxis) {\n let i, ilen, point, controlPoints;\n // Only consider points that are drawn in case the spanGaps option is used\n if (options.spanGaps) {\n points = points.filter((pt)=>!pt.skip);\n }\n if (options.cubicInterpolationMode === 'monotone') {\n splineCurveMonotone(points, indexAxis);\n } else {\n let prev = loop ? points[points.length - 1] : points[0];\n for(i = 0, ilen = points.length; i < ilen; ++i){\n point = points[i];\n controlPoints = splineCurve(prev, point, points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen], options.tension);\n point.cp1x = controlPoints.previous.x;\n point.cp1y = controlPoints.previous.y;\n point.cp2x = controlPoints.next.x;\n point.cp2y = controlPoints.next.y;\n prev = point;\n }\n }\n if (options.capBezierPoints) {\n capBezierPoints(points, area);\n }\n}\n\n/**\n * Note: typedefs are auto-exported, so use a made-up `dom` namespace where\n * necessary to avoid duplicates with `export * from './helpers`; see\n * https://github.com/microsoft/TypeScript/issues/46011\n * @typedef { import('../core/core.controller.js').default } dom.Chart\n * @typedef { import('../../types').ChartEvent } ChartEvent\n */ /**\n * @private\n */ function _isDomSupported() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n/**\n * @private\n */ function _getParentNode(domNode) {\n let parent = domNode.parentNode;\n if (parent && parent.toString() === '[object ShadowRoot]') {\n parent = parent.host;\n }\n return parent;\n}\n/**\n * convert max-width/max-height values that may be percentages into a number\n * @private\n */ function parseMaxStyle(styleValue, node, parentProperty) {\n let valueInPixels;\n if (typeof styleValue === 'string') {\n valueInPixels = parseInt(styleValue, 10);\n if (styleValue.indexOf('%') !== -1) {\n // percentage * size in dimension\n valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\n }\n } else {\n valueInPixels = styleValue;\n }\n return valueInPixels;\n}\nconst getComputedStyle = (element)=>element.ownerDocument.defaultView.getComputedStyle(element, null);\nfunction getStyle(el, property) {\n return getComputedStyle(el).getPropertyValue(property);\n}\nconst positions = [\n 'top',\n 'right',\n 'bottom',\n 'left'\n];\nfunction getPositionedStyle(styles, style, suffix) {\n const result = {};\n suffix = suffix ? '-' + suffix : '';\n for(let i = 0; i < 4; i++){\n const pos = positions[i];\n result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0;\n }\n result.width = result.left + result.right;\n result.height = result.top + result.bottom;\n return result;\n}\nconst useOffsetPos = (x, y, target)=>(x > 0 || y > 0) && (!target || !target.shadowRoot);\n/**\n * @param e\n * @param canvas\n * @returns Canvas position\n */ function getCanvasPosition(e, canvas) {\n const touches = e.touches;\n const source = touches && touches.length ? touches[0] : e;\n const { offsetX , offsetY } = source;\n let box = false;\n let x, y;\n if (useOffsetPos(offsetX, offsetY, e.target)) {\n x = offsetX;\n y = offsetY;\n } else {\n const rect = canvas.getBoundingClientRect();\n x = source.clientX - rect.left;\n y = source.clientY - rect.top;\n box = true;\n }\n return {\n x,\n y,\n box\n };\n}\n/**\n * Gets an event's x, y coordinates, relative to the chart area\n * @param event\n * @param chart\n * @returns x and y coordinates of the event\n */ function getRelativePosition(event, chart) {\n if ('native' in event) {\n return event;\n }\n const { canvas , currentDevicePixelRatio } = chart;\n const style = getComputedStyle(canvas);\n const borderBox = style.boxSizing === 'border-box';\n const paddings = getPositionedStyle(style, 'padding');\n const borders = getPositionedStyle(style, 'border', 'width');\n const { x , y , box } = getCanvasPosition(event, canvas);\n const xOffset = paddings.left + (box && borders.left);\n const yOffset = paddings.top + (box && borders.top);\n let { width , height } = chart;\n if (borderBox) {\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n return {\n x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio),\n y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio)\n };\n}\nfunction getContainerSize(canvas, width, height) {\n let maxWidth, maxHeight;\n if (width === undefined || height === undefined) {\n const container = canvas && _getParentNode(canvas);\n if (!container) {\n width = canvas.clientWidth;\n height = canvas.clientHeight;\n } else {\n const rect = container.getBoundingClientRect(); // this is the border box of the container\n const containerStyle = getComputedStyle(container);\n const containerBorder = getPositionedStyle(containerStyle, 'border', 'width');\n const containerPadding = getPositionedStyle(containerStyle, 'padding');\n width = rect.width - containerPadding.width - containerBorder.width;\n height = rect.height - containerPadding.height - containerBorder.height;\n maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth');\n maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight');\n }\n }\n return {\n width,\n height,\n maxWidth: maxWidth || INFINITY,\n maxHeight: maxHeight || INFINITY\n };\n}\nconst round1 = (v)=>Math.round(v * 10) / 10;\n// eslint-disable-next-line complexity\nfunction getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) {\n const style = getComputedStyle(canvas);\n const margins = getPositionedStyle(style, 'margin');\n const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY;\n const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY;\n const containerSize = getContainerSize(canvas, bbWidth, bbHeight);\n let { width , height } = containerSize;\n if (style.boxSizing === 'content-box') {\n const borders = getPositionedStyle(style, 'border', 'width');\n const paddings = getPositionedStyle(style, 'padding');\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n width = Math.max(0, width - margins.width);\n height = Math.max(0, aspectRatio ? width / aspectRatio : height - margins.height);\n width = round1(Math.min(width, maxWidth, containerSize.maxWidth));\n height = round1(Math.min(height, maxHeight, containerSize.maxHeight));\n if (width && !height) {\n // https://github.com/chartjs/Chart.js/issues/4659\n // If the canvas has width, but no height, default to aspectRatio of 2 (canvas default)\n height = round1(width / 2);\n }\n const maintainHeight = bbWidth !== undefined || bbHeight !== undefined;\n if (maintainHeight && aspectRatio && containerSize.height && height > containerSize.height) {\n height = containerSize.height;\n width = round1(Math.floor(height * aspectRatio));\n }\n return {\n width,\n height\n };\n}\n/**\n * @param chart\n * @param forceRatio\n * @param forceStyle\n * @returns True if the canvas context size or transformation has changed.\n */ function retinaScale(chart, forceRatio, forceStyle) {\n const pixelRatio = forceRatio || 1;\n const deviceHeight = Math.floor(chart.height * pixelRatio);\n const deviceWidth = Math.floor(chart.width * pixelRatio);\n chart.height = Math.floor(chart.height);\n chart.width = Math.floor(chart.width);\n const canvas = chart.canvas;\n // If no style has been set on the canvas, the render size is used as display size,\n // making the chart visually bigger, so let's enforce it to the \"correct\" values.\n // See https://github.com/chartjs/Chart.js/issues/3575\n if (canvas.style && (forceStyle || !canvas.style.height && !canvas.style.width)) {\n canvas.style.height = `${chart.height}px`;\n canvas.style.width = `${chart.width}px`;\n }\n if (chart.currentDevicePixelRatio !== pixelRatio || canvas.height !== deviceHeight || canvas.width !== deviceWidth) {\n chart.currentDevicePixelRatio = pixelRatio;\n canvas.height = deviceHeight;\n canvas.width = deviceWidth;\n chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n return true;\n }\n return false;\n}\n/**\n * Detects support for options object argument in addEventListener.\n * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n * @private\n */ const supportsEventListenerOptions = function() {\n let passiveSupported = false;\n try {\n const options = {\n get passive () {\n passiveSupported = true;\n return false;\n }\n };\n if (_isDomSupported()) {\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n }\n } catch (e) {\n // continue regardless of error\n }\n return passiveSupported;\n}();\n/**\n * The \"used\" size is the final value of a dimension property after all calculations have\n * been performed. This method uses the computed style of `element` but returns undefined\n * if the computed style is not expressed in pixels. That can happen in some cases where\n * `element` has a size relative to its parent and this last one is not yet displayed,\n * for example because of `display: none` on a parent node.\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value\n * @returns Size in pixels or undefined if unknown.\n */ function readUsedSize(element, property) {\n const value = getStyle(element, property);\n const matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n return matches ? +matches[1] : undefined;\n}\n\n/**\n * @private\n */ function _pointInLine(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: p1.y + t * (p2.y - p1.y)\n };\n}\n/**\n * @private\n */ function _steppedInterpolation(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y : mode === 'after' ? t < 1 ? p1.y : p2.y : t > 0 ? p2.y : p1.y\n };\n}\n/**\n * @private\n */ function _bezierInterpolation(p1, p2, t, mode) {\n const cp1 = {\n x: p1.cp2x,\n y: p1.cp2y\n };\n const cp2 = {\n x: p2.cp1x,\n y: p2.cp1y\n };\n const a = _pointInLine(p1, cp1, t);\n const b = _pointInLine(cp1, cp2, t);\n const c = _pointInLine(cp2, p2, t);\n const d = _pointInLine(a, b, t);\n const e = _pointInLine(b, c, t);\n return _pointInLine(d, e, t);\n}\n\nconst getRightToLeftAdapter = function(rectX, width) {\n return {\n x (x) {\n return rectX + rectX + width - x;\n },\n setWidth (w) {\n width = w;\n },\n textAlign (align) {\n if (align === 'center') {\n return align;\n }\n return align === 'right' ? 'left' : 'right';\n },\n xPlus (x, value) {\n return x - value;\n },\n leftForLtr (x, itemWidth) {\n return x - itemWidth;\n }\n };\n};\nconst getLeftToRightAdapter = function() {\n return {\n x (x) {\n return x;\n },\n setWidth (w) {},\n textAlign (align) {\n return align;\n },\n xPlus (x, value) {\n return x + value;\n },\n leftForLtr (x, _itemWidth) {\n return x;\n }\n };\n};\nfunction getRtlAdapter(rtl, rectX, width) {\n return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter();\n}\nfunction overrideTextDirection(ctx, direction) {\n let style, original;\n if (direction === 'ltr' || direction === 'rtl') {\n style = ctx.canvas.style;\n original = [\n style.getPropertyValue('direction'),\n style.getPropertyPriority('direction')\n ];\n style.setProperty('direction', direction, 'important');\n ctx.prevTextDirection = original;\n }\n}\nfunction restoreTextDirection(ctx, original) {\n if (original !== undefined) {\n delete ctx.prevTextDirection;\n ctx.canvas.style.setProperty('direction', original[0], original[1]);\n }\n}\n\nfunction propertyFn(property) {\n if (property === 'angle') {\n return {\n between: _angleBetween,\n compare: _angleDiff,\n normalize: _normalizeAngle\n };\n }\n return {\n between: _isBetween,\n compare: (a, b)=>a - b,\n normalize: (x)=>x\n };\n}\nfunction normalizeSegment({ start , end , count , loop , style }) {\n return {\n start: start % count,\n end: end % count,\n loop: loop && (end - start + 1) % count === 0,\n style\n };\n}\nfunction getSegment(segment, points, bounds) {\n const { property , start: startBound , end: endBound } = bounds;\n const { between , normalize } = propertyFn(property);\n const count = points.length;\n let { start , end , loop } = segment;\n let i, ilen;\n if (loop) {\n start += count;\n end += count;\n for(i = 0, ilen = count; i < ilen; ++i){\n if (!between(normalize(points[start % count][property]), startBound, endBound)) {\n break;\n }\n start--;\n end--;\n }\n start %= count;\n end %= count;\n }\n if (end < start) {\n end += count;\n }\n return {\n start,\n end,\n loop,\n style: segment.style\n };\n}\n function _boundSegment(segment, points, bounds) {\n if (!bounds) {\n return [\n segment\n ];\n }\n const { property , start: startBound , end: endBound } = bounds;\n const count = points.length;\n const { compare , between , normalize } = propertyFn(property);\n const { start , end , loop , style } = getSegment(segment, points, bounds);\n const result = [];\n let inside = false;\n let subStart = null;\n let value, point, prevValue;\n const startIsBefore = ()=>between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0;\n const endIsBefore = ()=>compare(endBound, value) === 0 || between(endBound, prevValue, value);\n const shouldStart = ()=>inside || startIsBefore();\n const shouldStop = ()=>!inside || endIsBefore();\n for(let i = start, prev = start; i <= end; ++i){\n point = points[i % count];\n if (point.skip) {\n continue;\n }\n value = normalize(point[property]);\n if (value === prevValue) {\n continue;\n }\n inside = between(value, startBound, endBound);\n if (subStart === null && shouldStart()) {\n subStart = compare(value, startBound) === 0 ? i : prev;\n }\n if (subStart !== null && shouldStop()) {\n result.push(normalizeSegment({\n start: subStart,\n end: i,\n loop,\n count,\n style\n }));\n subStart = null;\n }\n prev = i;\n prevValue = value;\n }\n if (subStart !== null) {\n result.push(normalizeSegment({\n start: subStart,\n end,\n loop,\n count,\n style\n }));\n }\n return result;\n}\n function _boundSegments(line, bounds) {\n const result = [];\n const segments = line.segments;\n for(let i = 0; i < segments.length; i++){\n const sub = _boundSegment(segments[i], line.points, bounds);\n if (sub.length) {\n result.push(...sub);\n }\n }\n return result;\n}\n function findStartAndEnd(points, count, loop, spanGaps) {\n let start = 0;\n let end = count - 1;\n if (loop && !spanGaps) {\n while(start < count && !points[start].skip){\n start++;\n }\n }\n while(start < count && points[start].skip){\n start++;\n }\n start %= count;\n if (loop) {\n end += start;\n }\n while(end > start && points[end % count].skip){\n end--;\n }\n end %= count;\n return {\n start,\n end\n };\n}\n function solidSegments(points, start, max, loop) {\n const count = points.length;\n const result = [];\n let last = start;\n let prev = points[start];\n let end;\n for(end = start + 1; end <= max; ++end){\n const cur = points[end % count];\n if (cur.skip || cur.stop) {\n if (!prev.skip) {\n loop = false;\n result.push({\n start: start % count,\n end: (end - 1) % count,\n loop\n });\n start = last = cur.stop ? end : null;\n }\n } else {\n last = end;\n if (prev.skip) {\n start = end;\n }\n }\n prev = cur;\n }\n if (last !== null) {\n result.push({\n start: start % count,\n end: last % count,\n loop\n });\n }\n return result;\n}\n function _computeSegments(line, segmentOptions) {\n const points = line.points;\n const spanGaps = line.options.spanGaps;\n const count = points.length;\n if (!count) {\n return [];\n }\n const loop = !!line._loop;\n const { start , end } = findStartAndEnd(points, count, loop, spanGaps);\n if (spanGaps === true) {\n return splitByStyles(line, [\n {\n start,\n end,\n loop\n }\n ], points, segmentOptions);\n }\n const max = end < start ? end + count : end;\n const completeLoop = !!line._fullLoop && start === 0 && end === count - 1;\n return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions);\n}\n function splitByStyles(line, segments, points, segmentOptions) {\n if (!segmentOptions || !segmentOptions.setContext || !points) {\n return segments;\n }\n return doSplitByStyles(line, segments, points, segmentOptions);\n}\n function doSplitByStyles(line, segments, points, segmentOptions) {\n const chartContext = line._chart.getContext();\n const baseStyle = readStyle(line.options);\n const { _datasetIndex: datasetIndex , options: { spanGaps } } = line;\n const count = points.length;\n const result = [];\n let prevStyle = baseStyle;\n let start = segments[0].start;\n let i = start;\n function addStyle(s, e, l, st) {\n const dir = spanGaps ? -1 : 1;\n if (s === e) {\n return;\n }\n s += count;\n while(points[s % count].skip){\n s -= dir;\n }\n while(points[e % count].skip){\n e += dir;\n }\n if (s % count !== e % count) {\n result.push({\n start: s % count,\n end: e % count,\n loop: l,\n style: st\n });\n prevStyle = st;\n start = e % count;\n }\n }\n for (const segment of segments){\n start = spanGaps ? start : segment.start;\n let prev = points[start % count];\n let style;\n for(i = start + 1; i <= segment.end; i++){\n const pt = points[i % count];\n style = readStyle(segmentOptions.setContext(createContext(chartContext, {\n type: 'segment',\n p0: prev,\n p1: pt,\n p0DataIndex: (i - 1) % count,\n p1DataIndex: i % count,\n datasetIndex\n })));\n if (styleChanged(style, prevStyle)) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n prev = pt;\n prevStyle = style;\n }\n if (start < i - 1) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n }\n return result;\n}\nfunction readStyle(options) {\n return {\n backgroundColor: options.backgroundColor,\n borderCapStyle: options.borderCapStyle,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderJoinStyle: options.borderJoinStyle,\n borderWidth: options.borderWidth,\n borderColor: options.borderColor\n };\n}\nfunction styleChanged(style, prevStyle) {\n if (!prevStyle) {\n return false;\n }\n const cache = [];\n const replacer = function(key, value) {\n if (!isPatternOrGradient(value)) {\n return value;\n }\n if (!cache.includes(value)) {\n cache.push(value);\n }\n return cache.indexOf(value);\n };\n return JSON.stringify(style, replacer) !== JSON.stringify(prevStyle, replacer);\n}\n\nexport { unclipArea as $, _rlookupByKey as A, _lookupByKey as B, _isPointInArea as C, getAngleFromPoint as D, toPadding as E, each as F, getMaximumSize as G, HALF_PI as H, _getParentNode as I, readUsedSize as J, supportsEventListenerOptions as K, throttled as L, _isDomSupported as M, _factorize as N, finiteOrDefault as O, PI as P, callback as Q, _addGrace as R, _limitValue as S, TAU as T, toDegrees as U, _measureText as V, _int16Range as W, _alignPixel as X, clipArea as Y, renderText as Z, _arrayUnique as _, resolve as a, fontString as a$, toFont as a0, _toLeftRightCenter as a1, _alignStartEnd as a2, overrides as a3, merge as a4, _capitalize as a5, descriptors as a6, isFunction as a7, _attachContext as a8, _createResolver as a9, overrideTextDirection as aA, _textX as aB, restoreTextDirection as aC, drawPointLegend as aD, distanceBetweenPoints as aE, noop as aF, _setMinAndMaxByKey as aG, niceNum as aH, almostWhole as aI, almostEquals as aJ, _decimalPlaces as aK, Ticks as aL, log10 as aM, _longestText as aN, _filterBetween as aO, _lookup as aP, isPatternOrGradient as aQ, getHoverColor as aR, clone as aS, _merger as aT, _mergerIf as aU, _deprecated as aV, _splitKey as aW, toFontString as aX, splineCurve as aY, splineCurveMonotone as aZ, getStyle as a_, _descriptors as aa, mergeIf as ab, uid as ac, debounce as ad, retinaScale as ae, clearCanvas as af, setsEqual as ag, _elementsEqual as ah, _isClickEvent as ai, _isBetween as aj, _readValueToProps as ak, _updateBezierControlPoints as al, _computeSegments as am, _boundSegments as an, _steppedInterpolation as ao, _bezierInterpolation as ap, _pointInLine as aq, _steppedLineTo as ar, _bezierCurveTo as as, drawPoint as at, addRoundedRectPath as au, toTRBL as av, toTRBLCorners as aw, _boundSegment as ax, _normalizeAngle as ay, getRtlAdapter as az, isArray as b, toLineHeight as b0, PITAU as b1, INFINITY as b2, RAD_PER_DEG as b3, QUARTER_PI as b4, TWO_THIRDS_PI as b5, _angleDiff as b6, color as c, defaults as d, effects as e, resolveObjectKey as f, isNumberFinite as g, defined as h, isObject as i, createContext as j, isNullOrUndef as k, listenArrayEvents as l, toPercentage as m, toDimension as n, formatNumber as o, _angleBetween as p, _getStartAndCountOfVisiblePoints as q, requestAnimFrame as r, sign as s, toRadians as t, unlistenArrayEvents as u, valueOrDefault as v, _scaleRangesChanged as w, isNumber as x, _parseObjectDataRadialScale as y, getRelativePosition as z };\n//# sourceMappingURL=helpers.segment.js.map\n","/*!\n * Chart.js v4.4.7\n * https://www.chartjs.org\n * (c) 2024 Chart.js Contributors\n * Released under the MIT License\n */\nimport { r as requestAnimFrame, a as resolve, e as effects, c as color, i as isObject, d as defaults, b as isArray, v as valueOrDefault, u as unlistenArrayEvents, l as listenArrayEvents, f as resolveObjectKey, g as isNumberFinite, h as defined, s as sign, j as createContext, k as isNullOrUndef, _ as _arrayUnique, t as toRadians, m as toPercentage, n as toDimension, T as TAU, o as formatNumber, p as _angleBetween, H as HALF_PI, P as PI, q as _getStartAndCountOfVisiblePoints, w as _scaleRangesChanged, x as isNumber, y as _parseObjectDataRadialScale, z as getRelativePosition, A as _rlookupByKey, B as _lookupByKey, C as _isPointInArea, D as getAngleFromPoint, E as toPadding, F as each, G as getMaximumSize, I as _getParentNode, J as readUsedSize, K as supportsEventListenerOptions, L as throttled, M as _isDomSupported, N as _factorize, O as finiteOrDefault, Q as callback, R as _addGrace, S as _limitValue, U as toDegrees, V as _measureText, W as _int16Range, X as _alignPixel, Y as clipArea, Z as renderText, $ as unclipArea, a0 as toFont, a1 as _toLeftRightCenter, a2 as _alignStartEnd, a3 as overrides, a4 as merge, a5 as _capitalize, a6 as descriptors, a7 as isFunction, a8 as _attachContext, a9 as _createResolver, aa as _descriptors, ab as mergeIf, ac as uid, ad as debounce, ae as retinaScale, af as clearCanvas, ag as setsEqual, ah as _elementsEqual, ai as _isClickEvent, aj as _isBetween, ak as _readValueToProps, al as _updateBezierControlPoints, am as _computeSegments, an as _boundSegments, ao as _steppedInterpolation, ap as _bezierInterpolation, aq as _pointInLine, ar as _steppedLineTo, as as _bezierCurveTo, at as drawPoint, au as addRoundedRectPath, av as toTRBL, aw as toTRBLCorners, ax as _boundSegment, ay as _normalizeAngle, az as getRtlAdapter, aA as overrideTextDirection, aB as _textX, aC as restoreTextDirection, aD as drawPointLegend, aE as distanceBetweenPoints, aF as noop, aG as _setMinAndMaxByKey, aH as niceNum, aI as almostWhole, aJ as almostEquals, aK as _decimalPlaces, aL as Ticks, aM as log10, aN as _longestText, aO as _filterBetween, aP as _lookup } from './chunks/helpers.segment.js';\nimport '@kurkle/color';\n\nclass Animator {\n constructor(){\n this._request = null;\n this._charts = new Map();\n this._running = false;\n this._lastDate = undefined;\n }\n _notify(chart, anims, date, type) {\n const callbacks = anims.listeners[type];\n const numSteps = anims.duration;\n callbacks.forEach((fn)=>fn({\n chart,\n initial: anims.initial,\n numSteps,\n currentStep: Math.min(date - anims.start, numSteps)\n }));\n }\n _refresh() {\n if (this._request) {\n return;\n }\n this._running = true;\n this._request = requestAnimFrame.call(window, ()=>{\n this._update();\n this._request = null;\n if (this._running) {\n this._refresh();\n }\n });\n }\n _update(date = Date.now()) {\n let remaining = 0;\n this._charts.forEach((anims, chart)=>{\n if (!anims.running || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n let draw = false;\n let item;\n for(; i >= 0; --i){\n item = items[i];\n if (item._active) {\n if (item._total > anims.duration) {\n anims.duration = item._total;\n }\n item.tick(date);\n draw = true;\n } else {\n items[i] = items[items.length - 1];\n items.pop();\n }\n }\n if (draw) {\n chart.draw();\n this._notify(chart, anims, date, 'progress');\n }\n if (!items.length) {\n anims.running = false;\n this._notify(chart, anims, date, 'complete');\n anims.initial = false;\n }\n remaining += items.length;\n });\n this._lastDate = date;\n if (remaining === 0) {\n this._running = false;\n }\n }\n _getAnims(chart) {\n const charts = this._charts;\n let anims = charts.get(chart);\n if (!anims) {\n anims = {\n running: false,\n initial: true,\n items: [],\n listeners: {\n complete: [],\n progress: []\n }\n };\n charts.set(chart, anims);\n }\n return anims;\n }\n listen(chart, event, cb) {\n this._getAnims(chart).listeners[event].push(cb);\n }\n add(chart, items) {\n if (!items || !items.length) {\n return;\n }\n this._getAnims(chart).items.push(...items);\n }\n has(chart) {\n return this._getAnims(chart).items.length > 0;\n }\n start(chart) {\n const anims = this._charts.get(chart);\n if (!anims) {\n return;\n }\n anims.running = true;\n anims.start = Date.now();\n anims.duration = anims.items.reduce((acc, cur)=>Math.max(acc, cur._duration), 0);\n this._refresh();\n }\n running(chart) {\n if (!this._running) {\n return false;\n }\n const anims = this._charts.get(chart);\n if (!anims || !anims.running || !anims.items.length) {\n return false;\n }\n return true;\n }\n stop(chart) {\n const anims = this._charts.get(chart);\n if (!anims || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n for(; i >= 0; --i){\n items[i].cancel();\n }\n anims.items = [];\n this._notify(chart, anims, Date.now(), 'complete');\n }\n remove(chart) {\n return this._charts.delete(chart);\n }\n}\nvar animator = /* #__PURE__ */ new Animator();\n\nconst transparent = 'transparent';\nconst interpolators = {\n boolean (from, to, factor) {\n return factor > 0.5 ? to : from;\n },\n color (from, to, factor) {\n const c0 = color(from || transparent);\n const c1 = c0.valid && color(to || transparent);\n return c1 && c1.valid ? c1.mix(c0, factor).hexString() : to;\n },\n number (from, to, factor) {\n return from + (to - from) * factor;\n }\n};\nclass Animation {\n constructor(cfg, target, prop, to){\n const currentValue = target[prop];\n to = resolve([\n cfg.to,\n to,\n currentValue,\n cfg.from\n ]);\n const from = resolve([\n cfg.from,\n currentValue,\n to\n ]);\n this._active = true;\n this._fn = cfg.fn || interpolators[cfg.type || typeof from];\n this._easing = effects[cfg.easing] || effects.linear;\n this._start = Math.floor(Date.now() + (cfg.delay || 0));\n this._duration = this._total = Math.floor(cfg.duration);\n this._loop = !!cfg.loop;\n this._target = target;\n this._prop = prop;\n this._from = from;\n this._to = to;\n this._promises = undefined;\n }\n active() {\n return this._active;\n }\n update(cfg, to, date) {\n if (this._active) {\n this._notify(false);\n const currentValue = this._target[this._prop];\n const elapsed = date - this._start;\n const remain = this._duration - elapsed;\n this._start = date;\n this._duration = Math.floor(Math.max(remain, cfg.duration));\n this._total += elapsed;\n this._loop = !!cfg.loop;\n this._to = resolve([\n cfg.to,\n to,\n currentValue,\n cfg.from\n ]);\n this._from = resolve([\n cfg.from,\n currentValue,\n to\n ]);\n }\n }\n cancel() {\n if (this._active) {\n this.tick(Date.now());\n this._active = false;\n this._notify(false);\n }\n }\n tick(date) {\n const elapsed = date - this._start;\n const duration = this._duration;\n const prop = this._prop;\n const from = this._from;\n const loop = this._loop;\n const to = this._to;\n let factor;\n this._active = from !== to && (loop || elapsed < duration);\n if (!this._active) {\n this._target[prop] = to;\n this._notify(true);\n return;\n }\n if (elapsed < 0) {\n this._target[prop] = from;\n return;\n }\n factor = elapsed / duration % 2;\n factor = loop && factor > 1 ? 2 - factor : factor;\n factor = this._easing(Math.min(1, Math.max(0, factor)));\n this._target[prop] = this._fn(from, to, factor);\n }\n wait() {\n const promises = this._promises || (this._promises = []);\n return new Promise((res, rej)=>{\n promises.push({\n res,\n rej\n });\n });\n }\n _notify(resolved) {\n const method = resolved ? 'res' : 'rej';\n const promises = this._promises || [];\n for(let i = 0; i < promises.length; i++){\n promises[i][method]();\n }\n }\n}\n\nclass Animations {\n constructor(chart, config){\n this._chart = chart;\n this._properties = new Map();\n this.configure(config);\n }\n configure(config) {\n if (!isObject(config)) {\n return;\n }\n const animationOptions = Object.keys(defaults.animation);\n const animatedProps = this._properties;\n Object.getOwnPropertyNames(config).forEach((key)=>{\n const cfg = config[key];\n if (!isObject(cfg)) {\n return;\n }\n const resolved = {};\n for (const option of animationOptions){\n resolved[option] = cfg[option];\n }\n (isArray(cfg.properties) && cfg.properties || [\n key\n ]).forEach((prop)=>{\n if (prop === key || !animatedProps.has(prop)) {\n animatedProps.set(prop, resolved);\n }\n });\n });\n }\n _animateOptions(target, values) {\n const newOptions = values.options;\n const options = resolveTargetOptions(target, newOptions);\n if (!options) {\n return [];\n }\n const animations = this._createAnimations(options, newOptions);\n if (newOptions.$shared) {\n awaitAll(target.options.$animations, newOptions).then(()=>{\n target.options = newOptions;\n }, ()=>{\n });\n }\n return animations;\n }\n _createAnimations(target, values) {\n const animatedProps = this._properties;\n const animations = [];\n const running = target.$animations || (target.$animations = {});\n const props = Object.keys(values);\n const date = Date.now();\n let i;\n for(i = props.length - 1; i >= 0; --i){\n const prop = props[i];\n if (prop.charAt(0) === '$') {\n continue;\n }\n if (prop === 'options') {\n animations.push(...this._animateOptions(target, values));\n continue;\n }\n const value = values[prop];\n let animation = running[prop];\n const cfg = animatedProps.get(prop);\n if (animation) {\n if (cfg && animation.active()) {\n animation.update(cfg, value, date);\n continue;\n } else {\n animation.cancel();\n }\n }\n if (!cfg || !cfg.duration) {\n target[prop] = value;\n continue;\n }\n running[prop] = animation = new Animation(cfg, target, prop, value);\n animations.push(animation);\n }\n return animations;\n }\n update(target, values) {\n if (this._properties.size === 0) {\n Object.assign(target, values);\n return;\n }\n const animations = this._createAnimations(target, values);\n if (animations.length) {\n animator.add(this._chart, animations);\n return true;\n }\n }\n}\nfunction awaitAll(animations, properties) {\n const running = [];\n const keys = Object.keys(properties);\n for(let i = 0; i < keys.length; i++){\n const anim = animations[keys[i]];\n if (anim && anim.active()) {\n running.push(anim.wait());\n }\n }\n return Promise.all(running);\n}\nfunction resolveTargetOptions(target, newOptions) {\n if (!newOptions) {\n return;\n }\n let options = target.options;\n if (!options) {\n target.options = newOptions;\n return;\n }\n if (options.$shared) {\n target.options = options = Object.assign({}, options, {\n $shared: false,\n $animations: {}\n });\n }\n return options;\n}\n\nfunction scaleClip(scale, allowedOverflow) {\n const opts = scale && scale.options || {};\n const reverse = opts.reverse;\n const min = opts.min === undefined ? allowedOverflow : 0;\n const max = opts.max === undefined ? allowedOverflow : 0;\n return {\n start: reverse ? max : min,\n end: reverse ? min : max\n };\n}\nfunction defaultClip(xScale, yScale, allowedOverflow) {\n if (allowedOverflow === false) {\n return false;\n }\n const x = scaleClip(xScale, allowedOverflow);\n const y = scaleClip(yScale, allowedOverflow);\n return {\n top: y.end,\n right: x.end,\n bottom: y.start,\n left: x.start\n };\n}\nfunction toClip(value) {\n let t, r, b, l;\n if (isObject(value)) {\n t = value.top;\n r = value.right;\n b = value.bottom;\n l = value.left;\n } else {\n t = r = b = l = value;\n }\n return {\n top: t,\n right: r,\n bottom: b,\n left: l,\n disabled: value === false\n };\n}\nfunction getSortedDatasetIndices(chart, filterVisible) {\n const keys = [];\n const metasets = chart._getSortedDatasetMetas(filterVisible);\n let i, ilen;\n for(i = 0, ilen = metasets.length; i < ilen; ++i){\n keys.push(metasets[i].index);\n }\n return keys;\n}\nfunction applyStack(stack, value, dsIndex, options = {}) {\n const keys = stack.keys;\n const singleMode = options.mode === 'single';\n let i, ilen, datasetIndex, otherValue;\n if (value === null) {\n return;\n }\n let found = false;\n for(i = 0, ilen = keys.length; i < ilen; ++i){\n datasetIndex = +keys[i];\n if (datasetIndex === dsIndex) {\n found = true;\n if (options.all) {\n continue;\n }\n break;\n }\n otherValue = stack.values[datasetIndex];\n if (isNumberFinite(otherValue) && (singleMode || value === 0 || sign(value) === sign(otherValue))) {\n value += otherValue;\n }\n }\n if (!found && !options.all) {\n return 0;\n }\n return value;\n}\nfunction convertObjectDataToArray(data, meta) {\n const { iScale , vScale } = meta;\n const iAxisKey = iScale.axis === 'x' ? 'x' : 'y';\n const vAxisKey = vScale.axis === 'x' ? 'x' : 'y';\n const keys = Object.keys(data);\n const adata = new Array(keys.length);\n let i, ilen, key;\n for(i = 0, ilen = keys.length; i < ilen; ++i){\n key = keys[i];\n adata[i] = {\n [iAxisKey]: key,\n [vAxisKey]: data[key]\n };\n }\n return adata;\n}\nfunction isStacked(scale, meta) {\n const stacked = scale && scale.options.stacked;\n return stacked || stacked === undefined && meta.stack !== undefined;\n}\nfunction getStackKey(indexScale, valueScale, meta) {\n return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`;\n}\nfunction getUserBounds(scale) {\n const { min , max , minDefined , maxDefined } = scale.getUserBounds();\n return {\n min: minDefined ? min : Number.NEGATIVE_INFINITY,\n max: maxDefined ? max : Number.POSITIVE_INFINITY\n };\n}\nfunction getOrCreateStack(stacks, stackKey, indexValue) {\n const subStack = stacks[stackKey] || (stacks[stackKey] = {});\n return subStack[indexValue] || (subStack[indexValue] = {});\n}\nfunction getLastIndexInStack(stack, vScale, positive, type) {\n for (const meta of vScale.getMatchingVisibleMetas(type).reverse()){\n const value = stack[meta.index];\n if (positive && value > 0 || !positive && value < 0) {\n return meta.index;\n }\n }\n return null;\n}\nfunction updateStacks(controller, parsed) {\n const { chart , _cachedMeta: meta } = controller;\n const stacks = chart._stacks || (chart._stacks = {});\n const { iScale , vScale , index: datasetIndex } = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const key = getStackKey(iScale, vScale, meta);\n const ilen = parsed.length;\n let stack;\n for(let i = 0; i < ilen; ++i){\n const item = parsed[i];\n const { [iAxis]: index , [vAxis]: value } = item;\n const itemStacks = item._stacks || (item._stacks = {});\n stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index);\n stack[datasetIndex] = value;\n stack._top = getLastIndexInStack(stack, vScale, true, meta.type);\n stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type);\n const visualValues = stack._visualValues || (stack._visualValues = {});\n visualValues[datasetIndex] = value;\n }\n}\nfunction getFirstScaleId(chart, axis) {\n const scales = chart.scales;\n return Object.keys(scales).filter((key)=>scales[key].axis === axis).shift();\n}\nfunction createDatasetContext(parent, index) {\n return createContext(parent, {\n active: false,\n dataset: undefined,\n datasetIndex: index,\n index,\n mode: 'default',\n type: 'dataset'\n });\n}\nfunction createDataContext(parent, index, element) {\n return createContext(parent, {\n active: false,\n dataIndex: index,\n parsed: undefined,\n raw: undefined,\n element,\n index,\n mode: 'default',\n type: 'data'\n });\n}\nfunction clearStacks(meta, items) {\n const datasetIndex = meta.controller.index;\n const axis = meta.vScale && meta.vScale.axis;\n if (!axis) {\n return;\n }\n items = items || meta._parsed;\n for (const parsed of items){\n const stacks = parsed._stacks;\n if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) {\n return;\n }\n delete stacks[axis][datasetIndex];\n if (stacks[axis]._visualValues !== undefined && stacks[axis]._visualValues[datasetIndex] !== undefined) {\n delete stacks[axis]._visualValues[datasetIndex];\n }\n }\n}\nconst isDirectUpdateMode = (mode)=>mode === 'reset' || mode === 'none';\nconst cloneIfNotShared = (cached, shared)=>shared ? cached : Object.assign({}, cached);\nconst createStack = (canStack, meta, chart)=>canStack && !meta.hidden && meta._stacked && {\n keys: getSortedDatasetIndices(chart, true),\n values: null\n };\nclass DatasetController {\n static defaults = {};\n static datasetElementType = null;\n static dataElementType = null;\n constructor(chart, datasetIndex){\n this.chart = chart;\n this._ctx = chart.ctx;\n this.index = datasetIndex;\n this._cachedDataOpts = {};\n this._cachedMeta = this.getMeta();\n this._type = this._cachedMeta.type;\n this.options = undefined;\n this._parsing = false;\n this._data = undefined;\n this._objectData = undefined;\n this._sharedOptions = undefined;\n this._drawStart = undefined;\n this._drawCount = undefined;\n this.enableOptionSharing = false;\n this.supportsDecimation = false;\n this.$context = undefined;\n this._syncList = [];\n this.datasetElementType = new.target.datasetElementType;\n this.dataElementType = new.target.dataElementType;\n this.initialize();\n }\n initialize() {\n const meta = this._cachedMeta;\n this.configure();\n this.linkScales();\n meta._stacked = isStacked(meta.vScale, meta);\n this.addElements();\n if (this.options.fill && !this.chart.isPluginEnabled('filler')) {\n console.warn(\"Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options\");\n }\n }\n updateIndex(datasetIndex) {\n if (this.index !== datasetIndex) {\n clearStacks(this._cachedMeta);\n }\n this.index = datasetIndex;\n }\n linkScales() {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n const chooseId = (axis, x, y, r)=>axis === 'x' ? x : axis === 'r' ? r : y;\n const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x'));\n const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y'));\n const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r'));\n const indexAxis = meta.indexAxis;\n const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid);\n const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid);\n meta.xScale = this.getScaleForId(xid);\n meta.yScale = this.getScaleForId(yid);\n meta.rScale = this.getScaleForId(rid);\n meta.iScale = this.getScaleForId(iid);\n meta.vScale = this.getScaleForId(vid);\n }\n getDataset() {\n return this.chart.data.datasets[this.index];\n }\n getMeta() {\n return this.chart.getDatasetMeta(this.index);\n }\n getScaleForId(scaleID) {\n return this.chart.scales[scaleID];\n }\n _getOtherScale(scale) {\n const meta = this._cachedMeta;\n return scale === meta.iScale ? meta.vScale : meta.iScale;\n }\n reset() {\n this._update('reset');\n }\n _destroy() {\n const meta = this._cachedMeta;\n if (this._data) {\n unlistenArrayEvents(this._data, this);\n }\n if (meta._stacked) {\n clearStacks(meta);\n }\n }\n _dataCheck() {\n const dataset = this.getDataset();\n const data = dataset.data || (dataset.data = []);\n const _data = this._data;\n if (isObject(data)) {\n const meta = this._cachedMeta;\n this._data = convertObjectDataToArray(data, meta);\n } else if (_data !== data) {\n if (_data) {\n unlistenArrayEvents(_data, this);\n const meta = this._cachedMeta;\n clearStacks(meta);\n meta._parsed = [];\n }\n if (data && Object.isExtensible(data)) {\n listenArrayEvents(data, this);\n }\n this._syncList = [];\n this._data = data;\n }\n }\n addElements() {\n const meta = this._cachedMeta;\n this._dataCheck();\n if (this.datasetElementType) {\n meta.dataset = new this.datasetElementType();\n }\n }\n buildOrUpdateElements(resetNewElements) {\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n let stackChanged = false;\n this._dataCheck();\n const oldStacked = meta._stacked;\n meta._stacked = isStacked(meta.vScale, meta);\n if (meta.stack !== dataset.stack) {\n stackChanged = true;\n clearStacks(meta);\n meta.stack = dataset.stack;\n }\n this._resyncElements(resetNewElements);\n if (stackChanged || oldStacked !== meta._stacked) {\n updateStacks(this, meta._parsed);\n meta._stacked = isStacked(meta.vScale, meta);\n }\n }\n configure() {\n const config = this.chart.config;\n const scopeKeys = config.datasetScopeKeys(this._type);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true);\n this.options = config.createResolver(scopes, this.getContext());\n this._parsing = this.options.parsing;\n this._cachedDataOpts = {};\n }\n parse(start, count) {\n const { _cachedMeta: meta , _data: data } = this;\n const { iScale , _stacked } = meta;\n const iAxis = iScale.axis;\n let sorted = start === 0 && count === data.length ? true : meta._sorted;\n let prev = start > 0 && meta._parsed[start - 1];\n let i, cur, parsed;\n if (this._parsing === false) {\n meta._parsed = data;\n meta._sorted = true;\n parsed = data;\n } else {\n if (isArray(data[start])) {\n parsed = this.parseArrayData(meta, data, start, count);\n } else if (isObject(data[start])) {\n parsed = this.parseObjectData(meta, data, start, count);\n } else {\n parsed = this.parsePrimitiveData(meta, data, start, count);\n }\n const isNotInOrderComparedToPrev = ()=>cur[iAxis] === null || prev && cur[iAxis] < prev[iAxis];\n for(i = 0; i < count; ++i){\n meta._parsed[i + start] = cur = parsed[i];\n if (sorted) {\n if (isNotInOrderComparedToPrev()) {\n sorted = false;\n }\n prev = cur;\n }\n }\n meta._sorted = sorted;\n }\n if (_stacked) {\n updateStacks(this, parsed);\n }\n }\n parsePrimitiveData(meta, data, start, count) {\n const { iScale , vScale } = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = new Array(count);\n let i, ilen, index;\n for(i = 0, ilen = count; i < ilen; ++i){\n index = i + start;\n parsed[i] = {\n [iAxis]: singleScale || iScale.parse(labels[index], index),\n [vAxis]: vScale.parse(data[index], index)\n };\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const { xScale , yScale } = meta;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for(i = 0, ilen = count; i < ilen; ++i){\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(item[0], index),\n y: yScale.parse(item[1], index)\n };\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const { xScale , yScale } = meta;\n const { xAxisKey ='x' , yAxisKey ='y' } = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for(i = 0, ilen = count; i < ilen; ++i){\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(resolveObjectKey(item, xAxisKey), index),\n y: yScale.parse(resolveObjectKey(item, yAxisKey), index)\n };\n }\n return parsed;\n }\n getParsed(index) {\n return this._cachedMeta._parsed[index];\n }\n getDataElement(index) {\n return this._cachedMeta.data[index];\n }\n applyStack(scale, parsed, mode) {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const value = parsed[scale.axis];\n const stack = {\n keys: getSortedDatasetIndices(chart, true),\n values: parsed._stacks[scale.axis]._visualValues\n };\n return applyStack(stack, value, meta.index, {\n mode\n });\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n const parsedValue = parsed[scale.axis];\n let value = parsedValue === null ? NaN : parsedValue;\n const values = stack && parsed._stacks[scale.axis];\n if (stack && values) {\n stack.values = values;\n value = applyStack(stack, parsedValue, this._cachedMeta.index);\n }\n range.min = Math.min(range.min, value);\n range.max = Math.max(range.max, value);\n }\n getMinMax(scale, canStack) {\n const meta = this._cachedMeta;\n const _parsed = meta._parsed;\n const sorted = meta._sorted && scale === meta.iScale;\n const ilen = _parsed.length;\n const otherScale = this._getOtherScale(scale);\n const stack = createStack(canStack, meta, this.chart);\n const range = {\n min: Number.POSITIVE_INFINITY,\n max: Number.NEGATIVE_INFINITY\n };\n const { min: otherMin , max: otherMax } = getUserBounds(otherScale);\n let i, parsed;\n function _skip() {\n parsed = _parsed[i];\n const otherValue = parsed[otherScale.axis];\n return !isNumberFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue;\n }\n for(i = 0; i < ilen; ++i){\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n if (sorted) {\n break;\n }\n }\n if (sorted) {\n for(i = ilen - 1; i >= 0; --i){\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n break;\n }\n }\n return range;\n }\n getAllParsedValues(scale) {\n const parsed = this._cachedMeta._parsed;\n const values = [];\n let i, ilen, value;\n for(i = 0, ilen = parsed.length; i < ilen; ++i){\n value = parsed[i][scale.axis];\n if (isNumberFinite(value)) {\n values.push(value);\n }\n }\n return values;\n }\n getMaxOverflow() {\n return false;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '',\n value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : ''\n };\n }\n _update(mode) {\n const meta = this._cachedMeta;\n this.update(mode || 'default');\n meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow())));\n }\n update(mode) {}\n draw() {\n const ctx = this._ctx;\n const chart = this.chart;\n const meta = this._cachedMeta;\n const elements = meta.data || [];\n const area = chart.chartArea;\n const active = [];\n const start = this._drawStart || 0;\n const count = this._drawCount || elements.length - start;\n const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop;\n let i;\n if (meta.dataset) {\n meta.dataset.draw(ctx, area, start, count);\n }\n for(i = start; i < start + count; ++i){\n const element = elements[i];\n if (element.hidden) {\n continue;\n }\n if (element.active && drawActiveElementsOnTop) {\n active.push(element);\n } else {\n element.draw(ctx, area);\n }\n }\n for(i = 0; i < active.length; ++i){\n active[i].draw(ctx, area);\n }\n }\n getStyle(index, active) {\n const mode = active ? 'active' : 'default';\n return index === undefined && this._cachedMeta.dataset ? this.resolveDatasetElementOptions(mode) : this.resolveDataElementOptions(index || 0, mode);\n }\n getContext(index, active, mode) {\n const dataset = this.getDataset();\n let context;\n if (index >= 0 && index < this._cachedMeta.data.length) {\n const element = this._cachedMeta.data[index];\n context = element.$context || (element.$context = createDataContext(this.getContext(), index, element));\n context.parsed = this.getParsed(index);\n context.raw = dataset.data[index];\n context.index = context.dataIndex = index;\n } else {\n context = this.$context || (this.$context = createDatasetContext(this.chart.getContext(), this.index));\n context.dataset = dataset;\n context.index = context.datasetIndex = this.index;\n }\n context.active = !!active;\n context.mode = mode;\n return context;\n }\n resolveDatasetElementOptions(mode) {\n return this._resolveElementOptions(this.datasetElementType.id, mode);\n }\n resolveDataElementOptions(index, mode) {\n return this._resolveElementOptions(this.dataElementType.id, mode, index);\n }\n _resolveElementOptions(elementType, mode = 'default', index) {\n const active = mode === 'active';\n const cache = this._cachedDataOpts;\n const cacheKey = elementType + '-' + mode;\n const cached = cache[cacheKey];\n const sharing = this.enableOptionSharing && defined(index);\n if (cached) {\n return cloneIfNotShared(cached, sharing);\n }\n const config = this.chart.config;\n const scopeKeys = config.datasetElementScopeKeys(this._type, elementType);\n const prefixes = active ? [\n `${elementType}Hover`,\n 'hover',\n elementType,\n ''\n ] : [\n elementType,\n ''\n ];\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n const names = Object.keys(defaults.elements[elementType]);\n const context = ()=>this.getContext(index, active, mode);\n const values = config.resolveNamedOptions(scopes, names, context, prefixes);\n if (values.$shared) {\n values.$shared = sharing;\n cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing));\n }\n return values;\n }\n _resolveAnimations(index, transition, active) {\n const chart = this.chart;\n const cache = this._cachedDataOpts;\n const cacheKey = `animation-${transition}`;\n const cached = cache[cacheKey];\n if (cached) {\n return cached;\n }\n let options;\n if (chart.options.animation !== false) {\n const config = this.chart.config;\n const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n options = config.createResolver(scopes, this.getContext(index, active, transition));\n }\n const animations = new Animations(chart, options && options.animations);\n if (options && options._cacheable) {\n cache[cacheKey] = Object.freeze(animations);\n }\n return animations;\n }\n getSharedOptions(options) {\n if (!options.$shared) {\n return;\n }\n return this._sharedOptions || (this._sharedOptions = Object.assign({}, options));\n }\n includeOptions(mode, sharedOptions) {\n return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled;\n }\n _getSharedOptions(start, mode) {\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const previouslySharedOptions = this._sharedOptions;\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions) || sharedOptions !== previouslySharedOptions;\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n return {\n sharedOptions,\n includeOptions\n };\n }\n updateElement(element, index, properties, mode) {\n if (isDirectUpdateMode(mode)) {\n Object.assign(element, properties);\n } else {\n this._resolveAnimations(index, mode).update(element, properties);\n }\n }\n updateSharedOptions(sharedOptions, mode, newOptions) {\n if (sharedOptions && !isDirectUpdateMode(mode)) {\n this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions);\n }\n }\n _setStyle(element, index, mode, active) {\n element.active = active;\n const options = this.getStyle(index, active);\n this._resolveAnimations(index, mode, active).update(element, {\n options: !active && this.getSharedOptions(options) || options\n });\n }\n removeHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', false);\n }\n setHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', true);\n }\n _removeDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', false);\n }\n }\n _setDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', true);\n }\n }\n _resyncElements(resetNewElements) {\n const data = this._data;\n const elements = this._cachedMeta.data;\n for (const [method, arg1, arg2] of this._syncList){\n this[method](arg1, arg2);\n }\n this._syncList = [];\n const numMeta = elements.length;\n const numData = data.length;\n const count = Math.min(numData, numMeta);\n if (count) {\n this.parse(0, count);\n }\n if (numData > numMeta) {\n this._insertElements(numMeta, numData - numMeta, resetNewElements);\n } else if (numData < numMeta) {\n this._removeElements(numData, numMeta - numData);\n }\n }\n _insertElements(start, count, resetNewElements = true) {\n const meta = this._cachedMeta;\n const data = meta.data;\n const end = start + count;\n let i;\n const move = (arr)=>{\n arr.length += count;\n for(i = arr.length - 1; i >= end; i--){\n arr[i] = arr[i - count];\n }\n };\n move(data);\n for(i = start; i < end; ++i){\n data[i] = new this.dataElementType();\n }\n if (this._parsing) {\n move(meta._parsed);\n }\n this.parse(start, count);\n if (resetNewElements) {\n this.updateElements(data, start, count, 'reset');\n }\n }\n updateElements(element, start, count, mode) {}\n _removeElements(start, count) {\n const meta = this._cachedMeta;\n if (this._parsing) {\n const removed = meta._parsed.splice(start, count);\n if (meta._stacked) {\n clearStacks(meta, removed);\n }\n }\n meta.data.splice(start, count);\n }\n _sync(args) {\n if (this._parsing) {\n this._syncList.push(args);\n } else {\n const [method, arg1, arg2] = args;\n this[method](arg1, arg2);\n }\n this.chart._dataChanges.push([\n this.index,\n ...args\n ]);\n }\n _onDataPush() {\n const count = arguments.length;\n this._sync([\n '_insertElements',\n this.getDataset().data.length - count,\n count\n ]);\n }\n _onDataPop() {\n this._sync([\n '_removeElements',\n this._cachedMeta.data.length - 1,\n 1\n ]);\n }\n _onDataShift() {\n this._sync([\n '_removeElements',\n 0,\n 1\n ]);\n }\n _onDataSplice(start, count) {\n if (count) {\n this._sync([\n '_removeElements',\n start,\n count\n ]);\n }\n const newCount = arguments.length - 2;\n if (newCount) {\n this._sync([\n '_insertElements',\n start,\n newCount\n ]);\n }\n }\n _onDataUnshift() {\n this._sync([\n '_insertElements',\n 0,\n arguments.length\n ]);\n }\n}\n\nfunction getAllScaleValues(scale, type) {\n if (!scale._cache.$bar) {\n const visibleMetas = scale.getMatchingVisibleMetas(type);\n let values = [];\n for(let i = 0, ilen = visibleMetas.length; i < ilen; i++){\n values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale));\n }\n scale._cache.$bar = _arrayUnique(values.sort((a, b)=>a - b));\n }\n return scale._cache.$bar;\n}\n function computeMinSampleSize(meta) {\n const scale = meta.iScale;\n const values = getAllScaleValues(scale, meta.type);\n let min = scale._length;\n let i, ilen, curr, prev;\n const updateMinAndPrev = ()=>{\n if (curr === 32767 || curr === -32768) {\n return;\n }\n if (defined(prev)) {\n min = Math.min(min, Math.abs(curr - prev) || min);\n }\n prev = curr;\n };\n for(i = 0, ilen = values.length; i < ilen; ++i){\n curr = scale.getPixelForValue(values[i]);\n updateMinAndPrev();\n }\n prev = undefined;\n for(i = 0, ilen = scale.ticks.length; i < ilen; ++i){\n curr = scale.getPixelForTick(i);\n updateMinAndPrev();\n }\n return min;\n}\n function computeFitCategoryTraits(index, ruler, options, stackCount) {\n const thickness = options.barThickness;\n let size, ratio;\n if (isNullOrUndef(thickness)) {\n size = ruler.min * options.categoryPercentage;\n ratio = options.barPercentage;\n } else {\n size = thickness * stackCount;\n ratio = 1;\n }\n return {\n chunk: size / stackCount,\n ratio,\n start: ruler.pixels[index] - size / 2\n };\n}\n function computeFlexCategoryTraits(index, ruler, options, stackCount) {\n const pixels = ruler.pixels;\n const curr = pixels[index];\n let prev = index > 0 ? pixels[index - 1] : null;\n let next = index < pixels.length - 1 ? pixels[index + 1] : null;\n const percent = options.categoryPercentage;\n if (prev === null) {\n prev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n }\n if (next === null) {\n next = curr + curr - prev;\n }\n const start = curr - (curr - Math.min(prev, next)) / 2 * percent;\n const size = Math.abs(next - prev) / 2 * percent;\n return {\n chunk: size / stackCount,\n ratio: options.barPercentage,\n start\n };\n}\nfunction parseFloatBar(entry, item, vScale, i) {\n const startValue = vScale.parse(entry[0], i);\n const endValue = vScale.parse(entry[1], i);\n const min = Math.min(startValue, endValue);\n const max = Math.max(startValue, endValue);\n let barStart = min;\n let barEnd = max;\n if (Math.abs(min) > Math.abs(max)) {\n barStart = max;\n barEnd = min;\n }\n item[vScale.axis] = barEnd;\n item._custom = {\n barStart,\n barEnd,\n start: startValue,\n end: endValue,\n min,\n max\n };\n}\nfunction parseValue(entry, item, vScale, i) {\n if (isArray(entry)) {\n parseFloatBar(entry, item, vScale, i);\n } else {\n item[vScale.axis] = vScale.parse(entry, i);\n }\n return item;\n}\nfunction parseArrayOrPrimitive(meta, data, start, count) {\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = [];\n let i, ilen, item, entry;\n for(i = start, ilen = start + count; i < ilen; ++i){\n entry = data[i];\n item = {};\n item[iScale.axis] = singleScale || iScale.parse(labels[i], i);\n parsed.push(parseValue(entry, item, vScale, i));\n }\n return parsed;\n}\nfunction isFloatBar(custom) {\n return custom && custom.barStart !== undefined && custom.barEnd !== undefined;\n}\nfunction barSign(size, vScale, actualBase) {\n if (size !== 0) {\n return sign(size);\n }\n return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1);\n}\nfunction borderProps(properties) {\n let reverse, start, end, top, bottom;\n if (properties.horizontal) {\n reverse = properties.base > properties.x;\n start = 'left';\n end = 'right';\n } else {\n reverse = properties.base < properties.y;\n start = 'bottom';\n end = 'top';\n }\n if (reverse) {\n top = 'end';\n bottom = 'start';\n } else {\n top = 'start';\n bottom = 'end';\n }\n return {\n start,\n end,\n reverse,\n top,\n bottom\n };\n}\nfunction setBorderSkipped(properties, options, stack, index) {\n let edge = options.borderSkipped;\n const res = {};\n if (!edge) {\n properties.borderSkipped = res;\n return;\n }\n if (edge === true) {\n properties.borderSkipped = {\n top: true,\n right: true,\n bottom: true,\n left: true\n };\n return;\n }\n const { start , end , reverse , top , bottom } = borderProps(properties);\n if (edge === 'middle' && stack) {\n properties.enableBorderRadius = true;\n if ((stack._top || 0) === index) {\n edge = top;\n } else if ((stack._bottom || 0) === index) {\n edge = bottom;\n } else {\n res[parseEdge(bottom, start, end, reverse)] = true;\n edge = top;\n }\n }\n res[parseEdge(edge, start, end, reverse)] = true;\n properties.borderSkipped = res;\n}\nfunction parseEdge(edge, a, b, reverse) {\n if (reverse) {\n edge = swap(edge, a, b);\n edge = startEnd(edge, b, a);\n } else {\n edge = startEnd(edge, a, b);\n }\n return edge;\n}\nfunction swap(orig, v1, v2) {\n return orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\nfunction startEnd(v, start, end) {\n return v === 'start' ? start : v === 'end' ? end : v;\n}\nfunction setInflateAmount(properties, { inflateAmount }, ratio) {\n properties.inflateAmount = inflateAmount === 'auto' ? ratio === 1 ? 0.33 : 0 : inflateAmount;\n}\nclass BarController extends DatasetController {\n static id = 'bar';\n static defaults = {\n datasetElementType: false,\n dataElementType: 'bar',\n categoryPercentage: 0.8,\n barPercentage: 0.9,\n grouped: true,\n animations: {\n numbers: {\n type: 'number',\n properties: [\n 'x',\n 'y',\n 'base',\n 'width',\n 'height'\n ]\n }\n }\n };\n static overrides = {\n scales: {\n _index_: {\n type: 'category',\n offset: true,\n grid: {\n offset: true\n }\n },\n _value_: {\n type: 'linear',\n beginAtZero: true\n }\n }\n };\n parsePrimitiveData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseArrayData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseObjectData(meta, data, start, count) {\n const { iScale , vScale } = meta;\n const { xAxisKey ='x' , yAxisKey ='y' } = this._parsing;\n const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey;\n const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey;\n const parsed = [];\n let i, ilen, item, obj;\n for(i = start, ilen = start + count; i < ilen; ++i){\n obj = data[i];\n item = {};\n item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i);\n parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i));\n }\n return parsed;\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n super.updateRangeFromParsed(range, scale, parsed, stack);\n const custom = parsed._custom;\n if (custom && scale === this._cachedMeta.vScale) {\n range.min = Math.min(range.min, custom.min);\n range.max = Math.max(range.max, custom.max);\n }\n }\n getMaxOverflow() {\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const { iScale , vScale } = meta;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const value = isFloatBar(custom) ? '[' + custom.start + ', ' + custom.end + ']' : '' + vScale.getLabelForValue(parsed[vScale.axis]);\n return {\n label: '' + iScale.getLabelForValue(parsed[iScale.axis]),\n value\n };\n }\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n const meta = this._cachedMeta;\n meta.stack = this.getDataset().stack;\n }\n update(mode) {\n const meta = this._cachedMeta;\n this.updateElements(meta.data, 0, meta.data.length, mode);\n }\n updateElements(bars, start, count, mode) {\n const reset = mode === 'reset';\n const { index , _cachedMeta: { vScale } } = this;\n const base = vScale.getBasePixel();\n const horizontal = vScale.isHorizontal();\n const ruler = this._getRuler();\n const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode);\n for(let i = start; i < start + count; i++){\n const parsed = this.getParsed(i);\n const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? {\n base,\n head: base\n } : this._calculateBarValuePixels(i);\n const ipixels = this._calculateBarIndexPixels(i, ruler);\n const stack = (parsed._stacks || {})[vScale.axis];\n const properties = {\n horizontal,\n base: vpixels.base,\n enableBorderRadius: !stack || isFloatBar(parsed._custom) || index === stack._top || index === stack._bottom,\n x: horizontal ? vpixels.head : ipixels.center,\n y: horizontal ? ipixels.center : vpixels.head,\n height: horizontal ? ipixels.size : Math.abs(vpixels.size),\n width: horizontal ? Math.abs(vpixels.size) : ipixels.size\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode);\n }\n const options = properties.options || bars[i].options;\n setBorderSkipped(properties, options, stack, index);\n setInflateAmount(properties, options, ruler.ratio);\n this.updateElement(bars[i], i, properties, mode);\n }\n }\n _getStacks(last, dataIndex) {\n const { iScale } = this._cachedMeta;\n const metasets = iScale.getMatchingVisibleMetas(this._type).filter((meta)=>meta.controller.options.grouped);\n const stacked = iScale.options.stacked;\n const stacks = [];\n const currentParsed = this._cachedMeta.controller.getParsed(dataIndex);\n const iScaleValue = currentParsed && currentParsed[iScale.axis];\n const skipNull = (meta)=>{\n const parsed = meta._parsed.find((item)=>item[iScale.axis] === iScaleValue);\n const val = parsed && parsed[meta.vScale.axis];\n if (isNullOrUndef(val) || isNaN(val)) {\n return true;\n }\n };\n for (const meta of metasets){\n if (dataIndex !== undefined && skipNull(meta)) {\n continue;\n }\n if (stacked === false || stacks.indexOf(meta.stack) === -1 || stacked === undefined && meta.stack === undefined) {\n stacks.push(meta.stack);\n }\n if (meta.index === last) {\n break;\n }\n }\n if (!stacks.length) {\n stacks.push(undefined);\n }\n return stacks;\n }\n _getStackCount(index) {\n return this._getStacks(undefined, index).length;\n }\n _getStackIndex(datasetIndex, name, dataIndex) {\n const stacks = this._getStacks(datasetIndex, dataIndex);\n const index = name !== undefined ? stacks.indexOf(name) : -1;\n return index === -1 ? stacks.length - 1 : index;\n }\n _getRuler() {\n const opts = this.options;\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const pixels = [];\n let i, ilen;\n for(i = 0, ilen = meta.data.length; i < ilen; ++i){\n pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i));\n }\n const barThickness = opts.barThickness;\n const min = barThickness || computeMinSampleSize(meta);\n return {\n min,\n pixels,\n start: iScale._startPixel,\n end: iScale._endPixel,\n stackCount: this._getStackCount(),\n scale: iScale,\n grouped: opts.grouped,\n ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage\n };\n }\n _calculateBarValuePixels(index) {\n const { _cachedMeta: { vScale , _stacked , index: datasetIndex } , options: { base: baseValue , minBarLength } } = this;\n const actualBase = baseValue || 0;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const floating = isFloatBar(custom);\n let value = parsed[vScale.axis];\n let start = 0;\n let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value;\n let head, size;\n if (length !== value) {\n start = length - value;\n length = value;\n }\n if (floating) {\n value = custom.barStart;\n length = custom.barEnd - custom.barStart;\n if (value !== 0 && sign(value) !== sign(custom.barEnd)) {\n start = 0;\n }\n start += value;\n }\n const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start;\n let base = vScale.getPixelForValue(startValue);\n if (this.chart.getDataVisibility(index)) {\n head = vScale.getPixelForValue(start + length);\n } else {\n head = base;\n }\n size = head - base;\n if (Math.abs(size) < minBarLength) {\n size = barSign(size, vScale, actualBase) * minBarLength;\n if (value === actualBase) {\n base -= size / 2;\n }\n const startPixel = vScale.getPixelForDecimal(0);\n const endPixel = vScale.getPixelForDecimal(1);\n const min = Math.min(startPixel, endPixel);\n const max = Math.max(startPixel, endPixel);\n base = Math.max(Math.min(base, max), min);\n head = base + size;\n if (_stacked && !floating) {\n parsed._stacks[vScale.axis]._visualValues[datasetIndex] = vScale.getValueForPixel(head) - vScale.getValueForPixel(base);\n }\n }\n if (base === vScale.getPixelForValue(actualBase)) {\n const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2;\n base += halfGrid;\n size -= halfGrid;\n }\n return {\n size,\n base,\n head,\n center: head + size / 2\n };\n }\n _calculateBarIndexPixels(index, ruler) {\n const scale = ruler.scale;\n const options = this.options;\n const skipNull = options.skipNull;\n const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity);\n let center, size;\n if (ruler.grouped) {\n const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount;\n const range = options.barThickness === 'flex' ? computeFlexCategoryTraits(index, ruler, options, stackCount) : computeFitCategoryTraits(index, ruler, options, stackCount);\n const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined);\n center = range.start + range.chunk * stackIndex + range.chunk / 2;\n size = Math.min(maxBarThickness, range.chunk * range.ratio);\n } else {\n center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index);\n size = Math.min(maxBarThickness, ruler.min * ruler.ratio);\n }\n return {\n base: center - size / 2,\n head: center + size / 2,\n center,\n size\n };\n }\n draw() {\n const meta = this._cachedMeta;\n const vScale = meta.vScale;\n const rects = meta.data;\n const ilen = rects.length;\n let i = 0;\n for(; i < ilen; ++i){\n if (this.getParsed(i)[vScale.axis] !== null && !rects[i].hidden) {\n rects[i].draw(this._ctx);\n }\n }\n }\n}\n\nclass BubbleController extends DatasetController {\n static id = 'bubble';\n static defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n animations: {\n numbers: {\n type: 'number',\n properties: [\n 'x',\n 'y',\n 'borderWidth',\n 'radius'\n ]\n }\n }\n };\n static overrides = {\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n };\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n }\n parsePrimitiveData(meta, data, start, count) {\n const parsed = super.parsePrimitiveData(meta, data, start, count);\n for(let i = 0; i < parsed.length; i++){\n parsed[i]._custom = this.resolveDataElementOptions(i + start).radius;\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const parsed = super.parseArrayData(meta, data, start, count);\n for(let i = 0; i < parsed.length; i++){\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const parsed = super.parseObjectData(meta, data, start, count);\n for(let i = 0; i < parsed.length; i++){\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n getMaxOverflow() {\n const data = this._cachedMeta.data;\n let max = 0;\n for(let i = data.length - 1; i >= 0; --i){\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const labels = this.chart.data.labels || [];\n const { xScale , yScale } = meta;\n const parsed = this.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n const r = parsed._custom;\n return {\n label: labels[index] || '',\n value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')'\n };\n }\n update(mode) {\n const points = this._cachedMeta.data;\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const { iScale , vScale } = this._cachedMeta;\n const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n for(let i = start; i < start + count; i++){\n const point = points[i];\n const parsed = !reset && this.getParsed(i);\n const properties = {};\n const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]);\n const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]);\n properties.skip = isNaN(iPixel) || isNaN(vPixel);\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n if (reset) {\n properties.options.radius = 0;\n }\n }\n this.updateElement(point, i, properties, mode);\n }\n }\n resolveDataElementOptions(index, mode) {\n const parsed = this.getParsed(index);\n let values = super.resolveDataElementOptions(index, mode);\n if (values.$shared) {\n values = Object.assign({}, values, {\n $shared: false\n });\n }\n const radius = values.radius;\n if (mode !== 'active') {\n values.radius = 0;\n }\n values.radius += valueOrDefault(parsed && parsed._custom, radius);\n return values;\n }\n}\n\nfunction getRatioAndOffset(rotation, circumference, cutout) {\n let ratioX = 1;\n let ratioY = 1;\n let offsetX = 0;\n let offsetY = 0;\n if (circumference < TAU) {\n const startAngle = rotation;\n const endAngle = startAngle + circumference;\n const startX = Math.cos(startAngle);\n const startY = Math.sin(startAngle);\n const endX = Math.cos(endAngle);\n const endY = Math.sin(endAngle);\n const calcMax = (angle, a, b)=>_angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout);\n const calcMin = (angle, a, b)=>_angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout);\n const maxX = calcMax(0, startX, endX);\n const maxY = calcMax(HALF_PI, startY, endY);\n const minX = calcMin(PI, startX, endX);\n const minY = calcMin(PI + HALF_PI, startY, endY);\n ratioX = (maxX - minX) / 2;\n ratioY = (maxY - minY) / 2;\n offsetX = -(maxX + minX) / 2;\n offsetY = -(maxY + minY) / 2;\n }\n return {\n ratioX,\n ratioY,\n offsetX,\n offsetY\n };\n}\nclass DoughnutController extends DatasetController {\n static id = 'doughnut';\n static defaults = {\n datasetElementType: false,\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: false\n },\n animations: {\n numbers: {\n type: 'number',\n properties: [\n 'circumference',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'startAngle',\n 'x',\n 'y',\n 'offset',\n 'borderWidth',\n 'spacing'\n ]\n }\n },\n cutout: '50%',\n rotation: 0,\n circumference: 360,\n radius: '100%',\n spacing: 0,\n indexAxis: 'r'\n };\n static descriptors = {\n _scriptable: (name)=>name !== 'spacing',\n _indexable: (name)=>name !== 'spacing' && !name.startsWith('borderDash') && !name.startsWith('hoverBorderDash')\n };\n static overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels (chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const { labels: { pointStyle , color } } = chart.legend.options;\n return data.labels.map((label, i)=>{\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n fontColor: color,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick (e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n }\n }\n };\n constructor(chart, datasetIndex){\n super(chart, datasetIndex);\n this.enableOptionSharing = true;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.offsetX = undefined;\n this.offsetY = undefined;\n }\n linkScales() {}\n parse(start, count) {\n const data = this.getDataset().data;\n const meta = this._cachedMeta;\n if (this._parsing === false) {\n meta._parsed = data;\n } else {\n let getter = (i)=>+data[i];\n if (isObject(data[start])) {\n const { key ='value' } = this._parsing;\n getter = (i)=>+resolveObjectKey(data[i], key);\n }\n let i, ilen;\n for(i = start, ilen = start + count; i < ilen; ++i){\n meta._parsed[i] = getter(i);\n }\n }\n }\n _getRotation() {\n return toRadians(this.options.rotation - 90);\n }\n _getCircumference() {\n return toRadians(this.options.circumference);\n }\n _getRotationExtents() {\n let min = TAU;\n let max = -TAU;\n for(let i = 0; i < this.chart.data.datasets.length; ++i){\n if (this.chart.isDatasetVisible(i) && this.chart.getDatasetMeta(i).type === this._type) {\n const controller = this.chart.getDatasetMeta(i).controller;\n const rotation = controller._getRotation();\n const circumference = controller._getCircumference();\n min = Math.min(min, rotation);\n max = Math.max(max, rotation + circumference);\n }\n }\n return {\n rotation: min,\n circumference: max - min\n };\n }\n update(mode) {\n const chart = this.chart;\n const { chartArea } = chart;\n const meta = this._cachedMeta;\n const arcs = meta.data;\n const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing;\n const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0);\n const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1);\n const chartWeight = this._getRingWeight(this.index);\n const { circumference , rotation } = this._getRotationExtents();\n const { ratioX , ratioY , offsetX , offsetY } = getRatioAndOffset(rotation, circumference, cutout);\n const maxWidth = (chartArea.width - spacing) / ratioX;\n const maxHeight = (chartArea.height - spacing) / ratioY;\n const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n const outerRadius = toDimension(this.options.radius, maxRadius);\n const innerRadius = Math.max(outerRadius * cutout, 0);\n const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal();\n this.offsetX = offsetX * outerRadius;\n this.offsetY = offsetY * outerRadius;\n meta.total = this.calculateTotal();\n this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index);\n this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0);\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n _circumference(i, reset) {\n const opts = this.options;\n const meta = this._cachedMeta;\n const circumference = this._getCircumference();\n if (reset && opts.animation.animateRotate || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) {\n return 0;\n }\n return this.calculateCircumference(meta._parsed[i] * circumference / TAU);\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const centerX = (chartArea.left + chartArea.right) / 2;\n const centerY = (chartArea.top + chartArea.bottom) / 2;\n const animateScale = reset && animationOpts.animateScale;\n const innerRadius = animateScale ? 0 : this.innerRadius;\n const outerRadius = animateScale ? 0 : this.outerRadius;\n const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode);\n let startAngle = this._getRotation();\n let i;\n for(i = 0; i < start; ++i){\n startAngle += this._circumference(i, reset);\n }\n for(i = start; i < start + count; ++i){\n const circumference = this._circumference(i, reset);\n const arc = arcs[i];\n const properties = {\n x: centerX + this.offsetX,\n y: centerY + this.offsetY,\n startAngle,\n endAngle: startAngle + circumference,\n circumference,\n outerRadius,\n innerRadius\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode);\n }\n startAngle += circumference;\n this.updateElement(arc, i, properties, mode);\n }\n }\n calculateTotal() {\n const meta = this._cachedMeta;\n const metaData = meta.data;\n let total = 0;\n let i;\n for(i = 0; i < metaData.length; i++){\n const value = meta._parsed[i];\n if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) {\n total += Math.abs(value);\n }\n }\n return total;\n }\n calculateCircumference(value) {\n const total = this._cachedMeta.total;\n if (total > 0 && !isNaN(value)) {\n return TAU * (Math.abs(value) / total);\n }\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index], chart.options.locale);\n return {\n label: labels[index] || '',\n value\n };\n }\n getMaxBorderWidth(arcs) {\n let max = 0;\n const chart = this.chart;\n let i, ilen, meta, controller, options;\n if (!arcs) {\n for(i = 0, ilen = chart.data.datasets.length; i < ilen; ++i){\n if (chart.isDatasetVisible(i)) {\n meta = chart.getDatasetMeta(i);\n arcs = meta.data;\n controller = meta.controller;\n break;\n }\n }\n }\n if (!arcs) {\n return 0;\n }\n for(i = 0, ilen = arcs.length; i < ilen; ++i){\n options = controller.resolveDataElementOptions(i);\n if (options.borderAlign !== 'inner') {\n max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0);\n }\n }\n return max;\n }\n getMaxOffset(arcs) {\n let max = 0;\n for(let i = 0, ilen = arcs.length; i < ilen; ++i){\n const options = this.resolveDataElementOptions(i);\n max = Math.max(max, options.offset || 0, options.hoverOffset || 0);\n }\n return max;\n }\n _getRingWeightOffset(datasetIndex) {\n let ringWeightOffset = 0;\n for(let i = 0; i < datasetIndex; ++i){\n if (this.chart.isDatasetVisible(i)) {\n ringWeightOffset += this._getRingWeight(i);\n }\n }\n return ringWeightOffset;\n }\n _getRingWeight(datasetIndex) {\n return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0);\n }\n _getVisibleDatasetWeightTotal() {\n return this._getRingWeightOffset(this.chart.data.datasets.length) || 1;\n }\n}\n\nclass LineController extends DatasetController {\n static id = 'line';\n static defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n showLine: true,\n spanGaps: false\n };\n static overrides = {\n scales: {\n _index_: {\n type: 'category'\n },\n _value_: {\n type: 'linear'\n }\n }\n };\n initialize() {\n this.enableOptionSharing = true;\n this.supportsDecimation = true;\n super.initialize();\n }\n update(mode) {\n const meta = this._cachedMeta;\n const { dataset: line , data: points = [] , _dataset } = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let { start , count } = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n this.updateElements(points, start, count, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const { iScale , vScale , _stacked , _dataset } = this._cachedMeta;\n const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const { spanGaps , segment } = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n const end = start + count;\n const pointsCount = points.length;\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for(let i = 0; i < pointsCount; ++i){\n const point = points[i];\n const properties = directUpdate ? point : {};\n if (i < start || i >= end) {\n properties.skip = true;\n continue;\n }\n const parsed = this.getParsed(i);\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && Math.abs(parsed[iAxis] - prevParsed[iAxis]) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n const data = meta.data || [];\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n draw() {\n const meta = this._cachedMeta;\n meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis);\n super.draw();\n }\n}\n\nclass PolarAreaController extends DatasetController {\n static id = 'polarArea';\n static defaults = {\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: true\n },\n animations: {\n numbers: {\n type: 'number',\n properties: [\n 'x',\n 'y',\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius'\n ]\n }\n },\n indexAxis: 'r',\n startAngle: 0\n };\n static overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels (chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const { labels: { pointStyle , color } } = chart.legend.options;\n return data.labels.map((label, i)=>{\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n fontColor: color,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick (e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n }\n },\n scales: {\n r: {\n type: 'radialLinear',\n angleLines: {\n display: false\n },\n beginAtZero: true,\n grid: {\n circular: true\n },\n pointLabels: {\n display: false\n },\n startAngle: 0\n }\n }\n };\n constructor(chart, datasetIndex){\n super(chart, datasetIndex);\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index].r, chart.options.locale);\n return {\n label: labels[index] || '',\n value\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const arcs = this._cachedMeta.data;\n this._updateRadius();\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n getMinMax() {\n const meta = this._cachedMeta;\n const range = {\n min: Number.POSITIVE_INFINITY,\n max: Number.NEGATIVE_INFINITY\n };\n meta.data.forEach((element, index)=>{\n const parsed = this.getParsed(index).r;\n if (!isNaN(parsed) && this.chart.getDataVisibility(index)) {\n if (parsed < range.min) {\n range.min = parsed;\n }\n if (parsed > range.max) {\n range.max = parsed;\n }\n }\n });\n return range;\n }\n _updateRadius() {\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n const outerRadius = Math.max(minSize / 2, 0);\n const innerRadius = Math.max(opts.cutoutPercentage ? outerRadius / 100 * opts.cutoutPercentage : 1, 0);\n const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount();\n this.outerRadius = outerRadius - radiusLength * this.index;\n this.innerRadius = this.outerRadius - radiusLength;\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const scale = this._cachedMeta.rScale;\n const centerX = scale.xCenter;\n const centerY = scale.yCenter;\n const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI;\n let angle = datasetStartAngle;\n let i;\n const defaultAngle = 360 / this.countVisibleElements();\n for(i = 0; i < start; ++i){\n angle += this._computeAngle(i, mode, defaultAngle);\n }\n for(i = start; i < start + count; i++){\n const arc = arcs[i];\n let startAngle = angle;\n let endAngle = angle + this._computeAngle(i, mode, defaultAngle);\n let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(this.getParsed(i).r) : 0;\n angle = endAngle;\n if (reset) {\n if (animationOpts.animateScale) {\n outerRadius = 0;\n }\n if (animationOpts.animateRotate) {\n startAngle = endAngle = datasetStartAngle;\n }\n }\n const properties = {\n x: centerX,\n y: centerY,\n innerRadius: 0,\n outerRadius,\n startAngle,\n endAngle,\n options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode)\n };\n this.updateElement(arc, i, properties, mode);\n }\n }\n countVisibleElements() {\n const meta = this._cachedMeta;\n let count = 0;\n meta.data.forEach((element, index)=>{\n if (!isNaN(this.getParsed(index).r) && this.chart.getDataVisibility(index)) {\n count++;\n }\n });\n return count;\n }\n _computeAngle(index, mode, defaultAngle) {\n return this.chart.getDataVisibility(index) ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle) : 0;\n }\n}\n\nclass PieController extends DoughnutController {\n static id = 'pie';\n static defaults = {\n cutout: 0,\n rotation: 0,\n circumference: 360,\n radius: '100%'\n };\n}\n\nclass RadarController extends DatasetController {\n static id = 'radar';\n static defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n indexAxis: 'r',\n showLine: true,\n elements: {\n line: {\n fill: 'start'\n }\n }\n };\n static overrides = {\n aspectRatio: 1,\n scales: {\n r: {\n type: 'radialLinear'\n }\n }\n };\n getLabelAndValue(index) {\n const vScale = this._cachedMeta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: vScale.getLabels()[index],\n value: '' + vScale.getLabelForValue(parsed[vScale.axis])\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const meta = this._cachedMeta;\n const line = meta.dataset;\n const points = meta.data || [];\n const labels = meta.iScale.getLabels();\n line.points = points;\n if (mode !== 'resize') {\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n const properties = {\n _loop: true,\n _fullLoop: labels.length === points.length,\n options\n };\n this.updateElement(line, undefined, properties, mode);\n }\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const scale = this._cachedMeta.rScale;\n const reset = mode === 'reset';\n for(let i = start; i < start + count; i++){\n const point = points[i];\n const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n const pointPosition = scale.getPointPositionForValue(i, this.getParsed(i).r);\n const x = reset ? scale.xCenter : pointPosition.x;\n const y = reset ? scale.yCenter : pointPosition.y;\n const properties = {\n x,\n y,\n angle: pointPosition.angle,\n skip: isNaN(x) || isNaN(y),\n options\n };\n this.updateElement(point, i, properties, mode);\n }\n }\n}\n\nclass ScatterController extends DatasetController {\n static id = 'scatter';\n static defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n showLine: false,\n fill: false\n };\n static overrides = {\n interaction: {\n mode: 'point'\n },\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n };\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const labels = this.chart.data.labels || [];\n const { xScale , yScale } = meta;\n const parsed = this.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n return {\n label: labels[index] || '',\n value: '(' + x + ', ' + y + ')'\n };\n }\n update(mode) {\n const meta = this._cachedMeta;\n const { data: points = [] } = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let { start , count } = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n if (this.options.showLine) {\n if (!this.datasetElementType) {\n this.addElements();\n }\n const { dataset: line , _dataset } = meta;\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n } else if (this.datasetElementType) {\n delete meta.dataset;\n this.datasetElementType = false;\n }\n this.updateElements(points, start, count, mode);\n }\n addElements() {\n const { showLine } = this.options;\n if (!this.datasetElementType && showLine) {\n this.datasetElementType = this.chart.registry.getElement('line');\n }\n super.addElements();\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const { iScale , vScale , _stacked , _dataset } = this._cachedMeta;\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const { spanGaps , segment } = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for(let i = start; i < start + count; ++i){\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && Math.abs(parsed[iAxis] - prevParsed[iAxis]) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const data = meta.data || [];\n if (!this.options.showLine) {\n let max = 0;\n for(let i = data.length - 1; i >= 0; --i){\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n}\n\nvar controllers = /*#__PURE__*/Object.freeze({\n__proto__: null,\nBarController: BarController,\nBubbleController: BubbleController,\nDoughnutController: DoughnutController,\nLineController: LineController,\nPieController: PieController,\nPolarAreaController: PolarAreaController,\nRadarController: RadarController,\nScatterController: ScatterController\n});\n\n/**\n * @namespace Chart._adapters\n * @since 2.8.0\n * @private\n */ function abstract() {\n throw new Error('This method is not implemented: Check that a complete date adapter is provided.');\n}\n/**\n * Date adapter (current used by the time scale)\n * @namespace Chart._adapters._date\n * @memberof Chart._adapters\n * @private\n */ class DateAdapterBase {\n /**\n * Override default date adapter methods.\n * Accepts type parameter to define options type.\n * @example\n * Chart._adapters._date.override<{myAdapterOption: string}>({\n * init() {\n * console.log(this.options.myAdapterOption);\n * }\n * })\n */ static override(members) {\n Object.assign(DateAdapterBase.prototype, members);\n }\n options;\n constructor(options){\n this.options = options || {};\n }\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n init() {}\n formats() {\n return abstract();\n }\n parse() {\n return abstract();\n }\n format() {\n return abstract();\n }\n add() {\n return abstract();\n }\n diff() {\n return abstract();\n }\n startOf() {\n return abstract();\n }\n endOf() {\n return abstract();\n }\n}\nvar adapters = {\n _date: DateAdapterBase\n};\n\nfunction binarySearch(metaset, axis, value, intersect) {\n const { controller , data , _sorted } = metaset;\n const iScale = controller._cachedMeta.iScale;\n if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) {\n const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey;\n if (!intersect) {\n return lookupMethod(data, axis, value);\n } else if (controller._sharedOptions) {\n const el = data[0];\n const range = typeof el.getRange === 'function' && el.getRange(axis);\n if (range) {\n const start = lookupMethod(data, axis, value - range);\n const end = lookupMethod(data, axis, value + range);\n return {\n lo: start.lo,\n hi: end.hi\n };\n }\n }\n }\n return {\n lo: 0,\n hi: data.length - 1\n };\n}\n function evaluateInteractionItems(chart, axis, position, handler, intersect) {\n const metasets = chart.getSortedVisibleDatasetMetas();\n const value = position[axis];\n for(let i = 0, ilen = metasets.length; i < ilen; ++i){\n const { index , data } = metasets[i];\n const { lo , hi } = binarySearch(metasets[i], axis, value, intersect);\n for(let j = lo; j <= hi; ++j){\n const element = data[j];\n if (!element.skip) {\n handler(element, index, j);\n }\n }\n }\n}\n function getDistanceMetricForAxis(axis) {\n const useX = axis.indexOf('x') !== -1;\n const useY = axis.indexOf('y') !== -1;\n return function(pt1, pt2) {\n const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n };\n}\n function getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) {\n const items = [];\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return items;\n }\n const evaluationFunc = function(element, datasetIndex, index) {\n if (!includeInvisible && !_isPointInArea(element, chart.chartArea, 0)) {\n return;\n }\n if (element.inRange(position.x, position.y, useFinalPosition)) {\n items.push({\n element,\n datasetIndex,\n index\n });\n }\n };\n evaluateInteractionItems(chart, axis, position, evaluationFunc, true);\n return items;\n}\n function getNearestRadialItems(chart, position, axis, useFinalPosition) {\n let items = [];\n function evaluationFunc(element, datasetIndex, index) {\n const { startAngle , endAngle } = element.getProps([\n 'startAngle',\n 'endAngle'\n ], useFinalPosition);\n const { angle } = getAngleFromPoint(element, {\n x: position.x,\n y: position.y\n });\n if (_angleBetween(angle, startAngle, endAngle)) {\n items.push({\n element,\n datasetIndex,\n index\n });\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\n function getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n let items = [];\n const distanceMetric = getDistanceMetricForAxis(axis);\n let minDistance = Number.POSITIVE_INFINITY;\n function evaluationFunc(element, datasetIndex, index) {\n const inRange = element.inRange(position.x, position.y, useFinalPosition);\n if (intersect && !inRange) {\n return;\n }\n const center = element.getCenterPoint(useFinalPosition);\n const pointInArea = !!includeInvisible || chart.isPointInArea(center);\n if (!pointInArea && !inRange) {\n return;\n }\n const distance = distanceMetric(position, center);\n if (distance < minDistance) {\n items = [\n {\n element,\n datasetIndex,\n index\n }\n ];\n minDistance = distance;\n } else if (distance === minDistance) {\n items.push({\n element,\n datasetIndex,\n index\n });\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\n function getNearestItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return [];\n }\n return axis === 'r' && !intersect ? getNearestRadialItems(chart, position, axis, useFinalPosition) : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible);\n}\n function getAxisItems(chart, position, axis, intersect, useFinalPosition) {\n const items = [];\n const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange';\n let intersectsItem = false;\n evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index)=>{\n if (element[rangeMethod] && element[rangeMethod](position[axis], useFinalPosition)) {\n items.push({\n element,\n datasetIndex,\n index\n });\n intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition);\n }\n });\n if (intersect && !intersectsItem) {\n return [];\n }\n return items;\n}\n var Interaction = {\n evaluateInteractionItems,\n modes: {\n index (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'x';\n const includeInvisible = options.includeInvisible || false;\n const items = options.intersect ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n const elements = [];\n if (!items.length) {\n return [];\n }\n chart.getSortedVisibleDatasetMetas().forEach((meta)=>{\n const index = items[0].index;\n const element = meta.data[index];\n if (element && !element.skip) {\n elements.push({\n element,\n datasetIndex: meta.index,\n index\n });\n }\n });\n return elements;\n },\n dataset (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n let items = options.intersect ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n if (items.length > 0) {\n const datasetIndex = items[0].datasetIndex;\n const data = chart.getDatasetMeta(datasetIndex).data;\n items = [];\n for(let i = 0; i < data.length; ++i){\n items.push({\n element: data[i],\n datasetIndex,\n index: i\n });\n }\n }\n return items;\n },\n point (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible);\n },\n nearest (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getNearestItems(chart, position, axis, options.intersect, useFinalPosition, includeInvisible);\n },\n x (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'x', options.intersect, useFinalPosition);\n },\n y (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'y', options.intersect, useFinalPosition);\n }\n }\n};\n\nconst STATIC_POSITIONS = [\n 'left',\n 'top',\n 'right',\n 'bottom'\n];\nfunction filterByPosition(array, position) {\n return array.filter((v)=>v.pos === position);\n}\nfunction filterDynamicPositionByAxis(array, axis) {\n return array.filter((v)=>STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis);\n}\nfunction sortByWeight(array, reverse) {\n return array.sort((a, b)=>{\n const v0 = reverse ? b : a;\n const v1 = reverse ? a : b;\n return v0.weight === v1.weight ? v0.index - v1.index : v0.weight - v1.weight;\n });\n}\nfunction wrapBoxes(boxes) {\n const layoutBoxes = [];\n let i, ilen, box, pos, stack, stackWeight;\n for(i = 0, ilen = (boxes || []).length; i < ilen; ++i){\n box = boxes[i];\n ({ position: pos , options: { stack , stackWeight =1 } } = box);\n layoutBoxes.push({\n index: i,\n box,\n pos,\n horizontal: box.isHorizontal(),\n weight: box.weight,\n stack: stack && pos + stack,\n stackWeight\n });\n }\n return layoutBoxes;\n}\nfunction buildStacks(layouts) {\n const stacks = {};\n for (const wrap of layouts){\n const { stack , pos , stackWeight } = wrap;\n if (!stack || !STATIC_POSITIONS.includes(pos)) {\n continue;\n }\n const _stack = stacks[stack] || (stacks[stack] = {\n count: 0,\n placed: 0,\n weight: 0,\n size: 0\n });\n _stack.count++;\n _stack.weight += stackWeight;\n }\n return stacks;\n}\n function setLayoutDims(layouts, params) {\n const stacks = buildStacks(layouts);\n const { vBoxMaxWidth , hBoxMaxHeight } = params;\n let i, ilen, layout;\n for(i = 0, ilen = layouts.length; i < ilen; ++i){\n layout = layouts[i];\n const { fullSize } = layout.box;\n const stack = stacks[layout.stack];\n const factor = stack && layout.stackWeight / stack.weight;\n if (layout.horizontal) {\n layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth;\n layout.height = hBoxMaxHeight;\n } else {\n layout.width = vBoxMaxWidth;\n layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight;\n }\n }\n return stacks;\n}\nfunction buildLayoutBoxes(boxes) {\n const layoutBoxes = wrapBoxes(boxes);\n const fullSize = sortByWeight(layoutBoxes.filter((wrap)=>wrap.box.fullSize), true);\n const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n const right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x');\n const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y');\n return {\n fullSize,\n leftAndTop: left.concat(top),\n rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal),\n chartArea: filterByPosition(layoutBoxes, 'chartArea'),\n vertical: left.concat(right).concat(centerVertical),\n horizontal: top.concat(bottom).concat(centerHorizontal)\n };\n}\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\n return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n}\nfunction updateMaxPadding(maxPadding, boxPadding) {\n maxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n maxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n maxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n}\nfunction updateDims(chartArea, params, layout, stacks) {\n const { pos , box } = layout;\n const maxPadding = chartArea.maxPadding;\n if (!isObject(pos)) {\n if (layout.size) {\n chartArea[pos] -= layout.size;\n }\n const stack = stacks[layout.stack] || {\n size: 0,\n count: 1\n };\n stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width);\n layout.size = stack.size / stack.count;\n chartArea[pos] += layout.size;\n }\n if (box.getPadding) {\n updateMaxPadding(maxPadding, box.getPadding());\n }\n const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right'));\n const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom'));\n const widthChanged = newWidth !== chartArea.w;\n const heightChanged = newHeight !== chartArea.h;\n chartArea.w = newWidth;\n chartArea.h = newHeight;\n return layout.horizontal ? {\n same: widthChanged,\n other: heightChanged\n } : {\n same: heightChanged,\n other: widthChanged\n };\n}\nfunction handleMaxPadding(chartArea) {\n const maxPadding = chartArea.maxPadding;\n function updatePos(pos) {\n const change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n chartArea[pos] += change;\n return change;\n }\n chartArea.y += updatePos('top');\n chartArea.x += updatePos('left');\n updatePos('right');\n updatePos('bottom');\n}\nfunction getMargins(horizontal, chartArea) {\n const maxPadding = chartArea.maxPadding;\n function marginForPositions(positions) {\n const margin = {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n positions.forEach((pos)=>{\n margin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n });\n return margin;\n }\n return horizontal ? marginForPositions([\n 'left',\n 'right'\n ]) : marginForPositions([\n 'top',\n 'bottom'\n ]);\n}\nfunction fitBoxes(boxes, chartArea, params, stacks) {\n const refitBoxes = [];\n let i, ilen, layout, box, refit, changed;\n for(i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i){\n layout = boxes[i];\n box = layout.box;\n box.update(layout.width || chartArea.w, layout.height || chartArea.h, getMargins(layout.horizontal, chartArea));\n const { same , other } = updateDims(chartArea, params, layout, stacks);\n refit |= same && refitBoxes.length;\n changed = changed || other;\n if (!box.fullSize) {\n refitBoxes.push(layout);\n }\n }\n return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed;\n}\nfunction setBoxDims(box, left, top, width, height) {\n box.top = top;\n box.left = left;\n box.right = left + width;\n box.bottom = top + height;\n box.width = width;\n box.height = height;\n}\nfunction placeBoxes(boxes, chartArea, params, stacks) {\n const userPadding = params.padding;\n let { x , y } = chartArea;\n for (const layout of boxes){\n const box = layout.box;\n const stack = stacks[layout.stack] || {\n count: 1,\n placed: 0,\n weight: 1\n };\n const weight = layout.stackWeight / stack.weight || 1;\n if (layout.horizontal) {\n const width = chartArea.w * weight;\n const height = stack.size || box.height;\n if (defined(stack.start)) {\n y = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height);\n } else {\n setBoxDims(box, chartArea.left + stack.placed, y, width, height);\n }\n stack.start = y;\n stack.placed += width;\n y = box.bottom;\n } else {\n const height = chartArea.h * weight;\n const width = stack.size || box.width;\n if (defined(stack.start)) {\n x = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top);\n } else {\n setBoxDims(box, x, chartArea.top + stack.placed, width, height);\n }\n stack.start = x;\n stack.placed += height;\n x = box.right;\n }\n }\n chartArea.x = x;\n chartArea.y = y;\n}\nvar layouts = {\n addBox (chart, item) {\n if (!chart.boxes) {\n chart.boxes = [];\n }\n item.fullSize = item.fullSize || false;\n item.position = item.position || 'top';\n item.weight = item.weight || 0;\n item._layers = item._layers || function() {\n return [\n {\n z: 0,\n draw (chartArea) {\n item.draw(chartArea);\n }\n }\n ];\n };\n chart.boxes.push(item);\n },\n removeBox (chart, layoutItem) {\n const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n if (index !== -1) {\n chart.boxes.splice(index, 1);\n }\n },\n configure (chart, item, options) {\n item.fullSize = options.fullSize;\n item.position = options.position;\n item.weight = options.weight;\n },\n update (chart, width, height, minPadding) {\n if (!chart) {\n return;\n }\n const padding = toPadding(chart.options.layout.padding);\n const availableWidth = Math.max(width - padding.width, 0);\n const availableHeight = Math.max(height - padding.height, 0);\n const boxes = buildLayoutBoxes(chart.boxes);\n const verticalBoxes = boxes.vertical;\n const horizontalBoxes = boxes.horizontal;\n each(chart.boxes, (box)=>{\n if (typeof box.beforeLayout === 'function') {\n box.beforeLayout();\n }\n });\n const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap)=>wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1;\n const params = Object.freeze({\n outerWidth: width,\n outerHeight: height,\n padding,\n availableWidth,\n availableHeight,\n vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount,\n hBoxMaxHeight: availableHeight / 2\n });\n const maxPadding = Object.assign({}, padding);\n updateMaxPadding(maxPadding, toPadding(minPadding));\n const chartArea = Object.assign({\n maxPadding,\n w: availableWidth,\n h: availableHeight,\n x: padding.left,\n y: padding.top\n }, padding);\n const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n fitBoxes(boxes.fullSize, chartArea, params, stacks);\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) {\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n }\n handleMaxPadding(chartArea);\n placeBoxes(boxes.leftAndTop, chartArea, params, stacks);\n chartArea.x += chartArea.w;\n chartArea.y += chartArea.h;\n placeBoxes(boxes.rightAndBottom, chartArea, params, stacks);\n chart.chartArea = {\n left: chartArea.left,\n top: chartArea.top,\n right: chartArea.left + chartArea.w,\n bottom: chartArea.top + chartArea.h,\n height: chartArea.h,\n width: chartArea.w\n };\n each(boxes.chartArea, (layout)=>{\n const box = layout.box;\n Object.assign(box, chart.chartArea);\n box.update(chartArea.w, chartArea.h, {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n });\n });\n }\n};\n\nclass BasePlatform {\n acquireContext(canvas, aspectRatio) {}\n releaseContext(context) {\n return false;\n }\n addEventListener(chart, type, listener) {}\n removeEventListener(chart, type, listener) {}\n getDevicePixelRatio() {\n return 1;\n }\n getMaximumSize(element, width, height, aspectRatio) {\n width = Math.max(0, width || element.width);\n height = height || element.height;\n return {\n width,\n height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height)\n };\n }\n isAttached(canvas) {\n return true;\n }\n updateConfig(config) {\n }\n}\n\nclass BasicPlatform extends BasePlatform {\n acquireContext(item) {\n return item && item.getContext && item.getContext('2d') || null;\n }\n updateConfig(config) {\n config.options.animation = false;\n }\n}\n\nconst EXPANDO_KEY = '$chartjs';\n const EVENT_TYPES = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup',\n pointerenter: 'mouseenter',\n pointerdown: 'mousedown',\n pointermove: 'mousemove',\n pointerup: 'mouseup',\n pointerleave: 'mouseout',\n pointerout: 'mouseout'\n};\nconst isNullOrEmpty = (value)=>value === null || value === '';\n function initCanvas(canvas, aspectRatio) {\n const style = canvas.style;\n const renderHeight = canvas.getAttribute('height');\n const renderWidth = canvas.getAttribute('width');\n canvas[EXPANDO_KEY] = {\n initial: {\n height: renderHeight,\n width: renderWidth,\n style: {\n display: style.display,\n height: style.height,\n width: style.width\n }\n }\n };\n style.display = style.display || 'block';\n style.boxSizing = style.boxSizing || 'border-box';\n if (isNullOrEmpty(renderWidth)) {\n const displayWidth = readUsedSize(canvas, 'width');\n if (displayWidth !== undefined) {\n canvas.width = displayWidth;\n }\n }\n if (isNullOrEmpty(renderHeight)) {\n if (canvas.style.height === '') {\n canvas.height = canvas.width / (aspectRatio || 2);\n } else {\n const displayHeight = readUsedSize(canvas, 'height');\n if (displayHeight !== undefined) {\n canvas.height = displayHeight;\n }\n }\n }\n return canvas;\n}\nconst eventListenerOptions = supportsEventListenerOptions ? {\n passive: true\n} : false;\nfunction addListener(node, type, listener) {\n if (node) {\n node.addEventListener(type, listener, eventListenerOptions);\n }\n}\nfunction removeListener(chart, type, listener) {\n if (chart && chart.canvas) {\n chart.canvas.removeEventListener(type, listener, eventListenerOptions);\n }\n}\nfunction fromNativeEvent(event, chart) {\n const type = EVENT_TYPES[event.type] || event.type;\n const { x , y } = getRelativePosition(event, chart);\n return {\n type,\n chart,\n native: event,\n x: x !== undefined ? x : null,\n y: y !== undefined ? y : null\n };\n}\nfunction nodeListContains(nodeList, canvas) {\n for (const node of nodeList){\n if (node === canvas || node.contains(canvas)) {\n return true;\n }\n }\n}\nfunction createAttachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver((entries)=>{\n let trigger = false;\n for (const entry of entries){\n trigger = trigger || nodeListContains(entry.addedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.removedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {\n childList: true,\n subtree: true\n });\n return observer;\n}\nfunction createDetachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver((entries)=>{\n let trigger = false;\n for (const entry of entries){\n trigger = trigger || nodeListContains(entry.removedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.addedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {\n childList: true,\n subtree: true\n });\n return observer;\n}\nconst drpListeningCharts = new Map();\nlet oldDevicePixelRatio = 0;\nfunction onWindowResize() {\n const dpr = window.devicePixelRatio;\n if (dpr === oldDevicePixelRatio) {\n return;\n }\n oldDevicePixelRatio = dpr;\n drpListeningCharts.forEach((resize, chart)=>{\n if (chart.currentDevicePixelRatio !== dpr) {\n resize();\n }\n });\n}\nfunction listenDevicePixelRatioChanges(chart, resize) {\n if (!drpListeningCharts.size) {\n window.addEventListener('resize', onWindowResize);\n }\n drpListeningCharts.set(chart, resize);\n}\nfunction unlistenDevicePixelRatioChanges(chart) {\n drpListeningCharts.delete(chart);\n if (!drpListeningCharts.size) {\n window.removeEventListener('resize', onWindowResize);\n }\n}\nfunction createResizeObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const container = canvas && _getParentNode(canvas);\n if (!container) {\n return;\n }\n const resize = throttled((width, height)=>{\n const w = container.clientWidth;\n listener(width, height);\n if (w < container.clientWidth) {\n listener();\n }\n }, window);\n const observer = new ResizeObserver((entries)=>{\n const entry = entries[0];\n const width = entry.contentRect.width;\n const height = entry.contentRect.height;\n if (width === 0 && height === 0) {\n return;\n }\n resize(width, height);\n });\n observer.observe(container);\n listenDevicePixelRatioChanges(chart, resize);\n return observer;\n}\nfunction releaseObserver(chart, type, observer) {\n if (observer) {\n observer.disconnect();\n }\n if (type === 'resize') {\n unlistenDevicePixelRatioChanges(chart);\n }\n}\nfunction createProxyAndListen(chart, type, listener) {\n const canvas = chart.canvas;\n const proxy = throttled((event)=>{\n if (chart.ctx !== null) {\n listener(fromNativeEvent(event, chart));\n }\n }, chart);\n addListener(canvas, type, proxy);\n return proxy;\n}\n class DomPlatform extends BasePlatform {\n acquireContext(canvas, aspectRatio) {\n const context = canvas && canvas.getContext && canvas.getContext('2d');\n if (context && context.canvas === canvas) {\n initCanvas(canvas, aspectRatio);\n return context;\n }\n return null;\n }\n releaseContext(context) {\n const canvas = context.canvas;\n if (!canvas[EXPANDO_KEY]) {\n return false;\n }\n const initial = canvas[EXPANDO_KEY].initial;\n [\n 'height',\n 'width'\n ].forEach((prop)=>{\n const value = initial[prop];\n if (isNullOrUndef(value)) {\n canvas.removeAttribute(prop);\n } else {\n canvas.setAttribute(prop, value);\n }\n });\n const style = initial.style || {};\n Object.keys(style).forEach((key)=>{\n canvas.style[key] = style[key];\n });\n canvas.width = canvas.width;\n delete canvas[EXPANDO_KEY];\n return true;\n }\n addEventListener(chart, type, listener) {\n this.removeEventListener(chart, type);\n const proxies = chart.$proxies || (chart.$proxies = {});\n const handlers = {\n attach: createAttachObserver,\n detach: createDetachObserver,\n resize: createResizeObserver\n };\n const handler = handlers[type] || createProxyAndListen;\n proxies[type] = handler(chart, type, listener);\n }\n removeEventListener(chart, type) {\n const proxies = chart.$proxies || (chart.$proxies = {});\n const proxy = proxies[type];\n if (!proxy) {\n return;\n }\n const handlers = {\n attach: releaseObserver,\n detach: releaseObserver,\n resize: releaseObserver\n };\n const handler = handlers[type] || removeListener;\n handler(chart, type, proxy);\n proxies[type] = undefined;\n }\n getDevicePixelRatio() {\n return window.devicePixelRatio;\n }\n getMaximumSize(canvas, width, height, aspectRatio) {\n return getMaximumSize(canvas, width, height, aspectRatio);\n }\n isAttached(canvas) {\n const container = canvas && _getParentNode(canvas);\n return !!(container && container.isConnected);\n }\n}\n\nfunction _detectPlatform(canvas) {\n if (!_isDomSupported() || typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas) {\n return BasicPlatform;\n }\n return DomPlatform;\n}\n\nclass Element {\n static defaults = {};\n static defaultRoutes = undefined;\n x;\n y;\n active = false;\n options;\n $animations;\n tooltipPosition(useFinalPosition) {\n const { x , y } = this.getProps([\n 'x',\n 'y'\n ], useFinalPosition);\n return {\n x,\n y\n };\n }\n hasValue() {\n return isNumber(this.x) && isNumber(this.y);\n }\n getProps(props, final) {\n const anims = this.$animations;\n if (!final || !anims) {\n // let's not create an object, if not needed\n return this;\n }\n const ret = {};\n props.forEach((prop)=>{\n ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop];\n });\n return ret;\n }\n}\n\nfunction autoSkip(scale, ticks) {\n const tickOpts = scale.options.ticks;\n const determinedMaxTicks = determineMaxTicks(scale);\n const ticksLimit = Math.min(tickOpts.maxTicksLimit || determinedMaxTicks, determinedMaxTicks);\n const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\n const numMajorIndices = majorIndices.length;\n const first = majorIndices[0];\n const last = majorIndices[numMajorIndices - 1];\n const newTicks = [];\n if (numMajorIndices > ticksLimit) {\n skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit);\n return newTicks;\n }\n const spacing = calculateSpacing(majorIndices, ticks, ticksLimit);\n if (numMajorIndices > 0) {\n let i, ilen;\n const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null;\n skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\n for(i = 0, ilen = numMajorIndices - 1; i < ilen; i++){\n skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]);\n }\n skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\n return newTicks;\n }\n skip(ticks, newTicks, spacing);\n return newTicks;\n}\nfunction determineMaxTicks(scale) {\n const offset = scale.options.offset;\n const tickLength = scale._tickSize();\n const maxScale = scale._length / tickLength + (offset ? 0 : 1);\n const maxChart = scale._maxLength / tickLength;\n return Math.floor(Math.min(maxScale, maxChart));\n}\n function calculateSpacing(majorIndices, ticks, ticksLimit) {\n const evenMajorSpacing = getEvenSpacing(majorIndices);\n const spacing = ticks.length / ticksLimit;\n if (!evenMajorSpacing) {\n return Math.max(spacing, 1);\n }\n const factors = _factorize(evenMajorSpacing);\n for(let i = 0, ilen = factors.length - 1; i < ilen; i++){\n const factor = factors[i];\n if (factor > spacing) {\n return factor;\n }\n }\n return Math.max(spacing, 1);\n}\n function getMajorIndices(ticks) {\n const result = [];\n let i, ilen;\n for(i = 0, ilen = ticks.length; i < ilen; i++){\n if (ticks[i].major) {\n result.push(i);\n }\n }\n return result;\n}\n function skipMajors(ticks, newTicks, majorIndices, spacing) {\n let count = 0;\n let next = majorIndices[0];\n let i;\n spacing = Math.ceil(spacing);\n for(i = 0; i < ticks.length; i++){\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = majorIndices[count * spacing];\n }\n }\n}\n function skip(ticks, newTicks, spacing, majorStart, majorEnd) {\n const start = valueOrDefault(majorStart, 0);\n const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length);\n let count = 0;\n let length, i, next;\n spacing = Math.ceil(spacing);\n if (majorEnd) {\n length = majorEnd - majorStart;\n spacing = length / Math.floor(length / spacing);\n }\n next = start;\n while(next < 0){\n count++;\n next = Math.round(start + count * spacing);\n }\n for(i = Math.max(start, 0); i < end; i++){\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = Math.round(start + count * spacing);\n }\n }\n}\n function getEvenSpacing(arr) {\n const len = arr.length;\n let i, diff;\n if (len < 2) {\n return false;\n }\n for(diff = arr[0], i = 1; i < len; ++i){\n if (arr[i] - arr[i - 1] !== diff) {\n return false;\n }\n }\n return diff;\n}\n\nconst reverseAlign = (align)=>align === 'left' ? 'right' : align === 'right' ? 'left' : align;\nconst offsetFromEdge = (scale, edge, offset)=>edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset;\nconst getTicksLimit = (ticksLength, maxTicksLimit)=>Math.min(maxTicksLimit || ticksLength, ticksLength);\n function sample(arr, numItems) {\n const result = [];\n const increment = arr.length / numItems;\n const len = arr.length;\n let i = 0;\n for(; i < len; i += increment){\n result.push(arr[Math.floor(i)]);\n }\n return result;\n}\n function getPixelForGridLine(scale, index, offsetGridLines) {\n const length = scale.ticks.length;\n const validIndex = Math.min(index, length - 1);\n const start = scale._startPixel;\n const end = scale._endPixel;\n const epsilon = 1e-6;\n let lineValue = scale.getPixelForTick(validIndex);\n let offset;\n if (offsetGridLines) {\n if (length === 1) {\n offset = Math.max(lineValue - start, end - lineValue);\n } else if (index === 0) {\n offset = (scale.getPixelForTick(1) - lineValue) / 2;\n } else {\n offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\n }\n lineValue += validIndex < index ? offset : -offset;\n if (lineValue < start - epsilon || lineValue > end + epsilon) {\n return;\n }\n }\n return lineValue;\n}\n function garbageCollect(caches, length) {\n each(caches, (cache)=>{\n const gc = cache.gc;\n const gcLen = gc.length / 2;\n let i;\n if (gcLen > length) {\n for(i = 0; i < gcLen; ++i){\n delete cache.data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n });\n}\n function getTickMarkLength(options) {\n return options.drawTicks ? options.tickLength : 0;\n}\n function getTitleHeight(options, fallback) {\n if (!options.display) {\n return 0;\n }\n const font = toFont(options.font, fallback);\n const padding = toPadding(options.padding);\n const lines = isArray(options.text) ? options.text.length : 1;\n return lines * font.lineHeight + padding.height;\n}\nfunction createScaleContext(parent, scale) {\n return createContext(parent, {\n scale,\n type: 'scale'\n });\n}\nfunction createTickContext(parent, index, tick) {\n return createContext(parent, {\n tick,\n index,\n type: 'tick'\n });\n}\nfunction titleAlign(align, position, reverse) {\n let ret = _toLeftRightCenter(align);\n if (reverse && position !== 'right' || !reverse && position === 'right') {\n ret = reverseAlign(ret);\n }\n return ret;\n}\nfunction titleArgs(scale, offset, position, align) {\n const { top , left , bottom , right , chart } = scale;\n const { chartArea , scales } = chart;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n const height = bottom - top;\n const width = right - left;\n if (scale.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleY = scales[positionAxisID].getPixelForValue(value) + height - offset;\n } else if (position === 'center') {\n titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset;\n } else {\n titleY = offsetFromEdge(scale, position, offset);\n }\n maxWidth = right - left;\n } else {\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleX = scales[positionAxisID].getPixelForValue(value) - width + offset;\n } else if (position === 'center') {\n titleX = (chartArea.left + chartArea.right) / 2 - width + offset;\n } else {\n titleX = offsetFromEdge(scale, position, offset);\n }\n titleY = _alignStartEnd(align, bottom, top);\n rotation = position === 'left' ? -HALF_PI : HALF_PI;\n }\n return {\n titleX,\n titleY,\n maxWidth,\n rotation\n };\n}\nclass Scale extends Element {\n constructor(cfg){\n super();\n this.id = cfg.id;\n this.type = cfg.type;\n this.options = undefined;\n this.ctx = cfg.ctx;\n this.chart = cfg.chart;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this._margins = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n this.maxWidth = undefined;\n this.maxHeight = undefined;\n this.paddingTop = undefined;\n this.paddingBottom = undefined;\n this.paddingLeft = undefined;\n this.paddingRight = undefined;\n this.axis = undefined;\n this.labelRotation = undefined;\n this.min = undefined;\n this.max = undefined;\n this._range = undefined;\n this.ticks = [];\n this._gridLineItems = null;\n this._labelItems = null;\n this._labelSizes = null;\n this._length = 0;\n this._maxLength = 0;\n this._longestTextCache = {};\n this._startPixel = undefined;\n this._endPixel = undefined;\n this._reversePixels = false;\n this._userMax = undefined;\n this._userMin = undefined;\n this._suggestedMax = undefined;\n this._suggestedMin = undefined;\n this._ticksLength = 0;\n this._borderValue = 0;\n this._cache = {};\n this._dataLimitsCached = false;\n this.$context = undefined;\n }\n init(options) {\n this.options = options.setContext(this.getContext());\n this.axis = options.axis;\n this._userMin = this.parse(options.min);\n this._userMax = this.parse(options.max);\n this._suggestedMin = this.parse(options.suggestedMin);\n this._suggestedMax = this.parse(options.suggestedMax);\n }\n parse(raw, index) {\n return raw;\n }\n getUserBounds() {\n let { _userMin , _userMax , _suggestedMin , _suggestedMax } = this;\n _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY);\n _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY);\n _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY);\n _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY);\n return {\n min: finiteOrDefault(_userMin, _suggestedMin),\n max: finiteOrDefault(_userMax, _suggestedMax),\n minDefined: isNumberFinite(_userMin),\n maxDefined: isNumberFinite(_userMax)\n };\n }\n getMinMax(canStack) {\n let { min , max , minDefined , maxDefined } = this.getUserBounds();\n let range;\n if (minDefined && maxDefined) {\n return {\n min,\n max\n };\n }\n const metas = this.getMatchingVisibleMetas();\n for(let i = 0, ilen = metas.length; i < ilen; ++i){\n range = metas[i].controller.getMinMax(this, canStack);\n if (!minDefined) {\n min = Math.min(min, range.min);\n }\n if (!maxDefined) {\n max = Math.max(max, range.max);\n }\n }\n min = maxDefined && min > max ? max : min;\n max = minDefined && min > max ? min : max;\n return {\n min: finiteOrDefault(min, finiteOrDefault(max, min)),\n max: finiteOrDefault(max, finiteOrDefault(min, max))\n };\n }\n getPadding() {\n return {\n left: this.paddingLeft || 0,\n top: this.paddingTop || 0,\n right: this.paddingRight || 0,\n bottom: this.paddingBottom || 0\n };\n }\n getTicks() {\n return this.ticks;\n }\n getLabels() {\n const data = this.chart.data;\n return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\n }\n getLabelItems(chartArea = this.chart.chartArea) {\n const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea));\n return items;\n }\n beforeLayout() {\n this._cache = {};\n this._dataLimitsCached = false;\n }\n beforeUpdate() {\n callback(this.options.beforeUpdate, [\n this\n ]);\n }\n update(maxWidth, maxHeight, margins) {\n const { beginAtZero , grace , ticks: tickOpts } = this.options;\n const sampleSize = tickOpts.sampleSize;\n this.beforeUpdate();\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins = Object.assign({\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }, margins);\n this.ticks = null;\n this._labelSizes = null;\n this._gridLineItems = null;\n this._labelItems = null;\n this.beforeSetDimensions();\n this.setDimensions();\n this.afterSetDimensions();\n this._maxLength = this.isHorizontal() ? this.width + margins.left + margins.right : this.height + margins.top + margins.bottom;\n if (!this._dataLimitsCached) {\n this.beforeDataLimits();\n this.determineDataLimits();\n this.afterDataLimits();\n this._range = _addGrace(this, grace, beginAtZero);\n this._dataLimitsCached = true;\n }\n this.beforeBuildTicks();\n this.ticks = this.buildTicks() || [];\n this.afterBuildTicks();\n const samplingEnabled = sampleSize < this.ticks.length;\n this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks);\n this.configure();\n this.beforeCalculateLabelRotation();\n this.calculateLabelRotation();\n this.afterCalculateLabelRotation();\n if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) {\n this.ticks = autoSkip(this, this.ticks);\n this._labelSizes = null;\n this.afterAutoSkip();\n }\n if (samplingEnabled) {\n this._convertTicksToLabels(this.ticks);\n }\n this.beforeFit();\n this.fit();\n this.afterFit();\n this.afterUpdate();\n }\n configure() {\n let reversePixels = this.options.reverse;\n let startPixel, endPixel;\n if (this.isHorizontal()) {\n startPixel = this.left;\n endPixel = this.right;\n } else {\n startPixel = this.top;\n endPixel = this.bottom;\n reversePixels = !reversePixels;\n }\n this._startPixel = startPixel;\n this._endPixel = endPixel;\n this._reversePixels = reversePixels;\n this._length = endPixel - startPixel;\n this._alignToPixels = this.options.alignToPixels;\n }\n afterUpdate() {\n callback(this.options.afterUpdate, [\n this\n ]);\n }\n beforeSetDimensions() {\n callback(this.options.beforeSetDimensions, [\n this\n ]);\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = 0;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = 0;\n this.bottom = this.height;\n }\n this.paddingLeft = 0;\n this.paddingTop = 0;\n this.paddingRight = 0;\n this.paddingBottom = 0;\n }\n afterSetDimensions() {\n callback(this.options.afterSetDimensions, [\n this\n ]);\n }\n _callHooks(name) {\n this.chart.notifyPlugins(name, this.getContext());\n callback(this.options[name], [\n this\n ]);\n }\n beforeDataLimits() {\n this._callHooks('beforeDataLimits');\n }\n determineDataLimits() {}\n afterDataLimits() {\n this._callHooks('afterDataLimits');\n }\n beforeBuildTicks() {\n this._callHooks('beforeBuildTicks');\n }\n buildTicks() {\n return [];\n }\n afterBuildTicks() {\n this._callHooks('afterBuildTicks');\n }\n beforeTickToLabelConversion() {\n callback(this.options.beforeTickToLabelConversion, [\n this\n ]);\n }\n generateTickLabels(ticks) {\n const tickOpts = this.options.ticks;\n let i, ilen, tick;\n for(i = 0, ilen = ticks.length; i < ilen; i++){\n tick = ticks[i];\n tick.label = callback(tickOpts.callback, [\n tick.value,\n i,\n ticks\n ], this);\n }\n }\n afterTickToLabelConversion() {\n callback(this.options.afterTickToLabelConversion, [\n this\n ]);\n }\n beforeCalculateLabelRotation() {\n callback(this.options.beforeCalculateLabelRotation, [\n this\n ]);\n }\n calculateLabelRotation() {\n const options = this.options;\n const tickOpts = options.ticks;\n const numTicks = getTicksLimit(this.ticks.length, options.ticks.maxTicksLimit);\n const minRotation = tickOpts.minRotation || 0;\n const maxRotation = tickOpts.maxRotation;\n let labelRotation = minRotation;\n let tickWidth, maxHeight, maxLabelDiagonal;\n if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) {\n this.labelRotation = minRotation;\n return;\n }\n const labelSizes = this._getLabelSizes();\n const maxLabelWidth = labelSizes.widest.width;\n const maxLabelHeight = labelSizes.highest.height;\n const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth);\n tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1);\n if (maxLabelWidth + 6 > tickWidth) {\n tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\n maxHeight = this.maxHeight - getTickMarkLength(options.grid) - tickOpts.padding - getTitleHeight(options.title, this.chart.options.font);\n maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\n labelRotation = toDegrees(Math.min(Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)), Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1))));\n labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\n }\n this.labelRotation = labelRotation;\n }\n afterCalculateLabelRotation() {\n callback(this.options.afterCalculateLabelRotation, [\n this\n ]);\n }\n afterAutoSkip() {}\n beforeFit() {\n callback(this.options.beforeFit, [\n this\n ]);\n }\n fit() {\n const minSize = {\n width: 0,\n height: 0\n };\n const { chart , options: { ticks: tickOpts , title: titleOpts , grid: gridOpts } } = this;\n const display = this._isVisible();\n const isHorizontal = this.isHorizontal();\n if (display) {\n const titleHeight = getTitleHeight(titleOpts, chart.options.font);\n if (isHorizontal) {\n minSize.width = this.maxWidth;\n minSize.height = getTickMarkLength(gridOpts) + titleHeight;\n } else {\n minSize.height = this.maxHeight;\n minSize.width = getTickMarkLength(gridOpts) + titleHeight;\n }\n if (tickOpts.display && this.ticks.length) {\n const { first , last , widest , highest } = this._getLabelSizes();\n const tickPadding = tickOpts.padding * 2;\n const angleRadians = toRadians(this.labelRotation);\n const cos = Math.cos(angleRadians);\n const sin = Math.sin(angleRadians);\n if (isHorizontal) {\n const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height;\n minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding);\n } else {\n const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height;\n minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding);\n }\n this._calculatePadding(first, last, sin, cos);\n }\n }\n this._handleMargins();\n if (isHorizontal) {\n this.width = this._length = chart.width - this._margins.left - this._margins.right;\n this.height = minSize.height;\n } else {\n this.width = minSize.width;\n this.height = this._length = chart.height - this._margins.top - this._margins.bottom;\n }\n }\n _calculatePadding(first, last, sin, cos) {\n const { ticks: { align , padding } , position } = this.options;\n const isRotated = this.labelRotation !== 0;\n const labelsBelowTicks = position !== 'top' && this.axis === 'x';\n if (this.isHorizontal()) {\n const offsetLeft = this.getPixelForTick(0) - this.left;\n const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1);\n let paddingLeft = 0;\n let paddingRight = 0;\n if (isRotated) {\n if (labelsBelowTicks) {\n paddingLeft = cos * first.width;\n paddingRight = sin * last.height;\n } else {\n paddingLeft = sin * first.height;\n paddingRight = cos * last.width;\n }\n } else if (align === 'start') {\n paddingRight = last.width;\n } else if (align === 'end') {\n paddingLeft = first.width;\n } else if (align !== 'inner') {\n paddingLeft = first.width / 2;\n paddingRight = last.width / 2;\n }\n this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0);\n this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0);\n } else {\n let paddingTop = last.height / 2;\n let paddingBottom = first.height / 2;\n if (align === 'start') {\n paddingTop = 0;\n paddingBottom = first.height;\n } else if (align === 'end') {\n paddingTop = last.height;\n paddingBottom = 0;\n }\n this.paddingTop = paddingTop + padding;\n this.paddingBottom = paddingBottom + padding;\n }\n }\n _handleMargins() {\n if (this._margins) {\n this._margins.left = Math.max(this.paddingLeft, this._margins.left);\n this._margins.top = Math.max(this.paddingTop, this._margins.top);\n this._margins.right = Math.max(this.paddingRight, this._margins.right);\n this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom);\n }\n }\n afterFit() {\n callback(this.options.afterFit, [\n this\n ]);\n }\n isHorizontal() {\n const { axis , position } = this.options;\n return position === 'top' || position === 'bottom' || axis === 'x';\n }\n isFullSize() {\n return this.options.fullSize;\n }\n _convertTicksToLabels(ticks) {\n this.beforeTickToLabelConversion();\n this.generateTickLabels(ticks);\n let i, ilen;\n for(i = 0, ilen = ticks.length; i < ilen; i++){\n if (isNullOrUndef(ticks[i].label)) {\n ticks.splice(i, 1);\n ilen--;\n i--;\n }\n }\n this.afterTickToLabelConversion();\n }\n _getLabelSizes() {\n let labelSizes = this._labelSizes;\n if (!labelSizes) {\n const sampleSize = this.options.ticks.sampleSize;\n let ticks = this.ticks;\n if (sampleSize < ticks.length) {\n ticks = sample(ticks, sampleSize);\n }\n this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length, this.options.ticks.maxTicksLimit);\n }\n return labelSizes;\n }\n _computeLabelSizes(ticks, length, maxTicksLimit) {\n const { ctx , _longestTextCache: caches } = this;\n const widths = [];\n const heights = [];\n const increment = Math.floor(length / getTicksLimit(length, maxTicksLimit));\n let widestLabelSize = 0;\n let highestLabelSize = 0;\n let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel;\n for(i = 0; i < length; i += increment){\n label = ticks[i].label;\n tickFont = this._resolveTickFontOptions(i);\n ctx.font = fontString = tickFont.string;\n cache = caches[fontString] = caches[fontString] || {\n data: {},\n gc: []\n };\n lineHeight = tickFont.lineHeight;\n width = height = 0;\n if (!isNullOrUndef(label) && !isArray(label)) {\n width = _measureText(ctx, cache.data, cache.gc, width, label);\n height = lineHeight;\n } else if (isArray(label)) {\n for(j = 0, jlen = label.length; j < jlen; ++j){\n nestedLabel = label[j];\n if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) {\n width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel);\n height += lineHeight;\n }\n }\n }\n widths.push(width);\n heights.push(height);\n widestLabelSize = Math.max(width, widestLabelSize);\n highestLabelSize = Math.max(height, highestLabelSize);\n }\n garbageCollect(caches, length);\n const widest = widths.indexOf(widestLabelSize);\n const highest = heights.indexOf(highestLabelSize);\n const valueAt = (idx)=>({\n width: widths[idx] || 0,\n height: heights[idx] || 0\n });\n return {\n first: valueAt(0),\n last: valueAt(length - 1),\n widest: valueAt(widest),\n highest: valueAt(highest),\n widths,\n heights\n };\n }\n getLabelForValue(value) {\n return value;\n }\n getPixelForValue(value, index) {\n return NaN;\n }\n getValueForPixel(pixel) {}\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getPixelForDecimal(decimal) {\n if (this._reversePixels) {\n decimal = 1 - decimal;\n }\n const pixel = this._startPixel + decimal * this._length;\n return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel);\n }\n getDecimalForPixel(pixel) {\n const decimal = (pixel - this._startPixel) / this._length;\n return this._reversePixels ? 1 - decimal : decimal;\n }\n getBasePixel() {\n return this.getPixelForValue(this.getBaseValue());\n }\n getBaseValue() {\n const { min , max } = this;\n return min < 0 && max < 0 ? max : min > 0 && max > 0 ? min : 0;\n }\n getContext(index) {\n const ticks = this.ticks || [];\n if (index >= 0 && index < ticks.length) {\n const tick = ticks[index];\n return tick.$context || (tick.$context = createTickContext(this.getContext(), index, tick));\n }\n return this.$context || (this.$context = createScaleContext(this.chart.getContext(), this));\n }\n _tickSize() {\n const optionTicks = this.options.ticks;\n const rot = toRadians(this.labelRotation);\n const cos = Math.abs(Math.cos(rot));\n const sin = Math.abs(Math.sin(rot));\n const labelSizes = this._getLabelSizes();\n const padding = optionTicks.autoSkipPadding || 0;\n const w = labelSizes ? labelSizes.widest.width + padding : 0;\n const h = labelSizes ? labelSizes.highest.height + padding : 0;\n return this.isHorizontal() ? h * cos > w * sin ? w / cos : h / sin : h * sin < w * cos ? h / cos : w / sin;\n }\n _isVisible() {\n const display = this.options.display;\n if (display !== 'auto') {\n return !!display;\n }\n return this.getMatchingVisibleMetas().length > 0;\n }\n _computeGridLineItems(chartArea) {\n const axis = this.axis;\n const chart = this.chart;\n const options = this.options;\n const { grid , position , border } = options;\n const offset = grid.offset;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const ticksLength = ticks.length + (offset ? 1 : 0);\n const tl = getTickMarkLength(grid);\n const items = [];\n const borderOpts = border.setContext(this.getContext());\n const axisWidth = borderOpts.display ? borderOpts.width : 0;\n const axisHalfWidth = axisWidth / 2;\n const alignBorderValue = function(pixel) {\n return _alignPixel(chart, pixel, axisWidth);\n };\n let borderValue, i, lineValue, alignedLineValue;\n let tx1, ty1, tx2, ty2, x1, y1, x2, y2;\n if (position === 'top') {\n borderValue = alignBorderValue(this.bottom);\n ty1 = this.bottom - tl;\n ty2 = borderValue - axisHalfWidth;\n y1 = alignBorderValue(chartArea.top) + axisHalfWidth;\n y2 = chartArea.bottom;\n } else if (position === 'bottom') {\n borderValue = alignBorderValue(this.top);\n y1 = chartArea.top;\n y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\n ty1 = borderValue + axisHalfWidth;\n ty2 = this.top + tl;\n } else if (position === 'left') {\n borderValue = alignBorderValue(this.right);\n tx1 = this.right - tl;\n tx2 = borderValue - axisHalfWidth;\n x1 = alignBorderValue(chartArea.left) + axisHalfWidth;\n x2 = chartArea.right;\n } else if (position === 'right') {\n borderValue = alignBorderValue(this.left);\n x1 = chartArea.left;\n x2 = alignBorderValue(chartArea.right) - axisHalfWidth;\n tx1 = borderValue + axisHalfWidth;\n tx2 = this.left + tl;\n } else if (axis === 'x') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n y1 = chartArea.top;\n y2 = chartArea.bottom;\n ty1 = borderValue + axisHalfWidth;\n ty2 = ty1 + tl;\n } else if (axis === 'y') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n tx1 = borderValue - axisHalfWidth;\n tx2 = tx1 - tl;\n x1 = chartArea.left;\n x2 = chartArea.right;\n }\n const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength);\n const step = Math.max(1, Math.ceil(ticksLength / limit));\n for(i = 0; i < ticksLength; i += step){\n const context = this.getContext(i);\n const optsAtIndex = grid.setContext(context);\n const optsAtIndexBorder = border.setContext(context);\n const lineWidth = optsAtIndex.lineWidth;\n const lineColor = optsAtIndex.color;\n const borderDash = optsAtIndexBorder.dash || [];\n const borderDashOffset = optsAtIndexBorder.dashOffset;\n const tickWidth = optsAtIndex.tickWidth;\n const tickColor = optsAtIndex.tickColor;\n const tickBorderDash = optsAtIndex.tickBorderDash || [];\n const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset;\n lineValue = getPixelForGridLine(this, i, offset);\n if (lineValue === undefined) {\n continue;\n }\n alignedLineValue = _alignPixel(chart, lineValue, lineWidth);\n if (isHorizontal) {\n tx1 = tx2 = x1 = x2 = alignedLineValue;\n } else {\n ty1 = ty2 = y1 = y2 = alignedLineValue;\n }\n items.push({\n tx1,\n ty1,\n tx2,\n ty2,\n x1,\n y1,\n x2,\n y2,\n width: lineWidth,\n color: lineColor,\n borderDash,\n borderDashOffset,\n tickWidth,\n tickColor,\n tickBorderDash,\n tickBorderDashOffset\n });\n }\n this._ticksLength = ticksLength;\n this._borderValue = borderValue;\n return items;\n }\n _computeLabelItems(chartArea) {\n const axis = this.axis;\n const options = this.options;\n const { position , ticks: optionTicks } = options;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const { align , crossAlign , padding , mirror } = optionTicks;\n const tl = getTickMarkLength(options.grid);\n const tickAndPadding = tl + padding;\n const hTickAndPadding = mirror ? -padding : tickAndPadding;\n const rotation = -toRadians(this.labelRotation);\n const items = [];\n let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\n let textBaseline = 'middle';\n if (position === 'top') {\n y = this.bottom - hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'bottom') {\n y = this.top + hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'left') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (position === 'right') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (axis === 'x') {\n if (position === 'center') {\n y = (chartArea.top + chartArea.bottom) / 2 + tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding;\n }\n textAlign = this._getXAxisLabelAlignment();\n } else if (axis === 'y') {\n if (position === 'center') {\n x = (chartArea.left + chartArea.right) / 2 - tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n x = this.chart.scales[positionAxisID].getPixelForValue(value);\n }\n textAlign = this._getYAxisLabelAlignment(tl).textAlign;\n }\n if (axis === 'y') {\n if (align === 'start') {\n textBaseline = 'top';\n } else if (align === 'end') {\n textBaseline = 'bottom';\n }\n }\n const labelSizes = this._getLabelSizes();\n for(i = 0, ilen = ticks.length; i < ilen; ++i){\n tick = ticks[i];\n label = tick.label;\n const optsAtIndex = optionTicks.setContext(this.getContext(i));\n pixel = this.getPixelForTick(i) + optionTicks.labelOffset;\n font = this._resolveTickFontOptions(i);\n lineHeight = font.lineHeight;\n lineCount = isArray(label) ? label.length : 1;\n const halfCount = lineCount / 2;\n const color = optsAtIndex.color;\n const strokeColor = optsAtIndex.textStrokeColor;\n const strokeWidth = optsAtIndex.textStrokeWidth;\n let tickTextAlign = textAlign;\n if (isHorizontal) {\n x = pixel;\n if (textAlign === 'inner') {\n if (i === ilen - 1) {\n tickTextAlign = !this.options.reverse ? 'right' : 'left';\n } else if (i === 0) {\n tickTextAlign = !this.options.reverse ? 'left' : 'right';\n } else {\n tickTextAlign = 'center';\n }\n }\n if (position === 'top') {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = -lineCount * lineHeight + lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight;\n } else {\n textOffset = -labelSizes.highest.height + lineHeight / 2;\n }\n } else {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight;\n } else {\n textOffset = labelSizes.highest.height - lineCount * lineHeight;\n }\n }\n if (mirror) {\n textOffset *= -1;\n }\n if (rotation !== 0 && !optsAtIndex.showLabelBackdrop) {\n x += lineHeight / 2 * Math.sin(rotation);\n }\n } else {\n y = pixel;\n textOffset = (1 - lineCount) * lineHeight / 2;\n }\n let backdrop;\n if (optsAtIndex.showLabelBackdrop) {\n const labelPadding = toPadding(optsAtIndex.backdropPadding);\n const height = labelSizes.heights[i];\n const width = labelSizes.widths[i];\n let top = textOffset - labelPadding.top;\n let left = 0 - labelPadding.left;\n switch(textBaseline){\n case 'middle':\n top -= height / 2;\n break;\n case 'bottom':\n top -= height;\n break;\n }\n switch(textAlign){\n case 'center':\n left -= width / 2;\n break;\n case 'right':\n left -= width;\n break;\n case 'inner':\n if (i === ilen - 1) {\n left -= width;\n } else if (i > 0) {\n left -= width / 2;\n }\n break;\n }\n backdrop = {\n left,\n top,\n width: width + labelPadding.width,\n height: height + labelPadding.height,\n color: optsAtIndex.backdropColor\n };\n }\n items.push({\n label,\n font,\n textOffset,\n options: {\n rotation,\n color,\n strokeColor,\n strokeWidth,\n textAlign: tickTextAlign,\n textBaseline,\n translation: [\n x,\n y\n ],\n backdrop\n }\n });\n }\n return items;\n }\n _getXAxisLabelAlignment() {\n const { position , ticks } = this.options;\n const rotation = -toRadians(this.labelRotation);\n if (rotation) {\n return position === 'top' ? 'left' : 'right';\n }\n let align = 'center';\n if (ticks.align === 'start') {\n align = 'left';\n } else if (ticks.align === 'end') {\n align = 'right';\n } else if (ticks.align === 'inner') {\n align = 'inner';\n }\n return align;\n }\n _getYAxisLabelAlignment(tl) {\n const { position , ticks: { crossAlign , mirror , padding } } = this.options;\n const labelSizes = this._getLabelSizes();\n const tickAndPadding = tl + padding;\n const widest = labelSizes.widest.width;\n let textAlign;\n let x;\n if (position === 'left') {\n if (mirror) {\n x = this.right + padding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += widest / 2;\n } else {\n textAlign = 'right';\n x += widest;\n }\n } else {\n x = this.right - tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= widest / 2;\n } else {\n textAlign = 'left';\n x = this.left;\n }\n }\n } else if (position === 'right') {\n if (mirror) {\n x = this.left + padding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= widest / 2;\n } else {\n textAlign = 'left';\n x -= widest;\n }\n } else {\n x = this.left + tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += widest / 2;\n } else {\n textAlign = 'right';\n x = this.right;\n }\n }\n } else {\n textAlign = 'right';\n }\n return {\n textAlign,\n x\n };\n }\n _computeLabelArea() {\n if (this.options.ticks.mirror) {\n return;\n }\n const chart = this.chart;\n const position = this.options.position;\n if (position === 'left' || position === 'right') {\n return {\n top: 0,\n left: this.left,\n bottom: chart.height,\n right: this.right\n };\n }\n if (position === 'top' || position === 'bottom') {\n return {\n top: this.top,\n left: 0,\n bottom: this.bottom,\n right: chart.width\n };\n }\n }\n drawBackground() {\n const { ctx , options: { backgroundColor } , left , top , width , height } = this;\n if (backgroundColor) {\n ctx.save();\n ctx.fillStyle = backgroundColor;\n ctx.fillRect(left, top, width, height);\n ctx.restore();\n }\n }\n getLineWidthForValue(value) {\n const grid = this.options.grid;\n if (!this._isVisible() || !grid.display) {\n return 0;\n }\n const ticks = this.ticks;\n const index = ticks.findIndex((t)=>t.value === value);\n if (index >= 0) {\n const opts = grid.setContext(this.getContext(index));\n return opts.lineWidth;\n }\n return 0;\n }\n drawGrid(chartArea) {\n const grid = this.options.grid;\n const ctx = this.ctx;\n const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea));\n let i, ilen;\n const drawLine = (p1, p2, style)=>{\n if (!style.width || !style.color) {\n return;\n }\n ctx.save();\n ctx.lineWidth = style.width;\n ctx.strokeStyle = style.color;\n ctx.setLineDash(style.borderDash || []);\n ctx.lineDashOffset = style.borderDashOffset;\n ctx.beginPath();\n ctx.moveTo(p1.x, p1.y);\n ctx.lineTo(p2.x, p2.y);\n ctx.stroke();\n ctx.restore();\n };\n if (grid.display) {\n for(i = 0, ilen = items.length; i < ilen; ++i){\n const item = items[i];\n if (grid.drawOnChartArea) {\n drawLine({\n x: item.x1,\n y: item.y1\n }, {\n x: item.x2,\n y: item.y2\n }, item);\n }\n if (grid.drawTicks) {\n drawLine({\n x: item.tx1,\n y: item.ty1\n }, {\n x: item.tx2,\n y: item.ty2\n }, {\n color: item.tickColor,\n width: item.tickWidth,\n borderDash: item.tickBorderDash,\n borderDashOffset: item.tickBorderDashOffset\n });\n }\n }\n }\n }\n drawBorder() {\n const { chart , ctx , options: { border , grid } } = this;\n const borderOpts = border.setContext(this.getContext());\n const axisWidth = border.display ? borderOpts.width : 0;\n if (!axisWidth) {\n return;\n }\n const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth;\n const borderValue = this._borderValue;\n let x1, x2, y1, y2;\n if (this.isHorizontal()) {\n x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2;\n x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2;\n y1 = y2 = borderValue;\n } else {\n y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2;\n y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2;\n x1 = x2 = borderValue;\n }\n ctx.save();\n ctx.lineWidth = borderOpts.width;\n ctx.strokeStyle = borderOpts.color;\n ctx.beginPath();\n ctx.moveTo(x1, y1);\n ctx.lineTo(x2, y2);\n ctx.stroke();\n ctx.restore();\n }\n drawLabels(chartArea) {\n const optionTicks = this.options.ticks;\n if (!optionTicks.display) {\n return;\n }\n const ctx = this.ctx;\n const area = this._computeLabelArea();\n if (area) {\n clipArea(ctx, area);\n }\n const items = this.getLabelItems(chartArea);\n for (const item of items){\n const renderTextOptions = item.options;\n const tickFont = item.font;\n const label = item.label;\n const y = item.textOffset;\n renderText(ctx, label, 0, y, tickFont, renderTextOptions);\n }\n if (area) {\n unclipArea(ctx);\n }\n }\n drawTitle() {\n const { ctx , options: { position , title , reverse } } = this;\n if (!title.display) {\n return;\n }\n const font = toFont(title.font);\n const padding = toPadding(title.padding);\n const align = title.align;\n let offset = font.lineHeight / 2;\n if (position === 'bottom' || position === 'center' || isObject(position)) {\n offset += padding.bottom;\n if (isArray(title.text)) {\n offset += font.lineHeight * (title.text.length - 1);\n }\n } else {\n offset += padding.top;\n }\n const { titleX , titleY , maxWidth , rotation } = titleArgs(this, offset, position, align);\n renderText(ctx, title.text, 0, 0, font, {\n color: title.color,\n maxWidth,\n rotation,\n textAlign: titleAlign(align, position, reverse),\n textBaseline: 'middle',\n translation: [\n titleX,\n titleY\n ]\n });\n }\n draw(chartArea) {\n if (!this._isVisible()) {\n return;\n }\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawBorder();\n this.drawTitle();\n this.drawLabels(chartArea);\n }\n _layers() {\n const opts = this.options;\n const tz = opts.ticks && opts.ticks.z || 0;\n const gz = valueOrDefault(opts.grid && opts.grid.z, -1);\n const bz = valueOrDefault(opts.border && opts.border.z, 0);\n if (!this._isVisible() || this.draw !== Scale.prototype.draw) {\n return [\n {\n z: tz,\n draw: (chartArea)=>{\n this.draw(chartArea);\n }\n }\n ];\n }\n return [\n {\n z: gz,\n draw: (chartArea)=>{\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawTitle();\n }\n },\n {\n z: bz,\n draw: ()=>{\n this.drawBorder();\n }\n },\n {\n z: tz,\n draw: (chartArea)=>{\n this.drawLabels(chartArea);\n }\n }\n ];\n }\n getMatchingVisibleMetas(type) {\n const metas = this.chart.getSortedVisibleDatasetMetas();\n const axisID = this.axis + 'AxisID';\n const result = [];\n let i, ilen;\n for(i = 0, ilen = metas.length; i < ilen; ++i){\n const meta = metas[i];\n if (meta[axisID] === this.id && (!type || meta.type === type)) {\n result.push(meta);\n }\n }\n return result;\n }\n _resolveTickFontOptions(index) {\n const opts = this.options.ticks.setContext(this.getContext(index));\n return toFont(opts.font);\n }\n _maxDigits() {\n const fontSize = this._resolveTickFontOptions(0).lineHeight;\n return (this.isHorizontal() ? this.width : this.height) / fontSize;\n }\n}\n\nclass TypedRegistry {\n constructor(type, scope, override){\n this.type = type;\n this.scope = scope;\n this.override = override;\n this.items = Object.create(null);\n }\n isForType(type) {\n return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype);\n }\n register(item) {\n const proto = Object.getPrototypeOf(item);\n let parentScope;\n if (isIChartComponent(proto)) {\n parentScope = this.register(proto);\n }\n const items = this.items;\n const id = item.id;\n const scope = this.scope + '.' + id;\n if (!id) {\n throw new Error('class does not have id: ' + item);\n }\n if (id in items) {\n return scope;\n }\n items[id] = item;\n registerDefaults(item, scope, parentScope);\n if (this.override) {\n defaults.override(item.id, item.overrides);\n }\n return scope;\n }\n get(id) {\n return this.items[id];\n }\n unregister(item) {\n const items = this.items;\n const id = item.id;\n const scope = this.scope;\n if (id in items) {\n delete items[id];\n }\n if (scope && id in defaults[scope]) {\n delete defaults[scope][id];\n if (this.override) {\n delete overrides[id];\n }\n }\n }\n}\nfunction registerDefaults(item, scope, parentScope) {\n const itemDefaults = merge(Object.create(null), [\n parentScope ? defaults.get(parentScope) : {},\n defaults.get(scope),\n item.defaults\n ]);\n defaults.set(scope, itemDefaults);\n if (item.defaultRoutes) {\n routeDefaults(scope, item.defaultRoutes);\n }\n if (item.descriptors) {\n defaults.describe(scope, item.descriptors);\n }\n}\nfunction routeDefaults(scope, routes) {\n Object.keys(routes).forEach((property)=>{\n const propertyParts = property.split('.');\n const sourceName = propertyParts.pop();\n const sourceScope = [\n scope\n ].concat(propertyParts).join('.');\n const parts = routes[property].split('.');\n const targetName = parts.pop();\n const targetScope = parts.join('.');\n defaults.route(sourceScope, sourceName, targetScope, targetName);\n });\n}\nfunction isIChartComponent(proto) {\n return 'id' in proto && 'defaults' in proto;\n}\n\nclass Registry {\n constructor(){\n this.controllers = new TypedRegistry(DatasetController, 'datasets', true);\n this.elements = new TypedRegistry(Element, 'elements');\n this.plugins = new TypedRegistry(Object, 'plugins');\n this.scales = new TypedRegistry(Scale, 'scales');\n this._typedRegistries = [\n this.controllers,\n this.scales,\n this.elements\n ];\n }\n add(...args) {\n this._each('register', args);\n }\n remove(...args) {\n this._each('unregister', args);\n }\n addControllers(...args) {\n this._each('register', args, this.controllers);\n }\n addElements(...args) {\n this._each('register', args, this.elements);\n }\n addPlugins(...args) {\n this._each('register', args, this.plugins);\n }\n addScales(...args) {\n this._each('register', args, this.scales);\n }\n getController(id) {\n return this._get(id, this.controllers, 'controller');\n }\n getElement(id) {\n return this._get(id, this.elements, 'element');\n }\n getPlugin(id) {\n return this._get(id, this.plugins, 'plugin');\n }\n getScale(id) {\n return this._get(id, this.scales, 'scale');\n }\n removeControllers(...args) {\n this._each('unregister', args, this.controllers);\n }\n removeElements(...args) {\n this._each('unregister', args, this.elements);\n }\n removePlugins(...args) {\n this._each('unregister', args, this.plugins);\n }\n removeScales(...args) {\n this._each('unregister', args, this.scales);\n }\n _each(method, args, typedRegistry) {\n [\n ...args\n ].forEach((arg)=>{\n const reg = typedRegistry || this._getRegistryForType(arg);\n if (typedRegistry || reg.isForType(arg) || reg === this.plugins && arg.id) {\n this._exec(method, reg, arg);\n } else {\n each(arg, (item)=>{\n const itemReg = typedRegistry || this._getRegistryForType(item);\n this._exec(method, itemReg, item);\n });\n }\n });\n }\n _exec(method, registry, component) {\n const camelMethod = _capitalize(method);\n callback(component['before' + camelMethod], [], component);\n registry[method](component);\n callback(component['after' + camelMethod], [], component);\n }\n _getRegistryForType(type) {\n for(let i = 0; i < this._typedRegistries.length; i++){\n const reg = this._typedRegistries[i];\n if (reg.isForType(type)) {\n return reg;\n }\n }\n return this.plugins;\n }\n _get(id, typedRegistry, type) {\n const item = typedRegistry.get(id);\n if (item === undefined) {\n throw new Error('\"' + id + '\" is not a registered ' + type + '.');\n }\n return item;\n }\n}\nvar registry = /* #__PURE__ */ new Registry();\n\nclass PluginService {\n constructor(){\n this._init = [];\n }\n notify(chart, hook, args, filter) {\n if (hook === 'beforeInit') {\n this._init = this._createDescriptors(chart, true);\n this._notify(this._init, chart, 'install');\n }\n const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart);\n const result = this._notify(descriptors, chart, hook, args);\n if (hook === 'afterDestroy') {\n this._notify(descriptors, chart, 'stop');\n this._notify(this._init, chart, 'uninstall');\n }\n return result;\n }\n _notify(descriptors, chart, hook, args) {\n args = args || {};\n for (const descriptor of descriptors){\n const plugin = descriptor.plugin;\n const method = plugin[hook];\n const params = [\n chart,\n args,\n descriptor.options\n ];\n if (callback(method, params, plugin) === false && args.cancelable) {\n return false;\n }\n }\n return true;\n }\n invalidate() {\n if (!isNullOrUndef(this._cache)) {\n this._oldCache = this._cache;\n this._cache = undefined;\n }\n }\n _descriptors(chart) {\n if (this._cache) {\n return this._cache;\n }\n const descriptors = this._cache = this._createDescriptors(chart);\n this._notifyStateChanges(chart);\n return descriptors;\n }\n _createDescriptors(chart, all) {\n const config = chart && chart.config;\n const options = valueOrDefault(config.options && config.options.plugins, {});\n const plugins = allPlugins(config);\n return options === false && !all ? [] : createDescriptors(chart, plugins, options, all);\n }\n _notifyStateChanges(chart) {\n const previousDescriptors = this._oldCache || [];\n const descriptors = this._cache;\n const diff = (a, b)=>a.filter((x)=>!b.some((y)=>x.plugin.id === y.plugin.id));\n this._notify(diff(previousDescriptors, descriptors), chart, 'stop');\n this._notify(diff(descriptors, previousDescriptors), chart, 'start');\n }\n}\n function allPlugins(config) {\n const localIds = {};\n const plugins = [];\n const keys = Object.keys(registry.plugins.items);\n for(let i = 0; i < keys.length; i++){\n plugins.push(registry.getPlugin(keys[i]));\n }\n const local = config.plugins || [];\n for(let i = 0; i < local.length; i++){\n const plugin = local[i];\n if (plugins.indexOf(plugin) === -1) {\n plugins.push(plugin);\n localIds[plugin.id] = true;\n }\n }\n return {\n plugins,\n localIds\n };\n}\nfunction getOpts(options, all) {\n if (!all && options === false) {\n return null;\n }\n if (options === true) {\n return {};\n }\n return options;\n}\nfunction createDescriptors(chart, { plugins , localIds }, options, all) {\n const result = [];\n const context = chart.getContext();\n for (const plugin of plugins){\n const id = plugin.id;\n const opts = getOpts(options[id], all);\n if (opts === null) {\n continue;\n }\n result.push({\n plugin,\n options: pluginOpts(chart.config, {\n plugin,\n local: localIds[id]\n }, opts, context)\n });\n }\n return result;\n}\nfunction pluginOpts(config, { plugin , local }, opts, context) {\n const keys = config.pluginScopeKeys(plugin);\n const scopes = config.getOptionScopes(opts, keys);\n if (local && plugin.defaults) {\n scopes.push(plugin.defaults);\n }\n return config.createResolver(scopes, context, [\n ''\n ], {\n scriptable: false,\n indexable: false,\n allKeys: true\n });\n}\n\nfunction getIndexAxis(type, options) {\n const datasetDefaults = defaults.datasets[type] || {};\n const datasetOptions = (options.datasets || {})[type] || {};\n return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x';\n}\nfunction getAxisFromDefaultScaleID(id, indexAxis) {\n let axis = id;\n if (id === '_index_') {\n axis = indexAxis;\n } else if (id === '_value_') {\n axis = indexAxis === 'x' ? 'y' : 'x';\n }\n return axis;\n}\nfunction getDefaultScaleIDFromAxis(axis, indexAxis) {\n return axis === indexAxis ? '_index_' : '_value_';\n}\nfunction idMatchesAxis(id) {\n if (id === 'x' || id === 'y' || id === 'r') {\n return id;\n }\n}\nfunction axisFromPosition(position) {\n if (position === 'top' || position === 'bottom') {\n return 'x';\n }\n if (position === 'left' || position === 'right') {\n return 'y';\n }\n}\nfunction determineAxis(id, ...scaleOptions) {\n if (idMatchesAxis(id)) {\n return id;\n }\n for (const opts of scaleOptions){\n const axis = opts.axis || axisFromPosition(opts.position) || id.length > 1 && idMatchesAxis(id[0].toLowerCase());\n if (axis) {\n return axis;\n }\n }\n throw new Error(`Cannot determine type of '${id}' axis. Please provide 'axis' or 'position' option.`);\n}\nfunction getAxisFromDataset(id, axis, dataset) {\n if (dataset[axis + 'AxisID'] === id) {\n return {\n axis\n };\n }\n}\nfunction retrieveAxisFromDatasets(id, config) {\n if (config.data && config.data.datasets) {\n const boundDs = config.data.datasets.filter((d)=>d.xAxisID === id || d.yAxisID === id);\n if (boundDs.length) {\n return getAxisFromDataset(id, 'x', boundDs[0]) || getAxisFromDataset(id, 'y', boundDs[0]);\n }\n }\n return {};\n}\nfunction mergeScaleConfig(config, options) {\n const chartDefaults = overrides[config.type] || {\n scales: {}\n };\n const configScales = options.scales || {};\n const chartIndexAxis = getIndexAxis(config.type, options);\n const scales = Object.create(null);\n Object.keys(configScales).forEach((id)=>{\n const scaleConf = configScales[id];\n if (!isObject(scaleConf)) {\n return console.error(`Invalid scale configuration for scale: ${id}`);\n }\n if (scaleConf._proxy) {\n return console.warn(`Ignoring resolver passed as options for scale: ${id}`);\n }\n const axis = determineAxis(id, scaleConf, retrieveAxisFromDatasets(id, config), defaults.scales[scaleConf.type]);\n const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis);\n const defaultScaleOptions = chartDefaults.scales || {};\n scales[id] = mergeIf(Object.create(null), [\n {\n axis\n },\n scaleConf,\n defaultScaleOptions[axis],\n defaultScaleOptions[defaultId]\n ]);\n });\n config.data.datasets.forEach((dataset)=>{\n const type = dataset.type || config.type;\n const indexAxis = dataset.indexAxis || getIndexAxis(type, options);\n const datasetDefaults = overrides[type] || {};\n const defaultScaleOptions = datasetDefaults.scales || {};\n Object.keys(defaultScaleOptions).forEach((defaultID)=>{\n const axis = getAxisFromDefaultScaleID(defaultID, indexAxis);\n const id = dataset[axis + 'AxisID'] || axis;\n scales[id] = scales[id] || Object.create(null);\n mergeIf(scales[id], [\n {\n axis\n },\n configScales[id],\n defaultScaleOptions[defaultID]\n ]);\n });\n });\n Object.keys(scales).forEach((key)=>{\n const scale = scales[key];\n mergeIf(scale, [\n defaults.scales[scale.type],\n defaults.scale\n ]);\n });\n return scales;\n}\nfunction initOptions(config) {\n const options = config.options || (config.options = {});\n options.plugins = valueOrDefault(options.plugins, {});\n options.scales = mergeScaleConfig(config, options);\n}\nfunction initData(data) {\n data = data || {};\n data.datasets = data.datasets || [];\n data.labels = data.labels || [];\n return data;\n}\nfunction initConfig(config) {\n config = config || {};\n config.data = initData(config.data);\n initOptions(config);\n return config;\n}\nconst keyCache = new Map();\nconst keysCached = new Set();\nfunction cachedKeys(cacheKey, generate) {\n let keys = keyCache.get(cacheKey);\n if (!keys) {\n keys = generate();\n keyCache.set(cacheKey, keys);\n keysCached.add(keys);\n }\n return keys;\n}\nconst addIfFound = (set, obj, key)=>{\n const opts = resolveObjectKey(obj, key);\n if (opts !== undefined) {\n set.add(opts);\n }\n};\nclass Config {\n constructor(config){\n this._config = initConfig(config);\n this._scopeCache = new Map();\n this._resolverCache = new Map();\n }\n get platform() {\n return this._config.platform;\n }\n get type() {\n return this._config.type;\n }\n set type(type) {\n this._config.type = type;\n }\n get data() {\n return this._config.data;\n }\n set data(data) {\n this._config.data = initData(data);\n }\n get options() {\n return this._config.options;\n }\n set options(options) {\n this._config.options = options;\n }\n get plugins() {\n return this._config.plugins;\n }\n update() {\n const config = this._config;\n this.clearCache();\n initOptions(config);\n }\n clearCache() {\n this._scopeCache.clear();\n this._resolverCache.clear();\n }\n datasetScopeKeys(datasetType) {\n return cachedKeys(datasetType, ()=>[\n [\n `datasets.${datasetType}`,\n ''\n ]\n ]);\n }\n datasetAnimationScopeKeys(datasetType, transition) {\n return cachedKeys(`${datasetType}.transition.${transition}`, ()=>[\n [\n `datasets.${datasetType}.transitions.${transition}`,\n `transitions.${transition}`\n ],\n [\n `datasets.${datasetType}`,\n ''\n ]\n ]);\n }\n datasetElementScopeKeys(datasetType, elementType) {\n return cachedKeys(`${datasetType}-${elementType}`, ()=>[\n [\n `datasets.${datasetType}.elements.${elementType}`,\n `datasets.${datasetType}`,\n `elements.${elementType}`,\n ''\n ]\n ]);\n }\n pluginScopeKeys(plugin) {\n const id = plugin.id;\n const type = this.type;\n return cachedKeys(`${type}-plugin-${id}`, ()=>[\n [\n `plugins.${id}`,\n ...plugin.additionalOptionScopes || []\n ]\n ]);\n }\n _cachedScopes(mainScope, resetCache) {\n const _scopeCache = this._scopeCache;\n let cache = _scopeCache.get(mainScope);\n if (!cache || resetCache) {\n cache = new Map();\n _scopeCache.set(mainScope, cache);\n }\n return cache;\n }\n getOptionScopes(mainScope, keyLists, resetCache) {\n const { options , type } = this;\n const cache = this._cachedScopes(mainScope, resetCache);\n const cached = cache.get(keyLists);\n if (cached) {\n return cached;\n }\n const scopes = new Set();\n keyLists.forEach((keys)=>{\n if (mainScope) {\n scopes.add(mainScope);\n keys.forEach((key)=>addIfFound(scopes, mainScope, key));\n }\n keys.forEach((key)=>addIfFound(scopes, options, key));\n keys.forEach((key)=>addIfFound(scopes, overrides[type] || {}, key));\n keys.forEach((key)=>addIfFound(scopes, defaults, key));\n keys.forEach((key)=>addIfFound(scopes, descriptors, key));\n });\n const array = Array.from(scopes);\n if (array.length === 0) {\n array.push(Object.create(null));\n }\n if (keysCached.has(keyLists)) {\n cache.set(keyLists, array);\n }\n return array;\n }\n chartOptionScopes() {\n const { options , type } = this;\n return [\n options,\n overrides[type] || {},\n defaults.datasets[type] || {},\n {\n type\n },\n defaults,\n descriptors\n ];\n }\n resolveNamedOptions(scopes, names, context, prefixes = [\n ''\n ]) {\n const result = {\n $shared: true\n };\n const { resolver , subPrefixes } = getResolver(this._resolverCache, scopes, prefixes);\n let options = resolver;\n if (needContext(resolver, names)) {\n result.$shared = false;\n context = isFunction(context) ? context() : context;\n const subResolver = this.createResolver(scopes, context, subPrefixes);\n options = _attachContext(resolver, context, subResolver);\n }\n for (const prop of names){\n result[prop] = options[prop];\n }\n return result;\n }\n createResolver(scopes, context, prefixes = [\n ''\n ], descriptorDefaults) {\n const { resolver } = getResolver(this._resolverCache, scopes, prefixes);\n return isObject(context) ? _attachContext(resolver, context, undefined, descriptorDefaults) : resolver;\n }\n}\nfunction getResolver(resolverCache, scopes, prefixes) {\n let cache = resolverCache.get(scopes);\n if (!cache) {\n cache = new Map();\n resolverCache.set(scopes, cache);\n }\n const cacheKey = prefixes.join();\n let cached = cache.get(cacheKey);\n if (!cached) {\n const resolver = _createResolver(scopes, prefixes);\n cached = {\n resolver,\n subPrefixes: prefixes.filter((p)=>!p.toLowerCase().includes('hover'))\n };\n cache.set(cacheKey, cached);\n }\n return cached;\n}\nconst hasFunction = (value)=>isObject(value) && Object.getOwnPropertyNames(value).some((key)=>isFunction(value[key]));\nfunction needContext(proxy, names) {\n const { isScriptable , isIndexable } = _descriptors(proxy);\n for (const prop of names){\n const scriptable = isScriptable(prop);\n const indexable = isIndexable(prop);\n const value = (indexable || scriptable) && proxy[prop];\n if (scriptable && (isFunction(value) || hasFunction(value)) || indexable && isArray(value)) {\n return true;\n }\n }\n return false;\n}\n\nvar version = \"4.4.7\";\n\nconst KNOWN_POSITIONS = [\n 'top',\n 'bottom',\n 'left',\n 'right',\n 'chartArea'\n];\nfunction positionIsHorizontal(position, axis) {\n return position === 'top' || position === 'bottom' || KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x';\n}\nfunction compare2Level(l1, l2) {\n return function(a, b) {\n return a[l1] === b[l1] ? a[l2] - b[l2] : a[l1] - b[l1];\n };\n}\nfunction onAnimationsComplete(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n chart.notifyPlugins('afterRender');\n callback(animationOptions && animationOptions.onComplete, [\n context\n ], chart);\n}\nfunction onAnimationProgress(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n callback(animationOptions && animationOptions.onProgress, [\n context\n ], chart);\n}\n function getCanvas(item) {\n if (_isDomSupported() && typeof item === 'string') {\n item = document.getElementById(item);\n } else if (item && item.length) {\n item = item[0];\n }\n if (item && item.canvas) {\n item = item.canvas;\n }\n return item;\n}\nconst instances = {};\nconst getChart = (key)=>{\n const canvas = getCanvas(key);\n return Object.values(instances).filter((c)=>c.canvas === canvas).pop();\n};\nfunction moveNumericKeys(obj, start, move) {\n const keys = Object.keys(obj);\n for (const key of keys){\n const intKey = +key;\n if (intKey >= start) {\n const value = obj[key];\n delete obj[key];\n if (move > 0 || intKey > start) {\n obj[intKey + move] = value;\n }\n }\n }\n}\n function determineLastEvent(e, lastEvent, inChartArea, isClick) {\n if (!inChartArea || e.type === 'mouseout') {\n return null;\n }\n if (isClick) {\n return lastEvent;\n }\n return e;\n}\nfunction getSizeForArea(scale, chartArea, field) {\n return scale.options.clip ? scale[field] : chartArea[field];\n}\nfunction getDatasetArea(meta, chartArea) {\n const { xScale , yScale } = meta;\n if (xScale && yScale) {\n return {\n left: getSizeForArea(xScale, chartArea, 'left'),\n right: getSizeForArea(xScale, chartArea, 'right'),\n top: getSizeForArea(yScale, chartArea, 'top'),\n bottom: getSizeForArea(yScale, chartArea, 'bottom')\n };\n }\n return chartArea;\n}\nclass Chart {\n static defaults = defaults;\n static instances = instances;\n static overrides = overrides;\n static registry = registry;\n static version = version;\n static getChart = getChart;\n static register(...items) {\n registry.add(...items);\n invalidatePlugins();\n }\n static unregister(...items) {\n registry.remove(...items);\n invalidatePlugins();\n }\n constructor(item, userConfig){\n const config = this.config = new Config(userConfig);\n const initialCanvas = getCanvas(item);\n const existingChart = getChart(initialCanvas);\n if (existingChart) {\n throw new Error('Canvas is already in use. Chart with ID \\'' + existingChart.id + '\\'' + ' must be destroyed before the canvas with ID \\'' + existingChart.canvas.id + '\\' can be reused.');\n }\n const options = config.createResolver(config.chartOptionScopes(), this.getContext());\n this.platform = new (config.platform || _detectPlatform(initialCanvas))();\n this.platform.updateConfig(config);\n const context = this.platform.acquireContext(initialCanvas, options.aspectRatio);\n const canvas = context && context.canvas;\n const height = canvas && canvas.height;\n const width = canvas && canvas.width;\n this.id = uid();\n this.ctx = context;\n this.canvas = canvas;\n this.width = width;\n this.height = height;\n this._options = options;\n this._aspectRatio = this.aspectRatio;\n this._layers = [];\n this._metasets = [];\n this._stacks = undefined;\n this.boxes = [];\n this.currentDevicePixelRatio = undefined;\n this.chartArea = undefined;\n this._active = [];\n this._lastEvent = undefined;\n this._listeners = {};\n this._responsiveListeners = undefined;\n this._sortedMetasets = [];\n this.scales = {};\n this._plugins = new PluginService();\n this.$proxies = {};\n this._hiddenIndices = {};\n this.attached = false;\n this._animationsDisabled = undefined;\n this.$context = undefined;\n this._doResize = debounce((mode)=>this.update(mode), options.resizeDelay || 0);\n this._dataChanges = [];\n instances[this.id] = this;\n if (!context || !canvas) {\n console.error(\"Failed to create chart: can't acquire context from the given item\");\n return;\n }\n animator.listen(this, 'complete', onAnimationsComplete);\n animator.listen(this, 'progress', onAnimationProgress);\n this._initialize();\n if (this.attached) {\n this.update();\n }\n }\n get aspectRatio() {\n const { options: { aspectRatio , maintainAspectRatio } , width , height , _aspectRatio } = this;\n if (!isNullOrUndef(aspectRatio)) {\n return aspectRatio;\n }\n if (maintainAspectRatio && _aspectRatio) {\n return _aspectRatio;\n }\n return height ? width / height : null;\n }\n get data() {\n return this.config.data;\n }\n set data(data) {\n this.config.data = data;\n }\n get options() {\n return this._options;\n }\n set options(options) {\n this.config.options = options;\n }\n get registry() {\n return registry;\n }\n _initialize() {\n this.notifyPlugins('beforeInit');\n if (this.options.responsive) {\n this.resize();\n } else {\n retinaScale(this, this.options.devicePixelRatio);\n }\n this.bindEvents();\n this.notifyPlugins('afterInit');\n return this;\n }\n clear() {\n clearCanvas(this.canvas, this.ctx);\n return this;\n }\n stop() {\n animator.stop(this);\n return this;\n }\n resize(width, height) {\n if (!animator.running(this)) {\n this._resize(width, height);\n } else {\n this._resizeBeforeDraw = {\n width,\n height\n };\n }\n }\n _resize(width, height) {\n const options = this.options;\n const canvas = this.canvas;\n const aspectRatio = options.maintainAspectRatio && this.aspectRatio;\n const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio);\n const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio();\n const mode = this.width ? 'resize' : 'attach';\n this.width = newSize.width;\n this.height = newSize.height;\n this._aspectRatio = this.aspectRatio;\n if (!retinaScale(this, newRatio, true)) {\n return;\n }\n this.notifyPlugins('resize', {\n size: newSize\n });\n callback(options.onResize, [\n this,\n newSize\n ], this);\n if (this.attached) {\n if (this._doResize(mode)) {\n this.render();\n }\n }\n }\n ensureScalesHaveIDs() {\n const options = this.options;\n const scalesOptions = options.scales || {};\n each(scalesOptions, (axisOptions, axisID)=>{\n axisOptions.id = axisID;\n });\n }\n buildOrUpdateScales() {\n const options = this.options;\n const scaleOpts = options.scales;\n const scales = this.scales;\n const updated = Object.keys(scales).reduce((obj, id)=>{\n obj[id] = false;\n return obj;\n }, {});\n let items = [];\n if (scaleOpts) {\n items = items.concat(Object.keys(scaleOpts).map((id)=>{\n const scaleOptions = scaleOpts[id];\n const axis = determineAxis(id, scaleOptions);\n const isRadial = axis === 'r';\n const isHorizontal = axis === 'x';\n return {\n options: scaleOptions,\n dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left',\n dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear'\n };\n }));\n }\n each(items, (item)=>{\n const scaleOptions = item.options;\n const id = scaleOptions.id;\n const axis = determineAxis(id, scaleOptions);\n const scaleType = valueOrDefault(scaleOptions.type, item.dtype);\n if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) {\n scaleOptions.position = item.dposition;\n }\n updated[id] = true;\n let scale = null;\n if (id in scales && scales[id].type === scaleType) {\n scale = scales[id];\n } else {\n const scaleClass = registry.getScale(scaleType);\n scale = new scaleClass({\n id,\n type: scaleType,\n ctx: this.ctx,\n chart: this\n });\n scales[scale.id] = scale;\n }\n scale.init(scaleOptions, options);\n });\n each(updated, (hasUpdated, id)=>{\n if (!hasUpdated) {\n delete scales[id];\n }\n });\n each(scales, (scale)=>{\n layouts.configure(this, scale, scale.options);\n layouts.addBox(this, scale);\n });\n }\n _updateMetasets() {\n const metasets = this._metasets;\n const numData = this.data.datasets.length;\n const numMeta = metasets.length;\n metasets.sort((a, b)=>a.index - b.index);\n if (numMeta > numData) {\n for(let i = numData; i < numMeta; ++i){\n this._destroyDatasetMeta(i);\n }\n metasets.splice(numData, numMeta - numData);\n }\n this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index'));\n }\n _removeUnreferencedMetasets() {\n const { _metasets: metasets , data: { datasets } } = this;\n if (metasets.length > datasets.length) {\n delete this._stacks;\n }\n metasets.forEach((meta, index)=>{\n if (datasets.filter((x)=>x === meta._dataset).length === 0) {\n this._destroyDatasetMeta(index);\n }\n });\n }\n buildOrUpdateControllers() {\n const newControllers = [];\n const datasets = this.data.datasets;\n let i, ilen;\n this._removeUnreferencedMetasets();\n for(i = 0, ilen = datasets.length; i < ilen; i++){\n const dataset = datasets[i];\n let meta = this.getDatasetMeta(i);\n const type = dataset.type || this.config.type;\n if (meta.type && meta.type !== type) {\n this._destroyDatasetMeta(i);\n meta = this.getDatasetMeta(i);\n }\n meta.type = type;\n meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options);\n meta.order = dataset.order || 0;\n meta.index = i;\n meta.label = '' + dataset.label;\n meta.visible = this.isDatasetVisible(i);\n if (meta.controller) {\n meta.controller.updateIndex(i);\n meta.controller.linkScales();\n } else {\n const ControllerClass = registry.getController(type);\n const { datasetElementType , dataElementType } = defaults.datasets[type];\n Object.assign(ControllerClass, {\n dataElementType: registry.getElement(dataElementType),\n datasetElementType: datasetElementType && registry.getElement(datasetElementType)\n });\n meta.controller = new ControllerClass(this, i);\n newControllers.push(meta.controller);\n }\n }\n this._updateMetasets();\n return newControllers;\n }\n _resetElements() {\n each(this.data.datasets, (dataset, datasetIndex)=>{\n this.getDatasetMeta(datasetIndex).controller.reset();\n }, this);\n }\n reset() {\n this._resetElements();\n this.notifyPlugins('reset');\n }\n update(mode) {\n const config = this.config;\n config.update();\n const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext());\n const animsDisabled = this._animationsDisabled = !options.animation;\n this._updateScales();\n this._checkEventBindings();\n this._updateHiddenIndices();\n this._plugins.invalidate();\n if (this.notifyPlugins('beforeUpdate', {\n mode,\n cancelable: true\n }) === false) {\n return;\n }\n const newControllers = this.buildOrUpdateControllers();\n this.notifyPlugins('beforeElementsUpdate');\n let minPadding = 0;\n for(let i = 0, ilen = this.data.datasets.length; i < ilen; i++){\n const { controller } = this.getDatasetMeta(i);\n const reset = !animsDisabled && newControllers.indexOf(controller) === -1;\n controller.buildOrUpdateElements(reset);\n minPadding = Math.max(+controller.getMaxOverflow(), minPadding);\n }\n minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0;\n this._updateLayout(minPadding);\n if (!animsDisabled) {\n each(newControllers, (controller)=>{\n controller.reset();\n });\n }\n this._updateDatasets(mode);\n this.notifyPlugins('afterUpdate', {\n mode\n });\n this._layers.sort(compare2Level('z', '_idx'));\n const { _active , _lastEvent } = this;\n if (_lastEvent) {\n this._eventHandler(_lastEvent, true);\n } else if (_active.length) {\n this._updateHoverStyles(_active, _active, true);\n }\n this.render();\n }\n _updateScales() {\n each(this.scales, (scale)=>{\n layouts.removeBox(this, scale);\n });\n this.ensureScalesHaveIDs();\n this.buildOrUpdateScales();\n }\n _checkEventBindings() {\n const options = this.options;\n const existingEvents = new Set(Object.keys(this._listeners));\n const newEvents = new Set(options.events);\n if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) {\n this.unbindEvents();\n this.bindEvents();\n }\n }\n _updateHiddenIndices() {\n const { _hiddenIndices } = this;\n const changes = this._getUniformDataChanges() || [];\n for (const { method , start , count } of changes){\n const move = method === '_removeElements' ? -count : count;\n moveNumericKeys(_hiddenIndices, start, move);\n }\n }\n _getUniformDataChanges() {\n const _dataChanges = this._dataChanges;\n if (!_dataChanges || !_dataChanges.length) {\n return;\n }\n this._dataChanges = [];\n const datasetCount = this.data.datasets.length;\n const makeSet = (idx)=>new Set(_dataChanges.filter((c)=>c[0] === idx).map((c, i)=>i + ',' + c.splice(1).join(',')));\n const changeSet = makeSet(0);\n for(let i = 1; i < datasetCount; i++){\n if (!setsEqual(changeSet, makeSet(i))) {\n return;\n }\n }\n return Array.from(changeSet).map((c)=>c.split(',')).map((a)=>({\n method: a[1],\n start: +a[2],\n count: +a[3]\n }));\n }\n _updateLayout(minPadding) {\n if (this.notifyPlugins('beforeLayout', {\n cancelable: true\n }) === false) {\n return;\n }\n layouts.update(this, this.width, this.height, minPadding);\n const area = this.chartArea;\n const noArea = area.width <= 0 || area.height <= 0;\n this._layers = [];\n each(this.boxes, (box)=>{\n if (noArea && box.position === 'chartArea') {\n return;\n }\n if (box.configure) {\n box.configure();\n }\n this._layers.push(...box._layers());\n }, this);\n this._layers.forEach((item, index)=>{\n item._idx = index;\n });\n this.notifyPlugins('afterLayout');\n }\n _updateDatasets(mode) {\n if (this.notifyPlugins('beforeDatasetsUpdate', {\n mode,\n cancelable: true\n }) === false) {\n return;\n }\n for(let i = 0, ilen = this.data.datasets.length; i < ilen; ++i){\n this.getDatasetMeta(i).controller.configure();\n }\n for(let i = 0, ilen = this.data.datasets.length; i < ilen; ++i){\n this._updateDataset(i, isFunction(mode) ? mode({\n datasetIndex: i\n }) : mode);\n }\n this.notifyPlugins('afterDatasetsUpdate', {\n mode\n });\n }\n _updateDataset(index, mode) {\n const meta = this.getDatasetMeta(index);\n const args = {\n meta,\n index,\n mode,\n cancelable: true\n };\n if (this.notifyPlugins('beforeDatasetUpdate', args) === false) {\n return;\n }\n meta.controller._update(mode);\n args.cancelable = false;\n this.notifyPlugins('afterDatasetUpdate', args);\n }\n render() {\n if (this.notifyPlugins('beforeRender', {\n cancelable: true\n }) === false) {\n return;\n }\n if (animator.has(this)) {\n if (this.attached && !animator.running(this)) {\n animator.start(this);\n }\n } else {\n this.draw();\n onAnimationsComplete({\n chart: this\n });\n }\n }\n draw() {\n let i;\n if (this._resizeBeforeDraw) {\n const { width , height } = this._resizeBeforeDraw;\n this._resizeBeforeDraw = null;\n this._resize(width, height);\n }\n this.clear();\n if (this.width <= 0 || this.height <= 0) {\n return;\n }\n if (this.notifyPlugins('beforeDraw', {\n cancelable: true\n }) === false) {\n return;\n }\n const layers = this._layers;\n for(i = 0; i < layers.length && layers[i].z <= 0; ++i){\n layers[i].draw(this.chartArea);\n }\n this._drawDatasets();\n for(; i < layers.length; ++i){\n layers[i].draw(this.chartArea);\n }\n this.notifyPlugins('afterDraw');\n }\n _getSortedDatasetMetas(filterVisible) {\n const metasets = this._sortedMetasets;\n const result = [];\n let i, ilen;\n for(i = 0, ilen = metasets.length; i < ilen; ++i){\n const meta = metasets[i];\n if (!filterVisible || meta.visible) {\n result.push(meta);\n }\n }\n return result;\n }\n getSortedVisibleDatasetMetas() {\n return this._getSortedDatasetMetas(true);\n }\n _drawDatasets() {\n if (this.notifyPlugins('beforeDatasetsDraw', {\n cancelable: true\n }) === false) {\n return;\n }\n const metasets = this.getSortedVisibleDatasetMetas();\n for(let i = metasets.length - 1; i >= 0; --i){\n this._drawDataset(metasets[i]);\n }\n this.notifyPlugins('afterDatasetsDraw');\n }\n _drawDataset(meta) {\n const ctx = this.ctx;\n const clip = meta._clip;\n const useClip = !clip.disabled;\n const area = getDatasetArea(meta, this.chartArea);\n const args = {\n meta,\n index: meta.index,\n cancelable: true\n };\n if (this.notifyPlugins('beforeDatasetDraw', args) === false) {\n return;\n }\n if (useClip) {\n clipArea(ctx, {\n left: clip.left === false ? 0 : area.left - clip.left,\n right: clip.right === false ? this.width : area.right + clip.right,\n top: clip.top === false ? 0 : area.top - clip.top,\n bottom: clip.bottom === false ? this.height : area.bottom + clip.bottom\n });\n }\n meta.controller.draw();\n if (useClip) {\n unclipArea(ctx);\n }\n args.cancelable = false;\n this.notifyPlugins('afterDatasetDraw', args);\n }\n isPointInArea(point) {\n return _isPointInArea(point, this.chartArea, this._minPadding);\n }\n getElementsAtEventForMode(e, mode, options, useFinalPosition) {\n const method = Interaction.modes[mode];\n if (typeof method === 'function') {\n return method(this, e, options, useFinalPosition);\n }\n return [];\n }\n getDatasetMeta(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n const metasets = this._metasets;\n let meta = metasets.filter((x)=>x && x._dataset === dataset).pop();\n if (!meta) {\n meta = {\n type: null,\n data: [],\n dataset: null,\n controller: null,\n hidden: null,\n xAxisID: null,\n yAxisID: null,\n order: dataset && dataset.order || 0,\n index: datasetIndex,\n _dataset: dataset,\n _parsed: [],\n _sorted: false\n };\n metasets.push(meta);\n }\n return meta;\n }\n getContext() {\n return this.$context || (this.$context = createContext(null, {\n chart: this,\n type: 'chart'\n }));\n }\n getVisibleDatasetCount() {\n return this.getSortedVisibleDatasetMetas().length;\n }\n isDatasetVisible(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n if (!dataset) {\n return false;\n }\n const meta = this.getDatasetMeta(datasetIndex);\n return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden;\n }\n setDatasetVisibility(datasetIndex, visible) {\n const meta = this.getDatasetMeta(datasetIndex);\n meta.hidden = !visible;\n }\n toggleDataVisibility(index) {\n this._hiddenIndices[index] = !this._hiddenIndices[index];\n }\n getDataVisibility(index) {\n return !this._hiddenIndices[index];\n }\n _updateVisibility(datasetIndex, dataIndex, visible) {\n const mode = visible ? 'show' : 'hide';\n const meta = this.getDatasetMeta(datasetIndex);\n const anims = meta.controller._resolveAnimations(undefined, mode);\n if (defined(dataIndex)) {\n meta.data[dataIndex].hidden = !visible;\n this.update();\n } else {\n this.setDatasetVisibility(datasetIndex, visible);\n anims.update(meta, {\n visible\n });\n this.update((ctx)=>ctx.datasetIndex === datasetIndex ? mode : undefined);\n }\n }\n hide(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, false);\n }\n show(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, true);\n }\n _destroyDatasetMeta(datasetIndex) {\n const meta = this._metasets[datasetIndex];\n if (meta && meta.controller) {\n meta.controller._destroy();\n }\n delete this._metasets[datasetIndex];\n }\n _stop() {\n let i, ilen;\n this.stop();\n animator.remove(this);\n for(i = 0, ilen = this.data.datasets.length; i < ilen; ++i){\n this._destroyDatasetMeta(i);\n }\n }\n destroy() {\n this.notifyPlugins('beforeDestroy');\n const { canvas , ctx } = this;\n this._stop();\n this.config.clearCache();\n if (canvas) {\n this.unbindEvents();\n clearCanvas(canvas, ctx);\n this.platform.releaseContext(ctx);\n this.canvas = null;\n this.ctx = null;\n }\n delete instances[this.id];\n this.notifyPlugins('afterDestroy');\n }\n toBase64Image(...args) {\n return this.canvas.toDataURL(...args);\n }\n bindEvents() {\n this.bindUserEvents();\n if (this.options.responsive) {\n this.bindResponsiveEvents();\n } else {\n this.attached = true;\n }\n }\n bindUserEvents() {\n const listeners = this._listeners;\n const platform = this.platform;\n const _add = (type, listener)=>{\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const listener = (e, x, y)=>{\n e.offsetX = x;\n e.offsetY = y;\n this._eventHandler(e);\n };\n each(this.options.events, (type)=>_add(type, listener));\n }\n bindResponsiveEvents() {\n if (!this._responsiveListeners) {\n this._responsiveListeners = {};\n }\n const listeners = this._responsiveListeners;\n const platform = this.platform;\n const _add = (type, listener)=>{\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const _remove = (type, listener)=>{\n if (listeners[type]) {\n platform.removeEventListener(this, type, listener);\n delete listeners[type];\n }\n };\n const listener = (width, height)=>{\n if (this.canvas) {\n this.resize(width, height);\n }\n };\n let detached;\n const attached = ()=>{\n _remove('attach', attached);\n this.attached = true;\n this.resize();\n _add('resize', listener);\n _add('detach', detached);\n };\n detached = ()=>{\n this.attached = false;\n _remove('resize', listener);\n this._stop();\n this._resize(0, 0);\n _add('attach', attached);\n };\n if (platform.isAttached(this.canvas)) {\n attached();\n } else {\n detached();\n }\n }\n unbindEvents() {\n each(this._listeners, (listener, type)=>{\n this.platform.removeEventListener(this, type, listener);\n });\n this._listeners = {};\n each(this._responsiveListeners, (listener, type)=>{\n this.platform.removeEventListener(this, type, listener);\n });\n this._responsiveListeners = undefined;\n }\n updateHoverStyle(items, mode, enabled) {\n const prefix = enabled ? 'set' : 'remove';\n let meta, item, i, ilen;\n if (mode === 'dataset') {\n meta = this.getDatasetMeta(items[0].datasetIndex);\n meta.controller['_' + prefix + 'DatasetHoverStyle']();\n }\n for(i = 0, ilen = items.length; i < ilen; ++i){\n item = items[i];\n const controller = item && this.getDatasetMeta(item.datasetIndex).controller;\n if (controller) {\n controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index);\n }\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements) {\n const lastActive = this._active || [];\n const active = activeElements.map(({ datasetIndex , index })=>{\n const meta = this.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('No dataset found at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index\n };\n });\n const changed = !_elementsEqual(active, lastActive);\n if (changed) {\n this._active = active;\n this._lastEvent = null;\n this._updateHoverStyles(active, lastActive);\n }\n }\n notifyPlugins(hook, args, filter) {\n return this._plugins.notify(this, hook, args, filter);\n }\n isPluginEnabled(pluginId) {\n return this._plugins._cache.filter((p)=>p.plugin.id === pluginId).length === 1;\n }\n _updateHoverStyles(active, lastActive, replay) {\n const hoverOptions = this.options.hover;\n const diff = (a, b)=>a.filter((x)=>!b.some((y)=>x.datasetIndex === y.datasetIndex && x.index === y.index));\n const deactivated = diff(lastActive, active);\n const activated = replay ? active : diff(active, lastActive);\n if (deactivated.length) {\n this.updateHoverStyle(deactivated, hoverOptions.mode, false);\n }\n if (activated.length && hoverOptions.mode) {\n this.updateHoverStyle(activated, hoverOptions.mode, true);\n }\n }\n _eventHandler(e, replay) {\n const args = {\n event: e,\n replay,\n cancelable: true,\n inChartArea: this.isPointInArea(e)\n };\n const eventFilter = (plugin)=>(plugin.options.events || this.options.events).includes(e.native.type);\n if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) {\n return;\n }\n const changed = this._handleEvent(e, replay, args.inChartArea);\n args.cancelable = false;\n this.notifyPlugins('afterEvent', args, eventFilter);\n if (changed || args.changed) {\n this.render();\n }\n return this;\n }\n _handleEvent(e, replay, inChartArea) {\n const { _active: lastActive = [] , options } = this;\n const useFinalPosition = replay;\n const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition);\n const isClick = _isClickEvent(e);\n const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick);\n if (inChartArea) {\n this._lastEvent = null;\n callback(options.onHover, [\n e,\n active,\n this\n ], this);\n if (isClick) {\n callback(options.onClick, [\n e,\n active,\n this\n ], this);\n }\n }\n const changed = !_elementsEqual(active, lastActive);\n if (changed || replay) {\n this._active = active;\n this._updateHoverStyles(active, lastActive, replay);\n }\n this._lastEvent = lastEvent;\n return changed;\n }\n _getActiveElements(e, lastActive, inChartArea, useFinalPosition) {\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const hoverOptions = this.options.hover;\n return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition);\n }\n}\nfunction invalidatePlugins() {\n return each(Chart.instances, (chart)=>chart._plugins.invalidate());\n}\n\nfunction clipArc(ctx, element, endAngle) {\n const { startAngle , pixelMargin , x , y , outerRadius , innerRadius } = element;\n let angleMargin = pixelMargin / outerRadius;\n // Draw an inner border by clipping the arc and drawing a double-width border\n // Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n if (innerRadius > pixelMargin) {\n angleMargin = pixelMargin / innerRadius;\n ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true);\n } else {\n ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI);\n }\n ctx.closePath();\n ctx.clip();\n}\nfunction toRadiusCorners(value) {\n return _readValueToProps(value, [\n 'outerStart',\n 'outerEnd',\n 'innerStart',\n 'innerEnd'\n ]);\n}\n/**\n * Parse border radius from the provided options\n */ function parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) {\n const o = toRadiusCorners(arc.options.borderRadius);\n const halfThickness = (outerRadius - innerRadius) / 2;\n const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2);\n // Outer limits are complicated. We want to compute the available angular distance at\n // a radius of outerRadius - borderRadius because for small angular distances, this term limits.\n // We compute at r = outerRadius - borderRadius because this circle defines the center of the border corners.\n //\n // If the borderRadius is large, that value can become negative.\n // This causes the outer borders to lose their radius entirely, which is rather unexpected. To solve that, if borderRadius > outerRadius\n // we know that the thickness term will dominate and compute the limits at that point\n const computeOuterLimit = (val)=>{\n const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2;\n return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit));\n };\n return {\n outerStart: computeOuterLimit(o.outerStart),\n outerEnd: computeOuterLimit(o.outerEnd),\n innerStart: _limitValue(o.innerStart, 0, innerLimit),\n innerEnd: _limitValue(o.innerEnd, 0, innerLimit)\n };\n}\n/**\n * Convert (r, 𝜃) to (x, y)\n */ function rThetaToXY(r, theta, x, y) {\n return {\n x: x + r * Math.cos(theta),\n y: y + r * Math.sin(theta)\n };\n}\n/**\n * Path the arc, respecting border radius by separating into left and right halves.\n *\n * Start End\n *\n * 1--->a--->2 Outer\n * / \\\n * 8 3\n * | |\n * | |\n * 7 4\n * \\ /\n * 6<---b<---5 Inner\n */ function pathArc(ctx, element, offset, spacing, end, circular) {\n const { x , y , startAngle: start , pixelMargin , innerRadius: innerR } = element;\n const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0);\n const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0;\n let spacingOffset = 0;\n const alpha = end - start;\n if (spacing) {\n // When spacing is present, it is the same for all items\n // So we adjust the start and end angle of the arc such that\n // the distance is the same as it would be without the spacing\n const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0;\n const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0;\n const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2;\n const adjustedAngle = avNogSpacingRadius !== 0 ? alpha * avNogSpacingRadius / (avNogSpacingRadius + spacing) : alpha;\n spacingOffset = (alpha - adjustedAngle) / 2;\n }\n const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius;\n const angleOffset = (alpha - beta) / 2;\n const startAngle = start + angleOffset + spacingOffset;\n const endAngle = end - angleOffset - spacingOffset;\n const { outerStart , outerEnd , innerStart , innerEnd } = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle);\n const outerStartAdjustedRadius = outerRadius - outerStart;\n const outerEndAdjustedRadius = outerRadius - outerEnd;\n const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius;\n const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius;\n const innerStartAdjustedRadius = innerRadius + innerStart;\n const innerEndAdjustedRadius = innerRadius + innerEnd;\n const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius;\n const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius;\n ctx.beginPath();\n if (circular) {\n // The first arc segments from point 1 to point a to point 2\n const outerMidAdjustedAngle = (outerStartAdjustedAngle + outerEndAdjustedAngle) / 2;\n ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerMidAdjustedAngle);\n ctx.arc(x, y, outerRadius, outerMidAdjustedAngle, outerEndAdjustedAngle);\n // The corner segment from point 2 to point 3\n if (outerEnd > 0) {\n const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI);\n }\n // The line from point 3 to point 4\n const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y);\n ctx.lineTo(p4.x, p4.y);\n // The corner segment from point 4 to point 5\n if (innerEnd > 0) {\n const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI);\n }\n // The inner arc from point 5 to point b to point 6\n const innerMidAdjustedAngle = (endAngle - innerEnd / innerRadius + (startAngle + innerStart / innerRadius)) / 2;\n ctx.arc(x, y, innerRadius, endAngle - innerEnd / innerRadius, innerMidAdjustedAngle, true);\n ctx.arc(x, y, innerRadius, innerMidAdjustedAngle, startAngle + innerStart / innerRadius, true);\n // The corner segment from point 6 to point 7\n if (innerStart > 0) {\n const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI);\n }\n // The line from point 7 to point 8\n const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y);\n ctx.lineTo(p8.x, p8.y);\n // The corner segment from point 8 to point 1\n if (outerStart > 0) {\n const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle);\n }\n } else {\n ctx.moveTo(x, y);\n const outerStartX = Math.cos(outerStartAdjustedAngle) * outerRadius + x;\n const outerStartY = Math.sin(outerStartAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerStartX, outerStartY);\n const outerEndX = Math.cos(outerEndAdjustedAngle) * outerRadius + x;\n const outerEndY = Math.sin(outerEndAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerEndX, outerEndY);\n }\n ctx.closePath();\n}\nfunction drawArc(ctx, element, offset, spacing, circular) {\n const { fullCircles , startAngle , circumference } = element;\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n for(let i = 0; i < fullCircles; ++i){\n ctx.fill();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + (circumference % TAU || TAU);\n }\n }\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.fill();\n return endAngle;\n}\nfunction drawBorder(ctx, element, offset, spacing, circular) {\n const { fullCircles , startAngle , circumference , options } = element;\n const { borderWidth , borderJoinStyle , borderDash , borderDashOffset } = options;\n const inner = options.borderAlign === 'inner';\n if (!borderWidth) {\n return;\n }\n ctx.setLineDash(borderDash || []);\n ctx.lineDashOffset = borderDashOffset;\n if (inner) {\n ctx.lineWidth = borderWidth * 2;\n ctx.lineJoin = borderJoinStyle || 'round';\n } else {\n ctx.lineWidth = borderWidth;\n ctx.lineJoin = borderJoinStyle || 'bevel';\n }\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n for(let i = 0; i < fullCircles; ++i){\n ctx.stroke();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + (circumference % TAU || TAU);\n }\n }\n if (inner) {\n clipArc(ctx, element, endAngle);\n }\n if (!fullCircles) {\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.stroke();\n }\n}\nclass ArcElement extends Element {\n static id = 'arc';\n static defaults = {\n borderAlign: 'center',\n borderColor: '#fff',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: undefined,\n borderRadius: 0,\n borderWidth: 2,\n offset: 0,\n spacing: 0,\n angle: undefined,\n circular: true\n };\n static defaultRoutes = {\n backgroundColor: 'backgroundColor'\n };\n static descriptors = {\n _scriptable: true,\n _indexable: (name)=>name !== 'borderDash'\n };\n circumference;\n endAngle;\n fullCircles;\n innerRadius;\n outerRadius;\n pixelMargin;\n startAngle;\n constructor(cfg){\n super();\n this.options = undefined;\n this.circumference = undefined;\n this.startAngle = undefined;\n this.endAngle = undefined;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.pixelMargin = 0;\n this.fullCircles = 0;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(chartX, chartY, useFinalPosition) {\n const point = this.getProps([\n 'x',\n 'y'\n ], useFinalPosition);\n const { angle , distance } = getAngleFromPoint(point, {\n x: chartX,\n y: chartY\n });\n const { startAngle , endAngle , innerRadius , outerRadius , circumference } = this.getProps([\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference'\n ], useFinalPosition);\n const rAdjust = (this.options.spacing + this.options.borderWidth) / 2;\n const _circumference = valueOrDefault(circumference, endAngle - startAngle);\n const nonZeroBetween = _angleBetween(angle, startAngle, endAngle) && startAngle !== endAngle;\n const betweenAngles = _circumference >= TAU || nonZeroBetween;\n const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust);\n return betweenAngles && withinRadius;\n }\n getCenterPoint(useFinalPosition) {\n const { x , y , startAngle , endAngle , innerRadius , outerRadius } = this.getProps([\n 'x',\n 'y',\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius'\n ], useFinalPosition);\n const { offset , spacing } = this.options;\n const halfAngle = (startAngle + endAngle) / 2;\n const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2;\n return {\n x: x + Math.cos(halfAngle) * halfRadius,\n y: y + Math.sin(halfAngle) * halfRadius\n };\n }\n tooltipPosition(useFinalPosition) {\n return this.getCenterPoint(useFinalPosition);\n }\n draw(ctx) {\n const { options , circumference } = this;\n const offset = (options.offset || 0) / 4;\n const spacing = (options.spacing || 0) / 2;\n const circular = options.circular;\n this.pixelMargin = options.borderAlign === 'inner' ? 0.33 : 0;\n this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0;\n if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) {\n return;\n }\n ctx.save();\n const halfAngle = (this.startAngle + this.endAngle) / 2;\n ctx.translate(Math.cos(halfAngle) * offset, Math.sin(halfAngle) * offset);\n const fix = 1 - Math.sin(Math.min(PI, circumference || 0));\n const radiusOffset = offset * fix;\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n drawArc(ctx, this, radiusOffset, spacing, circular);\n drawBorder(ctx, this, radiusOffset, spacing, circular);\n ctx.restore();\n }\n}\n\nfunction setStyle(ctx, options, style = options) {\n ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle);\n ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash));\n ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset);\n ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle);\n ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth);\n ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor);\n}\nfunction lineTo(ctx, previous, target) {\n ctx.lineTo(target.x, target.y);\n}\n function getLineMethod(options) {\n if (options.stepped) {\n return _steppedLineTo;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierCurveTo;\n }\n return lineTo;\n}\nfunction pathVars(points, segment, params = {}) {\n const count = points.length;\n const { start: paramsStart = 0 , end: paramsEnd = count - 1 } = params;\n const { start: segmentStart , end: segmentEnd } = segment;\n const start = Math.max(paramsStart, segmentStart);\n const end = Math.min(paramsEnd, segmentEnd);\n const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd;\n return {\n count,\n start,\n loop: segment.loop,\n ilen: end < start && !outside ? count + end - start : end - start\n };\n}\n function pathSegment(ctx, line, segment, params) {\n const { points , options } = line;\n const { count , start , loop , ilen } = pathVars(points, segment, params);\n const lineMethod = getLineMethod(options);\n let { move =true , reverse } = params || {};\n let i, point, prev;\n for(i = 0; i <= ilen; ++i){\n point = points[(start + (reverse ? ilen - i : i)) % count];\n if (point.skip) {\n continue;\n } else if (move) {\n ctx.moveTo(point.x, point.y);\n move = false;\n } else {\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n prev = point;\n }\n if (loop) {\n point = points[(start + (reverse ? ilen : 0)) % count];\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n return !!loop;\n}\n function fastPathSegment(ctx, line, segment, params) {\n const points = line.points;\n const { count , start , ilen } = pathVars(points, segment, params);\n const { move =true , reverse } = params || {};\n let avgX = 0;\n let countX = 0;\n let i, point, prevX, minY, maxY, lastY;\n const pointIndex = (index)=>(start + (reverse ? ilen - index : index)) % count;\n const drawX = ()=>{\n if (minY !== maxY) {\n ctx.lineTo(avgX, maxY);\n ctx.lineTo(avgX, minY);\n ctx.lineTo(avgX, lastY);\n }\n };\n if (move) {\n point = points[pointIndex(0)];\n ctx.moveTo(point.x, point.y);\n }\n for(i = 0; i <= ilen; ++i){\n point = points[pointIndex(i)];\n if (point.skip) {\n continue;\n }\n const x = point.x;\n const y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n } else if (y > maxY) {\n maxY = y;\n }\n avgX = (countX * avgX + x) / ++countX;\n } else {\n drawX();\n ctx.lineTo(x, y);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n }\n lastY = y;\n }\n drawX();\n}\n function _getSegmentMethod(line) {\n const opts = line.options;\n const borderDash = opts.borderDash && opts.borderDash.length;\n const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash;\n return useFastPath ? fastPathSegment : pathSegment;\n}\n function _getInterpolationMethod(options) {\n if (options.stepped) {\n return _steppedInterpolation;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierInterpolation;\n }\n return _pointInLine;\n}\nfunction strokePathWithCache(ctx, line, start, count) {\n let path = line._path;\n if (!path) {\n path = line._path = new Path2D();\n if (line.path(path, start, count)) {\n path.closePath();\n }\n }\n setStyle(ctx, line.options);\n ctx.stroke(path);\n}\nfunction strokePathDirect(ctx, line, start, count) {\n const { segments , options } = line;\n const segmentMethod = _getSegmentMethod(line);\n for (const segment of segments){\n setStyle(ctx, options, segment.style);\n ctx.beginPath();\n if (segmentMethod(ctx, line, segment, {\n start,\n end: start + count - 1\n })) {\n ctx.closePath();\n }\n ctx.stroke();\n }\n}\nconst usePath2D = typeof Path2D === 'function';\nfunction draw(ctx, line, start, count) {\n if (usePath2D && !line.options.segment) {\n strokePathWithCache(ctx, line, start, count);\n } else {\n strokePathDirect(ctx, line, start, count);\n }\n}\nclass LineElement extends Element {\n static id = 'line';\n static defaults = {\n borderCapStyle: 'butt',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderWidth: 3,\n capBezierPoints: true,\n cubicInterpolationMode: 'default',\n fill: false,\n spanGaps: false,\n stepped: false,\n tension: 0\n };\n static defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n };\n static descriptors = {\n _scriptable: true,\n _indexable: (name)=>name !== 'borderDash' && name !== 'fill'\n };\n constructor(cfg){\n super();\n this.animated = true;\n this.options = undefined;\n this._chart = undefined;\n this._loop = undefined;\n this._fullLoop = undefined;\n this._path = undefined;\n this._points = undefined;\n this._segments = undefined;\n this._decimated = false;\n this._pointsUpdated = false;\n this._datasetIndex = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n updateControlPoints(chartArea, indexAxis) {\n const options = this.options;\n if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) {\n const loop = options.spanGaps ? this._loop : this._fullLoop;\n _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis);\n this._pointsUpdated = true;\n }\n }\n set points(points) {\n this._points = points;\n delete this._segments;\n delete this._path;\n this._pointsUpdated = false;\n }\n get points() {\n return this._points;\n }\n get segments() {\n return this._segments || (this._segments = _computeSegments(this, this.options.segment));\n }\n first() {\n const segments = this.segments;\n const points = this.points;\n return segments.length && points[segments[0].start];\n }\n last() {\n const segments = this.segments;\n const points = this.points;\n const count = segments.length;\n return count && points[segments[count - 1].end];\n }\n interpolate(point, property) {\n const options = this.options;\n const value = point[property];\n const points = this.points;\n const segments = _boundSegments(this, {\n property,\n start: value,\n end: value\n });\n if (!segments.length) {\n return;\n }\n const result = [];\n const _interpolate = _getInterpolationMethod(options);\n let i, ilen;\n for(i = 0, ilen = segments.length; i < ilen; ++i){\n const { start , end } = segments[i];\n const p1 = points[start];\n const p2 = points[end];\n if (p1 === p2) {\n result.push(p1);\n continue;\n }\n const t = Math.abs((value - p1[property]) / (p2[property] - p1[property]));\n const interpolated = _interpolate(p1, p2, t, options.stepped);\n interpolated[property] = point[property];\n result.push(interpolated);\n }\n return result.length === 1 ? result[0] : result;\n }\n pathSegment(ctx, segment, params) {\n const segmentMethod = _getSegmentMethod(this);\n return segmentMethod(ctx, this, segment, params);\n }\n path(ctx, start, count) {\n const segments = this.segments;\n const segmentMethod = _getSegmentMethod(this);\n let loop = this._loop;\n start = start || 0;\n count = count || this.points.length - start;\n for (const segment of segments){\n loop &= segmentMethod(ctx, this, segment, {\n start,\n end: start + count - 1\n });\n }\n return !!loop;\n }\n draw(ctx, chartArea, start, count) {\n const options = this.options || {};\n const points = this.points || [];\n if (points.length && options.borderWidth) {\n ctx.save();\n draw(ctx, this, start, count);\n ctx.restore();\n }\n if (this.animated) {\n this._pointsUpdated = false;\n this._path = undefined;\n }\n }\n}\n\nfunction inRange$1(el, pos, axis, useFinalPosition) {\n const options = el.options;\n const { [axis]: value } = el.getProps([\n axis\n ], useFinalPosition);\n return Math.abs(pos - value) < options.radius + options.hitRadius;\n}\nclass PointElement extends Element {\n static id = 'point';\n parsed;\n skip;\n stop;\n /**\n * @type {any}\n */ static defaults = {\n borderWidth: 1,\n hitRadius: 1,\n hoverBorderWidth: 1,\n hoverRadius: 4,\n pointStyle: 'circle',\n radius: 3,\n rotation: 0\n };\n /**\n * @type {any}\n */ static defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n };\n constructor(cfg){\n super();\n this.options = undefined;\n this.parsed = undefined;\n this.skip = undefined;\n this.stop = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n const options = this.options;\n const { x , y } = this.getProps([\n 'x',\n 'y'\n ], useFinalPosition);\n return Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2) < Math.pow(options.hitRadius + options.radius, 2);\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange$1(this, mouseX, 'x', useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange$1(this, mouseY, 'y', useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const { x , y } = this.getProps([\n 'x',\n 'y'\n ], useFinalPosition);\n return {\n x,\n y\n };\n }\n size(options) {\n options = options || this.options || {};\n let radius = options.radius || 0;\n radius = Math.max(radius, radius && options.hoverRadius || 0);\n const borderWidth = radius && options.borderWidth || 0;\n return (radius + borderWidth) * 2;\n }\n draw(ctx, area) {\n const options = this.options;\n if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) {\n return;\n }\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.fillStyle = options.backgroundColor;\n drawPoint(ctx, options, this.x, this.y);\n }\n getRange() {\n const options = this.options || {};\n // @ts-expect-error Fallbacks should never be hit in practice\n return options.radius + options.hitRadius;\n }\n}\n\nfunction getBarBounds(bar, useFinalPosition) {\n const { x , y , base , width , height } = bar.getProps([\n 'x',\n 'y',\n 'base',\n 'width',\n 'height'\n ], useFinalPosition);\n let left, right, top, bottom, half;\n if (bar.horizontal) {\n half = height / 2;\n left = Math.min(x, base);\n right = Math.max(x, base);\n top = y - half;\n bottom = y + half;\n } else {\n half = width / 2;\n left = x - half;\n right = x + half;\n top = Math.min(y, base);\n bottom = Math.max(y, base);\n }\n return {\n left,\n top,\n right,\n bottom\n };\n}\nfunction skipOrLimit(skip, value, min, max) {\n return skip ? 0 : _limitValue(value, min, max);\n}\nfunction parseBorderWidth(bar, maxW, maxH) {\n const value = bar.options.borderWidth;\n const skip = bar.borderSkipped;\n const o = toTRBL(value);\n return {\n t: skipOrLimit(skip.top, o.top, 0, maxH),\n r: skipOrLimit(skip.right, o.right, 0, maxW),\n b: skipOrLimit(skip.bottom, o.bottom, 0, maxH),\n l: skipOrLimit(skip.left, o.left, 0, maxW)\n };\n}\nfunction parseBorderRadius(bar, maxW, maxH) {\n const { enableBorderRadius } = bar.getProps([\n 'enableBorderRadius'\n ]);\n const value = bar.options.borderRadius;\n const o = toTRBLCorners(value);\n const maxR = Math.min(maxW, maxH);\n const skip = bar.borderSkipped;\n const enableBorder = enableBorderRadius || isObject(value);\n return {\n topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR),\n topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR),\n bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR),\n bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR)\n };\n}\nfunction boundingRects(bar) {\n const bounds = getBarBounds(bar);\n const width = bounds.right - bounds.left;\n const height = bounds.bottom - bounds.top;\n const border = parseBorderWidth(bar, width / 2, height / 2);\n const radius = parseBorderRadius(bar, width / 2, height / 2);\n return {\n outer: {\n x: bounds.left,\n y: bounds.top,\n w: width,\n h: height,\n radius\n },\n inner: {\n x: bounds.left + border.l,\n y: bounds.top + border.t,\n w: width - border.l - border.r,\n h: height - border.t - border.b,\n radius: {\n topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)),\n topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)),\n bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)),\n bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r))\n }\n }\n };\n}\nfunction inRange(bar, x, y, useFinalPosition) {\n const skipX = x === null;\n const skipY = y === null;\n const skipBoth = skipX && skipY;\n const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition);\n return bounds && (skipX || _isBetween(x, bounds.left, bounds.right)) && (skipY || _isBetween(y, bounds.top, bounds.bottom));\n}\nfunction hasRadius(radius) {\n return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight;\n}\n function addNormalRectPath(ctx, rect) {\n ctx.rect(rect.x, rect.y, rect.w, rect.h);\n}\nfunction inflateRect(rect, amount, refRect = {}) {\n const x = rect.x !== refRect.x ? -amount : 0;\n const y = rect.y !== refRect.y ? -amount : 0;\n const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x;\n const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y;\n return {\n x: rect.x + x,\n y: rect.y + y,\n w: rect.w + w,\n h: rect.h + h,\n radius: rect.radius\n };\n}\nclass BarElement extends Element {\n static id = 'bar';\n static defaults = {\n borderSkipped: 'start',\n borderWidth: 0,\n borderRadius: 0,\n inflateAmount: 'auto',\n pointStyle: undefined\n };\n static defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n };\n constructor(cfg){\n super();\n this.options = undefined;\n this.horizontal = undefined;\n this.base = undefined;\n this.width = undefined;\n this.height = undefined;\n this.inflateAmount = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n draw(ctx) {\n const { inflateAmount , options: { borderColor , backgroundColor } } = this;\n const { inner , outer } = boundingRects(this);\n const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath;\n ctx.save();\n if (outer.w !== inner.w || outer.h !== inner.h) {\n ctx.beginPath();\n addRectPath(ctx, inflateRect(outer, inflateAmount, inner));\n ctx.clip();\n addRectPath(ctx, inflateRect(inner, -inflateAmount, outer));\n ctx.fillStyle = borderColor;\n ctx.fill('evenodd');\n }\n ctx.beginPath();\n addRectPath(ctx, inflateRect(inner, inflateAmount));\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n return inRange(this, mouseX, mouseY, useFinalPosition);\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange(this, mouseX, null, useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange(this, null, mouseY, useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const { x , y , base , horizontal } = this.getProps([\n 'x',\n 'y',\n 'base',\n 'horizontal'\n ], useFinalPosition);\n return {\n x: horizontal ? (x + base) / 2 : x,\n y: horizontal ? y : (y + base) / 2\n };\n }\n getRange(axis) {\n return axis === 'x' ? this.width / 2 : this.height / 2;\n }\n}\n\nvar elements = /*#__PURE__*/Object.freeze({\n__proto__: null,\nArcElement: ArcElement,\nBarElement: BarElement,\nLineElement: LineElement,\nPointElement: PointElement\n});\n\nconst BORDER_COLORS = [\n 'rgb(54, 162, 235)',\n 'rgb(255, 99, 132)',\n 'rgb(255, 159, 64)',\n 'rgb(255, 205, 86)',\n 'rgb(75, 192, 192)',\n 'rgb(153, 102, 255)',\n 'rgb(201, 203, 207)' // grey\n];\n// Border colors with 50% transparency\nconst BACKGROUND_COLORS = /* #__PURE__ */ BORDER_COLORS.map((color)=>color.replace('rgb(', 'rgba(').replace(')', ', 0.5)'));\nfunction getBorderColor(i) {\n return BORDER_COLORS[i % BORDER_COLORS.length];\n}\nfunction getBackgroundColor(i) {\n return BACKGROUND_COLORS[i % BACKGROUND_COLORS.length];\n}\nfunction colorizeDefaultDataset(dataset, i) {\n dataset.borderColor = getBorderColor(i);\n dataset.backgroundColor = getBackgroundColor(i);\n return ++i;\n}\nfunction colorizeDoughnutDataset(dataset, i) {\n dataset.backgroundColor = dataset.data.map(()=>getBorderColor(i++));\n return i;\n}\nfunction colorizePolarAreaDataset(dataset, i) {\n dataset.backgroundColor = dataset.data.map(()=>getBackgroundColor(i++));\n return i;\n}\nfunction getColorizer(chart) {\n let i = 0;\n return (dataset, datasetIndex)=>{\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n if (controller instanceof DoughnutController) {\n i = colorizeDoughnutDataset(dataset, i);\n } else if (controller instanceof PolarAreaController) {\n i = colorizePolarAreaDataset(dataset, i);\n } else if (controller) {\n i = colorizeDefaultDataset(dataset, i);\n }\n };\n}\nfunction containsColorsDefinitions(descriptors) {\n let k;\n for(k in descriptors){\n if (descriptors[k].borderColor || descriptors[k].backgroundColor) {\n return true;\n }\n }\n return false;\n}\nfunction containsColorsDefinition(descriptor) {\n return descriptor && (descriptor.borderColor || descriptor.backgroundColor);\n}\nfunction containsDefaultColorsDefenitions() {\n return defaults.borderColor !== 'rgba(0,0,0,0.1)' || defaults.backgroundColor !== 'rgba(0,0,0,0.1)';\n}\nvar plugin_colors = {\n id: 'colors',\n defaults: {\n enabled: true,\n forceOverride: false\n },\n beforeLayout (chart, _args, options) {\n if (!options.enabled) {\n return;\n }\n const { data: { datasets } , options: chartOptions } = chart.config;\n const { elements } = chartOptions;\n const containsColorDefenition = containsColorsDefinitions(datasets) || containsColorsDefinition(chartOptions) || elements && containsColorsDefinitions(elements) || containsDefaultColorsDefenitions();\n if (!options.forceOverride && containsColorDefenition) {\n return;\n }\n const colorizer = getColorizer(chart);\n datasets.forEach(colorizer);\n }\n};\n\nfunction lttbDecimation(data, start, count, availableWidth, options) {\n const samples = options.samples || availableWidth;\n if (samples >= count) {\n return data.slice(start, start + count);\n }\n const decimated = [];\n const bucketWidth = (count - 2) / (samples - 2);\n let sampledIndex = 0;\n const endIndex = start + count - 1;\n let a = start;\n let i, maxAreaPoint, maxArea, area, nextA;\n decimated[sampledIndex++] = data[a];\n for(i = 0; i < samples - 2; i++){\n let avgX = 0;\n let avgY = 0;\n let j;\n const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start;\n const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start;\n const avgRangeLength = avgRangeEnd - avgRangeStart;\n for(j = avgRangeStart; j < avgRangeEnd; j++){\n avgX += data[j].x;\n avgY += data[j].y;\n }\n avgX /= avgRangeLength;\n avgY /= avgRangeLength;\n const rangeOffs = Math.floor(i * bucketWidth) + 1 + start;\n const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start;\n const { x: pointAx , y: pointAy } = data[a];\n maxArea = area = -1;\n for(j = rangeOffs; j < rangeTo; j++){\n area = 0.5 * Math.abs((pointAx - avgX) * (data[j].y - pointAy) - (pointAx - data[j].x) * (avgY - pointAy));\n if (area > maxArea) {\n maxArea = area;\n maxAreaPoint = data[j];\n nextA = j;\n }\n }\n decimated[sampledIndex++] = maxAreaPoint;\n a = nextA;\n }\n decimated[sampledIndex++] = data[endIndex];\n return decimated;\n}\nfunction minMaxDecimation(data, start, count, availableWidth) {\n let avgX = 0;\n let countX = 0;\n let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY;\n const decimated = [];\n const endIndex = start + count - 1;\n const xMin = data[start].x;\n const xMax = data[endIndex].x;\n const dx = xMax - xMin;\n for(i = start; i < start + count; ++i){\n point = data[i];\n x = (point.x - xMin) / dx * availableWidth;\n y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n minIndex = i;\n } else if (y > maxY) {\n maxY = y;\n maxIndex = i;\n }\n avgX = (countX * avgX + point.x) / ++countX;\n } else {\n const lastIndex = i - 1;\n if (!isNullOrUndef(minIndex) && !isNullOrUndef(maxIndex)) {\n const intermediateIndex1 = Math.min(minIndex, maxIndex);\n const intermediateIndex2 = Math.max(minIndex, maxIndex);\n if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex1],\n x: avgX\n });\n }\n if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex2],\n x: avgX\n });\n }\n }\n if (i > 0 && lastIndex !== startIndex) {\n decimated.push(data[lastIndex]);\n }\n decimated.push(point);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n minIndex = maxIndex = startIndex = i;\n }\n }\n return decimated;\n}\nfunction cleanDecimatedDataset(dataset) {\n if (dataset._decimated) {\n const data = dataset._data;\n delete dataset._decimated;\n delete dataset._data;\n Object.defineProperty(dataset, 'data', {\n configurable: true,\n enumerable: true,\n writable: true,\n value: data\n });\n }\n}\nfunction cleanDecimatedData(chart) {\n chart.data.datasets.forEach((dataset)=>{\n cleanDecimatedDataset(dataset);\n });\n}\nfunction getStartAndCountOfVisiblePointsSimplified(meta, points) {\n const pointCount = points.length;\n let start = 0;\n let count;\n const { iScale } = meta;\n const { min , max , minDefined , maxDefined } = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(_lookupByKey(points, iScale.axis, min).lo, 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(_lookupByKey(points, iScale.axis, max).hi + 1, start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n return {\n start,\n count\n };\n}\nvar plugin_decimation = {\n id: 'decimation',\n defaults: {\n algorithm: 'min-max',\n enabled: false\n },\n beforeElementsUpdate: (chart, args, options)=>{\n if (!options.enabled) {\n cleanDecimatedData(chart);\n return;\n }\n const availableWidth = chart.width;\n chart.data.datasets.forEach((dataset, datasetIndex)=>{\n const { _data , indexAxis } = dataset;\n const meta = chart.getDatasetMeta(datasetIndex);\n const data = _data || dataset.data;\n if (resolve([\n indexAxis,\n chart.options.indexAxis\n ]) === 'y') {\n return;\n }\n if (!meta.controller.supportsDecimation) {\n return;\n }\n const xAxis = chart.scales[meta.xAxisID];\n if (xAxis.type !== 'linear' && xAxis.type !== 'time') {\n return;\n }\n if (chart.options.parsing) {\n return;\n }\n let { start , count } = getStartAndCountOfVisiblePointsSimplified(meta, data);\n const threshold = options.threshold || 4 * availableWidth;\n if (count <= threshold) {\n cleanDecimatedDataset(dataset);\n return;\n }\n if (isNullOrUndef(_data)) {\n dataset._data = data;\n delete dataset.data;\n Object.defineProperty(dataset, 'data', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this._decimated;\n },\n set: function(d) {\n this._data = d;\n }\n });\n }\n let decimated;\n switch(options.algorithm){\n case 'lttb':\n decimated = lttbDecimation(data, start, count, availableWidth, options);\n break;\n case 'min-max':\n decimated = minMaxDecimation(data, start, count, availableWidth);\n break;\n default:\n throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`);\n }\n dataset._decimated = decimated;\n });\n },\n destroy (chart) {\n cleanDecimatedData(chart);\n }\n};\n\nfunction _segments(line, target, property) {\n const segments = line.segments;\n const points = line.points;\n const tpoints = target.points;\n const parts = [];\n for (const segment of segments){\n let { start , end } = segment;\n end = _findSegmentEnd(start, end, points);\n const bounds = _getBounds(property, points[start], points[end], segment.loop);\n if (!target.segments) {\n parts.push({\n source: segment,\n target: bounds,\n start: points[start],\n end: points[end]\n });\n continue;\n }\n const targetSegments = _boundSegments(target, bounds);\n for (const tgt of targetSegments){\n const subBounds = _getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop);\n const fillSources = _boundSegment(segment, points, subBounds);\n for (const fillSource of fillSources){\n parts.push({\n source: fillSource,\n target: tgt,\n start: {\n [property]: _getEdge(bounds, subBounds, 'start', Math.max)\n },\n end: {\n [property]: _getEdge(bounds, subBounds, 'end', Math.min)\n }\n });\n }\n }\n }\n return parts;\n}\nfunction _getBounds(property, first, last, loop) {\n if (loop) {\n return;\n }\n let start = first[property];\n let end = last[property];\n if (property === 'angle') {\n start = _normalizeAngle(start);\n end = _normalizeAngle(end);\n }\n return {\n property,\n start,\n end\n };\n}\nfunction _pointsFromSegments(boundary, line) {\n const { x =null , y =null } = boundary || {};\n const linePoints = line.points;\n const points = [];\n line.segments.forEach(({ start , end })=>{\n end = _findSegmentEnd(start, end, linePoints);\n const first = linePoints[start];\n const last = linePoints[end];\n if (y !== null) {\n points.push({\n x: first.x,\n y\n });\n points.push({\n x: last.x,\n y\n });\n } else if (x !== null) {\n points.push({\n x,\n y: first.y\n });\n points.push({\n x,\n y: last.y\n });\n }\n });\n return points;\n}\nfunction _findSegmentEnd(start, end, points) {\n for(; end > start; end--){\n const point = points[end];\n if (!isNaN(point.x) && !isNaN(point.y)) {\n break;\n }\n }\n return end;\n}\nfunction _getEdge(a, b, prop, fn) {\n if (a && b) {\n return fn(a[prop], b[prop]);\n }\n return a ? a[prop] : b ? b[prop] : 0;\n}\n\nfunction _createBoundaryLine(boundary, line) {\n let points = [];\n let _loop = false;\n if (isArray(boundary)) {\n _loop = true;\n points = boundary;\n } else {\n points = _pointsFromSegments(boundary, line);\n }\n return points.length ? new LineElement({\n points,\n options: {\n tension: 0\n },\n _loop,\n _fullLoop: _loop\n }) : null;\n}\nfunction _shouldApplyFill(source) {\n return source && source.fill !== false;\n}\n\nfunction _resolveTarget(sources, index, propagate) {\n const source = sources[index];\n let fill = source.fill;\n const visited = [\n index\n ];\n let target;\n if (!propagate) {\n return fill;\n }\n while(fill !== false && visited.indexOf(fill) === -1){\n if (!isNumberFinite(fill)) {\n return fill;\n }\n target = sources[fill];\n if (!target) {\n return false;\n }\n if (target.visible) {\n return fill;\n }\n visited.push(fill);\n fill = target.fill;\n }\n return false;\n}\n function _decodeFill(line, index, count) {\n const fill = parseFillOption(line);\n if (isObject(fill)) {\n return isNaN(fill.value) ? false : fill;\n }\n let target = parseFloat(fill);\n if (isNumberFinite(target) && Math.floor(target) === target) {\n return decodeTargetIndex(fill[0], index, target, count);\n }\n return [\n 'origin',\n 'start',\n 'end',\n 'stack',\n 'shape'\n ].indexOf(fill) >= 0 && fill;\n}\nfunction decodeTargetIndex(firstCh, index, target, count) {\n if (firstCh === '-' || firstCh === '+') {\n target = index + target;\n }\n if (target === index || target < 0 || target >= count) {\n return false;\n }\n return target;\n}\n function _getTargetPixel(fill, scale) {\n let pixel = null;\n if (fill === 'start') {\n pixel = scale.bottom;\n } else if (fill === 'end') {\n pixel = scale.top;\n } else if (isObject(fill)) {\n pixel = scale.getPixelForValue(fill.value);\n } else if (scale.getBasePixel) {\n pixel = scale.getBasePixel();\n }\n return pixel;\n}\n function _getTargetValue(fill, scale, startValue) {\n let value;\n if (fill === 'start') {\n value = startValue;\n } else if (fill === 'end') {\n value = scale.options.reverse ? scale.min : scale.max;\n } else if (isObject(fill)) {\n value = fill.value;\n } else {\n value = scale.getBaseValue();\n }\n return value;\n}\n function parseFillOption(line) {\n const options = line.options;\n const fillOption = options.fill;\n let fill = valueOrDefault(fillOption && fillOption.target, fillOption);\n if (fill === undefined) {\n fill = !!options.backgroundColor;\n }\n if (fill === false || fill === null) {\n return false;\n }\n if (fill === true) {\n return 'origin';\n }\n return fill;\n}\n\nfunction _buildStackLine(source) {\n const { scale , index , line } = source;\n const points = [];\n const segments = line.segments;\n const sourcePoints = line.points;\n const linesBelow = getLinesBelow(scale, index);\n linesBelow.push(_createBoundaryLine({\n x: null,\n y: scale.bottom\n }, line));\n for(let i = 0; i < segments.length; i++){\n const segment = segments[i];\n for(let j = segment.start; j <= segment.end; j++){\n addPointsBelow(points, sourcePoints[j], linesBelow);\n }\n }\n return new LineElement({\n points,\n options: {}\n });\n}\n function getLinesBelow(scale, index) {\n const below = [];\n const metas = scale.getMatchingVisibleMetas('line');\n for(let i = 0; i < metas.length; i++){\n const meta = metas[i];\n if (meta.index === index) {\n break;\n }\n if (!meta.hidden) {\n below.unshift(meta.dataset);\n }\n }\n return below;\n}\n function addPointsBelow(points, sourcePoint, linesBelow) {\n const postponed = [];\n for(let j = 0; j < linesBelow.length; j++){\n const line = linesBelow[j];\n const { first , last , point } = findPoint(line, sourcePoint, 'x');\n if (!point || first && last) {\n continue;\n }\n if (first) {\n postponed.unshift(point);\n } else {\n points.push(point);\n if (!last) {\n break;\n }\n }\n }\n points.push(...postponed);\n}\n function findPoint(line, sourcePoint, property) {\n const point = line.interpolate(sourcePoint, property);\n if (!point) {\n return {};\n }\n const pointValue = point[property];\n const segments = line.segments;\n const linePoints = line.points;\n let first = false;\n let last = false;\n for(let i = 0; i < segments.length; i++){\n const segment = segments[i];\n const firstValue = linePoints[segment.start][property];\n const lastValue = linePoints[segment.end][property];\n if (_isBetween(pointValue, firstValue, lastValue)) {\n first = pointValue === firstValue;\n last = pointValue === lastValue;\n break;\n }\n }\n return {\n first,\n last,\n point\n };\n}\n\nclass simpleArc {\n constructor(opts){\n this.x = opts.x;\n this.y = opts.y;\n this.radius = opts.radius;\n }\n pathSegment(ctx, bounds, opts) {\n const { x , y , radius } = this;\n bounds = bounds || {\n start: 0,\n end: TAU\n };\n ctx.arc(x, y, radius, bounds.end, bounds.start, true);\n return !opts.bounds;\n }\n interpolate(point) {\n const { x , y , radius } = this;\n const angle = point.angle;\n return {\n x: x + Math.cos(angle) * radius,\n y: y + Math.sin(angle) * radius,\n angle\n };\n }\n}\n\nfunction _getTarget(source) {\n const { chart , fill , line } = source;\n if (isNumberFinite(fill)) {\n return getLineByIndex(chart, fill);\n }\n if (fill === 'stack') {\n return _buildStackLine(source);\n }\n if (fill === 'shape') {\n return true;\n }\n const boundary = computeBoundary(source);\n if (boundary instanceof simpleArc) {\n return boundary;\n }\n return _createBoundaryLine(boundary, line);\n}\n function getLineByIndex(chart, index) {\n const meta = chart.getDatasetMeta(index);\n const visible = meta && chart.isDatasetVisible(index);\n return visible ? meta.dataset : null;\n}\nfunction computeBoundary(source) {\n const scale = source.scale || {};\n if (scale.getPointPositionForValue) {\n return computeCircularBoundary(source);\n }\n return computeLinearBoundary(source);\n}\nfunction computeLinearBoundary(source) {\n const { scale ={} , fill } = source;\n const pixel = _getTargetPixel(fill, scale);\n if (isNumberFinite(pixel)) {\n const horizontal = scale.isHorizontal();\n return {\n x: horizontal ? pixel : null,\n y: horizontal ? null : pixel\n };\n }\n return null;\n}\nfunction computeCircularBoundary(source) {\n const { scale , fill } = source;\n const options = scale.options;\n const length = scale.getLabels().length;\n const start = options.reverse ? scale.max : scale.min;\n const value = _getTargetValue(fill, scale, start);\n const target = [];\n if (options.grid.circular) {\n const center = scale.getPointPositionForValue(0, start);\n return new simpleArc({\n x: center.x,\n y: center.y,\n radius: scale.getDistanceFromCenterForValue(value)\n });\n }\n for(let i = 0; i < length; ++i){\n target.push(scale.getPointPositionForValue(i, value));\n }\n return target;\n}\n\nfunction _drawfill(ctx, source, area) {\n const target = _getTarget(source);\n const { line , scale , axis } = source;\n const lineOpts = line.options;\n const fillOption = lineOpts.fill;\n const color = lineOpts.backgroundColor;\n const { above =color , below =color } = fillOption || {};\n if (target && line.points.length) {\n clipArea(ctx, area);\n doFill(ctx, {\n line,\n target,\n above,\n below,\n area,\n scale,\n axis\n });\n unclipArea(ctx);\n }\n}\nfunction doFill(ctx, cfg) {\n const { line , target , above , below , area , scale } = cfg;\n const property = line._loop ? 'angle' : cfg.axis;\n ctx.save();\n if (property === 'x' && below !== above) {\n clipVertical(ctx, target, area.top);\n fill(ctx, {\n line,\n target,\n color: above,\n scale,\n property\n });\n ctx.restore();\n ctx.save();\n clipVertical(ctx, target, area.bottom);\n }\n fill(ctx, {\n line,\n target,\n color: below,\n scale,\n property\n });\n ctx.restore();\n}\nfunction clipVertical(ctx, target, clipY) {\n const { segments , points } = target;\n let first = true;\n let lineLoop = false;\n ctx.beginPath();\n for (const segment of segments){\n const { start , end } = segment;\n const firstPoint = points[start];\n const lastPoint = points[_findSegmentEnd(start, end, points)];\n if (first) {\n ctx.moveTo(firstPoint.x, firstPoint.y);\n first = false;\n } else {\n ctx.lineTo(firstPoint.x, clipY);\n ctx.lineTo(firstPoint.x, firstPoint.y);\n }\n lineLoop = !!target.pathSegment(ctx, segment, {\n move: lineLoop\n });\n if (lineLoop) {\n ctx.closePath();\n } else {\n ctx.lineTo(lastPoint.x, clipY);\n }\n }\n ctx.lineTo(target.first().x, clipY);\n ctx.closePath();\n ctx.clip();\n}\nfunction fill(ctx, cfg) {\n const { line , target , property , color , scale } = cfg;\n const segments = _segments(line, target, property);\n for (const { source: src , target: tgt , start , end } of segments){\n const { style: { backgroundColor =color } = {} } = src;\n const notShape = target !== true;\n ctx.save();\n ctx.fillStyle = backgroundColor;\n clipBounds(ctx, scale, notShape && _getBounds(property, start, end));\n ctx.beginPath();\n const lineLoop = !!line.pathSegment(ctx, src);\n let loop;\n if (notShape) {\n if (lineLoop) {\n ctx.closePath();\n } else {\n interpolatedLineTo(ctx, target, end, property);\n }\n const targetLoop = !!target.pathSegment(ctx, tgt, {\n move: lineLoop,\n reverse: true\n });\n loop = lineLoop && targetLoop;\n if (!loop) {\n interpolatedLineTo(ctx, target, start, property);\n }\n }\n ctx.closePath();\n ctx.fill(loop ? 'evenodd' : 'nonzero');\n ctx.restore();\n }\n}\nfunction clipBounds(ctx, scale, bounds) {\n const { top , bottom } = scale.chart.chartArea;\n const { property , start , end } = bounds || {};\n if (property === 'x') {\n ctx.beginPath();\n ctx.rect(start, top, end - start, bottom - top);\n ctx.clip();\n }\n}\nfunction interpolatedLineTo(ctx, target, point, property) {\n const interpolatedPoint = target.interpolate(point, property);\n if (interpolatedPoint) {\n ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y);\n }\n}\n\nvar index = {\n id: 'filler',\n afterDatasetsUpdate (chart, _args, options) {\n const count = (chart.data.datasets || []).length;\n const sources = [];\n let meta, i, line, source;\n for(i = 0; i < count; ++i){\n meta = chart.getDatasetMeta(i);\n line = meta.dataset;\n source = null;\n if (line && line.options && line instanceof LineElement) {\n source = {\n visible: chart.isDatasetVisible(i),\n index: i,\n fill: _decodeFill(line, i, count),\n chart,\n axis: meta.controller.options.indexAxis,\n scale: meta.vScale,\n line\n };\n }\n meta.$filler = source;\n sources.push(source);\n }\n for(i = 0; i < count; ++i){\n source = sources[i];\n if (!source || source.fill === false) {\n continue;\n }\n source.fill = _resolveTarget(sources, i, options.propagate);\n }\n },\n beforeDraw (chart, _args, options) {\n const draw = options.drawTime === 'beforeDraw';\n const metasets = chart.getSortedVisibleDatasetMetas();\n const area = chart.chartArea;\n for(let i = metasets.length - 1; i >= 0; --i){\n const source = metasets[i].$filler;\n if (!source) {\n continue;\n }\n source.line.updateControlPoints(area, source.axis);\n if (draw && source.fill) {\n _drawfill(chart.ctx, source, area);\n }\n }\n },\n beforeDatasetsDraw (chart, _args, options) {\n if (options.drawTime !== 'beforeDatasetsDraw') {\n return;\n }\n const metasets = chart.getSortedVisibleDatasetMetas();\n for(let i = metasets.length - 1; i >= 0; --i){\n const source = metasets[i].$filler;\n if (_shouldApplyFill(source)) {\n _drawfill(chart.ctx, source, chart.chartArea);\n }\n }\n },\n beforeDatasetDraw (chart, args, options) {\n const source = args.meta.$filler;\n if (!_shouldApplyFill(source) || options.drawTime !== 'beforeDatasetDraw') {\n return;\n }\n _drawfill(chart.ctx, source, chart.chartArea);\n },\n defaults: {\n propagate: true,\n drawTime: 'beforeDatasetDraw'\n }\n};\n\nconst getBoxSize = (labelOpts, fontSize)=>{\n let { boxHeight =fontSize , boxWidth =fontSize } = labelOpts;\n if (labelOpts.usePointStyle) {\n boxHeight = Math.min(boxHeight, fontSize);\n boxWidth = labelOpts.pointStyleWidth || Math.min(boxWidth, fontSize);\n }\n return {\n boxWidth,\n boxHeight,\n itemHeight: Math.max(fontSize, boxHeight)\n };\n};\nconst itemsEqual = (a, b)=>a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index;\nclass Legend extends Element {\n constructor(config){\n super();\n this._added = false;\n this.legendHitBoxes = [];\n this._hoveredItem = null;\n this.doughnutMode = false;\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this.legendItems = undefined;\n this.columnSizes = undefined;\n this.lineWidths = undefined;\n this.maxHeight = undefined;\n this.maxWidth = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.height = undefined;\n this.width = undefined;\n this._margins = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight, margins) {\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins;\n this.setDimensions();\n this.buildLabels();\n this.fit();\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = this._margins.left;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = this._margins.top;\n this.bottom = this.height;\n }\n }\n buildLabels() {\n const labelOpts = this.options.labels || {};\n let legendItems = callback(labelOpts.generateLabels, [\n this.chart\n ], this) || [];\n if (labelOpts.filter) {\n legendItems = legendItems.filter((item)=>labelOpts.filter(item, this.chart.data));\n }\n if (labelOpts.sort) {\n legendItems = legendItems.sort((a, b)=>labelOpts.sort(a, b, this.chart.data));\n }\n if (this.options.reverse) {\n legendItems.reverse();\n }\n this.legendItems = legendItems;\n }\n fit() {\n const { options , ctx } = this;\n if (!options.display) {\n this.width = this.height = 0;\n return;\n }\n const labelOpts = options.labels;\n const labelFont = toFont(labelOpts.font);\n const fontSize = labelFont.size;\n const titleHeight = this._computeTitleHeight();\n const { boxWidth , itemHeight } = getBoxSize(labelOpts, fontSize);\n let width, height;\n ctx.font = labelFont.string;\n if (this.isHorizontal()) {\n width = this.maxWidth;\n height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n } else {\n height = this.maxHeight;\n width = this._fitCols(titleHeight, labelFont, boxWidth, itemHeight) + 10;\n }\n this.width = Math.min(width, options.maxWidth || this.maxWidth);\n this.height = Math.min(height, options.maxHeight || this.maxHeight);\n }\n _fitRows(titleHeight, fontSize, boxWidth, itemHeight) {\n const { ctx , maxWidth , options: { labels: { padding } } } = this;\n const hitboxes = this.legendHitBoxes = [];\n const lineWidths = this.lineWidths = [\n 0\n ];\n const lineHeight = itemHeight + padding;\n let totalHeight = titleHeight;\n ctx.textAlign = 'left';\n ctx.textBaseline = 'middle';\n let row = -1;\n let top = -lineHeight;\n this.legendItems.forEach((legendItem, i)=>{\n const itemWidth = boxWidth + fontSize / 2 + ctx.measureText(legendItem.text).width;\n if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) {\n totalHeight += lineHeight;\n lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\n top += lineHeight;\n row++;\n }\n hitboxes[i] = {\n left: 0,\n top,\n row,\n width: itemWidth,\n height: itemHeight\n };\n lineWidths[lineWidths.length - 1] += itemWidth + padding;\n });\n return totalHeight;\n }\n _fitCols(titleHeight, labelFont, boxWidth, _itemHeight) {\n const { ctx , maxHeight , options: { labels: { padding } } } = this;\n const hitboxes = this.legendHitBoxes = [];\n const columnSizes = this.columnSizes = [];\n const heightLimit = maxHeight - titleHeight;\n let totalWidth = padding;\n let currentColWidth = 0;\n let currentColHeight = 0;\n let left = 0;\n let col = 0;\n this.legendItems.forEach((legendItem, i)=>{\n const { itemWidth , itemHeight } = calculateItemSize(boxWidth, labelFont, ctx, legendItem, _itemHeight);\n if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) {\n totalWidth += currentColWidth + padding;\n columnSizes.push({\n width: currentColWidth,\n height: currentColHeight\n });\n left += currentColWidth + padding;\n col++;\n currentColWidth = currentColHeight = 0;\n }\n hitboxes[i] = {\n left,\n top: currentColHeight,\n col,\n width: itemWidth,\n height: itemHeight\n };\n currentColWidth = Math.max(currentColWidth, itemWidth);\n currentColHeight += itemHeight + padding;\n });\n totalWidth += currentColWidth;\n columnSizes.push({\n width: currentColWidth,\n height: currentColHeight\n });\n return totalWidth;\n }\n adjustHitBoxes() {\n if (!this.options.display) {\n return;\n }\n const titleHeight = this._computeTitleHeight();\n const { legendHitBoxes: hitboxes , options: { align , labels: { padding } , rtl } } = this;\n const rtlHelper = getRtlAdapter(rtl, this.left, this.width);\n if (this.isHorizontal()) {\n let row = 0;\n let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n for (const hitbox of hitboxes){\n if (row !== hitbox.row) {\n row = hitbox.row;\n left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n }\n hitbox.top += this.top + titleHeight + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width);\n left += hitbox.width + padding;\n }\n } else {\n let col = 0;\n let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n for (const hitbox of hitboxes){\n if (hitbox.col !== col) {\n col = hitbox.col;\n top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n }\n hitbox.top = top;\n hitbox.left += this.left + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width);\n top += hitbox.height + padding;\n }\n }\n }\n isHorizontal() {\n return this.options.position === 'top' || this.options.position === 'bottom';\n }\n draw() {\n if (this.options.display) {\n const ctx = this.ctx;\n clipArea(ctx, this);\n this._draw();\n unclipArea(ctx);\n }\n }\n _draw() {\n const { options: opts , columnSizes , lineWidths , ctx } = this;\n const { align , labels: labelOpts } = opts;\n const defaultColor = defaults.color;\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const labelFont = toFont(labelOpts.font);\n const { padding } = labelOpts;\n const fontSize = labelFont.size;\n const halfFontSize = fontSize / 2;\n let cursor;\n this.drawTitle();\n ctx.textAlign = rtlHelper.textAlign('left');\n ctx.textBaseline = 'middle';\n ctx.lineWidth = 0.5;\n ctx.font = labelFont.string;\n const { boxWidth , boxHeight , itemHeight } = getBoxSize(labelOpts, fontSize);\n const drawLegendBox = function(x, y, legendItem) {\n if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) {\n return;\n }\n ctx.save();\n const lineWidth = valueOrDefault(legendItem.lineWidth, 1);\n ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor);\n ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt');\n ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0);\n ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter');\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor);\n ctx.setLineDash(valueOrDefault(legendItem.lineDash, []));\n if (labelOpts.usePointStyle) {\n const drawOptions = {\n radius: boxHeight * Math.SQRT2 / 2,\n pointStyle: legendItem.pointStyle,\n rotation: legendItem.rotation,\n borderWidth: lineWidth\n };\n const centerX = rtlHelper.xPlus(x, boxWidth / 2);\n const centerY = y + halfFontSize;\n drawPointLegend(ctx, drawOptions, centerX, centerY, labelOpts.pointStyleWidth && boxWidth);\n } else {\n const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0);\n const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth);\n const borderRadius = toTRBLCorners(legendItem.borderRadius);\n ctx.beginPath();\n if (Object.values(borderRadius).some((v)=>v !== 0)) {\n addRoundedRectPath(ctx, {\n x: xBoxLeft,\n y: yBoxTop,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius\n });\n } else {\n ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight);\n }\n ctx.fill();\n if (lineWidth !== 0) {\n ctx.stroke();\n }\n }\n ctx.restore();\n };\n const fillText = function(x, y, legendItem) {\n renderText(ctx, legendItem.text, x, y + itemHeight / 2, labelFont, {\n strikethrough: legendItem.hidden,\n textAlign: rtlHelper.textAlign(legendItem.textAlign)\n });\n };\n const isHorizontal = this.isHorizontal();\n const titleHeight = this._computeTitleHeight();\n if (isHorizontal) {\n cursor = {\n x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]),\n y: this.top + padding + titleHeight,\n line: 0\n };\n } else {\n cursor = {\n x: this.left + padding,\n y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height),\n line: 0\n };\n }\n overrideTextDirection(this.ctx, opts.textDirection);\n const lineHeight = itemHeight + padding;\n this.legendItems.forEach((legendItem, i)=>{\n ctx.strokeStyle = legendItem.fontColor;\n ctx.fillStyle = legendItem.fontColor;\n const textWidth = ctx.measureText(legendItem.text).width;\n const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign));\n const width = boxWidth + halfFontSize + textWidth;\n let x = cursor.x;\n let y = cursor.y;\n rtlHelper.setWidth(this.width);\n if (isHorizontal) {\n if (i > 0 && x + width + padding > this.right) {\n y = cursor.y += lineHeight;\n cursor.line++;\n x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]);\n }\n } else if (i > 0 && y + lineHeight > this.bottom) {\n x = cursor.x = x + columnSizes[cursor.line].width + padding;\n cursor.line++;\n y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height);\n }\n const realX = rtlHelper.x(x);\n drawLegendBox(realX, y, legendItem);\n x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl);\n fillText(rtlHelper.x(x), y, legendItem);\n if (isHorizontal) {\n cursor.x += width + padding;\n } else if (typeof legendItem.text !== 'string') {\n const fontLineHeight = labelFont.lineHeight;\n cursor.y += calculateLegendItemHeight(legendItem, fontLineHeight) + padding;\n } else {\n cursor.y += lineHeight;\n }\n });\n restoreTextDirection(this.ctx, opts.textDirection);\n }\n drawTitle() {\n const opts = this.options;\n const titleOpts = opts.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n if (!titleOpts.display) {\n return;\n }\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const ctx = this.ctx;\n const position = titleOpts.position;\n const halfFontSize = titleFont.size / 2;\n const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize;\n let y;\n let left = this.left;\n let maxWidth = this.width;\n if (this.isHorizontal()) {\n maxWidth = Math.max(...this.lineWidths);\n y = this.top + topPaddingPlusHalfFontSize;\n left = _alignStartEnd(opts.align, left, this.right - maxWidth);\n } else {\n const maxHeight = this.columnSizes.reduce((acc, size)=>Math.max(acc, size.height), 0);\n y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight());\n }\n const x = _alignStartEnd(position, left, left + maxWidth);\n ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position));\n ctx.textBaseline = 'middle';\n ctx.strokeStyle = titleOpts.color;\n ctx.fillStyle = titleOpts.color;\n ctx.font = titleFont.string;\n renderText(ctx, titleOpts.text, x, y, titleFont);\n }\n _computeTitleHeight() {\n const titleOpts = this.options.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0;\n }\n _getLegendItemAt(x, y) {\n let i, hitBox, lh;\n if (_isBetween(x, this.left, this.right) && _isBetween(y, this.top, this.bottom)) {\n lh = this.legendHitBoxes;\n for(i = 0; i < lh.length; ++i){\n hitBox = lh[i];\n if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width) && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) {\n return this.legendItems[i];\n }\n }\n }\n return null;\n }\n handleEvent(e) {\n const opts = this.options;\n if (!isListened(e.type, opts)) {\n return;\n }\n const hoveredItem = this._getLegendItemAt(e.x, e.y);\n if (e.type === 'mousemove' || e.type === 'mouseout') {\n const previous = this._hoveredItem;\n const sameItem = itemsEqual(previous, hoveredItem);\n if (previous && !sameItem) {\n callback(opts.onLeave, [\n e,\n previous,\n this\n ], this);\n }\n this._hoveredItem = hoveredItem;\n if (hoveredItem && !sameItem) {\n callback(opts.onHover, [\n e,\n hoveredItem,\n this\n ], this);\n }\n } else if (hoveredItem) {\n callback(opts.onClick, [\n e,\n hoveredItem,\n this\n ], this);\n }\n }\n}\nfunction calculateItemSize(boxWidth, labelFont, ctx, legendItem, _itemHeight) {\n const itemWidth = calculateItemWidth(legendItem, boxWidth, labelFont, ctx);\n const itemHeight = calculateItemHeight(_itemHeight, legendItem, labelFont.lineHeight);\n return {\n itemWidth,\n itemHeight\n };\n}\nfunction calculateItemWidth(legendItem, boxWidth, labelFont, ctx) {\n let legendItemText = legendItem.text;\n if (legendItemText && typeof legendItemText !== 'string') {\n legendItemText = legendItemText.reduce((a, b)=>a.length > b.length ? a : b);\n }\n return boxWidth + labelFont.size / 2 + ctx.measureText(legendItemText).width;\n}\nfunction calculateItemHeight(_itemHeight, legendItem, fontLineHeight) {\n let itemHeight = _itemHeight;\n if (typeof legendItem.text !== 'string') {\n itemHeight = calculateLegendItemHeight(legendItem, fontLineHeight);\n }\n return itemHeight;\n}\nfunction calculateLegendItemHeight(legendItem, fontLineHeight) {\n const labelHeight = legendItem.text ? legendItem.text.length : 0;\n return fontLineHeight * labelHeight;\n}\nfunction isListened(type, opts) {\n if ((type === 'mousemove' || type === 'mouseout') && (opts.onHover || opts.onLeave)) {\n return true;\n }\n if (opts.onClick && (type === 'click' || type === 'mouseup')) {\n return true;\n }\n return false;\n}\nvar plugin_legend = {\n id: 'legend',\n _element: Legend,\n start (chart, _args, options) {\n const legend = chart.legend = new Legend({\n ctx: chart.ctx,\n options,\n chart\n });\n layouts.configure(chart, legend, options);\n layouts.addBox(chart, legend);\n },\n stop (chart) {\n layouts.removeBox(chart, chart.legend);\n delete chart.legend;\n },\n beforeUpdate (chart, _args, options) {\n const legend = chart.legend;\n layouts.configure(chart, legend, options);\n legend.options = options;\n },\n afterUpdate (chart) {\n const legend = chart.legend;\n legend.buildLabels();\n legend.adjustHitBoxes();\n },\n afterEvent (chart, args) {\n if (!args.replay) {\n chart.legend.handleEvent(args.event);\n }\n },\n defaults: {\n display: true,\n position: 'top',\n align: 'center',\n fullSize: true,\n reverse: false,\n weight: 1000,\n onClick (e, legendItem, legend) {\n const index = legendItem.datasetIndex;\n const ci = legend.chart;\n if (ci.isDatasetVisible(index)) {\n ci.hide(index);\n legendItem.hidden = true;\n } else {\n ci.show(index);\n legendItem.hidden = false;\n }\n },\n onHover: null,\n onLeave: null,\n labels: {\n color: (ctx)=>ctx.chart.options.color,\n boxWidth: 40,\n padding: 10,\n generateLabels (chart) {\n const datasets = chart.data.datasets;\n const { labels: { usePointStyle , pointStyle , textAlign , color , useBorderRadius , borderRadius } } = chart.legend.options;\n return chart._getSortedDatasetMetas().map((meta)=>{\n const style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\n const borderWidth = toPadding(style.borderWidth);\n return {\n text: datasets[meta.index].label,\n fillStyle: style.backgroundColor,\n fontColor: color,\n hidden: !meta.visible,\n lineCap: style.borderCapStyle,\n lineDash: style.borderDash,\n lineDashOffset: style.borderDashOffset,\n lineJoin: style.borderJoinStyle,\n lineWidth: (borderWidth.width + borderWidth.height) / 4,\n strokeStyle: style.borderColor,\n pointStyle: pointStyle || style.pointStyle,\n rotation: style.rotation,\n textAlign: textAlign || style.textAlign,\n borderRadius: useBorderRadius && (borderRadius || style.borderRadius),\n datasetIndex: meta.index\n };\n }, this);\n }\n },\n title: {\n color: (ctx)=>ctx.chart.options.color,\n display: false,\n position: 'center',\n text: ''\n }\n },\n descriptors: {\n _scriptable: (name)=>!name.startsWith('on'),\n labels: {\n _scriptable: (name)=>![\n 'generateLabels',\n 'filter',\n 'sort'\n ].includes(name)\n }\n }\n};\n\nclass Title extends Element {\n constructor(config){\n super();\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this._padding = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight) {\n const opts = this.options;\n this.left = 0;\n this.top = 0;\n if (!opts.display) {\n this.width = this.height = this.right = this.bottom = 0;\n return;\n }\n this.width = this.right = maxWidth;\n this.height = this.bottom = maxHeight;\n const lineCount = isArray(opts.text) ? opts.text.length : 1;\n this._padding = toPadding(opts.padding);\n const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height;\n if (this.isHorizontal()) {\n this.height = textSize;\n } else {\n this.width = textSize;\n }\n }\n isHorizontal() {\n const pos = this.options.position;\n return pos === 'top' || pos === 'bottom';\n }\n _drawArgs(offset) {\n const { top , left , bottom , right , options } = this;\n const align = options.align;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n if (this.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n titleY = top + offset;\n maxWidth = right - left;\n } else {\n if (options.position === 'left') {\n titleX = left + offset;\n titleY = _alignStartEnd(align, bottom, top);\n rotation = PI * -0.5;\n } else {\n titleX = right - offset;\n titleY = _alignStartEnd(align, top, bottom);\n rotation = PI * 0.5;\n }\n maxWidth = bottom - top;\n }\n return {\n titleX,\n titleY,\n maxWidth,\n rotation\n };\n }\n draw() {\n const ctx = this.ctx;\n const opts = this.options;\n if (!opts.display) {\n return;\n }\n const fontOpts = toFont(opts.font);\n const lineHeight = fontOpts.lineHeight;\n const offset = lineHeight / 2 + this._padding.top;\n const { titleX , titleY , maxWidth , rotation } = this._drawArgs(offset);\n renderText(ctx, opts.text, 0, 0, fontOpts, {\n color: opts.color,\n maxWidth,\n rotation,\n textAlign: _toLeftRightCenter(opts.align),\n textBaseline: 'middle',\n translation: [\n titleX,\n titleY\n ]\n });\n }\n}\nfunction createTitle(chart, titleOpts) {\n const title = new Title({\n ctx: chart.ctx,\n options: titleOpts,\n chart\n });\n layouts.configure(chart, title, titleOpts);\n layouts.addBox(chart, title);\n chart.titleBlock = title;\n}\nvar plugin_title = {\n id: 'title',\n _element: Title,\n start (chart, _args, options) {\n createTitle(chart, options);\n },\n stop (chart) {\n const titleBlock = chart.titleBlock;\n layouts.removeBox(chart, titleBlock);\n delete chart.titleBlock;\n },\n beforeUpdate (chart, _args, options) {\n const title = chart.titleBlock;\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'bold'\n },\n fullSize: true,\n padding: 10,\n position: 'top',\n text: '',\n weight: 2000\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false\n }\n};\n\nconst map = new WeakMap();\nvar plugin_subtitle = {\n id: 'subtitle',\n start (chart, _args, options) {\n const title = new Title({\n ctx: chart.ctx,\n options,\n chart\n });\n layouts.configure(chart, title, options);\n layouts.addBox(chart, title);\n map.set(chart, title);\n },\n stop (chart) {\n layouts.removeBox(chart, map.get(chart));\n map.delete(chart);\n },\n beforeUpdate (chart, _args, options) {\n const title = map.get(chart);\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'normal'\n },\n fullSize: true,\n padding: 0,\n position: 'top',\n text: '',\n weight: 1500\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false\n }\n};\n\nconst positioners = {\n average (items) {\n if (!items.length) {\n return false;\n }\n let i, len;\n let xSet = new Set();\n let y = 0;\n let count = 0;\n for(i = 0, len = items.length; i < len; ++i){\n const el = items[i].element;\n if (el && el.hasValue()) {\n const pos = el.tooltipPosition();\n xSet.add(pos.x);\n y += pos.y;\n ++count;\n }\n }\n if (count === 0 || xSet.size === 0) {\n return false;\n }\n const xAverage = [\n ...xSet\n ].reduce((a, b)=>a + b) / xSet.size;\n return {\n x: xAverage,\n y: y / count\n };\n },\n nearest (items, eventPosition) {\n if (!items.length) {\n return false;\n }\n let x = eventPosition.x;\n let y = eventPosition.y;\n let minDistance = Number.POSITIVE_INFINITY;\n let i, len, nearestElement;\n for(i = 0, len = items.length; i < len; ++i){\n const el = items[i].element;\n if (el && el.hasValue()) {\n const center = el.getCenterPoint();\n const d = distanceBetweenPoints(eventPosition, center);\n if (d < minDistance) {\n minDistance = d;\n nearestElement = el;\n }\n }\n }\n if (nearestElement) {\n const tp = nearestElement.tooltipPosition();\n x = tp.x;\n y = tp.y;\n }\n return {\n x,\n y\n };\n }\n};\nfunction pushOrConcat(base, toPush) {\n if (toPush) {\n if (isArray(toPush)) {\n Array.prototype.push.apply(base, toPush);\n } else {\n base.push(toPush);\n }\n }\n return base;\n}\n function splitNewlines(str) {\n if ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\n return str.split('\\n');\n }\n return str;\n}\n function createTooltipItem(chart, item) {\n const { element , datasetIndex , index } = item;\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n const { label , value } = controller.getLabelAndValue(index);\n return {\n chart,\n label,\n parsed: controller.getParsed(index),\n raw: chart.data.datasets[datasetIndex].data[index],\n formattedValue: value,\n dataset: controller.getDataset(),\n dataIndex: index,\n datasetIndex,\n element\n };\n}\n function getTooltipSize(tooltip, options) {\n const ctx = tooltip.chart.ctx;\n const { body , footer , title } = tooltip;\n const { boxWidth , boxHeight } = options;\n const bodyFont = toFont(options.bodyFont);\n const titleFont = toFont(options.titleFont);\n const footerFont = toFont(options.footerFont);\n const titleLineCount = title.length;\n const footerLineCount = footer.length;\n const bodyLineItemCount = body.length;\n const padding = toPadding(options.padding);\n let height = padding.height;\n let width = 0;\n let combinedBodyLength = body.reduce((count, bodyItem)=>count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0);\n combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length;\n if (titleLineCount) {\n height += titleLineCount * titleFont.lineHeight + (titleLineCount - 1) * options.titleSpacing + options.titleMarginBottom;\n }\n if (combinedBodyLength) {\n const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight;\n height += bodyLineItemCount * bodyLineHeight + (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight + (combinedBodyLength - 1) * options.bodySpacing;\n }\n if (footerLineCount) {\n height += options.footerMarginTop + footerLineCount * footerFont.lineHeight + (footerLineCount - 1) * options.footerSpacing;\n }\n let widthPadding = 0;\n const maxLineWidth = function(line) {\n width = Math.max(width, ctx.measureText(line).width + widthPadding);\n };\n ctx.save();\n ctx.font = titleFont.string;\n each(tooltip.title, maxLineWidth);\n ctx.font = bodyFont.string;\n each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth);\n widthPadding = options.displayColors ? boxWidth + 2 + options.boxPadding : 0;\n each(body, (bodyItem)=>{\n each(bodyItem.before, maxLineWidth);\n each(bodyItem.lines, maxLineWidth);\n each(bodyItem.after, maxLineWidth);\n });\n widthPadding = 0;\n ctx.font = footerFont.string;\n each(tooltip.footer, maxLineWidth);\n ctx.restore();\n width += padding.width;\n return {\n width,\n height\n };\n}\nfunction determineYAlign(chart, size) {\n const { y , height } = size;\n if (y < height / 2) {\n return 'top';\n } else if (y > chart.height - height / 2) {\n return 'bottom';\n }\n return 'center';\n}\nfunction doesNotFitWithAlign(xAlign, chart, options, size) {\n const { x , width } = size;\n const caret = options.caretSize + options.caretPadding;\n if (xAlign === 'left' && x + width + caret > chart.width) {\n return true;\n }\n if (xAlign === 'right' && x - width - caret < 0) {\n return true;\n }\n}\nfunction determineXAlign(chart, options, size, yAlign) {\n const { x , width } = size;\n const { width: chartWidth , chartArea: { left , right } } = chart;\n let xAlign = 'center';\n if (yAlign === 'center') {\n xAlign = x <= (left + right) / 2 ? 'left' : 'right';\n } else if (x <= width / 2) {\n xAlign = 'left';\n } else if (x >= chartWidth - width / 2) {\n xAlign = 'right';\n }\n if (doesNotFitWithAlign(xAlign, chart, options, size)) {\n xAlign = 'center';\n }\n return xAlign;\n}\n function determineAlignment(chart, options, size) {\n const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size);\n return {\n xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign),\n yAlign\n };\n}\nfunction alignX(size, xAlign) {\n let { x , width } = size;\n if (xAlign === 'right') {\n x -= width;\n } else if (xAlign === 'center') {\n x -= width / 2;\n }\n return x;\n}\nfunction alignY(size, yAlign, paddingAndSize) {\n let { y , height } = size;\n if (yAlign === 'top') {\n y += paddingAndSize;\n } else if (yAlign === 'bottom') {\n y -= height + paddingAndSize;\n } else {\n y -= height / 2;\n }\n return y;\n}\n function getBackgroundPoint(options, size, alignment, chart) {\n const { caretSize , caretPadding , cornerRadius } = options;\n const { xAlign , yAlign } = alignment;\n const paddingAndSize = caretSize + caretPadding;\n const { topLeft , topRight , bottomLeft , bottomRight } = toTRBLCorners(cornerRadius);\n let x = alignX(size, xAlign);\n const y = alignY(size, yAlign, paddingAndSize);\n if (yAlign === 'center') {\n if (xAlign === 'left') {\n x += paddingAndSize;\n } else if (xAlign === 'right') {\n x -= paddingAndSize;\n }\n } else if (xAlign === 'left') {\n x -= Math.max(topLeft, bottomLeft) + caretSize;\n } else if (xAlign === 'right') {\n x += Math.max(topRight, bottomRight) + caretSize;\n }\n return {\n x: _limitValue(x, 0, chart.width - size.width),\n y: _limitValue(y, 0, chart.height - size.height)\n };\n}\nfunction getAlignedX(tooltip, align, options) {\n const padding = toPadding(options.padding);\n return align === 'center' ? tooltip.x + tooltip.width / 2 : align === 'right' ? tooltip.x + tooltip.width - padding.right : tooltip.x + padding.left;\n}\n function getBeforeAfterBodyLines(callback) {\n return pushOrConcat([], splitNewlines(callback));\n}\nfunction createTooltipContext(parent, tooltip, tooltipItems) {\n return createContext(parent, {\n tooltip,\n tooltipItems,\n type: 'tooltip'\n });\n}\nfunction overrideCallbacks(callbacks, context) {\n const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks;\n return override ? callbacks.override(override) : callbacks;\n}\nconst defaultCallbacks = {\n beforeTitle: noop,\n title (tooltipItems) {\n if (tooltipItems.length > 0) {\n const item = tooltipItems[0];\n const labels = item.chart.data.labels;\n const labelCount = labels ? labels.length : 0;\n if (this && this.options && this.options.mode === 'dataset') {\n return item.dataset.label || '';\n } else if (item.label) {\n return item.label;\n } else if (labelCount > 0 && item.dataIndex < labelCount) {\n return labels[item.dataIndex];\n }\n }\n return '';\n },\n afterTitle: noop,\n beforeBody: noop,\n beforeLabel: noop,\n label (tooltipItem) {\n if (this && this.options && this.options.mode === 'dataset') {\n return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue;\n }\n let label = tooltipItem.dataset.label || '';\n if (label) {\n label += ': ';\n }\n const value = tooltipItem.formattedValue;\n if (!isNullOrUndef(value)) {\n label += value;\n }\n return label;\n },\n labelColor (tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n borderColor: options.borderColor,\n backgroundColor: options.backgroundColor,\n borderWidth: options.borderWidth,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderRadius: 0\n };\n },\n labelTextColor () {\n return this.options.bodyColor;\n },\n labelPointStyle (tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n pointStyle: options.pointStyle,\n rotation: options.rotation\n };\n },\n afterLabel: noop,\n afterBody: noop,\n beforeFooter: noop,\n footer: noop,\n afterFooter: noop\n};\n function invokeCallbackWithFallback(callbacks, name, ctx, arg) {\n const result = callbacks[name].call(ctx, arg);\n if (typeof result === 'undefined') {\n return defaultCallbacks[name].call(ctx, arg);\n }\n return result;\n}\nclass Tooltip extends Element {\n static positioners = positioners;\n constructor(config){\n super();\n this.opacity = 0;\n this._active = [];\n this._eventPosition = undefined;\n this._size = undefined;\n this._cachedAnimations = undefined;\n this._tooltipItems = [];\n this.$animations = undefined;\n this.$context = undefined;\n this.chart = config.chart;\n this.options = config.options;\n this.dataPoints = undefined;\n this.title = undefined;\n this.beforeBody = undefined;\n this.body = undefined;\n this.afterBody = undefined;\n this.footer = undefined;\n this.xAlign = undefined;\n this.yAlign = undefined;\n this.x = undefined;\n this.y = undefined;\n this.height = undefined;\n this.width = undefined;\n this.caretX = undefined;\n this.caretY = undefined;\n this.labelColors = undefined;\n this.labelPointStyles = undefined;\n this.labelTextColors = undefined;\n }\n initialize(options) {\n this.options = options;\n this._cachedAnimations = undefined;\n this.$context = undefined;\n }\n _resolveAnimations() {\n const cached = this._cachedAnimations;\n if (cached) {\n return cached;\n }\n const chart = this.chart;\n const options = this.options.setContext(this.getContext());\n const opts = options.enabled && chart.options.animation && options.animations;\n const animations = new Animations(this.chart, opts);\n if (opts._cacheable) {\n this._cachedAnimations = Object.freeze(animations);\n }\n return animations;\n }\n getContext() {\n return this.$context || (this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems));\n }\n getTitle(context, options) {\n const { callbacks } = options;\n const beforeTitle = invokeCallbackWithFallback(callbacks, 'beforeTitle', this, context);\n const title = invokeCallbackWithFallback(callbacks, 'title', this, context);\n const afterTitle = invokeCallbackWithFallback(callbacks, 'afterTitle', this, context);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeTitle));\n lines = pushOrConcat(lines, splitNewlines(title));\n lines = pushOrConcat(lines, splitNewlines(afterTitle));\n return lines;\n }\n getBeforeBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(invokeCallbackWithFallback(options.callbacks, 'beforeBody', this, tooltipItems));\n }\n getBody(tooltipItems, options) {\n const { callbacks } = options;\n const bodyItems = [];\n each(tooltipItems, (context)=>{\n const bodyItem = {\n before: [],\n lines: [],\n after: []\n };\n const scoped = overrideCallbacks(callbacks, context);\n pushOrConcat(bodyItem.before, splitNewlines(invokeCallbackWithFallback(scoped, 'beforeLabel', this, context)));\n pushOrConcat(bodyItem.lines, invokeCallbackWithFallback(scoped, 'label', this, context));\n pushOrConcat(bodyItem.after, splitNewlines(invokeCallbackWithFallback(scoped, 'afterLabel', this, context)));\n bodyItems.push(bodyItem);\n });\n return bodyItems;\n }\n getAfterBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(invokeCallbackWithFallback(options.callbacks, 'afterBody', this, tooltipItems));\n }\n getFooter(tooltipItems, options) {\n const { callbacks } = options;\n const beforeFooter = invokeCallbackWithFallback(callbacks, 'beforeFooter', this, tooltipItems);\n const footer = invokeCallbackWithFallback(callbacks, 'footer', this, tooltipItems);\n const afterFooter = invokeCallbackWithFallback(callbacks, 'afterFooter', this, tooltipItems);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeFooter));\n lines = pushOrConcat(lines, splitNewlines(footer));\n lines = pushOrConcat(lines, splitNewlines(afterFooter));\n return lines;\n }\n _createItems(options) {\n const active = this._active;\n const data = this.chart.data;\n const labelColors = [];\n const labelPointStyles = [];\n const labelTextColors = [];\n let tooltipItems = [];\n let i, len;\n for(i = 0, len = active.length; i < len; ++i){\n tooltipItems.push(createTooltipItem(this.chart, active[i]));\n }\n if (options.filter) {\n tooltipItems = tooltipItems.filter((element, index, array)=>options.filter(element, index, array, data));\n }\n if (options.itemSort) {\n tooltipItems = tooltipItems.sort((a, b)=>options.itemSort(a, b, data));\n }\n each(tooltipItems, (context)=>{\n const scoped = overrideCallbacks(options.callbacks, context);\n labelColors.push(invokeCallbackWithFallback(scoped, 'labelColor', this, context));\n labelPointStyles.push(invokeCallbackWithFallback(scoped, 'labelPointStyle', this, context));\n labelTextColors.push(invokeCallbackWithFallback(scoped, 'labelTextColor', this, context));\n });\n this.labelColors = labelColors;\n this.labelPointStyles = labelPointStyles;\n this.labelTextColors = labelTextColors;\n this.dataPoints = tooltipItems;\n return tooltipItems;\n }\n update(changed, replay) {\n const options = this.options.setContext(this.getContext());\n const active = this._active;\n let properties;\n let tooltipItems = [];\n if (!active.length) {\n if (this.opacity !== 0) {\n properties = {\n opacity: 0\n };\n }\n } else {\n const position = positioners[options.position].call(this, active, this._eventPosition);\n tooltipItems = this._createItems(options);\n this.title = this.getTitle(tooltipItems, options);\n this.beforeBody = this.getBeforeBody(tooltipItems, options);\n this.body = this.getBody(tooltipItems, options);\n this.afterBody = this.getAfterBody(tooltipItems, options);\n this.footer = this.getFooter(tooltipItems, options);\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, size);\n const alignment = determineAlignment(this.chart, options, positionAndSize);\n const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart);\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n properties = {\n opacity: 1,\n x: backgroundPoint.x,\n y: backgroundPoint.y,\n width: size.width,\n height: size.height,\n caretX: position.x,\n caretY: position.y\n };\n }\n this._tooltipItems = tooltipItems;\n this.$context = undefined;\n if (properties) {\n this._resolveAnimations().update(this, properties);\n }\n if (changed && options.external) {\n options.external.call(this, {\n chart: this.chart,\n tooltip: this,\n replay\n });\n }\n }\n drawCaret(tooltipPoint, ctx, size, options) {\n const caretPosition = this.getCaretPosition(tooltipPoint, size, options);\n ctx.lineTo(caretPosition.x1, caretPosition.y1);\n ctx.lineTo(caretPosition.x2, caretPosition.y2);\n ctx.lineTo(caretPosition.x3, caretPosition.y3);\n }\n getCaretPosition(tooltipPoint, size, options) {\n const { xAlign , yAlign } = this;\n const { caretSize , cornerRadius } = options;\n const { topLeft , topRight , bottomLeft , bottomRight } = toTRBLCorners(cornerRadius);\n const { x: ptX , y: ptY } = tooltipPoint;\n const { width , height } = size;\n let x1, x2, x3, y1, y2, y3;\n if (yAlign === 'center') {\n y2 = ptY + height / 2;\n if (xAlign === 'left') {\n x1 = ptX;\n x2 = x1 - caretSize;\n y1 = y2 + caretSize;\n y3 = y2 - caretSize;\n } else {\n x1 = ptX + width;\n x2 = x1 + caretSize;\n y1 = y2 - caretSize;\n y3 = y2 + caretSize;\n }\n x3 = x1;\n } else {\n if (xAlign === 'left') {\n x2 = ptX + Math.max(topLeft, bottomLeft) + caretSize;\n } else if (xAlign === 'right') {\n x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize;\n } else {\n x2 = this.caretX;\n }\n if (yAlign === 'top') {\n y1 = ptY;\n y2 = y1 - caretSize;\n x1 = x2 - caretSize;\n x3 = x2 + caretSize;\n } else {\n y1 = ptY + height;\n y2 = y1 + caretSize;\n x1 = x2 + caretSize;\n x3 = x2 - caretSize;\n }\n y3 = y1;\n }\n return {\n x1,\n x2,\n x3,\n y1,\n y2,\n y3\n };\n }\n drawTitle(pt, ctx, options) {\n const title = this.title;\n const length = title.length;\n let titleFont, titleSpacing, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.titleAlign, options);\n ctx.textAlign = rtlHelper.textAlign(options.titleAlign);\n ctx.textBaseline = 'middle';\n titleFont = toFont(options.titleFont);\n titleSpacing = options.titleSpacing;\n ctx.fillStyle = options.titleColor;\n ctx.font = titleFont.string;\n for(i = 0; i < length; ++i){\n ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2);\n pt.y += titleFont.lineHeight + titleSpacing;\n if (i + 1 === length) {\n pt.y += options.titleMarginBottom - titleSpacing;\n }\n }\n }\n }\n _drawColorBox(ctx, pt, i, rtlHelper, options) {\n const labelColor = this.labelColors[i];\n const labelPointStyle = this.labelPointStyles[i];\n const { boxHeight , boxWidth } = options;\n const bodyFont = toFont(options.bodyFont);\n const colorX = getAlignedX(this, 'left', options);\n const rtlColorX = rtlHelper.x(colorX);\n const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0;\n const colorY = pt.y + yOffSet;\n if (options.usePointStyle) {\n const drawOptions = {\n radius: Math.min(boxWidth, boxHeight) / 2,\n pointStyle: labelPointStyle.pointStyle,\n rotation: labelPointStyle.rotation,\n borderWidth: 1\n };\n const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2;\n const centerY = colorY + boxHeight / 2;\n ctx.strokeStyle = options.multiKeyBackground;\n ctx.fillStyle = options.multiKeyBackground;\n drawPoint(ctx, drawOptions, centerX, centerY);\n ctx.strokeStyle = labelColor.borderColor;\n ctx.fillStyle = labelColor.backgroundColor;\n drawPoint(ctx, drawOptions, centerX, centerY);\n } else {\n ctx.lineWidth = isObject(labelColor.borderWidth) ? Math.max(...Object.values(labelColor.borderWidth)) : labelColor.borderWidth || 1;\n ctx.strokeStyle = labelColor.borderColor;\n ctx.setLineDash(labelColor.borderDash || []);\n ctx.lineDashOffset = labelColor.borderDashOffset || 0;\n const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth);\n const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - 2);\n const borderRadius = toTRBLCorners(labelColor.borderRadius);\n if (Object.values(borderRadius).some((v)=>v !== 0)) {\n ctx.beginPath();\n ctx.fillStyle = options.multiKeyBackground;\n addRoundedRectPath(ctx, {\n x: outerX,\n y: colorY,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius\n });\n ctx.fill();\n ctx.stroke();\n ctx.fillStyle = labelColor.backgroundColor;\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: innerX,\n y: colorY + 1,\n w: boxWidth - 2,\n h: boxHeight - 2,\n radius: borderRadius\n });\n ctx.fill();\n } else {\n ctx.fillStyle = options.multiKeyBackground;\n ctx.fillRect(outerX, colorY, boxWidth, boxHeight);\n ctx.strokeRect(outerX, colorY, boxWidth, boxHeight);\n ctx.fillStyle = labelColor.backgroundColor;\n ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2);\n }\n }\n ctx.fillStyle = this.labelTextColors[i];\n }\n drawBody(pt, ctx, options) {\n const { body } = this;\n const { bodySpacing , bodyAlign , displayColors , boxHeight , boxWidth , boxPadding } = options;\n const bodyFont = toFont(options.bodyFont);\n let bodyLineHeight = bodyFont.lineHeight;\n let xLinePadding = 0;\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n const fillLineOfText = function(line) {\n ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2);\n pt.y += bodyLineHeight + bodySpacing;\n };\n const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\n let bodyItem, textColor, lines, i, j, ilen, jlen;\n ctx.textAlign = bodyAlign;\n ctx.textBaseline = 'middle';\n ctx.font = bodyFont.string;\n pt.x = getAlignedX(this, bodyAlignForCalculation, options);\n ctx.fillStyle = options.bodyColor;\n each(this.beforeBody, fillLineOfText);\n xLinePadding = displayColors && bodyAlignForCalculation !== 'right' ? bodyAlign === 'center' ? boxWidth / 2 + boxPadding : boxWidth + 2 + boxPadding : 0;\n for(i = 0, ilen = body.length; i < ilen; ++i){\n bodyItem = body[i];\n textColor = this.labelTextColors[i];\n ctx.fillStyle = textColor;\n each(bodyItem.before, fillLineOfText);\n lines = bodyItem.lines;\n if (displayColors && lines.length) {\n this._drawColorBox(ctx, pt, i, rtlHelper, options);\n bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight);\n }\n for(j = 0, jlen = lines.length; j < jlen; ++j){\n fillLineOfText(lines[j]);\n bodyLineHeight = bodyFont.lineHeight;\n }\n each(bodyItem.after, fillLineOfText);\n }\n xLinePadding = 0;\n bodyLineHeight = bodyFont.lineHeight;\n each(this.afterBody, fillLineOfText);\n pt.y -= bodySpacing;\n }\n drawFooter(pt, ctx, options) {\n const footer = this.footer;\n const length = footer.length;\n let footerFont, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.footerAlign, options);\n pt.y += options.footerMarginTop;\n ctx.textAlign = rtlHelper.textAlign(options.footerAlign);\n ctx.textBaseline = 'middle';\n footerFont = toFont(options.footerFont);\n ctx.fillStyle = options.footerColor;\n ctx.font = footerFont.string;\n for(i = 0; i < length; ++i){\n ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2);\n pt.y += footerFont.lineHeight + options.footerSpacing;\n }\n }\n }\n drawBackground(pt, ctx, tooltipSize, options) {\n const { xAlign , yAlign } = this;\n const { x , y } = pt;\n const { width , height } = tooltipSize;\n const { topLeft , topRight , bottomLeft , bottomRight } = toTRBLCorners(options.cornerRadius);\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.beginPath();\n ctx.moveTo(x + topLeft, y);\n if (yAlign === 'top') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width - topRight, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + topRight);\n if (yAlign === 'center' && xAlign === 'right') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width, y + height - bottomRight);\n ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height);\n if (yAlign === 'bottom') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + bottomLeft, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft);\n if (yAlign === 'center' && xAlign === 'left') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x, y + topLeft);\n ctx.quadraticCurveTo(x, y, x + topLeft, y);\n ctx.closePath();\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n }\n _updateAnimationTarget(options) {\n const chart = this.chart;\n const anims = this.$animations;\n const animX = anims && anims.x;\n const animY = anims && anims.y;\n if (animX || animY) {\n const position = positioners[options.position].call(this, this._active, this._eventPosition);\n if (!position) {\n return;\n }\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, this._size);\n const alignment = determineAlignment(chart, options, positionAndSize);\n const point = getBackgroundPoint(options, positionAndSize, alignment, chart);\n if (animX._to !== point.x || animY._to !== point.y) {\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n this.width = size.width;\n this.height = size.height;\n this.caretX = position.x;\n this.caretY = position.y;\n this._resolveAnimations().update(this, point);\n }\n }\n }\n _willRender() {\n return !!this.opacity;\n }\n draw(ctx) {\n const options = this.options.setContext(this.getContext());\n let opacity = this.opacity;\n if (!opacity) {\n return;\n }\n this._updateAnimationTarget(options);\n const tooltipSize = {\n width: this.width,\n height: this.height\n };\n const pt = {\n x: this.x,\n y: this.y\n };\n opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity;\n const padding = toPadding(options.padding);\n const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length;\n if (options.enabled && hasTooltipContent) {\n ctx.save();\n ctx.globalAlpha = opacity;\n this.drawBackground(pt, ctx, tooltipSize, options);\n overrideTextDirection(ctx, options.textDirection);\n pt.y += padding.top;\n this.drawTitle(pt, ctx, options);\n this.drawBody(pt, ctx, options);\n this.drawFooter(pt, ctx, options);\n restoreTextDirection(ctx, options.textDirection);\n ctx.restore();\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements, eventPosition) {\n const lastActive = this._active;\n const active = activeElements.map(({ datasetIndex , index })=>{\n const meta = this.chart.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('Cannot find a dataset at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index\n };\n });\n const changed = !_elementsEqual(lastActive, active);\n const positionChanged = this._positionChanged(active, eventPosition);\n if (changed || positionChanged) {\n this._active = active;\n this._eventPosition = eventPosition;\n this._ignoreReplayEvents = true;\n this.update(true);\n }\n }\n handleEvent(e, replay, inChartArea = true) {\n if (replay && this._ignoreReplayEvents) {\n return false;\n }\n this._ignoreReplayEvents = false;\n const options = this.options;\n const lastActive = this._active || [];\n const active = this._getActiveElements(e, lastActive, replay, inChartArea);\n const positionChanged = this._positionChanged(active, e);\n const changed = replay || !_elementsEqual(active, lastActive) || positionChanged;\n if (changed) {\n this._active = active;\n if (options.enabled || options.external) {\n this._eventPosition = {\n x: e.x,\n y: e.y\n };\n this.update(true, replay);\n }\n }\n return changed;\n }\n _getActiveElements(e, lastActive, replay, inChartArea) {\n const options = this.options;\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive.filter((i)=>this.chart.data.datasets[i.datasetIndex] && this.chart.getDatasetMeta(i.datasetIndex).controller.getParsed(i.index) !== undefined);\n }\n const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay);\n if (options.reverse) {\n active.reverse();\n }\n return active;\n }\n _positionChanged(active, e) {\n const { caretX , caretY , options } = this;\n const position = positioners[options.position].call(this, active, e);\n return position !== false && (caretX !== position.x || caretY !== position.y);\n }\n}\nvar plugin_tooltip = {\n id: 'tooltip',\n _element: Tooltip,\n positioners,\n afterInit (chart, _args, options) {\n if (options) {\n chart.tooltip = new Tooltip({\n chart,\n options\n });\n }\n },\n beforeUpdate (chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n reset (chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n afterDraw (chart) {\n const tooltip = chart.tooltip;\n if (tooltip && tooltip._willRender()) {\n const args = {\n tooltip\n };\n if (chart.notifyPlugins('beforeTooltipDraw', {\n ...args,\n cancelable: true\n }) === false) {\n return;\n }\n tooltip.draw(chart.ctx);\n chart.notifyPlugins('afterTooltipDraw', args);\n }\n },\n afterEvent (chart, args) {\n if (chart.tooltip) {\n const useFinalPosition = args.replay;\n if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) {\n args.changed = true;\n }\n }\n },\n defaults: {\n enabled: true,\n external: null,\n position: 'average',\n backgroundColor: 'rgba(0,0,0,0.8)',\n titleColor: '#fff',\n titleFont: {\n weight: 'bold'\n },\n titleSpacing: 2,\n titleMarginBottom: 6,\n titleAlign: 'left',\n bodyColor: '#fff',\n bodySpacing: 2,\n bodyFont: {},\n bodyAlign: 'left',\n footerColor: '#fff',\n footerSpacing: 2,\n footerMarginTop: 6,\n footerFont: {\n weight: 'bold'\n },\n footerAlign: 'left',\n padding: 6,\n caretPadding: 2,\n caretSize: 5,\n cornerRadius: 6,\n boxHeight: (ctx, opts)=>opts.bodyFont.size,\n boxWidth: (ctx, opts)=>opts.bodyFont.size,\n multiKeyBackground: '#fff',\n displayColors: true,\n boxPadding: 0,\n borderColor: 'rgba(0,0,0,0)',\n borderWidth: 0,\n animation: {\n duration: 400,\n easing: 'easeOutQuart'\n },\n animations: {\n numbers: {\n type: 'number',\n properties: [\n 'x',\n 'y',\n 'width',\n 'height',\n 'caretX',\n 'caretY'\n ]\n },\n opacity: {\n easing: 'linear',\n duration: 200\n }\n },\n callbacks: defaultCallbacks\n },\n defaultRoutes: {\n bodyFont: 'font',\n footerFont: 'font',\n titleFont: 'font'\n },\n descriptors: {\n _scriptable: (name)=>name !== 'filter' && name !== 'itemSort' && name !== 'external',\n _indexable: false,\n callbacks: {\n _scriptable: false,\n _indexable: false\n },\n animation: {\n _fallback: false\n },\n animations: {\n _fallback: 'animation'\n }\n },\n additionalOptionScopes: [\n 'interaction'\n ]\n};\n\nvar plugins = /*#__PURE__*/Object.freeze({\n__proto__: null,\nColors: plugin_colors,\nDecimation: plugin_decimation,\nFiller: index,\nLegend: plugin_legend,\nSubTitle: plugin_subtitle,\nTitle: plugin_title,\nTooltip: plugin_tooltip\n});\n\nconst addIfString = (labels, raw, index, addedLabels)=>{\n if (typeof raw === 'string') {\n index = labels.push(raw) - 1;\n addedLabels.unshift({\n index,\n label: raw\n });\n } else if (isNaN(raw)) {\n index = null;\n }\n return index;\n};\nfunction findOrAddLabel(labels, raw, index, addedLabels) {\n const first = labels.indexOf(raw);\n if (first === -1) {\n return addIfString(labels, raw, index, addedLabels);\n }\n const last = labels.lastIndexOf(raw);\n return first !== last ? index : first;\n}\nconst validIndex = (index, max)=>index === null ? null : _limitValue(Math.round(index), 0, max);\nfunction _getLabelForValue(value) {\n const labels = this.getLabels();\n if (value >= 0 && value < labels.length) {\n return labels[value];\n }\n return value;\n}\nclass CategoryScale extends Scale {\n static id = 'category';\n static defaults = {\n ticks: {\n callback: _getLabelForValue\n }\n };\n constructor(cfg){\n super(cfg);\n this._startValue = undefined;\n this._valueRange = 0;\n this._addedLabels = [];\n }\n init(scaleOptions) {\n const added = this._addedLabels;\n if (added.length) {\n const labels = this.getLabels();\n for (const { index , label } of added){\n if (labels[index] === label) {\n labels.splice(index, 1);\n }\n }\n this._addedLabels = [];\n }\n super.init(scaleOptions);\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n const labels = this.getLabels();\n index = isFinite(index) && labels[index] === raw ? index : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels);\n return validIndex(index, labels.length - 1);\n }\n determineDataLimits() {\n const { minDefined , maxDefined } = this.getUserBounds();\n let { min , max } = this.getMinMax(true);\n if (this.options.bounds === 'ticks') {\n if (!minDefined) {\n min = 0;\n }\n if (!maxDefined) {\n max = this.getLabels().length - 1;\n }\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const min = this.min;\n const max = this.max;\n const offset = this.options.offset;\n const ticks = [];\n let labels = this.getLabels();\n labels = min === 0 && max === labels.length - 1 ? labels : labels.slice(min, max + 1);\n this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1);\n this._startValue = this.min - (offset ? 0.5 : 0);\n for(let value = min; value <= max; value++){\n ticks.push({\n value\n });\n }\n return ticks;\n }\n getLabelForValue(value) {\n return _getLabelForValue.call(this, value);\n }\n configure() {\n super.configure();\n if (!this.isHorizontal()) {\n this._reversePixels = !this._reversePixels;\n }\n }\n getPixelForValue(value) {\n if (typeof value !== 'number') {\n value = this.parse(value);\n }\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getValueForPixel(pixel) {\n return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange);\n }\n getBasePixel() {\n return this.bottom;\n }\n}\n\nfunction generateTicks$1(generationOptions, dataRange) {\n const ticks = [];\n const MIN_SPACING = 1e-14;\n const { bounds , step , min , max , precision , count , maxTicks , maxDigits , includeBounds } = generationOptions;\n const unit = step || 1;\n const maxSpaces = maxTicks - 1;\n const { min: rmin , max: rmax } = dataRange;\n const minDefined = !isNullOrUndef(min);\n const maxDefined = !isNullOrUndef(max);\n const countDefined = !isNullOrUndef(count);\n const minSpacing = (rmax - rmin) / (maxDigits + 1);\n let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit;\n let factor, niceMin, niceMax, numSpaces;\n if (spacing < MIN_SPACING && !minDefined && !maxDefined) {\n return [\n {\n value: rmin\n },\n {\n value: rmax\n }\n ];\n }\n numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\n if (numSpaces > maxSpaces) {\n spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit;\n }\n if (!isNullOrUndef(precision)) {\n factor = Math.pow(10, precision);\n spacing = Math.ceil(spacing * factor) / factor;\n }\n if (bounds === 'ticks') {\n niceMin = Math.floor(rmin / spacing) * spacing;\n niceMax = Math.ceil(rmax / spacing) * spacing;\n } else {\n niceMin = rmin;\n niceMax = rmax;\n }\n if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) {\n numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks));\n spacing = (max - min) / numSpaces;\n niceMin = min;\n niceMax = max;\n } else if (countDefined) {\n niceMin = minDefined ? min : niceMin;\n niceMax = maxDefined ? max : niceMax;\n numSpaces = count - 1;\n spacing = (niceMax - niceMin) / numSpaces;\n } else {\n numSpaces = (niceMax - niceMin) / spacing;\n if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n numSpaces = Math.round(numSpaces);\n } else {\n numSpaces = Math.ceil(numSpaces);\n }\n }\n const decimalPlaces = Math.max(_decimalPlaces(spacing), _decimalPlaces(niceMin));\n factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision);\n niceMin = Math.round(niceMin * factor) / factor;\n niceMax = Math.round(niceMax * factor) / factor;\n let j = 0;\n if (minDefined) {\n if (includeBounds && niceMin !== min) {\n ticks.push({\n value: min\n });\n if (niceMin < min) {\n j++;\n }\n if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) {\n j++;\n }\n } else if (niceMin < min) {\n j++;\n }\n }\n for(; j < numSpaces; ++j){\n const tickValue = Math.round((niceMin + j * spacing) * factor) / factor;\n if (maxDefined && tickValue > max) {\n break;\n }\n ticks.push({\n value: tickValue\n });\n }\n if (maxDefined && includeBounds && niceMax !== max) {\n if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) {\n ticks[ticks.length - 1].value = max;\n } else {\n ticks.push({\n value: max\n });\n }\n } else if (!maxDefined || niceMax === max) {\n ticks.push({\n value: niceMax\n });\n }\n return ticks;\n}\nfunction relativeLabelSize(value, minSpacing, { horizontal , minRotation }) {\n const rad = toRadians(minRotation);\n const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001;\n const length = 0.75 * minSpacing * ('' + value).length;\n return Math.min(minSpacing / ratio, length);\n}\nclass LinearScaleBase extends Scale {\n constructor(cfg){\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._endValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) {\n return null;\n }\n return +raw;\n }\n handleTickRangeOptions() {\n const { beginAtZero } = this.options;\n const { minDefined , maxDefined } = this.getUserBounds();\n let { min , max } = this;\n const setMin = (v)=>min = minDefined ? min : v;\n const setMax = (v)=>max = maxDefined ? max : v;\n if (beginAtZero) {\n const minSign = sign(min);\n const maxSign = sign(max);\n if (minSign < 0 && maxSign < 0) {\n setMax(0);\n } else if (minSign > 0 && maxSign > 0) {\n setMin(0);\n }\n }\n if (min === max) {\n let offset = max === 0 ? 1 : Math.abs(max * 0.05);\n setMax(max + offset);\n if (!beginAtZero) {\n setMin(min - offset);\n }\n }\n this.min = min;\n this.max = max;\n }\n getTickLimit() {\n const tickOpts = this.options.ticks;\n let { maxTicksLimit , stepSize } = tickOpts;\n let maxTicks;\n if (stepSize) {\n maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1;\n if (maxTicks > 1000) {\n console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`);\n maxTicks = 1000;\n }\n } else {\n maxTicks = this.computeTickLimit();\n maxTicksLimit = maxTicksLimit || 11;\n }\n if (maxTicksLimit) {\n maxTicks = Math.min(maxTicksLimit, maxTicks);\n }\n return maxTicks;\n }\n computeTickLimit() {\n return Number.POSITIVE_INFINITY;\n }\n buildTicks() {\n const opts = this.options;\n const tickOpts = opts.ticks;\n let maxTicks = this.getTickLimit();\n maxTicks = Math.max(2, maxTicks);\n const numericGeneratorOptions = {\n maxTicks,\n bounds: opts.bounds,\n min: opts.min,\n max: opts.max,\n precision: tickOpts.precision,\n step: tickOpts.stepSize,\n count: tickOpts.count,\n maxDigits: this._maxDigits(),\n horizontal: this.isHorizontal(),\n minRotation: tickOpts.minRotation || 0,\n includeBounds: tickOpts.includeBounds !== false\n };\n const dataRange = this._range || this;\n const ticks = generateTicks$1(numericGeneratorOptions, dataRange);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n configure() {\n const ticks = this.ticks;\n let start = this.min;\n let end = this.max;\n super.configure();\n if (this.options.offset && ticks.length) {\n const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\n start -= offset;\n end += offset;\n }\n this._startValue = start;\n this._endValue = end;\n this._valueRange = end - start;\n }\n getLabelForValue(value) {\n return formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n}\n\nclass LinearScale extends LinearScaleBase {\n static id = 'linear';\n static defaults = {\n ticks: {\n callback: Ticks.formatters.numeric\n }\n };\n determineDataLimits() {\n const { min , max } = this.getMinMax(true);\n this.min = isNumberFinite(min) ? min : 0;\n this.max = isNumberFinite(max) ? max : 1;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n const horizontal = this.isHorizontal();\n const length = horizontal ? this.width : this.height;\n const minRotation = toRadians(this.options.ticks.minRotation);\n const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001;\n const tickFont = this._resolveTickFontOptions(0);\n return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio));\n }\n getPixelForValue(value) {\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\n }\n}\n\nconst log10Floor = (v)=>Math.floor(log10(v));\nconst changeExponent = (v, m)=>Math.pow(10, log10Floor(v) + m);\nfunction isMajor(tickVal) {\n const remain = tickVal / Math.pow(10, log10Floor(tickVal));\n return remain === 1;\n}\nfunction steps(min, max, rangeExp) {\n const rangeStep = Math.pow(10, rangeExp);\n const start = Math.floor(min / rangeStep);\n const end = Math.ceil(max / rangeStep);\n return end - start;\n}\nfunction startExp(min, max) {\n const range = max - min;\n let rangeExp = log10Floor(range);\n while(steps(min, max, rangeExp) > 10){\n rangeExp++;\n }\n while(steps(min, max, rangeExp) < 10){\n rangeExp--;\n }\n return Math.min(rangeExp, log10Floor(min));\n}\n function generateTicks(generationOptions, { min , max }) {\n min = finiteOrDefault(generationOptions.min, min);\n const ticks = [];\n const minExp = log10Floor(min);\n let exp = startExp(min, max);\n let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\n const stepSize = Math.pow(10, exp);\n const base = minExp > exp ? Math.pow(10, minExp) : 0;\n const start = Math.round((min - base) * precision) / precision;\n const offset = Math.floor((min - base) / stepSize / 10) * stepSize * 10;\n let significand = Math.floor((start - offset) / Math.pow(10, exp));\n let value = finiteOrDefault(generationOptions.min, Math.round((base + offset + significand * Math.pow(10, exp)) * precision) / precision);\n while(value < max){\n ticks.push({\n value,\n major: isMajor(value),\n significand\n });\n if (significand >= 10) {\n significand = significand < 15 ? 15 : 20;\n } else {\n significand++;\n }\n if (significand >= 20) {\n exp++;\n significand = 2;\n precision = exp >= 0 ? 1 : precision;\n }\n value = Math.round((base + offset + significand * Math.pow(10, exp)) * precision) / precision;\n }\n const lastTick = finiteOrDefault(generationOptions.max, value);\n ticks.push({\n value: lastTick,\n major: isMajor(lastTick),\n significand\n });\n return ticks;\n}\nclass LogarithmicScale extends Scale {\n static id = 'logarithmic';\n static defaults = {\n ticks: {\n callback: Ticks.formatters.logarithmic,\n major: {\n enabled: true\n }\n }\n };\n constructor(cfg){\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n const value = LinearScaleBase.prototype.parse.apply(this, [\n raw,\n index\n ]);\n if (value === 0) {\n this._zero = true;\n return undefined;\n }\n return isNumberFinite(value) && value > 0 ? value : null;\n }\n determineDataLimits() {\n const { min , max } = this.getMinMax(true);\n this.min = isNumberFinite(min) ? Math.max(0, min) : null;\n this.max = isNumberFinite(max) ? Math.max(0, max) : null;\n if (this.options.beginAtZero) {\n this._zero = true;\n }\n if (this._zero && this.min !== this._suggestedMin && !isNumberFinite(this._userMin)) {\n this.min = min === changeExponent(this.min, 0) ? changeExponent(this.min, -1) : changeExponent(this.min, 0);\n }\n this.handleTickRangeOptions();\n }\n handleTickRangeOptions() {\n const { minDefined , maxDefined } = this.getUserBounds();\n let min = this.min;\n let max = this.max;\n const setMin = (v)=>min = minDefined ? min : v;\n const setMax = (v)=>max = maxDefined ? max : v;\n if (min === max) {\n if (min <= 0) {\n setMin(1);\n setMax(10);\n } else {\n setMin(changeExponent(min, -1));\n setMax(changeExponent(max, +1));\n }\n }\n if (min <= 0) {\n setMin(changeExponent(max, -1));\n }\n if (max <= 0) {\n setMax(changeExponent(min, +1));\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const opts = this.options;\n const generationOptions = {\n min: this._userMin,\n max: this._userMax\n };\n const ticks = generateTicks(generationOptions, this);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n getLabelForValue(value) {\n return value === undefined ? '0' : formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n configure() {\n const start = this.min;\n super.configure();\n this._startValue = log10(start);\n this._valueRange = log10(this.max) - log10(start);\n }\n getPixelForValue(value) {\n if (value === undefined || value === 0) {\n value = this.min;\n }\n if (value === null || isNaN(value)) {\n return NaN;\n }\n return this.getPixelForDecimal(value === this.min ? 0 : (log10(value) - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n const decimal = this.getDecimalForPixel(pixel);\n return Math.pow(10, this._startValue + decimal * this._valueRange);\n }\n}\n\nfunction getTickBackdropHeight(opts) {\n const tickOpts = opts.ticks;\n if (tickOpts.display && opts.display) {\n const padding = toPadding(tickOpts.backdropPadding);\n return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height;\n }\n return 0;\n}\nfunction measureLabelSize(ctx, font, label) {\n label = isArray(label) ? label : [\n label\n ];\n return {\n w: _longestText(ctx, font.string, label),\n h: label.length * font.lineHeight\n };\n}\nfunction determineLimits(angle, pos, size, min, max) {\n if (angle === min || angle === max) {\n return {\n start: pos - size / 2,\n end: pos + size / 2\n };\n } else if (angle < min || angle > max) {\n return {\n start: pos - size,\n end: pos\n };\n }\n return {\n start: pos,\n end: pos + size\n };\n}\n function fitWithPointLabels(scale) {\n const orig = {\n l: scale.left + scale._padding.left,\n r: scale.right - scale._padding.right,\n t: scale.top + scale._padding.top,\n b: scale.bottom - scale._padding.bottom\n };\n const limits = Object.assign({}, orig);\n const labelSizes = [];\n const padding = [];\n const valueCount = scale._pointLabels.length;\n const pointLabelOpts = scale.options.pointLabels;\n const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0;\n for(let i = 0; i < valueCount; i++){\n const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i));\n padding[i] = opts.padding;\n const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle);\n const plFont = toFont(opts.font);\n const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]);\n labelSizes[i] = textSize;\n const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle);\n const angle = Math.round(toDegrees(angleRadians));\n const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n updateLimits(limits, orig, angleRadians, hLimits, vLimits);\n }\n scale.setCenterPoint(orig.l - limits.l, limits.r - orig.r, orig.t - limits.t, limits.b - orig.b);\n scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding);\n}\nfunction updateLimits(limits, orig, angle, hLimits, vLimits) {\n const sin = Math.abs(Math.sin(angle));\n const cos = Math.abs(Math.cos(angle));\n let x = 0;\n let y = 0;\n if (hLimits.start < orig.l) {\n x = (orig.l - hLimits.start) / sin;\n limits.l = Math.min(limits.l, orig.l - x);\n } else if (hLimits.end > orig.r) {\n x = (hLimits.end - orig.r) / sin;\n limits.r = Math.max(limits.r, orig.r + x);\n }\n if (vLimits.start < orig.t) {\n y = (orig.t - vLimits.start) / cos;\n limits.t = Math.min(limits.t, orig.t - y);\n } else if (vLimits.end > orig.b) {\n y = (vLimits.end - orig.b) / cos;\n limits.b = Math.max(limits.b, orig.b + y);\n }\n}\nfunction createPointLabelItem(scale, index, itemOpts) {\n const outerDistance = scale.drawingArea;\n const { extra , additionalAngle , padding , size } = itemOpts;\n const pointLabelPosition = scale.getPointPosition(index, outerDistance + extra + padding, additionalAngle);\n const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI)));\n const y = yForAngle(pointLabelPosition.y, size.h, angle);\n const textAlign = getTextAlignForAngle(angle);\n const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign);\n return {\n visible: true,\n x: pointLabelPosition.x,\n y,\n textAlign,\n left,\n top: y,\n right: left + size.w,\n bottom: y + size.h\n };\n}\nfunction isNotOverlapped(item, area) {\n if (!area) {\n return true;\n }\n const { left , top , right , bottom } = item;\n const apexesInArea = _isPointInArea({\n x: left,\n y: top\n }, area) || _isPointInArea({\n x: left,\n y: bottom\n }, area) || _isPointInArea({\n x: right,\n y: top\n }, area) || _isPointInArea({\n x: right,\n y: bottom\n }, area);\n return !apexesInArea;\n}\nfunction buildPointLabelItems(scale, labelSizes, padding) {\n const items = [];\n const valueCount = scale._pointLabels.length;\n const opts = scale.options;\n const { centerPointLabels , display } = opts.pointLabels;\n const itemOpts = {\n extra: getTickBackdropHeight(opts) / 2,\n additionalAngle: centerPointLabels ? PI / valueCount : 0\n };\n let area;\n for(let i = 0; i < valueCount; i++){\n itemOpts.padding = padding[i];\n itemOpts.size = labelSizes[i];\n const item = createPointLabelItem(scale, i, itemOpts);\n items.push(item);\n if (display === 'auto') {\n item.visible = isNotOverlapped(item, area);\n if (item.visible) {\n area = item;\n }\n }\n }\n return items;\n}\nfunction getTextAlignForAngle(angle) {\n if (angle === 0 || angle === 180) {\n return 'center';\n } else if (angle < 180) {\n return 'left';\n }\n return 'right';\n}\nfunction leftForTextAlign(x, w, align) {\n if (align === 'right') {\n x -= w;\n } else if (align === 'center') {\n x -= w / 2;\n }\n return x;\n}\nfunction yForAngle(y, h, angle) {\n if (angle === 90 || angle === 270) {\n y -= h / 2;\n } else if (angle > 270 || angle < 90) {\n y -= h;\n }\n return y;\n}\nfunction drawPointLabelBox(ctx, opts, item) {\n const { left , top , right , bottom } = item;\n const { backdropColor } = opts;\n if (!isNullOrUndef(backdropColor)) {\n const borderRadius = toTRBLCorners(opts.borderRadius);\n const padding = toPadding(opts.backdropPadding);\n ctx.fillStyle = backdropColor;\n const backdropLeft = left - padding.left;\n const backdropTop = top - padding.top;\n const backdropWidth = right - left + padding.width;\n const backdropHeight = bottom - top + padding.height;\n if (Object.values(borderRadius).some((v)=>v !== 0)) {\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: backdropLeft,\n y: backdropTop,\n w: backdropWidth,\n h: backdropHeight,\n radius: borderRadius\n });\n ctx.fill();\n } else {\n ctx.fillRect(backdropLeft, backdropTop, backdropWidth, backdropHeight);\n }\n }\n}\nfunction drawPointLabels(scale, labelCount) {\n const { ctx , options: { pointLabels } } = scale;\n for(let i = labelCount - 1; i >= 0; i--){\n const item = scale._pointLabelItems[i];\n if (!item.visible) {\n continue;\n }\n const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i));\n drawPointLabelBox(ctx, optsAtIndex, item);\n const plFont = toFont(optsAtIndex.font);\n const { x , y , textAlign } = item;\n renderText(ctx, scale._pointLabels[i], x, y + plFont.lineHeight / 2, plFont, {\n color: optsAtIndex.color,\n textAlign: textAlign,\n textBaseline: 'middle'\n });\n }\n}\nfunction pathRadiusLine(scale, radius, circular, labelCount) {\n const { ctx } = scale;\n if (circular) {\n ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU);\n } else {\n let pointPosition = scale.getPointPosition(0, radius);\n ctx.moveTo(pointPosition.x, pointPosition.y);\n for(let i = 1; i < labelCount; i++){\n pointPosition = scale.getPointPosition(i, radius);\n ctx.lineTo(pointPosition.x, pointPosition.y);\n }\n }\n}\nfunction drawRadiusLine(scale, gridLineOpts, radius, labelCount, borderOpts) {\n const ctx = scale.ctx;\n const circular = gridLineOpts.circular;\n const { color , lineWidth } = gridLineOpts;\n if (!circular && !labelCount || !color || !lineWidth || radius < 0) {\n return;\n }\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = lineWidth;\n ctx.setLineDash(borderOpts.dash || []);\n ctx.lineDashOffset = borderOpts.dashOffset;\n ctx.beginPath();\n pathRadiusLine(scale, radius, circular, labelCount);\n ctx.closePath();\n ctx.stroke();\n ctx.restore();\n}\nfunction createPointLabelContext(parent, index, label) {\n return createContext(parent, {\n label,\n index,\n type: 'pointLabel'\n });\n}\nclass RadialLinearScale extends LinearScaleBase {\n static id = 'radialLinear';\n static defaults = {\n display: true,\n animate: true,\n position: 'chartArea',\n angleLines: {\n display: true,\n lineWidth: 1,\n borderDash: [],\n borderDashOffset: 0.0\n },\n grid: {\n circular: false\n },\n startAngle: 0,\n ticks: {\n showLabelBackdrop: true,\n callback: Ticks.formatters.numeric\n },\n pointLabels: {\n backdropColor: undefined,\n backdropPadding: 2,\n display: true,\n font: {\n size: 10\n },\n callback (label) {\n return label;\n },\n padding: 5,\n centerPointLabels: false\n }\n };\n static defaultRoutes = {\n 'angleLines.color': 'borderColor',\n 'pointLabels.color': 'color',\n 'ticks.color': 'color'\n };\n static descriptors = {\n angleLines: {\n _fallback: 'grid'\n }\n };\n constructor(cfg){\n super(cfg);\n this.xCenter = undefined;\n this.yCenter = undefined;\n this.drawingArea = undefined;\n this._pointLabels = [];\n this._pointLabelItems = [];\n }\n setDimensions() {\n const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2);\n const w = this.width = this.maxWidth - padding.width;\n const h = this.height = this.maxHeight - padding.height;\n this.xCenter = Math.floor(this.left + w / 2 + padding.left);\n this.yCenter = Math.floor(this.top + h / 2 + padding.top);\n this.drawingArea = Math.floor(Math.min(w, h) / 2);\n }\n determineDataLimits() {\n const { min , max } = this.getMinMax(false);\n this.min = isNumberFinite(min) && !isNaN(min) ? min : 0;\n this.max = isNumberFinite(max) && !isNaN(max) ? max : 0;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\n }\n generateTickLabels(ticks) {\n LinearScaleBase.prototype.generateTickLabels.call(this, ticks);\n this._pointLabels = this.getLabels().map((value, index)=>{\n const label = callback(this.options.pointLabels.callback, [\n value,\n index\n ], this);\n return label || label === 0 ? label : '';\n }).filter((v, i)=>this.chart.getDataVisibility(i));\n }\n fit() {\n const opts = this.options;\n if (opts.display && opts.pointLabels.display) {\n fitWithPointLabels(this);\n } else {\n this.setCenterPoint(0, 0, 0, 0);\n }\n }\n setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) {\n this.xCenter += Math.floor((leftMovement - rightMovement) / 2);\n this.yCenter += Math.floor((topMovement - bottomMovement) / 2);\n this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement));\n }\n getIndexAngle(index) {\n const angleMultiplier = TAU / (this._pointLabels.length || 1);\n const startAngle = this.options.startAngle || 0;\n return _normalizeAngle(index * angleMultiplier + toRadians(startAngle));\n }\n getDistanceFromCenterForValue(value) {\n if (isNullOrUndef(value)) {\n return NaN;\n }\n const scalingFactor = this.drawingArea / (this.max - this.min);\n if (this.options.reverse) {\n return (this.max - value) * scalingFactor;\n }\n return (value - this.min) * scalingFactor;\n }\n getValueForDistanceFromCenter(distance) {\n if (isNullOrUndef(distance)) {\n return NaN;\n }\n const scaledDistance = distance / (this.drawingArea / (this.max - this.min));\n return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance;\n }\n getPointLabelContext(index) {\n const pointLabels = this._pointLabels || [];\n if (index >= 0 && index < pointLabels.length) {\n const pointLabel = pointLabels[index];\n return createPointLabelContext(this.getContext(), index, pointLabel);\n }\n }\n getPointPosition(index, distanceFromCenter, additionalAngle = 0) {\n const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle;\n return {\n x: Math.cos(angle) * distanceFromCenter + this.xCenter,\n y: Math.sin(angle) * distanceFromCenter + this.yCenter,\n angle\n };\n }\n getPointPositionForValue(index, value) {\n return this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n }\n getBasePosition(index) {\n return this.getPointPositionForValue(index || 0, this.getBaseValue());\n }\n getPointLabelPosition(index) {\n const { left , top , right , bottom } = this._pointLabelItems[index];\n return {\n left,\n top,\n right,\n bottom\n };\n }\n drawBackground() {\n const { backgroundColor , grid: { circular } } = this.options;\n if (backgroundColor) {\n const ctx = this.ctx;\n ctx.save();\n ctx.beginPath();\n pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length);\n ctx.closePath();\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n }\n drawGrid() {\n const ctx = this.ctx;\n const opts = this.options;\n const { angleLines , grid , border } = opts;\n const labelCount = this._pointLabels.length;\n let i, offset, position;\n if (opts.pointLabels.display) {\n drawPointLabels(this, labelCount);\n }\n if (grid.display) {\n this.ticks.forEach((tick, index)=>{\n if (index !== 0 || index === 0 && this.min < 0) {\n offset = this.getDistanceFromCenterForValue(tick.value);\n const context = this.getContext(index);\n const optsAtIndex = grid.setContext(context);\n const optsAtIndexBorder = border.setContext(context);\n drawRadiusLine(this, optsAtIndex, offset, labelCount, optsAtIndexBorder);\n }\n });\n }\n if (angleLines.display) {\n ctx.save();\n for(i = labelCount - 1; i >= 0; i--){\n const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i));\n const { color , lineWidth } = optsAtIndex;\n if (!lineWidth || !color) {\n continue;\n }\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = color;\n ctx.setLineDash(optsAtIndex.borderDash);\n ctx.lineDashOffset = optsAtIndex.borderDashOffset;\n offset = this.getDistanceFromCenterForValue(opts.reverse ? this.min : this.max);\n position = this.getPointPosition(i, offset);\n ctx.beginPath();\n ctx.moveTo(this.xCenter, this.yCenter);\n ctx.lineTo(position.x, position.y);\n ctx.stroke();\n }\n ctx.restore();\n }\n }\n drawBorder() {}\n drawLabels() {\n const ctx = this.ctx;\n const opts = this.options;\n const tickOpts = opts.ticks;\n if (!tickOpts.display) {\n return;\n }\n const startAngle = this.getIndexAngle(0);\n let offset, width;\n ctx.save();\n ctx.translate(this.xCenter, this.yCenter);\n ctx.rotate(startAngle);\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n this.ticks.forEach((tick, index)=>{\n if (index === 0 && this.min >= 0 && !opts.reverse) {\n return;\n }\n const optsAtIndex = tickOpts.setContext(this.getContext(index));\n const tickFont = toFont(optsAtIndex.font);\n offset = this.getDistanceFromCenterForValue(this.ticks[index].value);\n if (optsAtIndex.showLabelBackdrop) {\n ctx.font = tickFont.string;\n width = ctx.measureText(tick.label).width;\n ctx.fillStyle = optsAtIndex.backdropColor;\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillRect(-width / 2 - padding.left, -offset - tickFont.size / 2 - padding.top, width + padding.width, tickFont.size + padding.height);\n }\n renderText(ctx, tick.label, 0, -offset, tickFont, {\n color: optsAtIndex.color,\n strokeColor: optsAtIndex.textStrokeColor,\n strokeWidth: optsAtIndex.textStrokeWidth\n });\n });\n ctx.restore();\n }\n drawTitle() {}\n}\n\nconst INTERVALS = {\n millisecond: {\n common: true,\n size: 1,\n steps: 1000\n },\n second: {\n common: true,\n size: 1000,\n steps: 60\n },\n minute: {\n common: true,\n size: 60000,\n steps: 60\n },\n hour: {\n common: true,\n size: 3600000,\n steps: 24\n },\n day: {\n common: true,\n size: 86400000,\n steps: 30\n },\n week: {\n common: false,\n size: 604800000,\n steps: 4\n },\n month: {\n common: true,\n size: 2.628e9,\n steps: 12\n },\n quarter: {\n common: false,\n size: 7.884e9,\n steps: 4\n },\n year: {\n common: true,\n size: 3.154e10\n }\n};\n const UNITS = /* #__PURE__ */ Object.keys(INTERVALS);\n function sorter(a, b) {\n return a - b;\n}\n function parse(scale, input) {\n if (isNullOrUndef(input)) {\n return null;\n }\n const adapter = scale._adapter;\n const { parser , round , isoWeekday } = scale._parseOpts;\n let value = input;\n if (typeof parser === 'function') {\n value = parser(value);\n }\n if (!isNumberFinite(value)) {\n value = typeof parser === 'string' ? adapter.parse(value, parser) : adapter.parse(value);\n }\n if (value === null) {\n return null;\n }\n if (round) {\n value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true) ? adapter.startOf(value, 'isoWeek', isoWeekday) : adapter.startOf(value, round);\n }\n return +value;\n}\n function determineUnitForAutoTicks(minUnit, min, max, capacity) {\n const ilen = UNITS.length;\n for(let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i){\n const interval = INTERVALS[UNITS[i]];\n const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER;\n if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\n return UNITS[i];\n }\n }\n return UNITS[ilen - 1];\n}\n function determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\n for(let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--){\n const unit = UNITS[i];\n if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\n return unit;\n }\n }\n return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\n}\n function determineMajorUnit(unit) {\n for(let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i){\n if (INTERVALS[UNITS[i]].common) {\n return UNITS[i];\n }\n }\n}\n function addTick(ticks, time, timestamps) {\n if (!timestamps) {\n ticks[time] = true;\n } else if (timestamps.length) {\n const { lo , hi } = _lookup(timestamps, time);\n const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi];\n ticks[timestamp] = true;\n }\n}\n function setMajorTicks(scale, ticks, map, majorUnit) {\n const adapter = scale._adapter;\n const first = +adapter.startOf(ticks[0].value, majorUnit);\n const last = ticks[ticks.length - 1].value;\n let major, index;\n for(major = first; major <= last; major = +adapter.add(major, 1, majorUnit)){\n index = map[major];\n if (index >= 0) {\n ticks[index].major = true;\n }\n }\n return ticks;\n}\n function ticksFromTimestamps(scale, values, majorUnit) {\n const ticks = [];\n const map = {};\n const ilen = values.length;\n let i, value;\n for(i = 0; i < ilen; ++i){\n value = values[i];\n map[value] = i;\n ticks.push({\n value,\n major: false\n });\n }\n return ilen === 0 || !majorUnit ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\n}\nclass TimeScale extends Scale {\n static id = 'time';\n static defaults = {\n bounds: 'data',\n adapters: {},\n time: {\n parser: false,\n unit: false,\n round: false,\n isoWeekday: false,\n minUnit: 'millisecond',\n displayFormats: {}\n },\n ticks: {\n source: 'auto',\n callback: false,\n major: {\n enabled: false\n }\n }\n };\n constructor(props){\n super(props);\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n this._unit = 'day';\n this._majorUnit = undefined;\n this._offsets = {};\n this._normalized = false;\n this._parseOpts = undefined;\n }\n init(scaleOpts, opts = {}) {\n const time = scaleOpts.time || (scaleOpts.time = {});\n const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date);\n adapter.init(opts);\n mergeIf(time.displayFormats, adapter.formats());\n this._parseOpts = {\n parser: time.parser,\n round: time.round,\n isoWeekday: time.isoWeekday\n };\n super.init(scaleOpts);\n this._normalized = opts.normalized;\n }\n parse(raw, index) {\n if (raw === undefined) {\n return null;\n }\n return parse(this, raw);\n }\n beforeLayout() {\n super.beforeLayout();\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n }\n determineDataLimits() {\n const options = this.options;\n const adapter = this._adapter;\n const unit = options.time.unit || 'day';\n let { min , max , minDefined , maxDefined } = this.getUserBounds();\n function _applyBounds(bounds) {\n if (!minDefined && !isNaN(bounds.min)) {\n min = Math.min(min, bounds.min);\n }\n if (!maxDefined && !isNaN(bounds.max)) {\n max = Math.max(max, bounds.max);\n }\n }\n if (!minDefined || !maxDefined) {\n _applyBounds(this._getLabelBounds());\n if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') {\n _applyBounds(this.getMinMax(false));\n }\n }\n min = isNumberFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit);\n max = isNumberFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1;\n this.min = Math.min(min, max - 1);\n this.max = Math.max(min + 1, max);\n }\n _getLabelBounds() {\n const arr = this.getLabelTimestamps();\n let min = Number.POSITIVE_INFINITY;\n let max = Number.NEGATIVE_INFINITY;\n if (arr.length) {\n min = arr[0];\n max = arr[arr.length - 1];\n }\n return {\n min,\n max\n };\n }\n buildTicks() {\n const options = this.options;\n const timeOpts = options.time;\n const tickOpts = options.ticks;\n const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate();\n if (options.bounds === 'ticks' && timestamps.length) {\n this.min = this._userMin || timestamps[0];\n this.max = this._userMax || timestamps[timestamps.length - 1];\n }\n const min = this.min;\n const max = this.max;\n const ticks = _filterBetween(timestamps, min, max);\n this._unit = timeOpts.unit || (tickOpts.autoSkip ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min)) : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max));\n this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined : determineMajorUnit(this._unit);\n this.initOffsets(timestamps);\n if (options.reverse) {\n ticks.reverse();\n }\n return ticksFromTimestamps(this, ticks, this._majorUnit);\n }\n afterAutoSkip() {\n if (this.options.offsetAfterAutoskip) {\n this.initOffsets(this.ticks.map((tick)=>+tick.value));\n }\n }\n initOffsets(timestamps = []) {\n let start = 0;\n let end = 0;\n let first, last;\n if (this.options.offset && timestamps.length) {\n first = this.getDecimalForValue(timestamps[0]);\n if (timestamps.length === 1) {\n start = 1 - first;\n } else {\n start = (this.getDecimalForValue(timestamps[1]) - first) / 2;\n }\n last = this.getDecimalForValue(timestamps[timestamps.length - 1]);\n if (timestamps.length === 1) {\n end = last;\n } else {\n end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2;\n }\n }\n const limit = timestamps.length < 3 ? 0.5 : 0.25;\n start = _limitValue(start, 0, limit);\n end = _limitValue(end, 0, limit);\n this._offsets = {\n start,\n end,\n factor: 1 / (start + 1 + end)\n };\n }\n _generate() {\n const adapter = this._adapter;\n const min = this.min;\n const max = this.max;\n const options = this.options;\n const timeOpts = options.time;\n const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min));\n const stepSize = valueOrDefault(options.ticks.stepSize, 1);\n const weekday = minor === 'week' ? timeOpts.isoWeekday : false;\n const hasWeekday = isNumber(weekday) || weekday === true;\n const ticks = {};\n let first = min;\n let time, count;\n if (hasWeekday) {\n first = +adapter.startOf(first, 'isoWeek', weekday);\n }\n first = +adapter.startOf(first, hasWeekday ? 'day' : minor);\n if (adapter.diff(max, min, minor) > 100000 * stepSize) {\n throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor);\n }\n const timestamps = options.ticks.source === 'data' && this.getDataTimestamps();\n for(time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++){\n addTick(ticks, time, timestamps);\n }\n if (time === max || options.bounds === 'ticks' || count === 1) {\n addTick(ticks, time, timestamps);\n }\n return Object.keys(ticks).sort(sorter).map((x)=>+x);\n }\n getLabelForValue(value) {\n const adapter = this._adapter;\n const timeOpts = this.options.time;\n if (timeOpts.tooltipFormat) {\n return adapter.format(value, timeOpts.tooltipFormat);\n }\n return adapter.format(value, timeOpts.displayFormats.datetime);\n }\n format(value, format) {\n const options = this.options;\n const formats = options.time.displayFormats;\n const unit = this._unit;\n const fmt = format || formats[unit];\n return this._adapter.format(value, fmt);\n }\n _tickFormatFunction(time, index, ticks, format) {\n const options = this.options;\n const formatter = options.ticks.callback;\n if (formatter) {\n return callback(formatter, [\n time,\n index,\n ticks\n ], this);\n }\n const formats = options.time.displayFormats;\n const unit = this._unit;\n const majorUnit = this._majorUnit;\n const minorFormat = unit && formats[unit];\n const majorFormat = majorUnit && formats[majorUnit];\n const tick = ticks[index];\n const major = majorUnit && majorFormat && tick && tick.major;\n return this._adapter.format(time, format || (major ? majorFormat : minorFormat));\n }\n generateTickLabels(ticks) {\n let i, ilen, tick;\n for(i = 0, ilen = ticks.length; i < ilen; ++i){\n tick = ticks[i];\n tick.label = this._tickFormatFunction(tick.value, i, ticks);\n }\n }\n getDecimalForValue(value) {\n return value === null ? NaN : (value - this.min) / (this.max - this.min);\n }\n getPixelForValue(value) {\n const offsets = this._offsets;\n const pos = this.getDecimalForValue(value);\n return this.getPixelForDecimal((offsets.start + pos) * offsets.factor);\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return this.min + pos * (this.max - this.min);\n }\n _getLabelSize(label) {\n const ticksOpts = this.options.ticks;\n const tickLabelWidth = this.ctx.measureText(label).width;\n const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\n const cosRotation = Math.cos(angle);\n const sinRotation = Math.sin(angle);\n const tickFontSize = this._resolveTickFontOptions(0).size;\n return {\n w: tickLabelWidth * cosRotation + tickFontSize * sinRotation,\n h: tickLabelWidth * sinRotation + tickFontSize * cosRotation\n };\n }\n _getLabelCapacity(exampleTime) {\n const timeOpts = this.options.time;\n const displayFormats = timeOpts.displayFormats;\n const format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\n const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [\n exampleTime\n ], this._majorUnit), format);\n const size = this._getLabelSize(exampleLabel);\n const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1;\n return capacity > 0 ? capacity : 1;\n }\n getDataTimestamps() {\n let timestamps = this._cache.data || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const metas = this.getMatchingVisibleMetas();\n if (this._normalized && metas.length) {\n return this._cache.data = metas[0].controller.getAllParsedValues(this);\n }\n for(i = 0, ilen = metas.length; i < ilen; ++i){\n timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this));\n }\n return this._cache.data = this.normalize(timestamps);\n }\n getLabelTimestamps() {\n const timestamps = this._cache.labels || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const labels = this.getLabels();\n for(i = 0, ilen = labels.length; i < ilen; ++i){\n timestamps.push(parse(this, labels[i]));\n }\n return this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps);\n }\n normalize(values) {\n return _arrayUnique(values.sort(sorter));\n }\n}\n\nfunction interpolate(table, val, reverse) {\n let lo = 0;\n let hi = table.length - 1;\n let prevSource, nextSource, prevTarget, nextTarget;\n if (reverse) {\n if (val >= table[lo].pos && val <= table[hi].pos) {\n ({ lo , hi } = _lookupByKey(table, 'pos', val));\n }\n ({ pos: prevSource , time: prevTarget } = table[lo]);\n ({ pos: nextSource , time: nextTarget } = table[hi]);\n } else {\n if (val >= table[lo].time && val <= table[hi].time) {\n ({ lo , hi } = _lookupByKey(table, 'time', val));\n }\n ({ time: prevSource , pos: prevTarget } = table[lo]);\n ({ time: nextSource , pos: nextTarget } = table[hi]);\n }\n const span = nextSource - prevSource;\n return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;\n}\nclass TimeSeriesScale extends TimeScale {\n static id = 'timeseries';\n static defaults = TimeScale.defaults;\n constructor(props){\n super(props);\n this._table = [];\n this._minPos = undefined;\n this._tableRange = undefined;\n }\n initOffsets() {\n const timestamps = this._getTimestampsForTable();\n const table = this._table = this.buildLookupTable(timestamps);\n this._minPos = interpolate(table, this.min);\n this._tableRange = interpolate(table, this.max) - this._minPos;\n super.initOffsets(timestamps);\n }\n buildLookupTable(timestamps) {\n const { min , max } = this;\n const items = [];\n const table = [];\n let i, ilen, prev, curr, next;\n for(i = 0, ilen = timestamps.length; i < ilen; ++i){\n curr = timestamps[i];\n if (curr >= min && curr <= max) {\n items.push(curr);\n }\n }\n if (items.length < 2) {\n return [\n {\n time: min,\n pos: 0\n },\n {\n time: max,\n pos: 1\n }\n ];\n }\n for(i = 0, ilen = items.length; i < ilen; ++i){\n next = items[i + 1];\n prev = items[i - 1];\n curr = items[i];\n if (Math.round((next + prev) / 2) !== curr) {\n table.push({\n time: curr,\n pos: i / (ilen - 1)\n });\n }\n }\n return table;\n }\n _generate() {\n const min = this.min;\n const max = this.max;\n let timestamps = super.getDataTimestamps();\n if (!timestamps.includes(min) || !timestamps.length) {\n timestamps.splice(0, 0, min);\n }\n if (!timestamps.includes(max) || timestamps.length === 1) {\n timestamps.push(max);\n }\n return timestamps.sort((a, b)=>a - b);\n }\n _getTimestampsForTable() {\n let timestamps = this._cache.all || [];\n if (timestamps.length) {\n return timestamps;\n }\n const data = this.getDataTimestamps();\n const label = this.getLabelTimestamps();\n if (data.length && label.length) {\n timestamps = this.normalize(data.concat(label));\n } else {\n timestamps = data.length ? data : label;\n }\n timestamps = this._cache.all = timestamps;\n return timestamps;\n }\n getDecimalForValue(value) {\n return (interpolate(this._table, value) - this._minPos) / this._tableRange;\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return interpolate(this._table, decimal * this._tableRange + this._minPos, true);\n }\n}\n\nvar scales = /*#__PURE__*/Object.freeze({\n__proto__: null,\nCategoryScale: CategoryScale,\nLinearScale: LinearScale,\nLogarithmicScale: LogarithmicScale,\nRadialLinearScale: RadialLinearScale,\nTimeScale: TimeScale,\nTimeSeriesScale: TimeSeriesScale\n});\n\nconst registerables = [\n controllers,\n elements,\n plugins,\n scales\n];\n\nexport { Animation, Animations, ArcElement, BarController, BarElement, BasePlatform, BasicPlatform, BubbleController, CategoryScale, Chart, plugin_colors as Colors, DatasetController, plugin_decimation as Decimation, DomPlatform, DoughnutController, Element, index as Filler, Interaction, plugin_legend as Legend, LineController, LineElement, LinearScale, LogarithmicScale, PieController, PointElement, PolarAreaController, RadarController, RadialLinearScale, Scale, ScatterController, plugin_subtitle as SubTitle, Ticks, TimeScale, TimeSeriesScale, plugin_title as Title, plugin_tooltip as Tooltip, adapters as _adapters, _detectPlatform, animator, controllers, defaults, elements, layouts, plugins, registerables, registry, scales };\n//# sourceMappingURL=chart.js.map\n","import React, { forwardRef, useRef, useEffect } from 'react';\nimport { Chart as Chart$1, LineController, BarController, RadarController, DoughnutController, PolarAreaController, BubbleController, PieController, ScatterController } from 'chart.js';\n\nconst defaultDatasetIdKey = 'label';\nfunction reforwardRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}\nfunction setOptions(chart, nextOptions) {\n const options = chart.options;\n if (options && nextOptions) {\n Object.assign(options, nextOptions);\n }\n}\nfunction setLabels(currentData, nextLabels) {\n currentData.labels = nextLabels;\n}\nfunction setDatasets(currentData, nextDatasets) {\n let datasetIdKey = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : defaultDatasetIdKey;\n const addedDatasets = [];\n currentData.datasets = nextDatasets.map((nextDataset)=>{\n // given the new set, find it's current match\n const currentDataset = currentData.datasets.find((dataset)=>dataset[datasetIdKey] === nextDataset[datasetIdKey]);\n // There is no original to update, so simply add new one\n if (!currentDataset || !nextDataset.data || addedDatasets.includes(currentDataset)) {\n return {\n ...nextDataset\n };\n }\n addedDatasets.push(currentDataset);\n Object.assign(currentDataset, nextDataset);\n return currentDataset;\n });\n}\nfunction cloneData(data) {\n let datasetIdKey = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : defaultDatasetIdKey;\n const nextData = {\n labels: [],\n datasets: []\n };\n setLabels(nextData, data.labels);\n setDatasets(nextData, data.datasets, datasetIdKey);\n return nextData;\n}\n/**\n * Get dataset from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */ function getDatasetAtEvent(chart, event) {\n return chart.getElementsAtEventForMode(event.nativeEvent, 'dataset', {\n intersect: true\n }, false);\n}\n/**\n * Get single dataset element from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */ function getElementAtEvent(chart, event) {\n return chart.getElementsAtEventForMode(event.nativeEvent, 'nearest', {\n intersect: true\n }, false);\n}\n/**\n * Get all dataset elements from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */ function getElementsAtEvent(chart, event) {\n return chart.getElementsAtEventForMode(event.nativeEvent, 'index', {\n intersect: true\n }, false);\n}\n\nfunction ChartComponent(props, ref) {\n const { height = 150, width = 300, redraw = false, datasetIdKey, type, data, options, plugins = [], fallbackContent, updateMode, ...canvasProps } = props;\n const canvasRef = useRef(null);\n const chartRef = useRef(null);\n const renderChart = ()=>{\n if (!canvasRef.current) return;\n chartRef.current = new Chart$1(canvasRef.current, {\n type,\n data: cloneData(data, datasetIdKey),\n options: options && {\n ...options\n },\n plugins\n });\n reforwardRef(ref, chartRef.current);\n };\n const destroyChart = ()=>{\n reforwardRef(ref, null);\n if (chartRef.current) {\n chartRef.current.destroy();\n chartRef.current = null;\n }\n };\n useEffect(()=>{\n if (!redraw && chartRef.current && options) {\n setOptions(chartRef.current, options);\n }\n }, [\n redraw,\n options\n ]);\n useEffect(()=>{\n if (!redraw && chartRef.current) {\n setLabels(chartRef.current.config.data, data.labels);\n }\n }, [\n redraw,\n data.labels\n ]);\n useEffect(()=>{\n if (!redraw && chartRef.current && data.datasets) {\n setDatasets(chartRef.current.config.data, data.datasets, datasetIdKey);\n }\n }, [\n redraw,\n data.datasets\n ]);\n useEffect(()=>{\n if (!chartRef.current) return;\n if (redraw) {\n destroyChart();\n setTimeout(renderChart);\n } else {\n chartRef.current.update(updateMode);\n }\n }, [\n redraw,\n options,\n data.labels,\n data.datasets,\n updateMode\n ]);\n useEffect(()=>{\n if (!chartRef.current) return;\n destroyChart();\n setTimeout(renderChart);\n }, [\n type\n ]);\n useEffect(()=>{\n renderChart();\n return ()=>destroyChart();\n }, []);\n return /*#__PURE__*/ React.createElement(\"canvas\", {\n ref: canvasRef,\n role: \"img\",\n height: height,\n width: width,\n ...canvasProps\n }, fallbackContent);\n}\nconst Chart = /*#__PURE__*/ forwardRef(ChartComponent);\n\nfunction createTypedChart(type, registerables) {\n Chart$1.register(registerables);\n return /*#__PURE__*/ forwardRef((props, ref)=>/*#__PURE__*/ React.createElement(Chart, {\n ...props,\n ref: ref,\n type: type\n }));\n}\nconst Line = /* #__PURE__ */ createTypedChart('line', LineController);\nconst Bar = /* #__PURE__ */ createTypedChart('bar', BarController);\nconst Radar = /* #__PURE__ */ createTypedChart('radar', RadarController);\nconst Doughnut = /* #__PURE__ */ createTypedChart('doughnut', DoughnutController);\nconst PolarArea = /* #__PURE__ */ createTypedChart('polarArea', PolarAreaController);\nconst Bubble = /* #__PURE__ */ createTypedChart('bubble', BubbleController);\nconst Pie = /* #__PURE__ */ createTypedChart('pie', PieController);\nconst Scatter = /* #__PURE__ */ createTypedChart('scatter', ScatterController);\n\nexport { Bar, Bubble, Chart, Doughnut, Line, Pie, PolarArea, Radar, Scatter, getDatasetAtEvent, getElementAtEvent, getElementsAtEvent };\n//# sourceMappingURL=index.js.map\n","import { Box, styled } from '@mui/material';\n\nexport const StyledScoresBox = styled(Box)(({ theme }) => ({\n gap: '34px',\n display: 'flex',\n margin: '16px auto',\n textAlign: 'center',\n flexDirection: 'column',\n justifyContent: 'center',\n\n '.MuiTypography-root': { color: theme.palette.grey[300] }\n}));\n\nexport const StyledDoughnutChartContainer = styled(Box)({\n width: '100%',\n display: 'grid',\n margin: '0 auto',\n gridTemplateColumns: 'auto 90px'\n});\n\nexport const doughnutChartImageStyle: React.CSSProperties = {\n left: '0px',\n top: '200px',\n zIndex: '-1',\n cursor: 'pointer',\n position: 'absolute'\n};\n\nexport const sxStyles = { cursor: 'pointer', '.MuiTypography-root': { display: 'block' } };\n","import { ChartData, ChartOptions } from 'chart.js';\n\nexport function getData(data: number[]): ChartData<'doughnut', number[], string> {\n return {\n datasets: [\n {\n data: data?.length ? data : [1, 3, 2],\n backgroundColor: ['rgb(252, 99, 107)', 'rgb(55, 168, 98)', 'rgb(200, 201, 223, 1)'],\n hoverBackgroundColor: ['rgba(252, 99, 107, 0.8)', 'rgba(55, 168, 98, 0.8)', 'rgb(200, 201, 223, 0.8)'],\n borderWidth: 0.5\n }\n ]\n };\n}\n\nexport const options: (allScores: number) => ChartOptions<'doughnut'> = allScores => ({\n plugins: {\n legend: {\n display: false\n },\n tooltip: {\n displayColors: false,\n callbacks: {\n label: tooltipItem => {\n const value = tooltipItem.raw || 0;\n const percentage = `${Math.round((Number(value) / Number(allScores)) * 100)}%`;\n\n return `${percentage} (${value})`;\n },\n labelTextColor: tooltipItem =>\n tooltipItem.dataset.backgroundColor\n ? tooltipItem.dataset.backgroundColor[\n tooltipItem.dataIndex as keyof typeof tooltipItem.dataset.backgroundColor\n ]\n : ''\n },\n bodyFont: {\n size: 16,\n weight: 700,\n family: 'Manrope'\n },\n padding: 12\n }\n },\n cutout: '85%',\n responsive: true\n});\n","import React from 'react';\n\nimport { Chart as ChartJS, ArcElement, Tooltip, Plugin, ChartEvent } from 'chart.js';\n\nimport { Doughnut } from 'react-chartjs-2';\n\nimport { Box, BoxProps, useTheme } from '@mui/material';\nimport {\n HelpOutline,\n UpdateRounded,\n ThumbUpRounded,\n ThumbUpOutlined,\n ThumbDownRounded,\n ThumbDownOutlined\n} from '@mui/icons-material';\n\nimport { Text } from '../../Text/Text';\nimport { Image } from '../../Image/Image';\nimport { ToolTip } from '../../Container/ToolTip/ToolTip';\n\nimport {\n sxStyles,\n StyledScoresBox,\n doughnutChartImageStyle,\n StyledDoughnutChartContainer\n} from './DoughnutChart.styles';\nimport { getData, options } from './DoughnutChart.helpers';\n\nimport { paletteOptions } from '../../../theme/palette';\n\ninterface AnnotationInfoSchema {\n bad?: number;\n good?: number;\n score?: number;\n unknown?: number;\n pending?: number;\n}\n\nChartJS?.register(ArcElement, Tooltip);\n\ninterface DoughnutChartProps extends BoxProps {\n data: number[];\n score?: number;\n pendingAnnotated?: number;\n isIncludeEstimated?: boolean;\n checkboxCheckedIcon?: string;\n ignoreLegendSection?: boolean;\n checkboxUnCheckedIcon?: string;\n userAnnotated?: AnnotationInfoSchema;\n estimatedAnnotated?: AnnotationInfoSchema;\n actions: {\n badRedirect: () => void;\n goodRedirect: () => void;\n unannotatedRedirect: () => void;\n };\n handleCenterClick?: () => void;\n}\n\nexport const DoughnutChart = (props: DoughnutChartProps) => {\n const {\n data,\n score,\n actions,\n width = 260,\n userAnnotated,\n pendingAnnotated,\n isIncludeEstimated,\n estimatedAnnotated,\n checkboxCheckedIcon,\n ignoreLegendSection,\n checkboxUnCheckedIcon,\n handleCenterClick,\n ...otherProps\n } = props;\n\n const { badRedirect, goodRedirect, unannotatedRedirect } = actions;\n\n const theme = useTheme();\n\n const allScores = Number(data[0]) + Number(data[1]) + Number(data[2]);\n const calculatedScore = !!score || score === 0 ? `${Math.round(Number(score) * 100)}%` : 'N/A';\n\n const checkboxChecked = require('../../../assets/chart/select-all-checkbox.svg').default;\n const checkboxUnChecked = require('../../../assets/chart/select-all-checkbox-unchecked.svg').default;\n\n const calculatePercentage = (samples?: number) => {\n const percentage = (Number(samples) / Number(allScores)) * 100;\n\n return `${\n Number(samples) > 0 && percentage < 1 && percentage > 0 ? percentage.toFixed(2) : Math.round(percentage)\n }%`;\n };\n\n const handleRedirect = (index: number) => {\n switch (index) {\n case 1:\n return goodRedirect();\n case 0:\n return badRedirect();\n default:\n return unannotatedRedirect();\n }\n };\n\n const centerText: Plugin<'doughnut'> = {\n id: 'centerText',\n afterDatasetsDraw: chart => {\n const { ctx } = chart;\n\n const title = calculatedScore;\n const subTitle = 'Include Estimated';\n const image = document.querySelector('img#chart-checkbox');\n\n const x = chart.getDatasetMeta(0).data[0].x;\n const y = chart.getDatasetMeta(0).data[0].y;\n\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n ctx.font = '300 54px Manrope';\n ctx.fillStyle = paletteOptions.grey?.[500] || '';\n\n ctx.fillText(title, x, y);\n\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n ctx.font = '700 12px Manrope';\n ctx.fillStyle = paletteOptions.grey?.[300] as typeof ctx.fillStyle;\n ctx.fillText(subTitle, x + 12, y + 35);\n\n image && ctx?.drawImage(image as CanvasImageSource, x - 63, y + 24, 20, 20);\n }\n };\n\n const handleChartItmClick = (_e: ChartEvent, item: { index: number }[]) => {\n if (item) {\n if (item[0]) {\n handleRedirect(item[0]?.index);\n }\n\n if (item.length < 1 && handleCenterClick) {\n handleCenterClick();\n }\n }\n };\n\n const checkboxData = () => {\n switch (isIncludeEstimated) {\n case true:\n return {\n icon: checkboxCheckedIcon || checkboxChecked,\n alt: 'checked checkbox'\n };\n default:\n return {\n icon: checkboxUnCheckedIcon || checkboxUnChecked,\n alt: 'unchecked checkbox'\n };\n }\n };\n\n return (\n \n \n \n \n \n {ignoreLegendSection ? (\n <>\n ) : (\n \n \n },\n {\n text: 'Estimated Annotation - ',\n info: `${calculatePercentage(estimatedAnnotated?.good)} (${estimatedAnnotated?.good})`,\n icon: \n }\n ]\n : [\n {\n text: 'User Annotation - ',\n info: `${calculatePercentage(data[1])} (${data[1]})`,\n icon: \n }\n ]\n }\n >\n handleRedirect(1)}>\n \n \n \n \n \n },\n {\n text: 'Estimated Annotation - ',\n info: `${calculatePercentage(estimatedAnnotated?.bad)} (${estimatedAnnotated?.bad})`,\n icon: \n }\n ]\n : [\n {\n text: 'User Annotation - ',\n info: `${calculatePercentage(data[0])} (${data[0]})`,\n icon: \n }\n ]\n }\n >\n handleRedirect(0)}>\n \n \n \n \n \n },\n {\n text: 'Pending Annotation - ',\n info: `${calculatePercentage(pendingAnnotated)} (${pendingAnnotated})`,\n icon: \n }\n ]}\n >\n handleRedirect(2)}>\n \n \n \n \n \n )}\n \n );\n};\n","export const sxContainerStyles = (bgColor: string, border?: boolean) => ({\n border: border ? `2px solid ${bgColor}` : `1px solid ${bgColor}`,\n borderRadius: '8px'\n});\n\nexport const sxWrapperStyles = (\n gradientColorStops: string,\n disabled: boolean,\n border: boolean,\n isOnClick: boolean,\n maxWidth?: string\n) => ({\n background: `linear-gradient(to right, ${gradientColorStops})`,\n cursor: disabled ? 'not-allowed' : isOnClick ? 'pointer' : 'auto',\n maxWidth: maxWidth ?? 250,\n padding: '12px',\n transform: '0.5s',\n gap: '8px',\n display: 'flex',\n flexDirection: 'column',\n borderRadius: border ? '6px' : '8px',\n opacity: disabled ? 0.5 : 1,\n\n ':hover': { opacity: 0.7, '.edit-container': { opacity: 1 } }\n});\n","import React from 'react';\n\nimport { useTheme, Box, Stack } from '@mui/material';\n\nimport { Text } from '../../Text/Text';\nimport { ToolTip } from '../ToolTip/ToolTip';\n\nimport { sxContainerStyles, sxWrapperStyles } from './PercentageContainer.styles';\n\ninterface PercentageContainerProps {\n percentage: number;\n amount?: number;\n maxWidth?: string;\n title?: string;\n border?: boolean;\n chosen?: boolean;\n disabled?: boolean;\n onClick?: () => void;\n}\n\nexport const PercentageContainer = (props: PercentageContainerProps) => {\n const { title, amount, percentage, chosen, border, maxWidth, disabled, onClick } = props;\n\n const theme = useTheme();\n\n const coverageText = `${typeof amount === 'number' ? `${amount} Interactions` : ''} (${\n !Number(isNaN(percentage)) ? Math.round(Number(percentage) * 100) : '0'\n }%)`;\n const textColor = chosen ? theme.palette.primary.main : theme.palette.grey[500];\n const titleTextColor = chosen ? theme.palette.primary.main : theme.palette.grey[600];\n const bgColor = chosen ? theme.palette.primary.main : theme.palette.grey[200];\n const gradientPercentage = `${percentage * 100}%`;\n const gradientColorStops = `${theme.palette.grey[200]} ${gradientPercentage}, ${theme.palette.grey[100]} ${gradientPercentage}`;\n const tooltipContent = Number(title?.length) > 20 ? title : '';\n\n return (\n \n \n \n \n \n \n \n \n \n \n );\n};\n","import { ThumbColor } from './Thumbs';\n\nexport const sxStyles = (getThumbColor: (color: ThumbColor) => string, color: ThumbColor) => ({\n color: getThumbColor(color)\n});\n","import React from 'react';\n\nimport { Stack, StackProps, useTheme } from '@mui/material';\n\nimport { UpdateRounded } from '@mui/icons-material';\nimport ThumbUpIcon from '@mui/icons-material/ThumbUp';\nimport ThumbDownIcon from '@mui/icons-material/ThumbDown';\nimport ThumbUpOutlinedIcon from '@mui/icons-material/ThumbUpOutlined';\nimport ThumbDownOutlinedIcon from '@mui/icons-material/ThumbDownOutlined';\n\nimport { StyledText } from '../../..';\n\nimport { sxStyles } from './Thumbs.styles';\n\nexport type ThumbColor = 'green' | 'red' | 'grey';\n\ninterface ThumbsProps extends StackProps {\n outlined?: boolean;\n isUnknown?: boolean;\n label?: string;\n thumbDirection?: 'up' | 'down';\n color?: ThumbColor;\n}\n\nexport const Thumbs = (props: ThumbsProps) => {\n const { outlined = false, label, thumbDirection = 'up', color = 'grey', isUnknown, ...otherProps } = props;\n\n const { palette } = useTheme();\n\n const getThumbColor = (color: ThumbColor) => {\n switch (color) {\n case 'green':\n return palette.success.main;\n case 'red':\n return palette.error.main;\n case 'grey':\n return palette.grey[400];\n default:\n return palette.grey[400];\n }\n };\n\n return (\n \n {isUnknown ? (\n \n ) : thumbDirection === 'up' ? (\n outlined ? (\n \n ) : (\n \n )\n ) : outlined ? (\n \n ) : (\n \n )}\n {label && }\n \n );\n};\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAccordionDetailsUtilityClass(slot) {\n return generateUtilityClass('MuiAccordionDetails', slot);\n}\nconst accordionDetailsClasses = generateUtilityClasses('MuiAccordionDetails', ['root']);\nexport default accordionDetailsClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { getAccordionDetailsUtilityClass } from \"./accordionDetailsClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getAccordionDetailsUtilityClass, classes);\n};\nconst AccordionDetailsRoot = styled('div', {\n name: 'MuiAccordionDetails',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(memoTheme(({\n theme\n}) => ({\n padding: theme.spacing(1, 2, 2)\n})));\nconst AccordionDetails = /*#__PURE__*/React.forwardRef(function AccordionDetails(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiAccordionDetails'\n });\n const {\n className,\n ...other\n } = props;\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(AccordionDetailsRoot, {\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState,\n ...other\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? AccordionDetails.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 * The content of the component.\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 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} : void 0;\nexport default AccordionDetails;","\"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}), 'ExpandMoreOutlined');","export const sxContainerStyles = {\n '.Mui-expanded': { margin: 0, background: 'none' },\n '.MuiAccordion-root': { background: 'none' }\n};\nexport const sxAccordionStyles = (grey: string) => ({\n color: grey,\n boxShadow: 'none',\n ':before': { background: 'none' }\n});\nexport const sxPaddingStyles = { padding: '0' };\nexport const sxDividerStyles = (grey: string) => ({\n background: grey,\n width: '100%',\n height: '1px',\n margin: 'auto 12px'\n});\n","import React, { ReactNode } from 'react';\n\nimport { AccordionDetails, AccordionSummary, Accordion as MuiAccordion, Stack, useTheme } from '@mui/material';\nimport { ExpandMoreOutlined } from '@mui/icons-material';\n\nimport { Text } from '../../Text/Text';\n\nimport { sxAccordionStyles, sxContainerStyles, sxDividerStyles, sxPaddingStyles } from './Accordion.styles';\n\nexport interface AccordionProps {\n title?: string;\n children?: ReactNode | ReactNode[];\n defaultExpanded?: boolean;\n}\n\nexport const Accordion = ({ title, children, defaultExpanded }: AccordionProps) => {\n const theme = useTheme();\n\n const grey = theme.palette.grey[300];\n\n return (\n \n \n } sx={sxPaddingStyles}>\n \n
\n \n {children}\n \n \n );\n};\n","/*!\n* chartjs-plugin-annotation v3.1.0\n* https://www.chartjs.org/chartjs-plugin-annotation/index\n * (c) 2024 chartjs-plugin-annotation Contributors\n * Released under the MIT License\n */\nimport { Element, DoughnutController, defaults, Animations, Chart } from 'chart.js';\nimport { distanceBetweenPoints, toRadians, isObject, valueOrDefault, defined, isFunction, callback, isArray, toFont, addRoundedRectPath, toTRBLCorners, QUARTER_PI, PI, HALF_PI, TWO_THIRDS_PI, TAU, isNumber, RAD_PER_DEG, toPadding, isFinite, getAngleFromPoint, toDegrees, clipArea, unclipArea } from 'chart.js/helpers';\n\n/**\n * @typedef { import(\"chart.js\").ChartEvent } ChartEvent\n * @typedef { import('../../types/element').AnnotationElement } AnnotationElement\n */\n\nconst interaction = {\n modes: {\n /**\n * Point mode returns all elements that hit test based on the event position\n * @param {AnnotationElement[]} visibleElements - annotation elements which are visible\n * @param {ChartEvent} event - the event we are find things at\n * @return {AnnotationElement[]} - elements that are found\n */\n point(visibleElements, event) {\n return filterElements(visibleElements, event, {intersect: true});\n },\n\n /**\n * Nearest mode returns the element closest to the event position\n * @param {AnnotationElement[]} visibleElements - annotation elements which are visible\n * @param {ChartEvent} event - the event we are find things at\n * @param {Object} options - interaction options to use\n * @return {AnnotationElement[]} - elements that are found (only 1 element)\n */\n nearest(visibleElements, event, options) {\n return getNearestItem(visibleElements, event, options);\n },\n /**\n * x mode returns the elements that hit-test at the current x coordinate\n * @param {AnnotationElement[]} visibleElements - annotation elements which are visible\n * @param {ChartEvent} event - the event we are find things at\n * @param {Object} options - interaction options to use\n * @return {AnnotationElement[]} - elements that are found\n */\n x(visibleElements, event, options) {\n return filterElements(visibleElements, event, {intersect: options.intersect, axis: 'x'});\n },\n\n /**\n * y mode returns the elements that hit-test at the current y coordinate\n * @param {AnnotationElement[]} visibleElements - annotation elements which are visible\n * @param {ChartEvent} event - the event we are find things at\n * @param {Object} options - interaction options to use\n * @return {AnnotationElement[]} - elements that are found\n */\n y(visibleElements, event, options) {\n return filterElements(visibleElements, event, {intersect: options.intersect, axis: 'y'});\n }\n }\n};\n\n/**\n * Returns all elements that hit test based on the event position\n * @param {AnnotationElement[]} visibleElements - annotation elements which are visible\n * @param {ChartEvent} event - the event we are find things at\n * @param {Object} options - interaction options to use\n * @return {AnnotationElement[]} - elements that are found\n */\nfunction getElements(visibleElements, event, options) {\n const mode = interaction.modes[options.mode] || interaction.modes.nearest;\n return mode(visibleElements, event, options);\n}\n\nfunction inRangeByAxis(element, event, axis) {\n if (axis !== 'x' && axis !== 'y') {\n return element.inRange(event.x, event.y, 'x', true) || element.inRange(event.x, event.y, 'y', true);\n }\n return element.inRange(event.x, event.y, axis, true);\n}\n\nfunction getPointByAxis(event, center, axis) {\n if (axis === 'x') {\n return {x: event.x, y: center.y};\n } else if (axis === 'y') {\n return {x: center.x, y: event.y};\n }\n return center;\n}\n\nfunction filterElements(visibleElements, event, options) {\n return visibleElements.filter((element) => options.intersect ? element.inRange(event.x, event.y) : inRangeByAxis(element, event, options.axis));\n}\n\nfunction getNearestItem(visibleElements, event, options) {\n let minDistance = Number.POSITIVE_INFINITY;\n\n return filterElements(visibleElements, event, options)\n .reduce((nearestItems, element) => {\n const center = element.getCenterPoint();\n const evenPoint = getPointByAxis(event, center, options.axis);\n const distance = distanceBetweenPoints(event, evenPoint);\n if (distance < minDistance) {\n nearestItems = [element];\n minDistance = distance;\n } else if (distance === minDistance) {\n // Can have multiple items at the same distance in which case we sort by size\n nearestItems.push(element);\n }\n\n return nearestItems;\n }, [])\n .sort((a, b) => a._index - b._index)\n .slice(0, 1); // return only the top item;\n}\n\n/**\n * @typedef {import('chart.js').Point} Point\n */\n\n/**\n * Rotate a `point` relative to `center` point by `angle`\n * @param {Point} point - the point to rotate\n * @param {Point} center - center point for rotation\n * @param {number} angle - angle for rotation, in radians\n * @returns {Point} rotated point\n */\nfunction rotated(point, center, angle) {\n const cos = Math.cos(angle);\n const sin = Math.sin(angle);\n const cx = center.x;\n const cy = center.y;\n\n return {\n x: cx + cos * (point.x - cx) - sin * (point.y - cy),\n y: cy + sin * (point.x - cx) + cos * (point.y - cy)\n };\n}\n\nconst isOlderPart = (act, req) => req > act || (act.length > req.length && act.slice(0, req.length) === req);\n\n/**\n * @typedef { import('chart.js').Point } Point\n * @typedef { import('chart.js').InteractionAxis } InteractionAxis\n * @typedef { import('../../types/element').AnnotationElement } AnnotationElement\n */\n\nconst EPSILON = 0.001;\nconst clamp = (x, from, to) => Math.min(to, Math.max(from, x));\n\n/**\n * @param {{value: number, start: number, end: number}} limit\n * @param {number} hitSize\n * @returns {boolean}\n */\nconst inLimit = (limit, hitSize) => limit.value >= limit.start - hitSize && limit.value <= limit.end + hitSize;\n\n/**\n * @param {Object} obj\n * @param {number} from\n * @param {number} to\n * @returns {Object}\n */\nfunction clampAll(obj, from, to) {\n for (const key of Object.keys(obj)) {\n obj[key] = clamp(obj[key], from, to);\n }\n return obj;\n}\n\n/**\n * @param {Point} point\n * @param {Point} center\n * @param {number} radius\n * @param {number} hitSize\n * @returns {boolean}\n */\nfunction inPointRange(point, center, radius, hitSize) {\n if (!point || !center || radius <= 0) {\n return false;\n }\n return (Math.pow(point.x - center.x, 2) + Math.pow(point.y - center.y, 2)) <= Math.pow(radius + hitSize, 2);\n}\n\n/**\n * @param {Point} point\n * @param {{x: number, y: number, x2: number, y2: number}} rect\n * @param {InteractionAxis} axis\n * @param {{borderWidth: number, hitTolerance: number}} hitsize\n * @returns {boolean}\n */\nfunction inBoxRange(point, {x, y, x2, y2}, axis, {borderWidth, hitTolerance}) {\n const hitSize = (borderWidth + hitTolerance) / 2;\n const inRangeX = point.x >= x - hitSize - EPSILON && point.x <= x2 + hitSize + EPSILON;\n const inRangeY = point.y >= y - hitSize - EPSILON && point.y <= y2 + hitSize + EPSILON;\n if (axis === 'x') {\n return inRangeX;\n } else if (axis === 'y') {\n return inRangeY;\n }\n return inRangeX && inRangeY;\n}\n\n/**\n * @param {Point} point\n * @param {rect: {x: number, y: number, x2: number, y2: number}, center: {x: number, y: number}} element\n * @param {InteractionAxis} axis\n * @param {{rotation: number, borderWidth: number, hitTolerance: number}}\n * @returns {boolean}\n */\nfunction inLabelRange(point, {rect, center}, axis, {rotation, borderWidth, hitTolerance}) {\n const rotPoint = rotated(point, center, toRadians(-rotation));\n return inBoxRange(rotPoint, rect, axis, {borderWidth, hitTolerance});\n}\n\n/**\n * @param {AnnotationElement} element\n * @param {boolean} useFinalPosition\n * @returns {Point}\n */\nfunction getElementCenterPoint(element, useFinalPosition) {\n const {centerX, centerY} = element.getProps(['centerX', 'centerY'], useFinalPosition);\n return {x: centerX, y: centerY};\n}\n\n/**\n * @param {string} pkg\n * @param {string} min\n * @param {string} ver\n * @param {boolean} [strict=true]\n * @returns {boolean}\n */\nfunction requireVersion(pkg, min, ver, strict = true) {\n const parts = ver.split('.');\n let i = 0;\n for (const req of min.split('.')) {\n const act = parts[i++];\n if (parseInt(req, 10) < parseInt(act, 10)) {\n break;\n }\n if (isOlderPart(act, req)) {\n if (strict) {\n throw new Error(`${pkg} v${ver} is not supported. v${min} or newer is required.`);\n } else {\n return false;\n }\n }\n }\n return true;\n}\n\nconst isPercentString = (s) => typeof s === 'string' && s.endsWith('%');\nconst toPercent = (s) => parseFloat(s) / 100;\nconst toPositivePercent = (s) => clamp(toPercent(s), 0, 1);\n\nconst boxAppering = (x, y) => ({x, y, x2: x, y2: y, width: 0, height: 0});\nconst defaultInitAnimation = {\n box: (properties) => boxAppering(properties.centerX, properties.centerY),\n doughnutLabel: (properties) => boxAppering(properties.centerX, properties.centerY),\n ellipse: (properties) => ({centerX: properties.centerX, centerY: properties.centerX, radius: 0, width: 0, height: 0}),\n label: (properties) => boxAppering(properties.centerX, properties.centerY),\n line: (properties) => boxAppering(properties.x, properties.y),\n point: (properties) => ({centerX: properties.centerX, centerY: properties.centerY, radius: 0, width: 0, height: 0}),\n polygon: (properties) => boxAppering(properties.centerX, properties.centerY)\n};\n\n/**\n * @typedef { import('chart.js').FontSpec } FontSpec\n * @typedef { import('chart.js').Point } Point\n * @typedef { import('chart.js').Padding } Padding\n * @typedef { import('../../types/element').AnnotationBoxModel } AnnotationBoxModel\n * @typedef { import('../../types/element').AnnotationElement } AnnotationElement\n * @typedef { import('../../types/options').AnnotationPointCoordinates } AnnotationPointCoordinates\n * @typedef { import('../../types/label').CoreLabelOptions } CoreLabelOptions\n * @typedef { import('../../types/label').LabelPositionObject } LabelPositionObject\n */\n\n/**\n * @param {number} size\n * @param {number|string} position\n * @returns {number}\n */\nfunction getRelativePosition(size, position) {\n if (position === 'start') {\n return 0;\n }\n if (position === 'end') {\n return size;\n }\n if (isPercentString(position)) {\n return toPositivePercent(position) * size;\n }\n return size / 2;\n}\n\n/**\n * @param {number} size\n * @param {number|string} value\n * @param {boolean} [positivePercent=true]\n * @returns {number}\n */\nfunction getSize(size, value, positivePercent = true) {\n if (typeof value === 'number') {\n return value;\n } else if (isPercentString(value)) {\n return (positivePercent ? toPositivePercent(value) : toPercent(value)) * size;\n }\n return size;\n}\n\n/**\n * @param {{x: number, width: number}} size\n * @param {CoreLabelOptions} options\n * @returns {number}\n */\nfunction calculateTextAlignment(size, options) {\n const {x, width} = size;\n const textAlign = options.textAlign;\n if (textAlign === 'center') {\n return x + width / 2;\n } else if (textAlign === 'end' || textAlign === 'right') {\n return x + width;\n }\n return x;\n}\n\n/**\n * @param {Point} point\n * @param {{height: number, width: number}} labelSize\n * @param {{borderWidth: number, position: {LabelPositionObject|string}, xAdjust: number, yAdjust: number}} options\n * @param {Padding|undefined} padding\n * @returns {{x: number, y: number, x2: number, y2: number, height: number, width: number, centerX: number, centerY: number}}\n */\nfunction measureLabelRectangle(point, labelSize, {borderWidth, position, xAdjust, yAdjust}, padding) {\n const hasPadding = isObject(padding);\n const width = labelSize.width + (hasPadding ? padding.width : 0) + borderWidth;\n const height = labelSize.height + (hasPadding ? padding.height : 0) + borderWidth;\n const positionObj = toPosition(position);\n const x = calculateLabelPosition$1(point.x, width, xAdjust, positionObj.x);\n const y = calculateLabelPosition$1(point.y, height, yAdjust, positionObj.y);\n\n return {\n x,\n y,\n x2: x + width,\n y2: y + height,\n width,\n height,\n centerX: x + width / 2,\n centerY: y + height / 2\n };\n}\n\n/**\n * @param {LabelPositionObject|string} value\n * @param {string|number} defaultValue\n * @returns {LabelPositionObject}\n */\nfunction toPosition(value, defaultValue = 'center') {\n if (isObject(value)) {\n return {\n x: valueOrDefault(value.x, defaultValue),\n y: valueOrDefault(value.y, defaultValue),\n };\n }\n value = valueOrDefault(value, defaultValue);\n return {\n x: value,\n y: value\n };\n}\n\n/**\n * @param {CoreLabelOptions} options\n * @param {number} fitRatio\n * @returns {boolean}\n */\nconst shouldFit = (options, fitRatio) => options && options.autoFit && fitRatio < 1;\n\n/**\n * @param {CoreLabelOptions} options\n * @param {number} fitRatio\n * @returns {FontSpec[]}\n */\nfunction toFonts(options, fitRatio) {\n const optFont = options.font;\n const fonts = isArray(optFont) ? optFont : [optFont];\n if (shouldFit(options, fitRatio)) {\n return fonts.map(function(f) {\n const font = toFont(f);\n font.size = Math.floor(f.size * fitRatio);\n font.lineHeight = f.lineHeight;\n return toFont(font);\n });\n }\n return fonts.map(f => toFont(f));\n}\n\n/**\n * @param {AnnotationPointCoordinates} options\n * @returns {boolean}\n */\nfunction isBoundToPoint(options) {\n return options && (defined(options.xValue) || defined(options.yValue));\n}\n\nfunction calculateLabelPosition$1(start, size, adjust = 0, position) {\n return start - getRelativePosition(size, position) + adjust;\n}\n\n/**\n * @param {Chart} chart\n * @param {AnnotationBoxModel} properties\n * @param {CoreAnnotationOptions} options\n * @returns {AnnotationElement}\n */\nfunction initAnimationProperties(chart, properties, options) {\n const initAnim = options.init;\n if (!initAnim) {\n return;\n } else if (initAnim === true) {\n return applyDefault(properties, options);\n }\n return execCallback(chart, properties, options);\n}\n\n/**\n * @param {Object} options\n * @param {Array} hooks\n * @param {Object} hooksContainer\n * @returns {boolean}\n */\nfunction loadHooks(options, hooks, hooksContainer) {\n let activated = false;\n hooks.forEach(hook => {\n if (isFunction(options[hook])) {\n activated = true;\n hooksContainer[hook] = options[hook];\n } else if (defined(hooksContainer[hook])) {\n delete hooksContainer[hook];\n }\n });\n return activated;\n}\n\nfunction applyDefault(properties, options) {\n const type = options.type || 'line';\n return defaultInitAnimation[type](properties);\n}\n\nfunction execCallback(chart, properties, options) {\n const result = callback(options.init, [{chart, properties, options}]);\n if (result === true) {\n return applyDefault(properties, options);\n } else if (isObject(result)) {\n return result;\n }\n}\n\nconst widthCache = new Map();\nconst notRadius = (radius) => isNaN(radius) || radius <= 0;\nconst fontsKey = (fonts) => fonts.reduce(function(prev, item) {\n prev += item.string;\n return prev;\n}, '');\n\n/**\n * @typedef { import('chart.js').Point } Point\n * @typedef { import('../../types/label').CoreLabelOptions } CoreLabelOptions\n * @typedef { import('../../types/options').PointAnnotationOptions } PointAnnotationOptions\n */\n\n/**\n * Determine if content is an image or a canvas.\n * @param {*} content\n * @returns boolean|undefined\n * @todo move this function to chart.js helpers\n */\nfunction isImageOrCanvas(content) {\n if (content && typeof content === 'object') {\n const type = content.toString();\n return (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]');\n }\n}\n\n/**\n * Set the translation on the canvas if the rotation must be applied.\n * @param {CanvasRenderingContext2D} ctx - chart canvas context\n * @param {Point} point - the point of translation\n * @param {number} rotation - rotation (in degrees) to apply\n */\nfunction translate(ctx, {x, y}, rotation) {\n if (rotation) {\n ctx.translate(x, y);\n ctx.rotate(toRadians(rotation));\n ctx.translate(-x, -y);\n }\n}\n\n/**\n * @param {CanvasRenderingContext2D} ctx\n * @param {Object} options\n * @returns {boolean|undefined}\n */\nfunction setBorderStyle(ctx, options) {\n if (options && options.borderWidth) {\n ctx.lineCap = options.borderCapStyle || 'butt';\n ctx.setLineDash(options.borderDash);\n ctx.lineDashOffset = options.borderDashOffset;\n ctx.lineJoin = options.borderJoinStyle || 'miter';\n ctx.lineWidth = options.borderWidth;\n ctx.strokeStyle = options.borderColor;\n return true;\n }\n}\n\n/**\n * @param {CanvasRenderingContext2D} ctx\n * @param {Object} options\n */\nfunction setShadowStyle(ctx, options) {\n ctx.shadowColor = options.backgroundShadowColor;\n ctx.shadowBlur = options.shadowBlur;\n ctx.shadowOffsetX = options.shadowOffsetX;\n ctx.shadowOffsetY = options.shadowOffsetY;\n}\n\n/**\n * @param {CanvasRenderingContext2D} ctx\n * @param {CoreLabelOptions} options\n * @returns {{width: number, height: number}}\n */\nfunction measureLabelSize(ctx, options) {\n const content = options.content;\n if (isImageOrCanvas(content)) {\n const size = {\n width: getSize(content.width, options.width),\n height: getSize(content.height, options.height)\n };\n return size;\n }\n const fonts = toFonts(options);\n const strokeWidth = options.textStrokeWidth;\n const lines = isArray(content) ? content : [content];\n const mapKey = lines.join() + fontsKey(fonts) + strokeWidth + (ctx._measureText ? '-spriting' : '');\n if (!widthCache.has(mapKey)) {\n widthCache.set(mapKey, calculateLabelSize(ctx, lines, fonts, strokeWidth));\n }\n return widthCache.get(mapKey);\n}\n\n/**\n * @param {CanvasRenderingContext2D} ctx\n * @param {{x: number, y: number, width: number, height: number}} rect\n * @param {Object} options\n */\nfunction drawBox(ctx, rect, options) {\n const {x, y, width, height} = rect;\n ctx.save();\n setShadowStyle(ctx, options);\n const stroke = setBorderStyle(ctx, options);\n ctx.fillStyle = options.backgroundColor;\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x, y, w: width, h: height,\n radius: clampAll(toTRBLCorners(options.borderRadius), 0, Math.min(width, height) / 2)\n });\n ctx.closePath();\n ctx.fill();\n if (stroke) {\n ctx.shadowColor = options.borderShadowColor;\n ctx.stroke();\n }\n ctx.restore();\n}\n\n/**\n * @param {CanvasRenderingContext2D} ctx\n * @param {{x: number, y: number, width: number, height: number}} rect\n * @param {CoreLabelOptions} options\n * @param {number} fitRatio\n */\nfunction drawLabel(ctx, rect, options, fitRatio) {\n const content = options.content;\n if (isImageOrCanvas(content)) {\n ctx.save();\n ctx.globalAlpha = getOpacity(options.opacity, content.style.opacity);\n ctx.drawImage(content, rect.x, rect.y, rect.width, rect.height);\n ctx.restore();\n return;\n }\n const labels = isArray(content) ? content : [content];\n const fonts = toFonts(options, fitRatio);\n const optColor = options.color;\n const colors = isArray(optColor) ? optColor : [optColor];\n const x = calculateTextAlignment(rect, options);\n const y = rect.y + options.textStrokeWidth / 2;\n ctx.save();\n ctx.textBaseline = 'middle';\n ctx.textAlign = options.textAlign;\n if (setTextStrokeStyle(ctx, options)) {\n applyLabelDecoration(ctx, {x, y}, labels, fonts);\n }\n applyLabelContent(ctx, {x, y}, labels, {fonts, colors});\n ctx.restore();\n}\n\nfunction setTextStrokeStyle(ctx, options) {\n if (options.textStrokeWidth > 0) {\n // https://stackoverflow.com/questions/13627111/drawing-text-with-an-outer-stroke-with-html5s-canvas\n ctx.lineJoin = 'round';\n ctx.miterLimit = 2;\n ctx.lineWidth = options.textStrokeWidth;\n ctx.strokeStyle = options.textStrokeColor;\n return true;\n }\n}\n\n/**\n * @param {CanvasRenderingContext2D} ctx\n * @param {{radius: number, options: PointAnnotationOptions}} element\n * @param {number} x\n * @param {number} y\n */\nfunction drawPoint(ctx, element, x, y) {\n const {radius, options} = element;\n const style = options.pointStyle;\n const rotation = options.rotation;\n let rad = (rotation || 0) * RAD_PER_DEG;\n\n if (isImageOrCanvas(style)) {\n ctx.save();\n ctx.translate(x, y);\n ctx.rotate(rad);\n ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n ctx.restore();\n return;\n }\n if (notRadius(radius)) {\n return;\n }\n drawPointStyle(ctx, {x, y, radius, rotation, style, rad});\n}\n\nfunction drawPointStyle(ctx, {x, y, radius, rotation, style, rad}) {\n let xOffset, yOffset, size, cornerRadius;\n ctx.beginPath();\n\n switch (style) {\n // Default includes circle\n default:\n ctx.arc(x, y, radius, 0, TAU);\n ctx.closePath();\n break;\n case 'triangle':\n ctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n ctx.closePath();\n break;\n case 'rectRounded':\n // NOTE: the rounded rect implementation changed to use `arc` instead of\n // `quadraticCurveTo` since it generates better results when rect is\n // almost a circle. 0.516 (instead of 0.5) produces results with visually\n // closer proportion to the previous impl and it is inscribed in the\n // circle with `radius`. For more details, see the following PRs:\n // https://github.com/chartjs/Chart.js/issues/5597\n // https://github.com/chartjs/Chart.js/issues/5858\n cornerRadius = radius * 0.516;\n size = radius - cornerRadius;\n xOffset = Math.cos(rad + QUARTER_PI) * size;\n yOffset = Math.sin(rad + QUARTER_PI) * size;\n ctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n ctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n ctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n ctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n ctx.closePath();\n break;\n case 'rect':\n if (!rotation) {\n size = Math.SQRT1_2 * radius;\n ctx.rect(x - size, y - size, 2 * size, 2 * size);\n break;\n }\n rad += QUARTER_PI;\n /* falls through */\n case 'rectRot':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + yOffset, y - xOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n ctx.closePath();\n break;\n case 'crossRot':\n rad += QUARTER_PI;\n /* falls through */\n case 'cross':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'star':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n rad += QUARTER_PI;\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'line':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n break;\n case 'dash':\n ctx.moveTo(x, y);\n ctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\n break;\n }\n\n ctx.fill();\n}\n\nfunction calculateLabelSize(ctx, lines, fonts, strokeWidth) {\n ctx.save();\n const count = lines.length;\n let width = 0;\n let height = strokeWidth;\n for (let i = 0; i < count; i++) {\n const font = fonts[Math.min(i, fonts.length - 1)];\n ctx.font = font.string;\n const text = lines[i];\n width = Math.max(width, ctx.measureText(text).width + strokeWidth);\n height += font.lineHeight;\n }\n ctx.restore();\n return {width, height};\n}\n\nfunction applyLabelDecoration(ctx, {x, y}, labels, fonts) {\n ctx.beginPath();\n let lhs = 0;\n labels.forEach(function(l, i) {\n const f = fonts[Math.min(i, fonts.length - 1)];\n const lh = f.lineHeight;\n ctx.font = f.string;\n ctx.strokeText(l, x, y + lh / 2 + lhs);\n lhs += lh;\n });\n ctx.stroke();\n}\n\nfunction applyLabelContent(ctx, {x, y}, labels, {fonts, colors}) {\n let lhs = 0;\n labels.forEach(function(l, i) {\n const c = colors[Math.min(i, colors.length - 1)];\n const f = fonts[Math.min(i, fonts.length - 1)];\n const lh = f.lineHeight;\n ctx.beginPath();\n ctx.font = f.string;\n ctx.fillStyle = c;\n ctx.fillText(l, x, y + lh / 2 + lhs);\n lhs += lh;\n ctx.fill();\n });\n}\n\nfunction getOpacity(value, elementValue) {\n const opacity = isNumber(value) ? value : elementValue;\n return isNumber(opacity) ? clamp(opacity, 0, 1) : 1;\n}\n\nconst positions = ['left', 'bottom', 'top', 'right'];\n\n/**\n * @typedef { import('../../types/element').AnnotationElement } AnnotationElement\n */\n\n/**\n * Drawa the callout component for labels.\n * @param {CanvasRenderingContext2D} ctx - chart canvas context\n * @param {AnnotationElement} element - the label element\n */\nfunction drawCallout(ctx, element) {\n const {pointX, pointY, options} = element;\n const callout = options.callout;\n const calloutPosition = callout && callout.display && resolveCalloutPosition(element, callout);\n if (!calloutPosition || isPointInRange(element, callout, calloutPosition)) {\n return;\n }\n\n ctx.save();\n ctx.beginPath();\n const stroke = setBorderStyle(ctx, callout);\n if (!stroke) {\n return ctx.restore();\n }\n const {separatorStart, separatorEnd} = getCalloutSeparatorCoord(element, calloutPosition);\n const {sideStart, sideEnd} = getCalloutSideCoord(element, calloutPosition, separatorStart);\n if (callout.margin > 0 || options.borderWidth === 0) {\n ctx.moveTo(separatorStart.x, separatorStart.y);\n ctx.lineTo(separatorEnd.x, separatorEnd.y);\n }\n ctx.moveTo(sideStart.x, sideStart.y);\n ctx.lineTo(sideEnd.x, sideEnd.y);\n const rotatedPoint = rotated({x: pointX, y: pointY}, element.getCenterPoint(), toRadians(-element.rotation));\n ctx.lineTo(rotatedPoint.x, rotatedPoint.y);\n ctx.stroke();\n ctx.restore();\n}\n\nfunction getCalloutSeparatorCoord(element, position) {\n const {x, y, x2, y2} = element;\n const adjust = getCalloutSeparatorAdjust(element, position);\n let separatorStart, separatorEnd;\n if (position === 'left' || position === 'right') {\n separatorStart = {x: x + adjust, y};\n separatorEnd = {x: separatorStart.x, y: y2};\n } else {\n // position 'top' or 'bottom'\n separatorStart = {x, y: y + adjust};\n separatorEnd = {x: x2, y: separatorStart.y};\n }\n return {separatorStart, separatorEnd};\n}\n\nfunction getCalloutSeparatorAdjust(element, position) {\n const {width, height, options} = element;\n const adjust = options.callout.margin + options.borderWidth / 2;\n if (position === 'right') {\n return width + adjust;\n } else if (position === 'bottom') {\n return height + adjust;\n }\n return -adjust;\n}\n\nfunction getCalloutSideCoord(element, position, separatorStart) {\n const {y, width, height, options} = element;\n const start = options.callout.start;\n const side = getCalloutSideAdjust(position, options.callout);\n let sideStart, sideEnd;\n if (position === 'left' || position === 'right') {\n sideStart = {x: separatorStart.x, y: y + getSize(height, start)};\n sideEnd = {x: sideStart.x + side, y: sideStart.y};\n } else {\n // position 'top' or 'bottom'\n sideStart = {x: separatorStart.x + getSize(width, start), y: separatorStart.y};\n sideEnd = {x: sideStart.x, y: sideStart.y + side};\n }\n return {sideStart, sideEnd};\n}\n\nfunction getCalloutSideAdjust(position, options) {\n const side = options.side;\n if (position === 'left' || position === 'top') {\n return -side;\n }\n return side;\n}\n\nfunction resolveCalloutPosition(element, options) {\n const position = options.position;\n if (positions.includes(position)) {\n return position;\n }\n return resolveCalloutAutoPosition(element, options);\n}\n\nfunction resolveCalloutAutoPosition(element, options) {\n const {x, y, x2, y2, width, height, pointX, pointY, centerX, centerY, rotation} = element;\n const center = {x: centerX, y: centerY};\n const start = options.start;\n const xAdjust = getSize(width, start);\n const yAdjust = getSize(height, start);\n const xPoints = [x, x + xAdjust, x + xAdjust, x2];\n const yPoints = [y + yAdjust, y2, y, y2];\n const result = [];\n for (let index = 0; index < 4; index++) {\n const rotatedPoint = rotated({x: xPoints[index], y: yPoints[index]}, center, toRadians(rotation));\n result.push({\n position: positions[index],\n distance: distanceBetweenPoints(rotatedPoint, {x: pointX, y: pointY})\n });\n }\n return result.sort((a, b) => a.distance - b.distance)[0].position;\n}\n\nfunction isPointInRange(element, callout, position) {\n const {pointX, pointY} = element;\n const margin = callout.margin;\n let x = pointX;\n let y = pointY;\n if (position === 'left') {\n x += margin;\n } else if (position === 'right') {\n x -= margin;\n } else if (position === 'top') {\n y += margin;\n } else if (position === 'bottom') {\n y -= margin;\n }\n return element.inRange(x, y);\n}\n\nconst limitedLineScale = {\n xScaleID: {min: 'xMin', max: 'xMax', start: 'left', end: 'right', startProp: 'x', endProp: 'x2'},\n yScaleID: {min: 'yMin', max: 'yMax', start: 'bottom', end: 'top', startProp: 'y', endProp: 'y2'}\n};\n\n/**\n * @typedef { import(\"chart.js\").Chart } Chart\n * @typedef { import(\"chart.js\").Scale } Scale\n * @typedef { import(\"chart.js\").Point } Point\n * @typedef { import('../../types/element').AnnotationBoxModel } AnnotationBoxModel\n * @typedef { import('../../types/options').CoreAnnotationOptions } CoreAnnotationOptions\n * @typedef { import('../../types/options').LineAnnotationOptions } LineAnnotationOptions\n * @typedef { import('../../types/options').PointAnnotationOptions } PointAnnotationOptions\n * @typedef { import('../../types/options').PolygonAnnotationOptions } PolygonAnnotationOptions\n */\n\n/**\n * @param {Scale} scale\n * @param {number|string} value\n * @param {number} fallback\n * @returns {number}\n */\nfunction scaleValue(scale, value, fallback) {\n value = typeof value === 'number' ? value : scale.parse(value);\n return isFinite(value) ? scale.getPixelForValue(value) : fallback;\n}\n\n/**\n * Search the scale defined in chartjs by the axis related to the annotation options key.\n * @param {{ [key: string]: Scale }} scales\n * @param {CoreAnnotationOptions} options\n * @param {string} key\n * @returns {string}\n */\nfunction retrieveScaleID(scales, options, key) {\n const scaleID = options[key];\n if (scaleID || key === 'scaleID') {\n return scaleID;\n }\n const axis = key.charAt(0);\n const axes = Object.values(scales).filter((scale) => scale.axis && scale.axis === axis);\n if (axes.length) {\n return axes[0].id;\n }\n return axis;\n}\n\n/**\n * @param {Scale} scale\n * @param {{min: number, max: number, start: number, end: number}} options\n * @returns {{start: number, end: number}|undefined}\n */\nfunction getDimensionByScale(scale, options) {\n if (scale) {\n const reverse = scale.options.reverse;\n const start = scaleValue(scale, options.min, reverse ? options.end : options.start);\n const end = scaleValue(scale, options.max, reverse ? options.start : options.end);\n return {\n start,\n end\n };\n }\n}\n\n/**\n * @param {Chart} chart\n * @param {CoreAnnotationOptions} options\n * @returns {Point}\n */\nfunction getChartPoint(chart, options) {\n const {chartArea, scales} = chart;\n const xScale = scales[retrieveScaleID(scales, options, 'xScaleID')];\n const yScale = scales[retrieveScaleID(scales, options, 'yScaleID')];\n let x = chartArea.width / 2;\n let y = chartArea.height / 2;\n\n if (xScale) {\n x = scaleValue(xScale, options.xValue, xScale.left + xScale.width / 2);\n }\n\n if (yScale) {\n y = scaleValue(yScale, options.yValue, yScale.top + yScale.height / 2);\n }\n return {x, y};\n}\n\n/**\n * @param {Chart} chart\n * @param {CoreAnnotationOptions} options\n * @returns {AnnotationBoxModel}\n */\nfunction resolveBoxProperties(chart, options) {\n const scales = chart.scales;\n const xScale = scales[retrieveScaleID(scales, options, 'xScaleID')];\n const yScale = scales[retrieveScaleID(scales, options, 'yScaleID')];\n\n if (!xScale && !yScale) {\n return {};\n }\n\n let {left: x, right: x2} = xScale || chart.chartArea;\n let {top: y, bottom: y2} = yScale || chart.chartArea;\n const xDim = getChartDimensionByScale(xScale, {min: options.xMin, max: options.xMax, start: x, end: x2});\n x = xDim.start;\n x2 = xDim.end;\n const yDim = getChartDimensionByScale(yScale, {min: options.yMin, max: options.yMax, start: y2, end: y});\n y = yDim.start;\n y2 = yDim.end;\n\n return {\n x,\n y,\n x2,\n y2,\n width: x2 - x,\n height: y2 - y,\n centerX: x + (x2 - x) / 2,\n centerY: y + (y2 - y) / 2\n };\n}\n\n/**\n * @param {Chart} chart\n * @param {PointAnnotationOptions|PolygonAnnotationOptions} options\n * @returns {AnnotationBoxModel}\n */\nfunction resolvePointProperties(chart, options) {\n if (!isBoundToPoint(options)) {\n const box = resolveBoxProperties(chart, options);\n let radius = options.radius;\n if (!radius || isNaN(radius)) {\n radius = Math.min(box.width, box.height) / 2;\n options.radius = radius;\n }\n const size = radius * 2;\n const adjustCenterX = box.centerX + options.xAdjust;\n const adjustCenterY = box.centerY + options.yAdjust;\n return {\n x: adjustCenterX - radius,\n y: adjustCenterY - radius,\n x2: adjustCenterX + radius,\n y2: adjustCenterY + radius,\n centerX: adjustCenterX,\n centerY: adjustCenterY,\n width: size,\n height: size,\n radius\n };\n }\n return getChartCircle(chart, options);\n}\n/**\n * @param {Chart} chart\n * @param {LineAnnotationOptions} options\n * @returns {AnnotationBoxModel}\n */\nfunction resolveLineProperties(chart, options) {\n const {scales, chartArea} = chart;\n const scale = scales[options.scaleID];\n const area = {x: chartArea.left, y: chartArea.top, x2: chartArea.right, y2: chartArea.bottom};\n\n if (scale) {\n resolveFullLineProperties(scale, area, options);\n } else {\n resolveLimitedLineProperties(scales, area, options);\n }\n return area;\n}\n\n/**\n * @param {Chart} chart\n * @param {CoreAnnotationOptions} options\n * @param {boolean} [centerBased=false]\n * @returns {AnnotationBoxModel}\n */\nfunction resolveBoxAndLabelProperties(chart, options) {\n const properties = resolveBoxProperties(chart, options);\n properties.initProperties = initAnimationProperties(chart, properties, options);\n properties.elements = [{\n type: 'label',\n optionScope: 'label',\n properties: resolveLabelElementProperties$1(chart, properties, options),\n initProperties: properties.initProperties\n }];\n return properties;\n}\n\nfunction getChartCircle(chart, options) {\n const point = getChartPoint(chart, options);\n const size = options.radius * 2;\n return {\n x: point.x - options.radius + options.xAdjust,\n y: point.y - options.radius + options.yAdjust,\n x2: point.x + options.radius + options.xAdjust,\n y2: point.y + options.radius + options.yAdjust,\n centerX: point.x + options.xAdjust,\n centerY: point.y + options.yAdjust,\n radius: options.radius,\n width: size,\n height: size\n };\n}\n\nfunction getChartDimensionByScale(scale, options) {\n const result = getDimensionByScale(scale, options) || options;\n return {\n start: Math.min(result.start, result.end),\n end: Math.max(result.start, result.end)\n };\n}\n\nfunction resolveFullLineProperties(scale, area, options) {\n const min = scaleValue(scale, options.value, NaN);\n const max = scaleValue(scale, options.endValue, min);\n if (scale.isHorizontal()) {\n area.x = min;\n area.x2 = max;\n } else {\n area.y = min;\n area.y2 = max;\n }\n}\n\nfunction resolveLimitedLineProperties(scales, area, options) {\n for (const scaleId of Object.keys(limitedLineScale)) {\n const scale = scales[retrieveScaleID(scales, options, scaleId)];\n if (scale) {\n const {min, max, start, end, startProp, endProp} = limitedLineScale[scaleId];\n const dim = getDimensionByScale(scale, {min: options[min], max: options[max], start: scale[start], end: scale[end]});\n area[startProp] = dim.start;\n area[endProp] = dim.end;\n }\n }\n}\n\nfunction calculateX({properties, options}, labelSize, position, padding) {\n const {x: start, x2: end, width: size} = properties;\n return calculatePosition({start, end, size, borderWidth: options.borderWidth}, {\n position: position.x,\n padding: {start: padding.left, end: padding.right},\n adjust: options.label.xAdjust,\n size: labelSize.width\n });\n}\n\nfunction calculateY({properties, options}, labelSize, position, padding) {\n const {y: start, y2: end, height: size} = properties;\n return calculatePosition({start, end, size, borderWidth: options.borderWidth}, {\n position: position.y,\n padding: {start: padding.top, end: padding.bottom},\n adjust: options.label.yAdjust,\n size: labelSize.height\n });\n}\n\nfunction calculatePosition(boxOpts, labelOpts) {\n const {start, end, borderWidth} = boxOpts;\n const {position, padding: {start: padStart, end: padEnd}, adjust} = labelOpts;\n const availableSize = end - borderWidth - start - padStart - padEnd - labelOpts.size;\n return start + borderWidth / 2 + adjust + getRelativePosition(availableSize, position);\n}\n\nfunction resolveLabelElementProperties$1(chart, properties, options) {\n const label = options.label;\n label.backgroundColor = 'transparent';\n label.callout.display = false;\n const position = toPosition(label.position);\n const padding = toPadding(label.padding);\n const labelSize = measureLabelSize(chart.ctx, label);\n const x = calculateX({properties, options}, labelSize, position, padding);\n const y = calculateY({properties, options}, labelSize, position, padding);\n const width = labelSize.width + padding.width;\n const height = labelSize.height + padding.height;\n return {\n x,\n y,\n x2: x + width,\n y2: y + height,\n width,\n height,\n centerX: x + width / 2,\n centerY: y + height / 2,\n rotation: label.rotation\n };\n\n}\n\nconst moveHooks = ['enter', 'leave'];\n\n/**\n * @typedef { import(\"chart.js\").Chart } Chart\n * @typedef { import('../../types/options').AnnotationPluginOptions } AnnotationPluginOptions\n */\n\nconst eventHooks = moveHooks.concat('click');\n\n/**\n * @param {Chart} chart\n * @param {Object} state\n * @param {AnnotationPluginOptions} options\n */\nfunction updateListeners(chart, state, options) {\n state.listened = loadHooks(options, eventHooks, state.listeners);\n state.moveListened = false;\n\n moveHooks.forEach(hook => {\n if (isFunction(options[hook])) {\n state.moveListened = true;\n }\n });\n\n if (!state.listened || !state.moveListened) {\n state.annotations.forEach(scope => {\n if (!state.listened && isFunction(scope.click)) {\n state.listened = true;\n }\n if (!state.moveListened) {\n moveHooks.forEach(hook => {\n if (isFunction(scope[hook])) {\n state.listened = true;\n state.moveListened = true;\n }\n });\n }\n });\n }\n}\n\n/**\n * @param {Object} state\n * @param {ChartEvent} event\n * @param {AnnotationPluginOptions} options\n * @return {boolean|undefined}\n */\nfunction handleEvent(state, event, options) {\n if (state.listened) {\n switch (event.type) {\n case 'mousemove':\n case 'mouseout':\n return handleMoveEvents(state, event, options);\n case 'click':\n return handleClickEvents(state, event, options);\n }\n }\n}\n\nfunction handleMoveEvents(state, event, options) {\n if (!state.moveListened) {\n return;\n }\n\n let elements;\n\n if (event.type === 'mousemove') {\n elements = getElements(state.visibleElements, event, options.interaction);\n } else {\n elements = [];\n }\n\n const previous = state.hovered;\n state.hovered = elements;\n\n const context = {state, event};\n let changed = dispatchMoveEvents(context, 'leave', previous, elements);\n return dispatchMoveEvents(context, 'enter', elements, previous) || changed;\n}\n\nfunction dispatchMoveEvents({state, event}, hook, elements, checkElements) {\n let changed;\n for (const element of elements) {\n if (checkElements.indexOf(element) < 0) {\n changed = dispatchEvent(element.options[hook] || state.listeners[hook], element, event) || changed;\n }\n }\n return changed;\n}\n\nfunction handleClickEvents(state, event, options) {\n const listeners = state.listeners;\n const elements = getElements(state.visibleElements, event, options.interaction);\n let changed;\n for (const element of elements) {\n changed = dispatchEvent(element.options.click || listeners.click, element, event) || changed;\n }\n return changed;\n}\n\nfunction dispatchEvent(handler, element, event) {\n return callback(handler, [element.$context, event]) === true;\n}\n\n/**\n * @typedef { import(\"chart.js\").Chart } Chart\n * @typedef { import('../../types/options').AnnotationPluginOptions } AnnotationPluginOptions\n * @typedef { import('../../types/element').AnnotationElement } AnnotationElement\n */\n\nconst elementHooks = ['afterDraw', 'beforeDraw'];\n\n/**\n * @param {Chart} chart\n * @param {Object} state\n * @param {AnnotationPluginOptions} options\n */\nfunction updateHooks(chart, state, options) {\n const visibleElements = state.visibleElements;\n state.hooked = loadHooks(options, elementHooks, state.hooks);\n\n if (!state.hooked) {\n visibleElements.forEach(scope => {\n if (!state.hooked) {\n elementHooks.forEach(hook => {\n if (isFunction(scope.options[hook])) {\n state.hooked = true;\n }\n });\n }\n });\n }\n}\n\n/**\n * @param {Object} state\n * @param {AnnotationElement} element\n * @param {string} hook\n */\nfunction invokeHook(state, element, hook) {\n if (state.hooked) {\n const callbackHook = element.options[hook] || state.hooks[hook];\n return callback(callbackHook, [element.$context]);\n }\n}\n\n/**\n * @typedef { import(\"chart.js\").Chart } Chart\n * @typedef { import(\"chart.js\").Scale } Scale\n * @typedef { import('../../types/options').CoreAnnotationOptions } CoreAnnotationOptions\n */\n\n/**\n * @param {Chart} chart\n * @param {Scale} scale\n * @param {CoreAnnotationOptions[]} annotations\n */\nfunction adjustScaleRange(chart, scale, annotations) {\n const range = getScaleLimits(chart.scales, scale, annotations);\n let changed = changeScaleLimit(scale, range, 'min', 'suggestedMin');\n changed = changeScaleLimit(scale, range, 'max', 'suggestedMax') || changed;\n if (changed && isFunction(scale.handleTickRangeOptions)) {\n scale.handleTickRangeOptions();\n }\n}\n\n/**\n * @param {CoreAnnotationOptions[]} annotations\n * @param {{ [key: string]: Scale }} scales\n */\nfunction verifyScaleOptions(annotations, scales) {\n for (const annotation of annotations) {\n verifyScaleIDs(annotation, scales);\n }\n}\n\nfunction changeScaleLimit(scale, range, limit, suggestedLimit) {\n if (isFinite(range[limit]) && !scaleLimitDefined(scale.options, limit, suggestedLimit)) {\n const changed = scale[limit] !== range[limit];\n scale[limit] = range[limit];\n return changed;\n }\n}\n\nfunction scaleLimitDefined(scaleOptions, limit, suggestedLimit) {\n return defined(scaleOptions[limit]) || defined(scaleOptions[suggestedLimit]);\n}\n\nfunction verifyScaleIDs(annotation, scales) {\n for (const key of ['scaleID', 'xScaleID', 'yScaleID']) {\n const scaleID = retrieveScaleID(scales, annotation, key);\n if (scaleID && !scales[scaleID] && verifyProperties(annotation, key)) {\n console.warn(`No scale found with id '${scaleID}' for annotation '${annotation.id}'`);\n }\n }\n}\n\nfunction verifyProperties(annotation, key) {\n if (key === 'scaleID') {\n return true;\n }\n const axis = key.charAt(0);\n for (const prop of ['Min', 'Max', 'Value']) {\n if (defined(annotation[axis + prop])) {\n return true;\n }\n }\n return false;\n}\n\nfunction getScaleLimits(scales, scale, annotations) {\n const axis = scale.axis;\n const scaleID = scale.id;\n const scaleIDOption = axis + 'ScaleID';\n const limits = {\n min: valueOrDefault(scale.min, Number.NEGATIVE_INFINITY),\n max: valueOrDefault(scale.max, Number.POSITIVE_INFINITY)\n };\n for (const annotation of annotations) {\n if (annotation.scaleID === scaleID) {\n updateLimits(annotation, scale, ['value', 'endValue'], limits);\n } else if (retrieveScaleID(scales, annotation, scaleIDOption) === scaleID) {\n updateLimits(annotation, scale, [axis + 'Min', axis + 'Max', axis + 'Value'], limits);\n }\n }\n return limits;\n}\n\nfunction updateLimits(annotation, scale, props, limits) {\n for (const prop of props) {\n const raw = annotation[prop];\n if (defined(raw)) {\n const value = scale.parse(raw);\n limits.min = Math.min(limits.min, value);\n limits.max = Math.max(limits.max, value);\n }\n }\n}\n\nclass BoxAnnotation extends Element {\n\n inRange(mouseX, mouseY, axis, useFinalPosition) {\n const {x, y} = rotated({x: mouseX, y: mouseY}, this.getCenterPoint(useFinalPosition), toRadians(-this.options.rotation));\n return inBoxRange({x, y}, this.getProps(['x', 'y', 'x2', 'y2'], useFinalPosition), axis, this.options);\n }\n\n getCenterPoint(useFinalPosition) {\n return getElementCenterPoint(this, useFinalPosition);\n }\n\n draw(ctx) {\n ctx.save();\n translate(ctx, this.getCenterPoint(), this.options.rotation);\n drawBox(ctx, this, this.options);\n ctx.restore();\n }\n\n get label() {\n return this.elements && this.elements[0];\n }\n\n resolveElementProperties(chart, options) {\n return resolveBoxAndLabelProperties(chart, options);\n }\n}\n\nBoxAnnotation.id = 'boxAnnotation';\n\nBoxAnnotation.defaults = {\n adjustScaleRange: true,\n backgroundShadowColor: 'transparent',\n borderCapStyle: 'butt',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderRadius: 0,\n borderShadowColor: 'transparent',\n borderWidth: 1,\n display: true,\n init: undefined,\n hitTolerance: 0,\n label: {\n backgroundColor: 'transparent',\n borderWidth: 0,\n callout: {\n display: false\n },\n color: 'black',\n content: null,\n display: false,\n drawTime: undefined,\n font: {\n family: undefined,\n lineHeight: undefined,\n size: undefined,\n style: undefined,\n weight: 'bold'\n },\n height: undefined,\n hitTolerance: undefined,\n opacity: undefined,\n padding: 6,\n position: 'center',\n rotation: undefined,\n textAlign: 'start',\n textStrokeColor: undefined,\n textStrokeWidth: 0,\n width: undefined,\n xAdjust: 0,\n yAdjust: 0,\n z: undefined\n },\n rotation: 0,\n shadowBlur: 0,\n shadowOffsetX: 0,\n shadowOffsetY: 0,\n xMax: undefined,\n xMin: undefined,\n xScaleID: undefined,\n yMax: undefined,\n yMin: undefined,\n yScaleID: undefined,\n z: 0\n};\n\nBoxAnnotation.defaultRoutes = {\n borderColor: 'color',\n backgroundColor: 'color'\n};\n\nBoxAnnotation.descriptors = {\n label: {\n _fallback: true\n }\n};\n\nclass DoughnutLabelAnnotation extends Element {\n\n inRange(mouseX, mouseY, axis, useFinalPosition) {\n return inLabelRange(\n {x: mouseX, y: mouseY},\n {rect: this.getProps(['x', 'y', 'x2', 'y2'], useFinalPosition), center: this.getCenterPoint(useFinalPosition)},\n axis,\n {rotation: this.rotation, borderWidth: 0, hitTolerance: this.options.hitTolerance}\n );\n }\n\n getCenterPoint(useFinalPosition) {\n return getElementCenterPoint(this, useFinalPosition);\n }\n\n draw(ctx) {\n const options = this.options;\n if (!options.display || !options.content) {\n return;\n }\n drawBackground(ctx, this);\n ctx.save();\n translate(ctx, this.getCenterPoint(), this.rotation);\n drawLabel(ctx, this, options, this._fitRatio);\n ctx.restore();\n }\n\n resolveElementProperties(chart, options) {\n const meta = getDatasetMeta(chart, options);\n if (!meta) {\n return {};\n }\n const {controllerMeta, point, radius} = getControllerMeta(chart, options, meta);\n let labelSize = measureLabelSize(chart.ctx, options);\n const _fitRatio = getFitRatio(labelSize, radius);\n if (shouldFit(options, _fitRatio)) {\n labelSize = {width: labelSize.width * _fitRatio, height: labelSize.height * _fitRatio};\n }\n const {position, xAdjust, yAdjust} = options;\n const boxSize = measureLabelRectangle(point, labelSize, {borderWidth: 0, position, xAdjust, yAdjust});\n return {\n initProperties: initAnimationProperties(chart, boxSize, options),\n ...boxSize,\n ...controllerMeta,\n rotation: options.rotation,\n _fitRatio\n };\n }\n}\n\nDoughnutLabelAnnotation.id = 'doughnutLabelAnnotation';\n\nDoughnutLabelAnnotation.defaults = {\n autoFit: true,\n autoHide: true,\n backgroundColor: 'transparent',\n backgroundShadowColor: 'transparent',\n borderColor: 'transparent',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderShadowColor: 'transparent',\n borderWidth: 0,\n color: 'black',\n content: null,\n display: true,\n font: {\n family: undefined,\n lineHeight: undefined,\n size: undefined,\n style: undefined,\n weight: undefined\n },\n height: undefined,\n hitTolerance: 0,\n init: undefined,\n opacity: undefined,\n position: 'center',\n rotation: 0,\n shadowBlur: 0,\n shadowOffsetX: 0,\n shadowOffsetY: 0,\n spacing: 1,\n textAlign: 'center',\n textStrokeColor: undefined,\n textStrokeWidth: 0,\n width: undefined,\n xAdjust: 0,\n yAdjust: 0\n};\n\nDoughnutLabelAnnotation.defaultRoutes = {\n};\n\nfunction getDatasetMeta(chart, options) {\n return chart.getSortedVisibleDatasetMetas().reduce(function(result, value) {\n const controller = value.controller;\n if (controller instanceof DoughnutController &&\n isControllerVisible(chart, options, value.data) &&\n (!result || controller.innerRadius < result.controller.innerRadius) &&\n controller.options.circumference >= 90) {\n return value;\n }\n return result;\n }, undefined);\n}\n\nfunction isControllerVisible(chart, options, elements) {\n if (!options.autoHide) {\n return true;\n }\n for (let i = 0; i < elements.length; i++) {\n if (!elements[i].hidden && chart.getDataVisibility(i)) {\n return true;\n }\n }\n}\n\nfunction getControllerMeta({chartArea}, options, meta) {\n const {left, top, right, bottom} = chartArea;\n const {innerRadius, offsetX, offsetY} = meta.controller;\n const x = (left + right) / 2 + offsetX;\n const y = (top + bottom) / 2 + offsetY;\n const square = {\n left: Math.max(x - innerRadius, left),\n right: Math.min(x + innerRadius, right),\n top: Math.max(y - innerRadius, top),\n bottom: Math.min(y + innerRadius, bottom)\n };\n const point = {\n x: (square.left + square.right) / 2,\n y: (square.top + square.bottom) / 2\n };\n const space = options.spacing + options.borderWidth / 2;\n const _radius = innerRadius - space;\n const _counterclockwise = point.y > y;\n const side = _counterclockwise ? top + space : bottom - space;\n const angles = getAngles(side, x, y, _radius);\n const controllerMeta = {\n _centerX: x,\n _centerY: y,\n _radius,\n _counterclockwise,\n ...angles\n };\n return {\n controllerMeta,\n point,\n radius: Math.min(innerRadius, Math.min(square.right - square.left, square.bottom - square.top) / 2)\n };\n}\n\nfunction getFitRatio({width, height}, radius) {\n const hypo = Math.sqrt(Math.pow(width, 2) + Math.pow(height, 2));\n return (radius * 2) / hypo;\n}\n\nfunction getAngles(y, centerX, centerY, radius) {\n const yk2 = Math.pow(centerY - y, 2);\n const r2 = Math.pow(radius, 2);\n const b = centerX * -2;\n const c = Math.pow(centerX, 2) + yk2 - r2;\n const delta = Math.pow(b, 2) - (4 * c);\n if (delta <= 0) {\n return {\n _startAngle: 0,\n _endAngle: TAU\n };\n }\n const start = (-b - Math.sqrt(delta)) / 2;\n const end = (-b + Math.sqrt(delta)) / 2;\n return {\n _startAngle: getAngleFromPoint({x: centerX, y: centerY}, {x: start, y}).angle,\n _endAngle: getAngleFromPoint({x: centerX, y: centerY}, {x: end, y}).angle\n };\n}\n\nfunction drawBackground(ctx, element) {\n const {_centerX, _centerY, _radius, _startAngle, _endAngle, _counterclockwise, options} = element;\n ctx.save();\n const stroke = setBorderStyle(ctx, options);\n ctx.fillStyle = options.backgroundColor;\n ctx.beginPath();\n ctx.arc(_centerX, _centerY, _radius, _startAngle, _endAngle, _counterclockwise);\n ctx.closePath();\n ctx.fill();\n if (stroke) {\n ctx.stroke();\n }\n ctx.restore();\n}\n\nclass LabelAnnotation extends Element {\n\n inRange(mouseX, mouseY, axis, useFinalPosition) {\n return inLabelRange(\n {x: mouseX, y: mouseY},\n {rect: this.getProps(['x', 'y', 'x2', 'y2'], useFinalPosition), center: this.getCenterPoint(useFinalPosition)},\n axis,\n {rotation: this.rotation, borderWidth: this.options.borderWidth, hitTolerance: this.options.hitTolerance}\n );\n }\n\n getCenterPoint(useFinalPosition) {\n return getElementCenterPoint(this, useFinalPosition);\n }\n\n draw(ctx) {\n const options = this.options;\n const visible = !defined(this._visible) || this._visible;\n if (!options.display || !options.content || !visible) {\n return;\n }\n ctx.save();\n translate(ctx, this.getCenterPoint(), this.rotation);\n drawCallout(ctx, this);\n drawBox(ctx, this, options);\n drawLabel(ctx, getLabelSize(this), options);\n ctx.restore();\n }\n\n resolveElementProperties(chart, options) {\n let point;\n if (!isBoundToPoint(options)) {\n const {centerX, centerY} = resolveBoxProperties(chart, options);\n point = {x: centerX, y: centerY};\n } else {\n point = getChartPoint(chart, options);\n }\n const padding = toPadding(options.padding);\n const labelSize = measureLabelSize(chart.ctx, options);\n const boxSize = measureLabelRectangle(point, labelSize, options, padding);\n return {\n initProperties: initAnimationProperties(chart, boxSize, options),\n pointX: point.x,\n pointY: point.y,\n ...boxSize,\n rotation: options.rotation\n };\n }\n}\n\nLabelAnnotation.id = 'labelAnnotation';\n\nLabelAnnotation.defaults = {\n adjustScaleRange: true,\n backgroundColor: 'transparent',\n backgroundShadowColor: 'transparent',\n borderCapStyle: 'butt',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderRadius: 0,\n borderShadowColor: 'transparent',\n borderWidth: 0,\n callout: {\n borderCapStyle: 'butt',\n borderColor: undefined,\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderWidth: 1,\n display: false,\n margin: 5,\n position: 'auto',\n side: 5,\n start: '50%',\n },\n color: 'black',\n content: null,\n display: true,\n font: {\n family: undefined,\n lineHeight: undefined,\n size: undefined,\n style: undefined,\n weight: undefined\n },\n height: undefined,\n hitTolerance: 0,\n init: undefined,\n opacity: undefined,\n padding: 6,\n position: 'center',\n rotation: 0,\n shadowBlur: 0,\n shadowOffsetX: 0,\n shadowOffsetY: 0,\n textAlign: 'center',\n textStrokeColor: undefined,\n textStrokeWidth: 0,\n width: undefined,\n xAdjust: 0,\n xMax: undefined,\n xMin: undefined,\n xScaleID: undefined,\n xValue: undefined,\n yAdjust: 0,\n yMax: undefined,\n yMin: undefined,\n yScaleID: undefined,\n yValue: undefined,\n z: 0\n};\n\nLabelAnnotation.defaultRoutes = {\n borderColor: 'color'\n};\n\nfunction getLabelSize({x, y, width, height, options}) {\n const hBorderWidth = options.borderWidth / 2;\n const padding = toPadding(options.padding);\n return {\n x: x + padding.left + hBorderWidth,\n y: y + padding.top + hBorderWidth,\n width: width - padding.left - padding.right - options.borderWidth,\n height: height - padding.top - padding.bottom - options.borderWidth\n };\n}\n\nconst pointInLine = (p1, p2, t) => ({x: p1.x + t * (p2.x - p1.x), y: p1.y + t * (p2.y - p1.y)});\nconst interpolateX = (y, p1, p2) => pointInLine(p1, p2, Math.abs((y - p1.y) / (p2.y - p1.y))).x;\nconst interpolateY = (x, p1, p2) => pointInLine(p1, p2, Math.abs((x - p1.x) / (p2.x - p1.x))).y;\nconst sqr = v => v * v;\nconst rangeLimit = (mouseX, mouseY, {x, y, x2, y2}, axis) => axis === 'y' ? {start: Math.min(y, y2), end: Math.max(y, y2), value: mouseY} : {start: Math.min(x, x2), end: Math.max(x, x2), value: mouseX};\n// http://www.independent-software.com/determining-coordinates-on-a-html-canvas-bezier-curve.html\nconst coordInCurve = (start, cp, end, t) => (1 - t) * (1 - t) * start + 2 * (1 - t) * t * cp + t * t * end;\nconst pointInCurve = (start, cp, end, t) => ({x: coordInCurve(start.x, cp.x, end.x, t), y: coordInCurve(start.y, cp.y, end.y, t)});\nconst coordAngleInCurve = (start, cp, end, t) => 2 * (1 - t) * (cp - start) + 2 * t * (end - cp);\nconst angleInCurve = (start, cp, end, t) => -Math.atan2(coordAngleInCurve(start.x, cp.x, end.x, t), coordAngleInCurve(start.y, cp.y, end.y, t)) + 0.5 * PI;\n\nclass LineAnnotation extends Element {\n\n inRange(mouseX, mouseY, axis, useFinalPosition) {\n const hitSize = (this.options.borderWidth + this.options.hitTolerance) / 2;\n if (axis !== 'x' && axis !== 'y') {\n const point = {mouseX, mouseY};\n const {path, ctx} = this;\n if (path) {\n setBorderStyle(ctx, this.options);\n ctx.lineWidth += this.options.hitTolerance;\n const {chart} = this.$context;\n const mx = mouseX * chart.currentDevicePixelRatio;\n const my = mouseY * chart.currentDevicePixelRatio;\n const result = ctx.isPointInStroke(path, mx, my) || isOnLabel(this, point, useFinalPosition);\n ctx.restore();\n return result;\n }\n const epsilon = sqr(hitSize);\n return intersects(this, point, epsilon, useFinalPosition) || isOnLabel(this, point, useFinalPosition);\n }\n return inAxisRange(this, {mouseX, mouseY}, axis, {hitSize, useFinalPosition});\n }\n\n getCenterPoint(useFinalPosition) {\n return getElementCenterPoint(this, useFinalPosition);\n }\n\n draw(ctx) {\n const {x, y, x2, y2, cp, options} = this;\n\n ctx.save();\n if (!setBorderStyle(ctx, options)) {\n // no border width, then line is not drawn\n return ctx.restore();\n }\n setShadowStyle(ctx, options);\n\n const length = Math.sqrt(Math.pow(x2 - x, 2) + Math.pow(y2 - y, 2));\n if (options.curve && cp) {\n drawCurve(ctx, this, cp, length);\n return ctx.restore();\n }\n const {startOpts, endOpts, startAdjust, endAdjust} = getArrowHeads(this);\n const angle = Math.atan2(y2 - y, x2 - x);\n ctx.translate(x, y);\n ctx.rotate(angle);\n ctx.beginPath();\n ctx.moveTo(0 + startAdjust, 0);\n ctx.lineTo(length - endAdjust, 0);\n ctx.shadowColor = options.borderShadowColor;\n ctx.stroke();\n drawArrowHead(ctx, 0, startAdjust, startOpts);\n drawArrowHead(ctx, length, -endAdjust, endOpts);\n ctx.restore();\n }\n\n get label() {\n return this.elements && this.elements[0];\n }\n\n resolveElementProperties(chart, options) {\n const area = resolveLineProperties(chart, options);\n const {x, y, x2, y2} = area;\n const inside = isLineInArea(area, chart.chartArea);\n const properties = inside\n ? limitLineToArea({x, y}, {x: x2, y: y2}, chart.chartArea)\n : {x, y, x2, y2, width: Math.abs(x2 - x), height: Math.abs(y2 - y)};\n properties.centerX = (x2 + x) / 2;\n properties.centerY = (y2 + y) / 2;\n properties.initProperties = initAnimationProperties(chart, properties, options);\n if (options.curve) {\n const p1 = {x: properties.x, y: properties.y};\n const p2 = {x: properties.x2, y: properties.y2};\n properties.cp = getControlPoint(properties, options, distanceBetweenPoints(p1, p2));\n }\n const labelProperties = resolveLabelElementProperties(chart, properties, options.label);\n // additonal prop to manage zoom/pan\n labelProperties._visible = inside;\n\n properties.elements = [{\n type: 'label',\n optionScope: 'label',\n properties: labelProperties,\n initProperties: properties.initProperties\n }];\n return properties;\n }\n}\n\nLineAnnotation.id = 'lineAnnotation';\n\nconst arrowHeadsDefaults = {\n backgroundColor: undefined,\n backgroundShadowColor: undefined,\n borderColor: undefined,\n borderDash: undefined,\n borderDashOffset: undefined,\n borderShadowColor: undefined,\n borderWidth: undefined,\n display: undefined,\n fill: undefined,\n length: undefined,\n shadowBlur: undefined,\n shadowOffsetX: undefined,\n shadowOffsetY: undefined,\n width: undefined\n};\n\nLineAnnotation.defaults = {\n adjustScaleRange: true,\n arrowHeads: {\n display: false,\n end: Object.assign({}, arrowHeadsDefaults),\n fill: false,\n length: 12,\n start: Object.assign({}, arrowHeadsDefaults),\n width: 6\n },\n borderDash: [],\n borderDashOffset: 0,\n borderShadowColor: 'transparent',\n borderWidth: 2,\n curve: false,\n controlPoint: {\n y: '-50%'\n },\n display: true,\n endValue: undefined,\n init: undefined,\n hitTolerance: 0,\n label: {\n backgroundColor: 'rgba(0,0,0,0.8)',\n backgroundShadowColor: 'transparent',\n borderCapStyle: 'butt',\n borderColor: 'black',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderRadius: 6,\n borderShadowColor: 'transparent',\n borderWidth: 0,\n callout: Object.assign({}, LabelAnnotation.defaults.callout),\n color: '#fff',\n content: null,\n display: false,\n drawTime: undefined,\n font: {\n family: undefined,\n lineHeight: undefined,\n size: undefined,\n style: undefined,\n weight: 'bold'\n },\n height: undefined,\n hitTolerance: undefined,\n opacity: undefined,\n padding: 6,\n position: 'center',\n rotation: 0,\n shadowBlur: 0,\n shadowOffsetX: 0,\n shadowOffsetY: 0,\n textAlign: 'center',\n textStrokeColor: undefined,\n textStrokeWidth: 0,\n width: undefined,\n xAdjust: 0,\n yAdjust: 0,\n z: undefined\n },\n scaleID: undefined,\n shadowBlur: 0,\n shadowOffsetX: 0,\n shadowOffsetY: 0,\n value: undefined,\n xMax: undefined,\n xMin: undefined,\n xScaleID: undefined,\n yMax: undefined,\n yMin: undefined,\n yScaleID: undefined,\n z: 0\n};\n\nLineAnnotation.descriptors = {\n arrowHeads: {\n start: {\n _fallback: true\n },\n end: {\n _fallback: true\n },\n _fallback: true\n }\n};\n\nLineAnnotation.defaultRoutes = {\n borderColor: 'color'\n};\n\nfunction inAxisRange(element, {mouseX, mouseY}, axis, {hitSize, useFinalPosition}) {\n const limit = rangeLimit(mouseX, mouseY, element.getProps(['x', 'y', 'x2', 'y2'], useFinalPosition), axis);\n return inLimit(limit, hitSize) || isOnLabel(element, {mouseX, mouseY}, useFinalPosition, axis);\n}\n\nfunction isLineInArea({x, y, x2, y2}, {top, right, bottom, left}) {\n return !(\n (x < left && x2 < left) ||\n (x > right && x2 > right) ||\n (y < top && y2 < top) ||\n (y > bottom && y2 > bottom)\n );\n}\n\nfunction limitPointToArea({x, y}, p2, {top, right, bottom, left}) {\n if (x < left) {\n y = interpolateY(left, {x, y}, p2);\n x = left;\n }\n if (x > right) {\n y = interpolateY(right, {x, y}, p2);\n x = right;\n }\n if (y < top) {\n x = interpolateX(top, {x, y}, p2);\n y = top;\n }\n if (y > bottom) {\n x = interpolateX(bottom, {x, y}, p2);\n y = bottom;\n }\n return {x, y};\n}\n\nfunction limitLineToArea(p1, p2, area) {\n const {x, y} = limitPointToArea(p1, p2, area);\n const {x: x2, y: y2} = limitPointToArea(p2, p1, area);\n return {x, y, x2, y2, width: Math.abs(x2 - x), height: Math.abs(y2 - y)};\n}\n\nfunction intersects(element, {mouseX, mouseY}, epsilon = EPSILON, useFinalPosition) {\n // Adapted from https://stackoverflow.com/a/6853926/25507\n const {x: x1, y: y1, x2, y2} = element.getProps(['x', 'y', 'x2', 'y2'], useFinalPosition);\n const dx = x2 - x1;\n const dy = y2 - y1;\n const lenSq = sqr(dx) + sqr(dy);\n const t = lenSq === 0 ? -1 : ((mouseX - x1) * dx + (mouseY - y1) * dy) / lenSq;\n\n let xx, yy;\n if (t < 0) {\n xx = x1;\n yy = y1;\n } else if (t > 1) {\n xx = x2;\n yy = y2;\n } else {\n xx = x1 + t * dx;\n yy = y1 + t * dy;\n }\n return (sqr(mouseX - xx) + sqr(mouseY - yy)) <= epsilon;\n}\n\nfunction isOnLabel(element, {mouseX, mouseY}, useFinalPosition, axis) {\n const label = element.label;\n return label.options.display && label.inRange(mouseX, mouseY, axis, useFinalPosition);\n}\n\nfunction resolveLabelElementProperties(chart, properties, options) {\n const borderWidth = options.borderWidth;\n const padding = toPadding(options.padding);\n const textSize = measureLabelSize(chart.ctx, options);\n const width = textSize.width + padding.width + borderWidth;\n const height = textSize.height + padding.height + borderWidth;\n return calculateLabelPosition(properties, options, {width, height, padding}, chart.chartArea);\n}\n\nfunction calculateAutoRotation(properties) {\n const {x, y, x2, y2} = properties;\n const rotation = Math.atan2(y2 - y, x2 - x);\n // Flip the rotation if it goes > PI/2 or < -PI/2, so label stays upright\n return rotation > PI / 2 ? rotation - PI : rotation < PI / -2 ? rotation + PI : rotation;\n}\n\nfunction calculateLabelPosition(properties, label, sizes, chartArea) {\n const {width, height, padding} = sizes;\n const {xAdjust, yAdjust} = label;\n const p1 = {x: properties.x, y: properties.y};\n const p2 = {x: properties.x2, y: properties.y2};\n const rotation = label.rotation === 'auto' ? calculateAutoRotation(properties) : toRadians(label.rotation);\n const size = rotatedSize(width, height, rotation);\n const t = calculateT(properties, label, {labelSize: size, padding}, chartArea);\n const pt = properties.cp ? pointInCurve(p1, properties.cp, p2, t) : pointInLine(p1, p2, t);\n const xCoordinateSizes = {size: size.w, min: chartArea.left, max: chartArea.right, padding: padding.left};\n const yCoordinateSizes = {size: size.h, min: chartArea.top, max: chartArea.bottom, padding: padding.top};\n const centerX = adjustLabelCoordinate(pt.x, xCoordinateSizes) + xAdjust;\n const centerY = adjustLabelCoordinate(pt.y, yCoordinateSizes) + yAdjust;\n return {\n x: centerX - (width / 2),\n y: centerY - (height / 2),\n x2: centerX + (width / 2),\n y2: centerY + (height / 2),\n centerX,\n centerY,\n pointX: pt.x,\n pointY: pt.y,\n width,\n height,\n rotation: toDegrees(rotation)\n };\n}\n\nfunction rotatedSize(width, height, rotation) {\n const cos = Math.cos(rotation);\n const sin = Math.sin(rotation);\n return {\n w: Math.abs(width * cos) + Math.abs(height * sin),\n h: Math.abs(width * sin) + Math.abs(height * cos)\n };\n}\n\nfunction calculateT(properties, label, sizes, chartArea) {\n let t;\n const space = spaceAround(properties, chartArea);\n if (label.position === 'start') {\n t = calculateTAdjust({w: properties.x2 - properties.x, h: properties.y2 - properties.y}, sizes, label, space);\n } else if (label.position === 'end') {\n t = 1 - calculateTAdjust({w: properties.x - properties.x2, h: properties.y - properties.y2}, sizes, label, space);\n } else {\n t = getRelativePosition(1, label.position);\n }\n return t;\n}\n\nfunction calculateTAdjust(lineSize, sizes, label, space) {\n const {labelSize, padding} = sizes;\n const lineW = lineSize.w * space.dx;\n const lineH = lineSize.h * space.dy;\n const x = (lineW > 0) && ((labelSize.w / 2 + padding.left - space.x) / lineW);\n const y = (lineH > 0) && ((labelSize.h / 2 + padding.top - space.y) / lineH);\n return clamp(Math.max(x, y), 0, 0.25);\n}\n\nfunction spaceAround(properties, chartArea) {\n const {x, x2, y, y2} = properties;\n const t = Math.min(y, y2) - chartArea.top;\n const l = Math.min(x, x2) - chartArea.left;\n const b = chartArea.bottom - Math.max(y, y2);\n const r = chartArea.right - Math.max(x, x2);\n return {\n x: Math.min(l, r),\n y: Math.min(t, b),\n dx: l <= r ? 1 : -1,\n dy: t <= b ? 1 : -1\n };\n}\n\nfunction adjustLabelCoordinate(coordinate, labelSizes) {\n const {size, min, max, padding} = labelSizes;\n const halfSize = size / 2;\n if (size > max - min) {\n // if it does not fit, display as much as possible\n return (max + min) / 2;\n }\n if (min >= (coordinate - padding - halfSize)) {\n coordinate = min + padding + halfSize;\n }\n if (max <= (coordinate + padding + halfSize)) {\n coordinate = max - padding - halfSize;\n }\n return coordinate;\n}\n\nfunction getArrowHeads(line) {\n const options = line.options;\n const arrowStartOpts = options.arrowHeads && options.arrowHeads.start;\n const arrowEndOpts = options.arrowHeads && options.arrowHeads.end;\n return {\n startOpts: arrowStartOpts,\n endOpts: arrowEndOpts,\n startAdjust: getLineAdjust(line, arrowStartOpts),\n endAdjust: getLineAdjust(line, arrowEndOpts)\n };\n}\n\nfunction getLineAdjust(line, arrowOpts) {\n if (!arrowOpts || !arrowOpts.display) {\n return 0;\n }\n const {length, width} = arrowOpts;\n const adjust = line.options.borderWidth / 2;\n const p1 = {x: length, y: width + adjust};\n const p2 = {x: 0, y: adjust};\n return Math.abs(interpolateX(0, p1, p2));\n}\n\nfunction drawArrowHead(ctx, offset, adjust, arrowOpts) {\n if (!arrowOpts || !arrowOpts.display) {\n return;\n }\n const {length, width, fill, backgroundColor, borderColor} = arrowOpts;\n const arrowOffsetX = Math.abs(offset - length) + adjust;\n ctx.beginPath();\n setShadowStyle(ctx, arrowOpts);\n setBorderStyle(ctx, arrowOpts);\n ctx.moveTo(arrowOffsetX, -width);\n ctx.lineTo(offset + adjust, 0);\n ctx.lineTo(arrowOffsetX, width);\n if (fill === true) {\n ctx.fillStyle = backgroundColor || borderColor;\n ctx.closePath();\n ctx.fill();\n ctx.shadowColor = 'transparent';\n } else {\n ctx.shadowColor = arrowOpts.borderShadowColor;\n }\n ctx.stroke();\n}\n\nfunction getControlPoint(properties, options, distance) {\n const {x, y, x2, y2, centerX, centerY} = properties;\n const angle = Math.atan2(y2 - y, x2 - x);\n const cp = toPosition(options.controlPoint, 0);\n const point = {\n x: centerX + getSize(distance, cp.x, false),\n y: centerY + getSize(distance, cp.y, false)\n };\n return rotated(point, {x: centerX, y: centerY}, angle);\n}\n\nfunction drawArrowHeadOnCurve(ctx, {x, y}, {angle, adjust}, arrowOpts) {\n if (!arrowOpts || !arrowOpts.display) {\n return;\n }\n ctx.save();\n ctx.translate(x, y);\n ctx.rotate(angle);\n drawArrowHead(ctx, 0, -adjust, arrowOpts);\n ctx.restore();\n}\n\nfunction drawCurve(ctx, element, cp, length) {\n const {x, y, x2, y2, options} = element;\n const {startOpts, endOpts, startAdjust, endAdjust} = getArrowHeads(element);\n const p1 = {x, y};\n const p2 = {x: x2, y: y2};\n const startAngle = angleInCurve(p1, cp, p2, 0);\n const endAngle = angleInCurve(p1, cp, p2, 1) - PI;\n const ps = pointInCurve(p1, cp, p2, startAdjust / length);\n const pe = pointInCurve(p1, cp, p2, 1 - endAdjust / length);\n\n const path = new Path2D();\n ctx.beginPath();\n path.moveTo(ps.x, ps.y);\n path.quadraticCurveTo(cp.x, cp.y, pe.x, pe.y);\n ctx.shadowColor = options.borderShadowColor;\n ctx.stroke(path);\n element.path = path;\n element.ctx = ctx;\n drawArrowHeadOnCurve(ctx, ps, {angle: startAngle, adjust: startAdjust}, startOpts);\n drawArrowHeadOnCurve(ctx, pe, {angle: endAngle, adjust: endAdjust}, endOpts);\n}\n\nclass EllipseAnnotation extends Element {\n\n inRange(mouseX, mouseY, axis, useFinalPosition) {\n const rotation = this.options.rotation;\n const hitSize = (this.options.borderWidth + this.options.hitTolerance) / 2;\n if (axis !== 'x' && axis !== 'y') {\n return pointInEllipse({x: mouseX, y: mouseY}, this.getProps(['width', 'height', 'centerX', 'centerY'], useFinalPosition), rotation, hitSize);\n }\n const {x, y, x2, y2} = this.getProps(['x', 'y', 'x2', 'y2'], useFinalPosition);\n const limit = axis === 'y' ? {start: y, end: y2} : {start: x, end: x2};\n const rotatedPoint = rotated({x: mouseX, y: mouseY}, this.getCenterPoint(useFinalPosition), toRadians(-rotation));\n return rotatedPoint[axis] >= limit.start - hitSize - EPSILON && rotatedPoint[axis] <= limit.end + hitSize + EPSILON;\n }\n\n getCenterPoint(useFinalPosition) {\n return getElementCenterPoint(this, useFinalPosition);\n }\n\n draw(ctx) {\n const {width, height, centerX, centerY, options} = this;\n ctx.save();\n translate(ctx, this.getCenterPoint(), options.rotation);\n setShadowStyle(ctx, this.options);\n ctx.beginPath();\n ctx.fillStyle = options.backgroundColor;\n const stroke = setBorderStyle(ctx, options);\n ctx.ellipse(centerX, centerY, height / 2, width / 2, PI / 2, 0, 2 * PI);\n ctx.fill();\n if (stroke) {\n ctx.shadowColor = options.borderShadowColor;\n ctx.stroke();\n }\n ctx.restore();\n }\n\n get label() {\n return this.elements && this.elements[0];\n }\n\n resolveElementProperties(chart, options) {\n return resolveBoxAndLabelProperties(chart, options);\n }\n\n}\n\nEllipseAnnotation.id = 'ellipseAnnotation';\n\nEllipseAnnotation.defaults = {\n adjustScaleRange: true,\n backgroundShadowColor: 'transparent',\n borderDash: [],\n borderDashOffset: 0,\n borderShadowColor: 'transparent',\n borderWidth: 1,\n display: true,\n hitTolerance: 0,\n init: undefined,\n label: Object.assign({}, BoxAnnotation.defaults.label),\n rotation: 0,\n shadowBlur: 0,\n shadowOffsetX: 0,\n shadowOffsetY: 0,\n xMax: undefined,\n xMin: undefined,\n xScaleID: undefined,\n yMax: undefined,\n yMin: undefined,\n yScaleID: undefined,\n z: 0\n};\n\nEllipseAnnotation.defaultRoutes = {\n borderColor: 'color',\n backgroundColor: 'color'\n};\n\nEllipseAnnotation.descriptors = {\n label: {\n _fallback: true\n }\n};\n\nfunction pointInEllipse(p, ellipse, rotation, hitSize) {\n const {width, height, centerX, centerY} = ellipse;\n const xRadius = width / 2;\n const yRadius = height / 2;\n\n if (xRadius <= 0 || yRadius <= 0) {\n return false;\n }\n // https://stackoverflow.com/questions/7946187/point-and-ellipse-rotated-position-test-algorithm\n const angle = toRadians(rotation || 0);\n const cosAngle = Math.cos(angle);\n const sinAngle = Math.sin(angle);\n const a = Math.pow(cosAngle * (p.x - centerX) + sinAngle * (p.y - centerY), 2);\n const b = Math.pow(sinAngle * (p.x - centerX) - cosAngle * (p.y - centerY), 2);\n return (a / Math.pow(xRadius + hitSize, 2)) + (b / Math.pow(yRadius + hitSize, 2)) <= 1.0001;\n}\n\nclass PointAnnotation extends Element {\n\n inRange(mouseX, mouseY, axis, useFinalPosition) {\n const {x, y, x2, y2, width} = this.getProps(['x', 'y', 'x2', 'y2', 'width'], useFinalPosition);\n const hitSize = (this.options.borderWidth + this.options.hitTolerance) / 2;\n if (axis !== 'x' && axis !== 'y') {\n return inPointRange({x: mouseX, y: mouseY}, this.getCenterPoint(useFinalPosition), width / 2, hitSize);\n }\n const limit = axis === 'y' ? {start: y, end: y2, value: mouseY} : {start: x, end: x2, value: mouseX};\n return inLimit(limit, hitSize);\n }\n\n getCenterPoint(useFinalPosition) {\n return getElementCenterPoint(this, useFinalPosition);\n }\n\n draw(ctx) {\n const options = this.options;\n const borderWidth = options.borderWidth;\n if (options.radius < 0.1) {\n return;\n }\n ctx.save();\n ctx.fillStyle = options.backgroundColor;\n setShadowStyle(ctx, options);\n const stroke = setBorderStyle(ctx, options);\n drawPoint(ctx, this, this.centerX, this.centerY);\n if (stroke && !isImageOrCanvas(options.pointStyle)) {\n ctx.shadowColor = options.borderShadowColor;\n ctx.stroke();\n }\n ctx.restore();\n options.borderWidth = borderWidth;\n }\n\n resolveElementProperties(chart, options) {\n const properties = resolvePointProperties(chart, options);\n properties.initProperties = initAnimationProperties(chart, properties, options);\n return properties;\n }\n}\n\nPointAnnotation.id = 'pointAnnotation';\n\nPointAnnotation.defaults = {\n adjustScaleRange: true,\n backgroundShadowColor: 'transparent',\n borderDash: [],\n borderDashOffset: 0,\n borderShadowColor: 'transparent',\n borderWidth: 1,\n display: true,\n hitTolerance: 0,\n init: undefined,\n pointStyle: 'circle',\n radius: 10,\n rotation: 0,\n shadowBlur: 0,\n shadowOffsetX: 0,\n shadowOffsetY: 0,\n xAdjust: 0,\n xMax: undefined,\n xMin: undefined,\n xScaleID: undefined,\n xValue: undefined,\n yAdjust: 0,\n yMax: undefined,\n yMin: undefined,\n yScaleID: undefined,\n yValue: undefined,\n z: 0\n};\n\nPointAnnotation.defaultRoutes = {\n borderColor: 'color',\n backgroundColor: 'color'\n};\n\nclass PolygonAnnotation extends Element {\n\n inRange(mouseX, mouseY, axis, useFinalPosition) {\n if (axis !== 'x' && axis !== 'y') {\n return this.options.radius >= 0.1 && this.elements.length > 1 && pointIsInPolygon(this.elements, mouseX, mouseY, useFinalPosition);\n }\n const rotatedPoint = rotated({x: mouseX, y: mouseY}, this.getCenterPoint(useFinalPosition), toRadians(-this.options.rotation));\n const axisPoints = this.elements.map((point) => axis === 'y' ? point.bY : point.bX);\n const start = Math.min(...axisPoints);\n const end = Math.max(...axisPoints);\n return rotatedPoint[axis] >= start && rotatedPoint[axis] <= end;\n }\n\n getCenterPoint(useFinalPosition) {\n return getElementCenterPoint(this, useFinalPosition);\n }\n\n draw(ctx) {\n const {elements, options} = this;\n ctx.save();\n ctx.beginPath();\n ctx.fillStyle = options.backgroundColor;\n setShadowStyle(ctx, options);\n const stroke = setBorderStyle(ctx, options);\n let first = true;\n for (const el of elements) {\n if (first) {\n ctx.moveTo(el.x, el.y);\n first = false;\n } else {\n ctx.lineTo(el.x, el.y);\n }\n }\n ctx.closePath();\n ctx.fill();\n // If no border, don't draw it\n if (stroke) {\n ctx.shadowColor = options.borderShadowColor;\n ctx.stroke();\n }\n ctx.restore();\n }\n\n resolveElementProperties(chart, options) {\n const properties = resolvePointProperties(chart, options);\n const {sides, rotation} = options;\n const elements = [];\n const angle = (2 * PI) / sides;\n let rad = rotation * RAD_PER_DEG;\n for (let i = 0; i < sides; i++, rad += angle) {\n const elProps = buildPointElement(properties, options, rad);\n elProps.initProperties = initAnimationProperties(chart, properties, options);\n elements.push(elProps);\n }\n properties.elements = elements;\n return properties;\n }\n}\n\nPolygonAnnotation.id = 'polygonAnnotation';\n\nPolygonAnnotation.defaults = {\n adjustScaleRange: true,\n backgroundShadowColor: 'transparent',\n borderCapStyle: 'butt',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderShadowColor: 'transparent',\n borderWidth: 1,\n display: true,\n hitTolerance: 0,\n init: undefined,\n point: {\n radius: 0\n },\n radius: 10,\n rotation: 0,\n shadowBlur: 0,\n shadowOffsetX: 0,\n shadowOffsetY: 0,\n sides: 3,\n xAdjust: 0,\n xMax: undefined,\n xMin: undefined,\n xScaleID: undefined,\n xValue: undefined,\n yAdjust: 0,\n yMax: undefined,\n yMin: undefined,\n yScaleID: undefined,\n yValue: undefined,\n z: 0\n};\n\nPolygonAnnotation.defaultRoutes = {\n borderColor: 'color',\n backgroundColor: 'color'\n};\n\nfunction buildPointElement({centerX, centerY}, {radius, borderWidth, hitTolerance}, rad) {\n const hitSize = (borderWidth + hitTolerance) / 2;\n const sin = Math.sin(rad);\n const cos = Math.cos(rad);\n const point = {x: centerX + sin * radius, y: centerY - cos * radius};\n return {\n type: 'point',\n optionScope: 'point',\n properties: {\n x: point.x,\n y: point.y,\n centerX: point.x,\n centerY: point.y,\n bX: centerX + sin * (radius + hitSize),\n bY: centerY - cos * (radius + hitSize)\n }\n };\n}\n\nfunction pointIsInPolygon(points, x, y, useFinalPosition) {\n let isInside = false;\n let A = points[points.length - 1].getProps(['bX', 'bY'], useFinalPosition);\n for (const point of points) {\n const B = point.getProps(['bX', 'bY'], useFinalPosition);\n if ((B.bY > y) !== (A.bY > y) && x < (A.bX - B.bX) * (y - B.bY) / (A.bY - B.bY) + B.bX) {\n isInside = !isInside;\n }\n A = B;\n }\n return isInside;\n}\n\nconst annotationTypes = {\n box: BoxAnnotation,\n doughnutLabel: DoughnutLabelAnnotation,\n ellipse: EllipseAnnotation,\n label: LabelAnnotation,\n line: LineAnnotation,\n point: PointAnnotation,\n polygon: PolygonAnnotation\n};\n\n/**\n * Register fallback for annotation elements\n * For example lineAnnotation options would be looked through:\n * - the annotation object (options.plugins.annotation.annotations[id])\n * - element options (options.elements.lineAnnotation)\n * - element defaults (defaults.elements.lineAnnotation)\n * - annotation plugin defaults (defaults.plugins.annotation, this is what we are registering here)\n */\nObject.keys(annotationTypes).forEach(key => {\n defaults.describe(`elements.${annotationTypes[key].id}`, {\n _fallback: 'plugins.annotation.common'\n });\n});\n\nconst directUpdater = {\n update: Object.assign\n};\n\nconst hooks$1 = eventHooks.concat(elementHooks);\nconst resolve = (value, optDefs) => isObject(optDefs) ? resolveObj(value, optDefs) : value;\n\n\n/**\n * @typedef { import(\"chart.js\").Chart } Chart\n * @typedef { import(\"chart.js\").UpdateMode } UpdateMode\n * @typedef { import('../../types/options').AnnotationPluginOptions } AnnotationPluginOptions\n */\n\n/**\n * @param {string} prop\n * @returns {boolean}\n */\nconst isIndexable = (prop) => prop === 'color' || prop === 'font';\n\n/**\n * Resolve the annotation type, checking if is supported.\n * @param {string} [type=line] - annotation type\n * @returns {string} resolved annotation type\n */\nfunction resolveType(type = 'line') {\n if (annotationTypes[type]) {\n return type;\n }\n console.warn(`Unknown annotation type: '${type}', defaulting to 'line'`);\n return 'line';\n}\n\n/**\n * @param {Chart} chart\n * @param {Object} state\n * @param {AnnotationPluginOptions} options\n * @param {UpdateMode} mode\n */\nfunction updateElements(chart, state, options, mode) {\n const animations = resolveAnimations(chart, options.animations, mode);\n\n const annotations = state.annotations;\n const elements = resyncElements(state.elements, annotations);\n\n for (let i = 0; i < annotations.length; i++) {\n const annotationOptions = annotations[i];\n const element = getOrCreateElement(elements, i, annotationOptions.type);\n const resolver = annotationOptions.setContext(getContext(chart, element, elements, annotationOptions));\n const properties = element.resolveElementProperties(chart, resolver);\n\n properties.skip = toSkip(properties);\n\n if ('elements' in properties) {\n updateSubElements(element, properties.elements, resolver, animations);\n // Remove the sub-element definitions from properties, so the actual elements\n // are not overwritten by their definitions\n delete properties.elements;\n }\n\n if (!defined(element.x)) {\n // If the element is newly created, assing the properties directly - to\n // make them readily awailable to any scriptable options. If we do not do this,\n // the properties retruned by `resolveElementProperties` are available only\n // after options resolution.\n Object.assign(element, properties);\n }\n\n Object.assign(element, properties.initProperties);\n properties.options = resolveAnnotationOptions(resolver);\n\n animations.update(element, properties);\n }\n}\n\nfunction toSkip(properties) {\n return isNaN(properties.x) || isNaN(properties.y);\n}\n\nfunction resolveAnimations(chart, animOpts, mode) {\n if (mode === 'reset' || mode === 'none' || mode === 'resize') {\n return directUpdater;\n }\n return new Animations(chart, animOpts);\n}\n\nfunction updateSubElements(mainElement, elements, resolver, animations) {\n const subElements = mainElement.elements || (mainElement.elements = []);\n subElements.length = elements.length;\n for (let i = 0; i < elements.length; i++) {\n const definition = elements[i];\n const properties = definition.properties;\n const subElement = getOrCreateElement(subElements, i, definition.type, definition.initProperties);\n const subResolver = resolver[definition.optionScope].override(definition);\n properties.options = resolveAnnotationOptions(subResolver);\n animations.update(subElement, properties);\n }\n}\n\nfunction getOrCreateElement(elements, index, type, initProperties) {\n const elementClass = annotationTypes[resolveType(type)];\n let element = elements[index];\n if (!element || !(element instanceof elementClass)) {\n element = elements[index] = new elementClass();\n Object.assign(element, initProperties);\n }\n return element;\n}\n\nfunction resolveAnnotationOptions(resolver) {\n const elementClass = annotationTypes[resolveType(resolver.type)];\n const result = {};\n result.id = resolver.id;\n result.type = resolver.type;\n result.drawTime = resolver.drawTime;\n Object.assign(result,\n resolveObj(resolver, elementClass.defaults),\n resolveObj(resolver, elementClass.defaultRoutes));\n for (const hook of hooks$1) {\n result[hook] = resolver[hook];\n }\n return result;\n}\n\nfunction resolveObj(resolver, defs) {\n const result = {};\n for (const prop of Object.keys(defs)) {\n const optDefs = defs[prop];\n const value = resolver[prop];\n if (isIndexable(prop) && isArray(value)) {\n result[prop] = value.map((item) => resolve(item, optDefs));\n } else {\n result[prop] = resolve(value, optDefs);\n }\n }\n return result;\n}\n\nfunction getContext(chart, element, elements, annotation) {\n return element.$context || (element.$context = Object.assign(Object.create(chart.getContext()), {\n element,\n get elements() {\n return elements.filter((el) => el && el.options);\n },\n id: annotation.id,\n type: 'annotation'\n }));\n}\n\nfunction resyncElements(elements, annotations) {\n const count = annotations.length;\n const start = elements.length;\n\n if (start < count) {\n const add = count - start;\n elements.splice(start, 0, ...new Array(add));\n } else if (start > count) {\n elements.splice(count, start - count);\n }\n return elements;\n}\n\nvar version = \"3.1.0\";\n\nconst chartStates = new Map();\nconst isNotDoughnutLabel = annotation => annotation.type !== 'doughnutLabel';\nconst hooks = eventHooks.concat(elementHooks);\n\nvar annotation = {\n id: 'annotation',\n\n version,\n\n beforeRegister() {\n requireVersion('chart.js', '4.0', Chart.version);\n },\n\n afterRegister() {\n Chart.register(annotationTypes);\n },\n\n afterUnregister() {\n Chart.unregister(annotationTypes);\n },\n\n beforeInit(chart) {\n chartStates.set(chart, {\n annotations: [],\n elements: [],\n visibleElements: [],\n listeners: {},\n listened: false,\n moveListened: false,\n hooks: {},\n hooked: false,\n hovered: []\n });\n },\n\n beforeUpdate(chart, args, options) {\n const state = chartStates.get(chart);\n const annotations = state.annotations = [];\n\n let annotationOptions = options.annotations;\n if (isObject(annotationOptions)) {\n Object.keys(annotationOptions).forEach(key => {\n const value = annotationOptions[key];\n if (isObject(value)) {\n value.id = key;\n annotations.push(value);\n }\n });\n } else if (isArray(annotationOptions)) {\n annotations.push(...annotationOptions);\n }\n verifyScaleOptions(annotations.filter(isNotDoughnutLabel), chart.scales);\n },\n\n afterDataLimits(chart, args) {\n const state = chartStates.get(chart);\n adjustScaleRange(chart, args.scale, state.annotations.filter(isNotDoughnutLabel).filter(a => a.display && a.adjustScaleRange));\n },\n\n afterUpdate(chart, args, options) {\n const state = chartStates.get(chart);\n updateListeners(chart, state, options);\n updateElements(chart, state, options, args.mode);\n state.visibleElements = state.elements.filter(el => !el.skip && el.options.display);\n updateHooks(chart, state, options);\n },\n\n beforeDatasetsDraw(chart, _args, options) {\n draw(chart, 'beforeDatasetsDraw', options.clip);\n },\n\n afterDatasetsDraw(chart, _args, options) {\n draw(chart, 'afterDatasetsDraw', options.clip);\n },\n\n beforeDatasetDraw(chart, _args, options) {\n draw(chart, _args.index, options.clip);\n },\n\n beforeDraw(chart, _args, options) {\n draw(chart, 'beforeDraw', options.clip);\n },\n\n afterDraw(chart, _args, options) {\n draw(chart, 'afterDraw', options.clip);\n },\n\n beforeEvent(chart, args, options) {\n const state = chartStates.get(chart);\n if (handleEvent(state, args.event, options)) {\n args.changed = true;\n }\n },\n\n afterDestroy(chart) {\n chartStates.delete(chart);\n },\n\n getAnnotations(chart) {\n const state = chartStates.get(chart);\n return state ? state.elements : [];\n },\n\n // only for testing\n _getAnnotationElementsAtEventForMode(visibleElements, event, options) {\n return getElements(visibleElements, event, options);\n },\n\n defaults: {\n animations: {\n numbers: {\n properties: ['x', 'y', 'x2', 'y2', 'width', 'height', 'centerX', 'centerY', 'pointX', 'pointY', 'radius'],\n type: 'number'\n },\n colors: {\n properties: ['backgroundColor', 'borderColor'],\n type: 'color'\n }\n },\n clip: true,\n interaction: {\n mode: undefined,\n axis: undefined,\n intersect: undefined\n },\n common: {\n drawTime: 'afterDatasetsDraw',\n init: false,\n label: {\n }\n }\n },\n\n descriptors: {\n _indexable: false,\n _scriptable: (prop) => !hooks.includes(prop) && prop !== 'init',\n annotations: {\n _allKeys: false,\n _fallback: (prop, opts) => `elements.${annotationTypes[resolveType(opts.type)].id}`\n },\n interaction: {\n _fallback: true\n },\n common: {\n label: {\n _indexable: isIndexable,\n _fallback: true\n },\n _indexable: isIndexable\n }\n },\n\n additionalOptionScopes: ['']\n};\n\nfunction draw(chart, caller, clip) {\n const {ctx, chartArea} = chart;\n const state = chartStates.get(chart);\n\n if (clip) {\n clipArea(ctx, chartArea);\n }\n\n const drawableElements = getDrawableElements(state.visibleElements, caller).sort((a, b) => a.element.options.z - b.element.options.z);\n for (const item of drawableElements) {\n drawElement(ctx, chartArea, state, item);\n }\n\n if (clip) {\n unclipArea(ctx);\n }\n}\n\nfunction getDrawableElements(elements, caller) {\n const drawableElements = [];\n for (const el of elements) {\n if (el.options.drawTime === caller) {\n drawableElements.push({element: el, main: true});\n }\n if (el.elements && el.elements.length) {\n for (const sub of el.elements) {\n if (sub.options.display && sub.options.drawTime === caller) {\n drawableElements.push({element: sub});\n }\n }\n }\n }\n return drawableElements;\n}\n\nfunction drawElement(ctx, chartArea, state, item) {\n const el = item.element;\n if (item.main) {\n invokeHook(state, el, 'beforeDraw');\n el.draw(ctx, chartArea);\n invokeHook(state, el, 'afterDraw');\n } else {\n el.draw(ctx, chartArea);\n }\n}\n\nexport { annotation as default };\n","import { styled } from '@mui/material';\nimport { Text } from '../../Text/Text';\n\nexport const StyledTitleText = styled(Text)(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n height: '20px',\n color: theme.palette.grey[600]\n}));\n\nexport const StyledSubtitleText = styled(Text)(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n color: theme.palette.grey[400],\n marginTop: '4px'\n}));\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ChartData, ChartOptions } from 'chart.js';\n\nimport { theme } from '../../../theme';\n\nexport function getData(\n data: number[],\n labels: any[],\n averageDirection: 'horizontal' | 'vertical',\n isGoodAndBad?: boolean | null\n): ChartData<'line', number[], string> {\n const getLabel = () => {\n switch (isGoodAndBad) {\n case true:\n return [[labels[0], '<- Bad'], ...labels.slice(1, labels.length - 2), [labels[labels.length - 1], 'Good ->']];\n case false:\n return [[labels[0], '<- Good'], ...labels.slice(1, labels.length - 2), [labels[labels.length - 1], 'Bad ->']];\n default:\n return labels;\n }\n };\n\n return {\n labels: labels.length > 0 ? getLabel() : [],\n datasets: [\n {\n data,\n fill: true,\n borderWidth: 3,\n borderColor: '#9159F7',\n backgroundColor: 'rgba(121, 100, 255, 0.22)',\n pointRadius: context => {\n const index = context.dataIndex;\n return data[index] === 0 ? 0 : averageDirection === 'horizontal' ? 3 : 0;\n },\n tension: 0.1\n }\n ]\n };\n}\n\nexport const getOptions = (\n average: { value: number; direction: 'horizontal' | 'vertical' },\n condition: number,\n yAxisName?: string\n): ChartOptions<'line'> => ({\n responsive: true,\n maintainAspectRatio: false,\n spanGaps: true,\n elements: {\n line: {\n tension: 0.5\n }\n },\n plugins: {\n legend: {\n display: false\n },\n tooltip: {\n borderWidth: 1,\n displayColors: false,\n titleColor: theme.palette.grey[500],\n bodyFont: { size: 14, weight: 700 },\n titleFont: { size: 12, weight: 400 },\n bodyColor: theme.palette.primary.main,\n borderColor: theme.palette.grey[300],\n backgroundColor: theme.palette.common.white,\n callbacks: {\n title: tooltipItems => {\n return `${tooltipItems[0]?.label}`;\n },\n label: tooltipItem => {\n return `Score: ${tooltipItem?.formattedValue}`;\n }\n }\n },\n title: {\n display: false\n },\n annotation: {\n annotations: [\n {\n drawTime: 'afterDatasetsDraw',\n type: 'line',\n scaleID: average.direction === 'horizontal' ? 'y' : 'x',\n value: average?.value,\n borderWidth: average.direction === 'horizontal' ? 1 : 2,\n borderColor: average.direction === 'horizontal' ? theme.palette.grey[500] : theme.palette.common.black,\n label: {\n content: average?.value ? 'Average' : '',\n display: true,\n position: average.direction === 'horizontal' ? 'start' : 'end',\n backgroundColor: 'transparent',\n color: average.direction === 'horizontal' ? theme.palette.grey[500] : theme.palette.common.black,\n xAdjust: average.direction === 'horizontal' ? 0 : -24,\n yAdjust: average.direction === 'horizontal' ? -10 : 0,\n padding: 0,\n font: {\n family: 'Manrope',\n size: 11,\n weight: 700,\n lineHeight: '14px'\n }\n }\n },\n {\n drawTime: 'afterDatasetsDraw',\n type: 'line',\n scaleID: 'x',\n value: condition,\n borderWidth: 2,\n borderColor: theme.palette.grey[500],\n borderDash: [6],\n label: {\n content: 'Condition',\n display: true,\n position: 'start',\n backgroundColor: 'transparent',\n color: theme.palette.grey[500],\n xAdjust: 28,\n padding: 0,\n font: {\n family: 'Manrope',\n size: 11,\n weight: 700,\n lineHeight: '14px'\n }\n }\n }\n ]\n }\n },\n scales: {\n x: {\n grid: {\n display: false,\n color: theme.palette.grey[200],\n lineWidth: 2,\n tickColor: 'transparent'\n },\n ticks: {\n maxRotation: 0,\n maxTicksLimit: 6,\n color: theme.palette.grey[500],\n font: {\n family: 'Manrope',\n size: 10,\n weight: 700\n }\n },\n afterBuildTicks(scale) {\n const ticks = scale.ticks || [];\n // eslint-disable-next-line no-param-reassign\n scale.ticks = [...ticks, ticks[ticks.length - 1]];\n }\n },\n y: {\n title: {\n display: !!yAxisName,\n text: yAxisName,\n color: theme.palette.grey[400],\n font: {\n family: 'Manrope',\n size: 10,\n weight: 500\n }\n },\n grid: {\n display: false\n },\n ticks: {\n maxTicksLimit: 6,\n color: theme.palette.grey[500],\n font: {\n family: 'Manrope',\n size: 10,\n weight: 700\n }\n }\n }\n }\n});\n","import React from 'react';\n\nimport {\n Chart as ChartJS,\n CategoryScale,\n LinearScale,\n PointElement,\n LineElement,\n Title,\n Tooltip,\n Filler,\n Legend\n} from 'chart.js';\nimport { Line } from 'react-chartjs-2';\nimport annotationPlugin from 'chartjs-plugin-annotation';\n\nimport { Box, BoxProps } from '@mui/material';\n\nimport { StyledTitleText, StyledSubtitleText } from './DistributionChart.styles';\n\nimport { getData, getOptions } from './DistributionChart.helpers';\n\nChartJS?.register(\n CategoryScale,\n LinearScale,\n PointElement,\n LineElement,\n Title,\n Tooltip,\n Filler,\n Legend,\n annotationPlugin\n);\n\ninterface DistributionChartProps extends BoxProps {\n data: number[];\n title?: string;\n width?: number | string;\n height?: number;\n labels: number[] | string[];\n subtitle?: string;\n yAxisName?: string;\n condition?: number;\n isGoodAndBad?: boolean | null;\n average: { value: number; direction: 'horizontal' | 'vertical' };\n}\n\nexport const DistributionChart = ({\n data,\n labels,\n title,\n subtitle,\n average,\n condition,\n yAxisName,\n width = 560,\n height = 320,\n isGoodAndBad,\n ...otherProps\n}: DistributionChartProps) => (\n \n \n \n \n \n \n \n);\n","import React from 'react';\n\nimport { styled, PopoverProps, Popover, Box, Chip } from '@mui/material';\n\nimport { Container } from '../../Container/Container';\nimport { Text } from '../../Text/Text';\nimport { Input } from '../../Input/Input';\nimport { theme } from '../../../theme';\n\nconst CheckboxDropdownContainer = styled(Container)(() => ({\n gap: '8px',\n padding: 0,\n maxWidth: '500px'\n}));\n\nconst StyledLabelText = styled(Text)(({ theme }) => ({\n color: theme.palette.grey[400]\n}));\n\nconst StyledChip = styled(Chip, { shouldForwardProp: prop => prop !== 'chips' })<{ chips?: number }>(({ chips }) => ({\n height: '22px',\n marginRight: '4px',\n maxWidth: chips ? (Number(chips) < 3 ? `${100 / chips}%` : '30%') : 'auto',\n\n '.MuiTypography-subtitle2': {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n color: theme.palette.common.white\n }\n}));\n\nconst StyledSearchInput = styled(Input)({\n margin: '6px 4px 8px',\n width: 'calc(100% - 12px)'\n});\n\nconst StyledCheckboxContainer = styled(Container)(({ theme }) => ({\n height: 'auto',\n overflow: 'auto',\n maxHeight: '230px',\n padding: '0 4px 8px',\n\n '&::-webkit-scrollbar': {\n width: '7px'\n },\n '&::-webkit-scrollbar-thumb': {\n backgroundColor: theme.palette.grey[300],\n borderRadius: '8px'\n },\n '&::-webkit-scrollbar-thumb:hover': {\n background: theme.palette.grey[500]\n }\n}));\n\nconst StyledEmptyList = styled(Box)(({ theme }) => ({\n width: '100%',\n height: '254px',\n padding: '16px',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n color: theme.palette.grey[500]\n}));\n\nconst StyledPopover = styled((props: PopoverProps) => (\n \n))({});\n\ninterface PropertiesDialogPropertyDropdownProps {\n disabled?: boolean;\n}\n\nconst CheckboxDropdownDropdown = styled(Box)(({ theme, disabled }) => ({\n height: '42px',\n border: '1px solid',\n borderColor: theme.palette.grey[300],\n borderRadius: '5px',\n padding: '10px',\n cursor: disabled ? 'default' : 'pointer',\n opacity: disabled ? 0.5 : 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n\n ':hover': {\n borderColor: disabled ? theme.palette.grey[300] : theme.palette.common.black\n },\n\n ' p': {\n color: disabled ? theme.palette.grey[300] : theme.palette.common.white\n }\n}));\n\nexport {\n CheckboxDropdownContainer,\n StyledPopover,\n CheckboxDropdownDropdown,\n StyledLabelText,\n StyledSearchInput,\n StyledCheckboxContainer,\n StyledEmptyList,\n StyledChip\n};\n","import React, { useEffect, useState } from 'react';\n\nimport { Stack } from '@mui/material';\nimport { ArrowDropDown, ArrowDropUp } from '@mui/icons-material';\n\nimport {\n CheckboxDropdownContainer,\n CheckboxDropdownDropdown,\n StyledEmptyList,\n StyledLabelText,\n StyledCheckboxContainer,\n StyledPopover,\n StyledSearchInput,\n StyledChip\n} from './CheckboxDropdown.styles';\n\nimport { Text } from '../../Text/Text';\nimport { Checkbox } from '../../Button/Checkbox/Checkbox';\n\ninterface DropdownProps {\n label?: string;\n value: string[];\n options: string[];\n disabled?: boolean;\n placeholder?: string;\n searchField?: boolean;\n searchFieldLabel?: string;\n setValue: (value: string[]) => void;\n}\n\nconst constants = { noOptionsText: 'Not found any options' };\n\nexport const CheckboxDropdown = (props: DropdownProps) => {\n const { label = '', placeholder, options, value, searchField, disabled, searchFieldLabel, setValue } = props;\n\n const [inputValue, setInputValue] = useState('');\n const [anchorEl, setAnchorEl] = useState(null);\n const [curOptions, setCurOptions] = useState<{ value: string; label?: string }[]>([]);\n\n const handleInputCloseIconClick = () => setInputValue('');\n\n const handleInputChange = (event: React.ChangeEvent) => setInputValue(event.target.value);\n\n const optionsWithCurFormat = options.map(el => ({ value: el, label: el }));\n\n useEffect(() => {\n if (options) {\n setCurOptions(\n optionsWithCurFormat.filter(\n el =>\n el.value.toLowerCase().includes(inputValue.toLowerCase()) ||\n el.value.toLowerCase().includes(inputValue.toLowerCase())\n )\n );\n }\n }, [options, inputValue]);\n\n const handlePopoverClose = () => setAnchorEl(null);\n\n return (\n \n \n }) =>\n setAnchorEl(disabled ? null : e.currentTarget)\n }\n >\n {value.length > 0 ? (\n \n {value.slice(0, 3).map(el => (\n } color=\"primary\" chips={value?.length} />\n ))}\n {value.length > 3 && (\n } color=\"primary\" />\n )}\n \n ) : (\n \n )}\n {anchorEl ? : }\n \n \n \n {searchField && (\n \n )}\n {curOptions.length > 0 ? (\n \n \n \n ) : (\n {constants.noOptionsText}\n )}\n \n \n \n );\n};\n","import React from 'react';\nimport { Divider, PaletteOptions, Stack, Tooltip, TooltipProps, styled, tooltipClasses } from '@mui/material';\nimport { Text } from '../Text/Text';\nimport { DataInterface } from './DifferenceBar';\n\nexport const LightTooltip = styled(({ className, ...props }: TooltipProps) => (\n \n))(({ theme }) => ({\n [`& .${tooltipClasses.arrow}`]: {\n color: theme.palette.common.white\n },\n [`& .${tooltipClasses.tooltip}`]: {\n backgroundColor: theme.palette.common.white,\n color: theme.palette.grey[400],\n boxShadow: '2px 2px 30px -10px #29354340',\n fontSize: 11\n }\n}));\n\nexport const StyledDifferenceBarContainer = styled(Stack)(({ theme }) => ({\n padding: '8px 12px',\n borderRadius: '8px',\n border: `2px solid ${theme.palette.grey[300]}`,\n marginBottom: '16px',\n height: '90px',\n '@media (min-width:1440px)': {\n padding: '6px 12px'\n }\n}));\n\nexport const StyledTooltipContent = styled(Stack)({\n flexDirection: 'column',\n justifyContent: 'flex-start',\n marginTop: 0\n});\n\nexport const StyledNoDataText = styled(Text)({\n margin: '7px auto'\n});\n\nexport const StyledTooltipVersionContent = styled(Stack)({\n alignItems: 'center',\n justifyContent: 'center',\n flexDirection: 'row'\n});\n\nexport const StyledSliderContainer = styled(Stack)(({ theme }) => ({\n overflow: 'auto',\n gap: '4px',\n display: 'grid',\n\n '&::-webkit-scrollbar': {\n height: '6px'\n },\n '&::-webkit-scrollbar-thumb': {\n backgroundColor: theme.palette.grey[300],\n borderRadius: '8px'\n },\n '&::-webkit-scrollbar-thumb:hover': {\n background: theme.palette.grey[500]\n }\n}));\n\nexport const StyledTooltipScoreContent = styled(Stack)({\n alignItems: 'center',\n justifyContent: 'space-between',\n flexDirection: 'row',\n margin: '10px 0'\n});\n\nexport const StyledDivider = styled(Divider)(({ theme }) => ({\n height: '12px',\n width: '1px',\n color: theme.palette.grey[400],\n margin: '0 6px'\n}));\n\nexport const StyledScoreDivider = styled(Divider)(({ theme }) => ({\n height: '2px',\n width: '30%',\n color: theme.palette.grey[300]\n}));\n\nexport const StyledHorizontalDivider = styled(Divider)(({ theme }) => ({\n height: '2px',\n width: '100%',\n color: theme.palette.grey[300],\n margin: '6px 0 8px'\n}));\n\nexport const sxStyles = { marginRight: 'auto' };\n\nexport const sxAnnotationContainerStyles = (currentPage: number, index: number, paletteOptions: PaletteOptions) => ({\n height: '32px',\n width: '32px !important',\n margin: '0 2px 4px',\n cursor: 'pointer',\n borderRadius: '0px',\n transition: 'opacity 0.3s',\n position: 'relative',\n overflow: 'hidden',\n\n '&:hover': { opacity: 0.8 },\n ...(currentPage === index && {\n border: `3px solid ${paletteOptions.grey?.[500 as keyof typeof paletteOptions.grey]}`,\n borderRadius: '2px'\n })\n});\n\nexport const sxFirstTriangleStyles = (\n currentPage: number,\n index: number,\n item: DataInterface,\n getCurBorder: (itemType?: string) => string | undefined\n) => ({\n content: '\"\"',\n position: 'absolute',\n left: 0,\n top: 0,\n height: '3px',\n width: currentPage === index ? '87%' : '80%',\n borderBottom: getCurBorder(item.firstItemAnnotationType) || '',\n zIndex: 1\n});\n\nexport const sxSecondTriangleStyles = (\n currentPage: number,\n index: number,\n item: DataInterface,\n getCurBorder: (itemType?: string) => string | undefined\n) => ({\n content: '\"\"',\n position: 'absolute',\n left: currentPage === index ? '-9px' : '-10px',\n top: currentPage === index ? '11px' : '13px',\n height: '3px',\n width: currentPage === index ? '80%' : '72%',\n borderBottom: getCurBorder(item.firstItemAnnotationType) || '',\n zIndex: 1,\n transform: 'rotate(90deg)'\n});\n\nexport const sxWhiteContainerStyles = (\n currentPage: number,\n index: number,\n item: DataInterface,\n getCurBorder: (itemType?: string) => string | undefined,\n getCurAnnotatedBackground: (\n itemType: string\n ) => 'rgba(18, 175, 105, 0.5)' | 'rgba(238, 57, 93, 0.5)' | '#E2E2EE' | '#ffffff'\n) => ({\n position: 'absolute',\n height: '32px',\n width: '45.25px !important',\n background: getCurAnnotatedBackground(item.firstItemAnnotationType || ''),\n borderTop: getCurBorder(item.firstItemAnnotationType) || '',\n transform: 'rotate(135deg)',\n right: currentPage === index ? '5px' : '7px',\n top: '-11px'\n});\n\nexport const sxSecondContainerStyles = (\n currentPage: number,\n index: number,\n item: DataInterface,\n getCurBorder: (itemType?: string) => string | undefined,\n getCurAnnotatedBackground: (\n itemType: string\n ) => 'rgba(18, 175, 105, 0.5)' | 'rgba(238, 57, 93, 0.5)' | '#E2E2EE' | '#ffffff'\n) => ({\n position: 'absolute',\n height: '32px',\n width: '45.25px !important',\n background: getCurAnnotatedBackground(item.secondItemAnnotationType || ''),\n borderTop: getCurBorder(item.secondItemAnnotationType) || '',\n transform: 'rotate(315deg)',\n left: currentPage === index ? '1px' : '5px',\n top: '11px'\n});\n\nexport const sxFirstEstimatedTriangleStyles = (\n currentPage: number,\n index: number,\n item: DataInterface,\n getCurBorder: (itemType?: string) => string | undefined\n) => ({\n content: '\"\"',\n position: 'absolute',\n right: 0,\n bottom: 0,\n height: '3px',\n width: currentPage === index ? '76%' : '86%',\n borderBottom: getCurBorder(item.secondItemAnnotationType) || '',\n zIndex: 1\n});\n\nexport const sxSecondEstimatedTriangleStyles = (\n currentPage: number,\n index: number,\n item: DataInterface,\n getCurBorder: (itemType?: string) => string | undefined\n) => ({\n content: '\"\"',\n position: 'absolute',\n right: currentPage === index ? '-7px' : '-11px',\n bottom: currentPage === index ? '10px' : '14px',\n height: '3px',\n width: currentPage === index ? '65%' : '78%',\n borderBottom: getCurBorder(item.secondItemAnnotationType) || '',\n zIndex: 1,\n transform: 'rotate(90deg)'\n});\n\nexport const sxMainTrianglesStyles = (\n currentPage: number,\n index: number,\n item: DataInterface,\n isTwoScore: boolean,\n minScore: number,\n paletteOptions: PaletteOptions,\n getCurColorValue: (score?: string | number) => number\n) => ({\n height: '32px',\n width: '32px !important',\n margin: '0 2px 4px',\n cursor: 'pointer',\n borderRadius: '0px',\n transition: 'opacity 0.3s',\n position: 'relative',\n background: isTwoScore\n ? `linear-gradient(135deg, rgba(145, 89, 247, ${getCurColorValue(item.score)}) 50%, #ffffff 50%, #ffffff 52%, rgba(145, 89, 247, ${getCurColorValue(item.secondItemScore)}) 50%);`\n : `rgba(145, 89, 247, ${(typeof item.score === 'number' ? item.score : 0) < 0.1 ? 1 : (minScore || 0.1) / (typeof item.score === 'number' ? item.score : 0)})`,\n\n '&:hover': { opacity: 0.8 },\n ...(currentPage === index && {\n border: `3px solid ${paletteOptions.grey?.[500 as keyof typeof paletteOptions.grey]}`,\n borderRadius: '2px'\n })\n});\n","import React from 'react';\n\nimport { Stack } from '@mui/material';\n\nimport { Thumbs } from './../Button/Thumbs/Thumbs';\nimport { Text } from '../Text/Text';\nimport { Loader } from '../Loader/Loader';\nimport { paletteOptions } from '../../theme/palette';\n\nimport {\n LightTooltip,\n StyledDifferenceBarContainer,\n StyledDivider,\n StyledHorizontalDivider,\n StyledNoDataText,\n StyledScoreDivider,\n StyledSliderContainer,\n StyledTooltipContent,\n StyledTooltipScoreContent,\n StyledTooltipVersionContent,\n sxAnnotationContainerStyles,\n sxFirstEstimatedTriangleStyles,\n sxFirstTriangleStyles,\n sxMainTrianglesStyles,\n sxSecondContainerStyles,\n sxSecondEstimatedTriangleStyles,\n sxSecondTriangleStyles,\n sxStyles,\n sxWhiteContainerStyles\n} from './DifferenceBar.styles';\n\nconst constants = {\n defaultMost: 'Most Similar >',\n defaultLeast: '< Least Similar',\n defaultTitle: 'Similarity Scores',\n noSimilarityData: 'No similarity data'\n};\n\nconst { defaultMost, defaultLeast, defaultTitle, noSimilarityData } = constants;\n\nexport type goodAndBad = 'Good Annotated' | 'Bad Annotated' | 'Good Estimated' | 'Bad Estimated' | 'Not Annotated';\n\nexport interface DataInterface {\n score?: number | string;\n secondItemScore?: number | string;\n firstItemAnnotationType?: goodAndBad;\n secondItemAnnotationType?: goodAndBad;\n onClick: () => void;\n}\n\nexport interface DifferenceBarProps {\n firstVersionName: string;\n firstVersionEnv?: string;\n secondVersionName?: string;\n secondVersionEnv?: string;\n title?: string;\n least?: string;\n most?: string;\n fullWidth?: boolean;\n data: DataInterface[];\n isGoodAndBadIcon?: boolean;\n isTwoScore?: boolean;\n isHideMostLeast?: boolean;\n isLoading?: boolean;\n currentPage: number;\n}\n\nexport const DifferenceBar = (props: DifferenceBarProps) => {\n const {\n data,\n title,\n isGoodAndBadIcon,\n least,\n most,\n firstVersionName,\n firstVersionEnv,\n secondVersionName,\n secondVersionEnv,\n fullWidth,\n isTwoScore,\n isHideMostLeast,\n isLoading,\n currentPage\n } = props;\n\n const minScore = Math.min(...data.map(item => (typeof item.score === 'number' ? item.score : 0)));\n\n const isSimilarityScore = !isTwoScore && !isGoodAndBadIcon;\n\n const getCurAnnotatedBackground = (itemType: string) => {\n switch (itemType) {\n case 'Good Annotated':\n return 'rgba(18, 175, 105, 0.5)';\n case 'Bad Annotated':\n return 'rgba(238, 57, 93, 0.5)';\n case 'Not Annotated':\n return '#E2E2EE';\n default:\n return '#ffffff';\n }\n };\n\n const getCurIcon = (itemType?: string) => {\n if (!itemType) {\n return <>;\n }\n switch (itemType) {\n case 'Good Annotated':\n return ;\n case 'Bad Annotated':\n return ;\n case 'Good Estimated':\n return ;\n case 'Bad Estimated':\n return ;\n default:\n return ;\n }\n };\n\n const getCurBorder = (itemType?: string) => {\n if (!isGoodAndBadIcon || !itemType || (itemType && !itemType.includes('Estimated'))) {\n return 'none';\n } else if (isGoodAndBadIcon && itemType) {\n return `3px solid ${itemType.includes('Good') ? 'rgba(18, 175, 105, 0.5)' : 'rgba(238, 57, 93, 0.5)'}`;\n }\n };\n\n const getCurColorValue = (score?: string | number) => {\n const curValue = (minScore || 0.1) / (score && typeof +score === 'number' ? (+score > 0.1 ? +score : 0.1) : 0);\n\n if (!isFinite(curValue)) {\n return 0.1;\n } else if (curValue < 0.1) {\n return curValue * 10;\n } else {\n return curValue || 0;\n }\n };\n\n return (\n \n \n {!isHideMostLeast && }\n \n {!isHideMostLeast && }\n \n \n {isLoading ? (\n \n ) : data.length < 1 ? (\n \n ) : (\n data?.map((item, index) => (\n \n \n \n \n \n \n {isTwoScore && }\n {isGoodAndBadIcon && getCurIcon(item.firstItemAnnotationType)}\n {(isTwoScore || isGoodAndBadIcon) && }\n {isSimilarityScore && (\n \n \n \n \n \n )}\n \n \n \n \n \n {isTwoScore && }\n {isGoodAndBadIcon && getCurIcon(item.secondItemAnnotationType)}\n \n }\n arrow\n placement=\"bottom\"\n >\n {isGoodAndBadIcon && item.firstItemAnnotationType && item.secondItemAnnotationType ? (\n \n {item.firstItemAnnotationType.includes('Estimated') && (\n <>\n \n \n \n )}\n \n \n {item.secondItemAnnotationType.includes('Estimated') && (\n <>\n \n \n \n )}\n \n ) : (\n \n )}\n \n ))\n )}\n \n \n );\n};\n","import { styled, Stack } from '@mui/material';\n\nimport { Text } from '../../../Text/Text';\n\nexport const StyledContainer = styled(Stack)(({ theme }) => ({\n gap: '8px',\n padding: '4px 8px',\n textAlign: 'center',\n alignItems: 'center',\n\n '.MuiTypography-subtitle1': { color: theme.palette.grey[500] }\n}));\n\nexport const StyledLabelText = styled(Text)(({ theme }) => ({\n color: theme.palette.grey[500]\n}));\n\nexport const StyledScoreText = styled(Text)(({ theme }) => ({\n color: theme.palette.primary.main\n}));\n\nexport const StyledSeparator = styled(Stack)(({ theme }) => ({\n height: '1px',\n width: '100%',\n backgroundColor: theme.palette.grey[300]\n}));\n\nexport const StyledRowContainer = styled(Stack)({\n gap: '16px',\n textAlign: 'center',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between'\n});\n","import React from 'react';\n\nimport { Stack } from '@mui/material';\nimport { HelpOutline } from '@mui/icons-material';\n\nimport { Text } from '../../../Text/Text';\nimport { Thumbs } from '../../../Button/Thumbs/Thumbs';\nimport { ThemeProvider } from '../../../../theme/ThemeProvider';\n\nimport {\n StyledContainer,\n StyledLabelText,\n StyledRowContainer,\n StyledScoreText,\n StyledSeparator\n} from './ComboChartTooltip.styles';\n\nimport { comboBarsColors } from '../comboChart.helpers';\nimport dayjs from 'dayjs';\n\ninterface ComboChartTooltipProps {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n pointSchema: any;\n}\n\nconst constants = {\n scoreLabel: `Score`,\n seeInteractions: 'See Interactions',\n annotationLabels: {\n user: 'User',\n unknown: 'Unknown',\n estimated: 'Estimated'\n },\n nOfInteractions: (n: number) => `${n} Interactions`,\n scoreNumber: (score: number) => ` ${Math.round(Number(score || 0) * 100)}%`\n};\n\nconst { scoreLabel, annotationLabels, scoreNumber, nOfInteractions } = constants;\n\nexport const ComboChartTooltip = ({ pointSchema }: ComboChartTooltipProps) => {\n const { per_type_results, score, amount, end_time, start_time } = pointSchema;\n\n const nUser = Number(per_type_results?.good?.user?.amount || 0) + Number(per_type_results?.bad?.user?.amount || 0);\n const nEstimated =\n Number(per_type_results?.good?.estimated?.amount || 0) + Number(per_type_results?.bad?.estimated?.amount || 0);\n const nUnknown =\n Number(per_type_results?.unknown?.user?.amount || 0) + Number(per_type_results?.unknown?.estimated?.amount || 0);\n\n const annotationsScoreList = [\n {\n Icon: ,\n percentage: Number(per_type_results?.good?.user?.percentage || 0)\n },\n {\n Icon: ,\n percentage: Number(per_type_results?.good?.estimated?.percentage || 0)\n },\n {\n Icon: ,\n percentage: Number(per_type_results?.bad?.user?.percentage || 0)\n },\n {\n Icon: ,\n percentage: Number(per_type_results?.bad?.estimated?.percentage || 0)\n },\n {\n Icon: ,\n percentage:\n Number(per_type_results?.unknown?.estimated?.percentage || 0) +\n Number(per_type_results?.unknown?.user?.percentage || 0)\n }\n ];\n\n return (\n \n \n \n \n \n \n \n \n \n {annotationsScoreList.map(({ Icon, percentage }, i) => (\n \n {Icon}\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","import React from 'react';\n\nimport { createRoot } from 'react-dom/client';\n\nimport dayjs from 'dayjs';\n\nimport { alpha } from '@mui/material';\n\nimport { ChartOptions } from 'chart.js';\n\nimport { theme } from '../../../theme';\n\nimport { ComboChartTooltip } from './ComboChartTooltip/ComboChartTooltip';\n\nexport interface ComboData {\n labels: string[];\n datasets: ComboDataset[];\n maxBarValue: number;\n}\n\nexport const comboBarsColors = {\n blue: '#367BF4',\n lightBlue: '#47C9FD',\n grey: '#9D9DBE'\n};\n\nexport interface ComboDataset {\n type: 'bar' | 'line';\n label: string;\n data: number[];\n backgroundColor: string;\n borderColor: string;\n borderWidth: number;\n stack?: string;\n tension?: number;\n yAxisID?: string;\n}\n\nexport const getComboOptions = (\n rawData: { end_time: string; start_time: string }[],\n maxBarValue: number,\n handleRedirect: (route: string) => void\n): ChartOptions<'line'> => ({\n plugins: {\n legend: {\n display: false\n },\n tooltip: {\n enabled: false,\n external: context => {\n let tooltipEl = document.getElementById('chartjs-tooltip');\n\n if (!tooltipEl) {\n tooltipEl = document.createElement('div');\n tooltipEl.id = 'chartjs-tooltip';\n tooltipEl.style.position = 'absolute';\n tooltipEl.style.background = 'rgba(255, 255, 255, 0.9)';\n tooltipEl.style.borderRadius = '3px';\n tooltipEl.style.boxShadow = '0 0 15px rgba(0, 0, 0, 0.1)';\n tooltipEl.style.pointerEvents = 'none';\n tooltipEl.style.transition = 'all .1s ease';\n document.body.appendChild(tooltipEl);\n }\n\n const tooltipModel = context.tooltip;\n\n if (tooltipModel.opacity === 0) {\n tooltipEl.style.opacity = '0';\n return;\n }\n\n tooltipEl.classList.remove('above', 'below', 'no-transform');\n if (tooltipModel.yAlign) {\n tooltipEl.classList.add(tooltipModel.yAlign);\n } else {\n tooltipEl.classList.add('no-transform');\n }\n\n if (tooltipModel.body) {\n const { dataIndex } = tooltipModel.dataPoints[0];\n const pointSchema = rawData[dataIndex];\n\n createRoot(tooltipEl)?.render();\n }\n\n const position = context.chart.canvas.getBoundingClientRect();\n\n tooltipEl.style.opacity = '1';\n tooltipEl.style.borderRadius = '12px';\n tooltipEl.style.pointerEvents = 'none';\n tooltipEl.style.top = position.top + window?.pageYOffset + tooltipModel.caretY + 'px';\n tooltipEl.style.left = position.left + window?.pageXOffset + tooltipModel.caretX + 'px';\n tooltipEl.style.padding = tooltipModel.options.padding + 'px ' + tooltipModel.options.padding + 'px';\n tooltipEl.style.left =\n position.left + window?.pageXOffset + tooltipModel.caretX - tooltipEl.offsetWidth / 2 + 'px';\n }\n }\n },\n onHover: (event, chartElement) => {\n const target = (\n event?.native ? (event?.native as MouseEvent).target : (event as unknown as MouseEvent).target\n ) as HTMLElement;\n\n target.style.cursor = chartElement?.length ? 'pointer' : 'default';\n },\n onClick: (_event, elements) => {\n if (elements.length > 0) {\n const tooltipEl = document.getElementById('chartjs-tooltip');\n\n if (tooltipEl) {\n tooltipEl.style.opacity = '0';\n }\n\n const dataIndex = elements[0]?.index;\n const endTime = rawData[dataIndex].end_time;\n const startTime = rawData[dataIndex].start_time;\n\n if (endTime && startTime && typeof window !== 'undefined') {\n handleRedirect(`/samples?start_time_epoch=${dayjs(startTime).unix()}&end_time_epoch=${dayjs(endTime).unix()}`);\n }\n }\n },\n scales: {\n x: {\n stacked: true,\n grid: {\n display: false\n },\n ticks: {\n maxRotation: 0,\n maxTicksLimit: 6,\n color: theme.palette.grey[500],\n font: {\n family: 'Manrope',\n size: 10,\n weight: 700\n }\n }\n },\n 'left-y-axis': {\n type: 'linear',\n position: 'left',\n beginAtZero: true,\n grid: {\n display: Array?.isArray(rawData) && rawData?.every(val => val === null) ? false : true\n },\n ticks: {\n callback: value => (typeof value === 'number' ? `${(Number(value) * 100)?.toFixed(0)}%` : value),\n stepSize: 0.1,\n font: {\n family: 'Manrope'\n }\n }\n },\n 'right-y-axis': {\n type: 'linear',\n position: 'right',\n beginAtZero: true,\n max: Math.round(maxBarValue * 2),\n grid: { display: false }\n }\n },\n animation: {\n duration: 500\n },\n spanGaps: true\n});\n\nexport const getComboData = (\n barData: number[][],\n lineData: number[],\n labels: string[],\n barLegends: string[],\n maxBarValue: number\n): ComboData => {\n const barColors = [comboBarsColors.blue, comboBarsColors.lightBlue, comboBarsColors.grey];\n\n const barDatasets = Array?.isArray(barData)\n ? barData?.[0]?.map((_, segmentIndex) => ({\n type: 'bar' as const,\n order: 1,\n borderWidth: 0,\n stack: 'stack1',\n yAxisID: 'right-y-axis',\n label: barLegends?.[segmentIndex] ?? '',\n data: barData.map(data => data[segmentIndex] || 0),\n borderColor: barColors[segmentIndex % barColors.length],\n backgroundColor: alpha(barColors[segmentIndex % barColors.length], 0.5)\n }))\n : [];\n\n const lineDataset = {\n type: 'line' as const,\n order: 0,\n data: lineData,\n borderWidth: 3,\n pointRadius: 4,\n spanGaps: true,\n label: 'Annotation',\n yAxisID: 'left-y-axis',\n borderColor: theme.palette.primary.main,\n backgroundColor: alpha(theme.palette.primary.main, 0.2)\n };\n\n return {\n labels,\n datasets: [...(Array?.isArray(barDatasets) ? barDatasets : []), lineDataset],\n maxBarValue\n };\n};\n","import { Stack } from '@mui/material';\nimport { styled } from '@mui/material/styles';\n\nimport { comboBarsColors } from './comboChart.helpers';\n\nexport const StyledLegendsContainer = styled(Stack)({\n gap: '24px',\n flexDirection: 'row',\n alignItems: 'center',\n margin: '16px auto 8px',\n justifyContent: 'center',\n\n '.MuiTypography-root': {\n color: comboBarsColors.lightBlue,\n position: 'relative',\n paddingLeft: '16px',\n\n ':before': {\n content: '\"\"',\n position: 'absolute',\n left: 0,\n top: '50%',\n transform: 'translateY(-50%)',\n width: '8px',\n height: '8px',\n borderRadius: '50%',\n backgroundColor: 'currentColor'\n },\n\n ':first-of-type': {\n color: comboBarsColors.blue,\n ':before': {\n backgroundColor: comboBarsColors.blue\n }\n },\n ':last-of-type': {\n color: comboBarsColors.grey,\n ':before': {\n backgroundColor: comboBarsColors.grey\n }\n }\n }\n});\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\n\nimport { Box, BoxProps } from '@mui/material';\n\nimport {\n Chart as ChartJS,\n CategoryScale,\n LinearScale,\n BarElement,\n PointElement,\n LineElement,\n Title,\n Tooltip,\n ChartData,\n Legend\n} from 'chart.js';\nimport { Bar } from 'react-chartjs-2';\nimport annotationPlugin from 'chartjs-plugin-annotation';\n\nimport { Text } from '../../Text/Text';\n\nimport { StyledLegendsContainer } from './ComboChart.styles';\n\nimport { getComboData, getComboOptions } from './comboChart.helpers';\n\nChartJS.register(\n CategoryScale,\n LinearScale,\n BarElement,\n PointElement,\n LineElement,\n Title,\n Tooltip,\n annotationPlugin,\n Legend\n);\n\ninterface ComboChartProps extends BoxProps {\n rawData?: any;\n barData: number[][];\n barHeight?: string;\n barWidth?: string;\n lineData: number[];\n barLegends: string[];\n labels: string[] | number[];\n handleRedirect: (route: string) => void;\n}\n\nexport const ComboChart = (props: ComboChartProps) => {\n const {\n labels,\n rawData,\n barData,\n lineData,\n barLegends,\n barHeight = 'auto',\n barWidth = 'auto',\n handleRedirect,\n ...otherProps\n } = props;\n\n const maxBarValue = Array?.isArray(barData)\n ? Math.max(...barData.map(data => data.reduce((acc, value) => acc + value, 0)))\n : NaN;\n\n return (\n \n \n }\n options={getComboOptions(rawData, maxBarValue, handleRedirect) as any}\n />\n \n {Array.isArray(barLegends) ? (\n barLegends.map((legend, i) => )\n ) : (\n <>\n )}\n \n \n );\n};\n","import { ThemeProvider as StyledThemeProvider } from './theme/ThemeProvider';\nimport { Container as StyledContainer } from './components/Container/Container';\nimport { Skeleton as StyledSkeleton } from './components/Skeleton/Skeleton';\nimport { Button as StyledButton } from './components/Button/Button';\nimport { Slider as StyledSlider } from './components/Button/Slider/Slider';\nimport { Select as StyledSelect } from './components/Button/Select/Select';\nimport { Checkbox as StyledCheckbox } from './components/Button/Checkbox/Checkbox';\nimport { MUIStyledCheckbox as StyledMUICheckbox } from './components/Button/Checkbox/Checkbox.styles';\nimport { Toggle as StyledToggle } from './components/Button/Toggle/Toggle';\nimport { Radio as StyledRadio } from './components/Button/Radio/Radio';\nimport { Text as StyledText } from './components/Text/Text';\nimport { Image as StyledImage } from './components/Image/Image';\nimport { DialogBase as StyledDialogBase } from './components/Dialog/DialogBase';\nimport { Dialog as StyledDialog } from './components/Dialog/Dialog';\nimport { DeletionDialog as StyledDeletionDialog } from './components/Dialog/DeletionDialog/DeletionDialog';\nimport { Severity as StyledSeverity } from './components/Severity/Severity';\nimport { Logo as StyledLogo } from './components/Logo/Logo';\nimport { Loader as StyledLoader } from './components/Loader/Loader';\nimport { DateTimePicker as StyledDateTimePicker } from './components/DateTimePicker/DateTimePicker';\nimport { Notification as StyledNotification } from './components/Notification/Notification';\nimport { Input as StyledInput } from './components/Input/Input';\nimport { Dropdown as StyledDropdown } from './components/Dropdown/Dropdown';\nimport { OutlinedDropdown as StyledOutlinedDropdown } from './components/Dropdown/OutlinedDropdown/OutlinedDropdown';\nimport { NavLink as StyledNavLink } from './components/NavLink/NavLink';\nimport { CodeSnippet as StyledCodeSnippet } from './components/Container/CodeSnippet/CodeSnippet';\nimport { ToolTip as StyledToolTip } from './components/Container/ToolTip/ToolTip';\nimport { HighlightedText as StyledHighlightedText } from './components/Text/HighlightedText/HighlightedText';\nimport { DoughnutChart as StyledDoughnutChart } from './components/Charts/DoughnutChart/DoughnutChart';\nimport { PercentageContainer as StyledPercentageContainer } from './components/Container/PercentageContainer/PercentageContainer';\nimport { Thumbs as StyledThumbs } from './components/Button/Thumbs/Thumbs';\nimport { Accordion as StyledAccordion } from './components/Container/Accordion/Accordion';\nimport { DistributionChart as StyledDistributionChart } from './components/Charts/DistributionChart/DistributionChart';\nimport { CheckboxDropdown as StyledCheckboxDropdown } from './components/Dropdown/CheckboxDropdown/CheckboxDropdown';\nimport { DifferenceBar as StyledDifferenceBar } from './components/DifferenceBar/DifferenceBar';\nimport { ComboChart as StyledComboChart } from './components/Charts/ComboChart/ComboChart';\n\nexport {\n StyledThemeProvider,\n StyledContainer,\n StyledSkeleton,\n StyledButton,\n StyledSlider,\n StyledSelect,\n StyledCheckbox,\n StyledMUICheckbox,\n StyledToggle,\n StyledRadio,\n StyledText,\n StyledImage,\n StyledDialogBase,\n StyledDialog,\n StyledDeletionDialog,\n StyledSeverity,\n StyledLogo,\n StyledLoader,\n StyledDateTimePicker,\n StyledNotification,\n StyledInput,\n StyledDropdown,\n StyledOutlinedDropdown,\n StyledNavLink,\n StyledCodeSnippet,\n StyledToolTip,\n StyledHighlightedText,\n StyledDoughnutChart,\n StyledPercentageContainer,\n StyledThumbs,\n StyledAccordion,\n StyledDistributionChart,\n StyledCheckboxDropdown,\n StyledDifferenceBar,\n StyledComboChart\n};\n","import { BreakpointsOptions } from '@mui/material';\n\nexport const breakpointOptions: BreakpointsOptions = {\n values: {\n xs: 600,\n sm: 900,\n md: 1200,\n lg: 1440,\n xl: 2000\n }\n};\n","import { createTheme, Theme } from '@mui/material';\n\nimport { typographyOptions } from './typography';\nimport { darkModePalette, paletteOptions } from './palette';\nimport { breakpointOptions } from './breakpoints';\n\nconst theme: Theme = createTheme({\n palette: paletteOptions,\n breakpoints: breakpointOptions,\n typography: typographyOptions\n});\n\nconst darkTheme: Theme = createTheme({\n palette: darkModePalette,\n breakpoints: breakpointOptions,\n typography: typographyOptions\n});\n\nexport { theme, darkTheme };\n","import { PaletteOptions as MUIPaletteOptions } from '@mui/material';\n\ninterface PaletteOptions extends MUIPaletteOptions {\n severity?: {\n low: string;\n medium: string;\n high: string;\n critical: string;\n };\n}\n\nexport const paletteOptions: PaletteOptions = {\n mode: 'light',\n common: {\n black: '#070914', // Black\n white: '#FFFFFF' // White\n },\n primary: {\n main: '#9159F7', // Purple\n light: '#F0EBFF' // Light Purple\n },\n secondary: {\n main: '#0056B3', // Blue\n light: '#42CBE9' // Light Blue\n },\n error: {\n main: '#EE395D' // Red\n },\n success: {\n main: '#12AF69', // Green\n light: '#B8E24A' // Light green\n },\n info: {\n main: '#B2BCC4' // Grey[300]\n },\n grey: {\n 50: '#FDFDFE',\n 100: '#F8F8FC',\n 200: '#EEEEF7',\n 300: '#C8C9DF',\n 400: '#9D9DBE',\n 500: '#68688D',\n 600: '#393960',\n 700: '#120A47',\n 800: '#171724'\n },\n severity: {\n low: '#B2BCC4', // Grey[300]\n medium: '#FFC900', // Yellow\n high: '#FD742D', // Orange\n critical: '#EE395D' // Red\n }\n};\n\nexport const darkModePalette: PaletteOptions = {\n mode: 'dark',\n common: {\n black: '#FFFFFF', // White\n white: '#1a1825' // Black\n },\n primary: {\n main: '#9159F7' // Purple\n },\n secondary: {\n main: '#0056B3', // Blue\n light: '#42CBE9' // Light Blue\n },\n error: {\n main: '#EE395D' // Red\n },\n success: {\n main: '#12AF69', // Green\n light: '#B8E24A' // Light Green\n },\n info: {\n main: '#B2BCC4' // Grey[300]\n },\n grey: {\n 50: '#1B1B26',\n 100: '#2A2A38',\n 200: '#383850',\n 300: '#8484A6',\n 400: '#9A9ABD',\n 500: '#B5B5D5',\n 600: '#D0D0E7',\n 700: '#E7E7F5',\n 800: '#FFFFFF'\n },\n severity: {\n low: '#B2BCC4', // Grey[300]\n medium: '#FFC900', // Yellow\n high: '#FD742D', // Orange\n critical: '#EE395D' // Red\n }\n};\n","import { TypographyOptions } from '@mui/material/styles/createTypography';\n\nimport { paletteOptions } from './palette';\n\nexport const typographyOptions: TypographyOptions = {\n fontFamily: 'Manrope, sans-serif',\n h1: {\n fontSize: '32px',\n fontWeight: 500,\n lineHeight: '42px',\n color: paletteOptions.grey?.[500],\n\n '@media (max-width:1536px)': {\n fontSize: '24px',\n lineHeight: '32px'\n },\n\n contrasts: {\n low: paletteOptions.grey?.[500],\n medium: paletteOptions.grey?.[500],\n high: paletteOptions.grey?.[500]\n }\n },\n h2: {\n fontSize: '24px',\n fontWeight: 600,\n lineHeight: '32px',\n color: paletteOptions.grey?.[500],\n\n '@media (max-width:1536px)': { fontSize: '20px' },\n\n contrasts: {\n low: paletteOptions.grey?.[400],\n medium: paletteOptions.grey?.[400],\n high: paletteOptions.grey?.[600]\n }\n },\n h3: {\n fontSize: '20px',\n fontWeight: 500,\n lineHeight: '24px',\n color: paletteOptions.grey?.[600],\n\n '@media (max-width:1536px)': { fontSize: '16px' },\n\n contrasts: {\n low: paletteOptions.grey?.[400],\n medium: paletteOptions.grey?.[500],\n high: paletteOptions.grey?.[600]\n }\n },\n h5: {\n fontSize: '14px',\n fontWeight: 700,\n lineHeight: '20px',\n color: paletteOptions.grey?.[500],\n\n '@media (max-width:1536px)': { fontSize: '12px' },\n\n contrasts: {\n low: paletteOptions.grey?.[400],\n medium: paletteOptions.grey?.[500],\n high: paletteOptions.grey?.[600]\n }\n },\n body1: {\n fontSize: '15px',\n fontWeight: 500,\n lineHeight: '21px',\n color: paletteOptions.grey?.[500],\n\n '@media (max-width:1536px)': { fontSize: '14px' },\n\n contrasts: {\n low: paletteOptions.grey?.[400],\n medium: paletteOptions.grey?.[500],\n high: paletteOptions.grey?.[600]\n }\n },\n body2: {\n fontSize: '15px',\n fontWeight: 700,\n lineHeight: '21px',\n color: paletteOptions.grey?.[400],\n\n '@media (max-width:1536px)': { fontSize: '14px' },\n\n contrasts: {\n low: paletteOptions.grey?.[400],\n medium: paletteOptions.grey?.[500],\n high: paletteOptions.grey?.[600]\n }\n },\n subtitle1: {\n fontSize: '13px',\n fontWeight: 500,\n lineHeight: '15.4px',\n color: paletteOptions.grey?.[400],\n\n '@media (max-width:1536px)': { fontSize: '11px' },\n\n contrasts: {\n low: paletteOptions.grey?.[300],\n medium: paletteOptions.grey?.[500],\n high: paletteOptions.grey?.[600]\n }\n },\n subtitle2: {\n fontSize: '13px',\n fontWeight: 700,\n lineHeight: '15.4px',\n color: paletteOptions.grey?.[400],\n\n '@media (max-width:1536px)': { fontSize: '11px' },\n\n contrasts: {\n low: paletteOptions.grey?.[300],\n medium: paletteOptions.grey?.[500],\n high: paletteOptions.grey?.[600]\n }\n },\n button: {\n fontSize: '15px',\n fontWeight: 700,\n lineHeight: '21px',\n textTransform: 'none',\n\n '@media (max-width:1536px)': { fontSize: '14px' },\n\n contrasts: {\n low: paletteOptions.grey?.[400],\n medium: paletteOptions.grey?.[500],\n high: paletteOptions.grey?.[600]\n }\n }\n};\n","import { Stack, styled } from '@mui/material';\n\nexport const StyledContainer = styled(Stack)({\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n height: '100%'\n});\n","export const constants = { noDataAvailable: 'No data available' };\n","import React from 'react';\n\nimport { StyledText } from '@/components/lib';\nimport { OverviewNoAppList } from '@/components/Overview/OverviewNoAppList/OverviewNoAppList';\n\nimport { StyledContainer } from './NoDataAvailable.styles';\n\nimport { constants } from './noDataAvailable.constants';\n\nexport const NoDataAvailable = ({ customTitle, isPage }: { customTitle?: string; isPage?: boolean }) => {\n if (isPage) {\n return ;\n }\n\n return (\n \n \n \n );\n};\n","import React from 'react';\n\nimport {\n List,\n ListItem,\n ListItemButton,\n Popover,\n PopoverProps,\n Stack,\n TableContainer,\n alpha,\n styled\n} from '@mui/material';\n\nimport { StyledButton, StyledContainer, StyledText } from '@/components/lib';\n\nexport const SamplesGenerationHeaderContainer = styled(StyledContainer)(() => ({\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: '16px',\n\n '.MuiSvgIcon-root': {\n cursor: 'pointer'\n }\n}));\n\nexport const SamplesGenerationDialogContentContainer = styled(StyledContainer)(() => ({\n width: '558px',\n gap: '16px',\n padding: '0 16px 16px'\n}));\n\nexport const DialogFlexRowGapContainer = styled(StyledContainer)({\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: '0'\n});\n\nexport const DialogButtonsContainer = styled(StyledContainer)(({ theme }) => ({\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 0,\n\n '.MuiButtonBase-root': {\n borderRadius: '8px',\n padding: '8px 0',\n width: '50%',\n border: `2px solid ${theme.palette.grey[200]}`,\n color: theme.palette.grey[300]\n },\n\n '.MuiSvgIcon-root': {\n cursor: 'pointer'\n }\n}));\n\nexport const ViewSamplesContainer = styled(StyledContainer)({\n padding: '16px',\n width: '868px',\n gap: '36px'\n});\n\nexport const ViewSamplesTableContainer = styled(StyledContainer)(({ theme }) => ({\n borderRadius: 0,\n padding: 0,\n boxShadow: 'none',\n height: '300px',\n overflow: 'auto',\n\n '.MuiSvgIcon-root': {\n fill: theme.palette.grey[300],\n cursor: 'pointer'\n }\n})) as typeof TableContainer;\n\nexport const ViewSamplesTableRow = styled(Stack)(({ theme }) => ({\n width: '100%',\n flexDirection: 'row',\n backgroundColor: theme.palette.grey[100],\n borderRadius: '16px',\n padding: '16px',\n justifyContent: 'space-between',\n gap: '24px',\n alignItems: 'center'\n}));\n\nexport const ViewSamplesButtonsContainer = styled(StyledContainer)({\n flexDirection: 'row',\n justifyContent: 'right',\n width: '60%',\n gap: '24px',\n alignItems: 'center',\n\n '.MuiButtonBase-root': {\n width: '160px'\n }\n});\n\nexport const ViewSamplesLoaderContainer = styled(StyledContainer)({\n height: '80px',\n justifyContent: 'center',\n margin: 'auto'\n});\n\nexport const SamplesGenerationNavButton = styled(StyledButton)({\n height: '40px',\n minWidth: '12px'\n});\n\nexport const GenerateSamplesSubmitBtn = styled(StyledButton)({\n width: '15ox',\n margin: '16px auto 8px'\n});\n\nexport const DataContextItemContainer = styled(StyledContainer)(({ theme }) => ({\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n background: theme.palette.grey[100],\n padding: '8px 16px',\n\n '.MuiSvgIcon-root': {\n cursor: 'pointer'\n }\n}));\n\nexport const DataContextItemText = styled(StyledText)({\n margin: '0 auto 0 8px'\n});\n\nexport const SamplesGenerationPlaceholder = styled(StyledContainer)({\n marginTop: 'auto'\n});\n\nexport const StyledPopover = styled((props: PopoverProps) => (\n \n))({});\n\nexport const StyledListItem = styled(ListItem)({ padding: 0 });\n\nexport const StyledList = styled(List)({ padding: 0 });\n\nexport const StyledListItemButton = styled(ListItemButton)(({ theme }) => ({\n padding: '8px',\n\n '.MuiTypography-root': {\n fontWeight: 700,\n fontSize: '14px',\n marginRight: 'auto',\n whiteSpace: 'nowrap',\n color: theme.palette.grey[400]\n },\n\n ':hover': {\n borderRadius: '8px',\n background: alpha(theme.palette.primary.main, 0.07),\n\n '.MuiTypography-root': { color: theme.palette.primary.main }\n }\n}));\n\nexport const SamplesGenerationContentContainer = styled(Stack)({\n padding: '8px 16px 24px',\n gap: '8px',\n maxWidth: '797px'\n});\n\nexport const StyledLinkContainer = styled(Stack)(({ theme }) => ({\n display: 'inline-flex',\n alignItems: 'flex-end',\n flexDirection: 'row',\n cursor: 'pointer',\n fontWeight: 700,\n color: theme.palette.primary.main,\n gap: '8px',\n marginLeft: '4px'\n}));\n\nexport const StyledDescriptionText = styled(StyledText)(({ theme }) => ({\n color: theme.palette.grey[400]\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: \"m12 5.69 5 4.5V18h-2v-6H9v6H7v-7.81zM12 3 2 12h3v8h6v-6h2v6h6v-8h3z\"\n}), 'HomeOutlined');","\"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 9h4c.55 0 1-.45 1-1s-.45-1-1-1h-4c-.55 0-1 .45-1 1s.45 1 1 1m0 4h4c.55 0 1-.45 1-1s-.45-1-1-1h-4c-.55 0-1 .45-1 1s.45 1 1 1m0 4h4c.55 0 1-.45 1-1s-.45-1-1-1h-4c-.55 0-1 .45-1 1s.45 1 1 1M7 7h2v2H7zm0 4h2v2H7zm0 4h2v2H7zM20 3H4c-.55 0-1 .45-1 1v16c0 .55.45 1 1 1h16c.55 0 1-.45 1-1V4c0-.55-.45-1-1-1m-1 16H5V5h14z\"\n}), 'ListAltRounded');","\"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 4v7H5.17l-.59.59-.58.58V4zm1-2H3c-.55 0-1 .45-1 1v14l4-4h10c.55 0 1-.45 1-1V3c0-.55-.45-1-1-1m5 4h-2v9H6v2c0 .55.45 1 1 1h11l4 4V7c0-.55-.45-1-1-1\"\n}), 'QuestionAnswerOutlined');","import React from 'react';\n\nimport {\n HomeOutlined,\n TuneOutlined,\n ListAltRounded,\n ContentCopyOutlined,\n QuestionAnswerOutlined\n} from '@mui/icons-material';\n\nimport { theme } from '@/components/lib/theme';\n\nexport const routes = {\n overview: '/',\n samples: '/samples',\n onboarding: '/onboarding',\n licenseAgreement: '/license',\n workspaceSettings: '/workspace-settings',\n config: {\n apiKey: '/configuration/api-key',\n applications: '/configuration/applications',\n versions: '/configuration/versions',\n properties: '/configuration/properties',\n interactionTypes: '/configuration/interaction-types'\n },\n files: {\n exampleCsvFileQA: '/exampleQA.csv',\n exampleCsvFileSummarization: '/exampleSummarization.csv',\n exampleCsvFileGeneration: '/exampleGeneration.csv',\n exampleCSVClassification: '/exampleClassification.csv',\n exampleCSVFeatureExtraction: '/exampleFeatureExtraction.csv',\n examplePentestCsvFile: '/example-pentest.csv',\n annotationYmlFile: '/config.yml'\n }\n};\n\nexport const routesMetaData = {\n title: 'Deepchecks | ',\n overview: 'Deepchecks LLM Evaluation',\n samples: 'Data',\n onboarding: 'Onboarding',\n license: 'License',\n notFound: '404',\n workspaceSettings: 'Workspace Settings',\n apiKey: 'Api Key',\n applications: 'Applications',\n properties: 'Properties',\n versions: 'Versions',\n interactionTypes: 'Interaction Types',\n annotationConfig: 'Annotation Config'\n};\n\nconst inactiveLinkStyles = {\n color: theme.palette.grey[500]\n};\n\nexport const sidebarRoutes = [\n {\n route: routes.overview,\n icon: ,\n activeIcon: ,\n linkLabel: 'Overview'\n },\n {\n route: routes.samples,\n icon: ,\n activeIcon: ,\n linkLabel: 'Data'\n },\n {\n route: routes.config.versions,\n icon: ,\n activeIcon: ,\n linkLabel: 'Versions'\n },\n {\n route: routes.config.properties,\n icon: ,\n activeIcon: ,\n linkLabel: 'Properties'\n },\n {\n route: routes.config.interactionTypes,\n icon: ,\n activeIcon: ,\n linkLabel: 'Interaction Types'\n }\n];\n","/**\n * Generated by orval v7.2.0 🍺\n * Do not edit manually.\n * Deepchecks LLM Evaluation\n * Deepchecks LLM Evaluation and Monitoring API Spec\n * OpenAPI spec version: 0.23.4.post87.dev0+d7ba3e139\n */\nimport { useMutation, useQuery } from 'react-query';\nimport type {\n MutationFunction,\n QueryFunction,\n QueryKey,\n UseMutationOptions,\n UseMutationResult,\n UseQueryOptions,\n UseQueryResult\n} from 'react-query';\nimport { customInstance } from './customAxios';\nimport type { ErrorType } from './customAxios';\n\nexport type AnnotationOrigin = (typeof AnnotationOrigin)[keyof typeof AnnotationOrigin];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AnnotationOrigin = {\n user: 'user',\n llm: 'llm',\n similarity: 'similarity',\n property: 'property',\n garak: 'garak',\n Deepchecks_Evaluator: 'Deepchecks Evaluator',\n No_Annotation_Assigned: 'No Annotation Assigned'\n} as const;\n\nexport type CreateInteractions201Item = string | string;\n\nexport type GetInteractionCompletionStatusApiV1ApplicationVersionsApplicationVersionIdInteractionsCompleteStatusPost200 =\n { [key: string]: CompleteStatusSchema };\n\nexport type GetSimilarityScoreDeprecated200 = SimilarityScore | null;\n\nexport type GetSimilarityScoreDeprecatedParams = {\n interaction_user_id_1: string;\n interaction_user_id_2: string;\n interaction_version_id_1: number;\n interaction_version_id_2: number;\n};\n\nexport type GetSimilarityScoreApiV1ApplicationVersionsGetSimilarityScoreGet200 = SimilarityScore | null;\n\nexport type GetSimilarityScoreApiV1ApplicationVersionsGetSimilarityScoreGetParams = {\n interaction_user_id_1: string;\n interaction_user_id_2: string;\n interaction_version_id_1: number;\n interaction_version_id_2: number;\n};\n\n/**\n * Filter for interactions to delete or list of user interaction ids.\n */\nexport type DeleteInteractionsApiV1ApplicationVersionsApplicationVersionIdInteractionsDeleteBody =\n | FilterSchema\n | string[]\n | null;\n\nexport type ListInteractionsDownloadByFilterBody = FilterSchema | null;\n\nexport type ListInteractionsDownloadByFilterParams = {\n return_topics?: boolean;\n return_output_props?: boolean;\n return_input_props?: boolean;\n return_custom_props?: boolean;\n return_llm_props?: boolean;\n return_garak_props?: boolean;\n return_annotation_data?: boolean;\n return_similarities_data?: boolean;\n return_steps?: boolean;\n include_incomplete?: boolean;\n};\n\nexport type ListInteractionsByFilterBody = InteractionsFilterWithPaginationSchema | null;\n\nexport type ListInteractionsByFilterParams = {\n return_topics?: boolean;\n return_input_props?: boolean;\n return_output_props?: boolean;\n return_annotation_data?: boolean;\n return_similarities_data?: boolean;\n return_translated_data?: boolean;\n include_incomplete?: boolean;\n};\n\nexport type DownloadInteractionsParams = {\n return_topics?: boolean;\n return_output_props?: boolean;\n return_input_props?: boolean;\n return_custom_props?: boolean;\n return_llm_props?: boolean;\n return_garak_props?: boolean;\n return_annotation_data?: boolean;\n return_similarities_data?: boolean;\n return_steps?: boolean;\n};\n\nexport type RetrieveAnnotationStatsByFilter200 = { [key: string]: number };\n\nexport type DeleteInteractionSessionsDeprecatedParams = {\n ids?: string[];\n};\n\nexport type ListInteractionSessionsDeprecatedParams = {\n /**\n * Index from where to start data retrieval\n */\n offset?: number;\n /**\n * Maximum number of items to return\n */\n limit?: number;\n};\n\nexport type DeleteInteractionSessionsParams = {\n ids?: string[];\n};\n\nexport type ListInteractionSessionsParams = {\n /**\n * Index from where to start data retrieval\n */\n offset?: number;\n /**\n * Maximum number of items to return\n */\n limit?: number;\n};\n\nexport type GetPropertyMonitorApiV1ApplicationVersionsApplicationVersionIdGetPropertyMonitorPostParams = {\n /**\n * Property display name\n */\n property_name: string;\n /**\n * Property type\n */\n property_type: PropertyType;\n};\n\nexport type GetDefaultTimeRangeApiV1ApplicationVersionsApplicationVersionIdDefaultTimeRangeGetParams = {\n env_type: EnvType;\n};\n\nexport type GetConfigApiV1DatadogConfigGetParams = {\n /**\n * Application ID\n */\n application_id?: number;\n};\n\nexport type SetDatadogUserConfigApiV1DatadogUserConfigPutParams = {\n /**\n * Application ID\n */\n application_id?: number;\n};\n\nexport type GetUsedTokensParams = {\n year?: number;\n month?: number;\n};\n\nexport type GetUsageBillParams = {\n year?: number;\n month?: number;\n};\n\nexport type GetUsagePlanParams = {\n year?: number;\n month?: number;\n};\n\nexport type GetActiveUsagePlan200 = UserUsagePlanSchema | null;\n\nexport type UpdateUiPreferencesApiV1UiPreferencesPut200 = { [key: string]: unknown };\n\nexport type UpdateUiPreferencesApiV1UiPreferencesPutBody = { [key: string]: unknown };\n\nexport type GetUiPreferencesApiV1UiPreferencesGet200 = { [key: string]: unknown };\n\nexport type GetSimilarApiV1ApplicationVersionsComparisonPutParams = {\n /**\n * User provided interaction id\n */\n user_interaction_id?: string;\n /**\n * Application id\n */\n application_id: number;\n /**\n * Environment type\n */\n env_type: EnvType;\n};\n\nexport type ListAppLogsParams = {\n start_time_epoch?: number | null;\n end_time_epoch?: number | null;\n log_level?: AppLogLevelType | null;\n message_type?: AppLogMessageType | null;\n limit?: number;\n offset?: number;\n};\n\nexport type ListLlmBankPropsParams = {\n app_id: number;\n};\n\nexport type GetTestRunInteractionIdApiV1ApplicationsAppIdInteractionForLlmTestGetParams = {\n pipeline_elements_to_use: string[];\n interaction_type?: string | null;\n limit?: number;\n};\n\nexport type DeleteLlmPropsDefinitionsParams = {\n prop_names_to_delete: string[];\n interaction_type?: string | null;\n};\n\nexport type ListLlmPropsDefinitionsParams = {\n interaction_type?: string | null;\n};\n\nexport type DeleteCustomPropDefinitionParams = {\n prop_names_to_delete: string[];\n interaction_type?: string | null;\n};\n\nexport type GenerateTopicsApiV1GenerateTopicsPostParams = {\n env_type: EnvType;\n app_name?: string | null;\n app_version_name?: string | null;\n app_version_id?: number | null;\n /**\n * For internal use only\n */\n interaction_id?: string[] | null;\n};\n\nexport type GenerateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePostParams = {\n /**\n * The application id to generate the samples for\n */\n application_id: number;\n /**\n * The environment type to generate the samples for\n */\n env_type: EnvType;\n};\n\nexport type DeleteSourceApiV1GoldensetGeneratorTaskTaskIdDataSourceSourceIdDelete200 = { [key: string]: unknown };\n\nexport type AddSourceApiV1GoldensetGeneratorTaskTaskIdDataSourcePost200 = { [key: string]: unknown };\n\nexport type GetGeneratedInputsApiV1GenerateUserInputsPostParams = {\n /**\n * The application id to generate the samples for\n */\n application_id: number;\n /**\n * The environment type to generate the samples for\n */\n env_type: EnvType;\n};\n\nexport type RecalculateInsightsApiV1InsightsRecalculatePostParams = {\n application_version_id: number;\n environment: EnvType;\n};\n\nexport type GetTopInsightsPerAppApiV1TopInsightsPerAppGetParams = {\n application_id: number;\n env_type?: EnvType;\n insight_type?: InsightType | null;\n interaction_type_name?: string | null;\n};\n\nexport type GetInsightApiV1InsightsGetParams = {\n application_version_id: number;\n env_type?: EnvType;\n insight_type?: InsightType | null;\n interaction_type_name?: string | null;\n};\n\nexport type GetAppLastUpdateTimeParams = {\n application_version_id: number;\n env_type: EnvType;\n};\n\nexport type GetStepsForInteractionDeprecatedParams = {\n step_id?: string;\n};\n\nexport type GetStepsForInteractionApiV1ApplicationVersionsAppVersionIdInteractionsUserInteractionIdStepsGetParams = {\n step_id?: string;\n};\n\nexport type GetPentestPromptsPerCategoryApiV1PentestInputsPerCategoryGetParams = {\n app_id: number;\n categories: string[];\n};\n\nexport type GetPentestPromptsApiV1PentestPromptsGetParams = {\n app_id: number;\n probes?: string[] | null;\n};\n\nexport type GetPropertyHistogramParams = {\n /**\n * Property display name\n */\n property_name: string;\n /**\n * Property type\n */\n property_type: PropertyType;\n /**\n * Number of bins for the histogram\n */\n number_of_bins?: number;\n interaction_type?: string | null;\n /**\n * Number of samples to take for the histogram\n */\n samples_count?: number;\n};\n\nexport type GetInteractionsPerPropertyApiV1InteractionsPerPropertyGet200 = { [key: string]: TextScore[] };\n\nexport type GetInteractionsPerPropertyApiV1InteractionsPerPropertyGetParams = {\n app_version_id: number;\n property_config_id: number;\n order_by_desc?: boolean;\n string_category_filter?: string | null;\n only_none_category_filter?: boolean;\n limit?: number;\n offset?: number;\n};\n\nexport type ListPropertiesDataDeprecated200 = { [key: string]: { [key: string]: number | CategoryPropertyValue[] } };\n\nexport type ListPropertiesDataDeprecatedParams = {\n property_config_id?: number | null;\n start_time_epoch?: number | null;\n end_time_epoch?: number | null;\n interaction_type?: string | null;\n};\n\nexport type ListPropertiesDataApiV1ApplicationVersionsAppVersionIdPropertiesConfigDataGet200 = {\n [key: string]: { [key: string]: number | CategoryPropertyValue[] };\n};\n\nexport type ListPropertiesDataApiV1ApplicationVersionsAppVersionIdPropertiesConfigDataGetParams = {\n property_config_id?: number | null;\n start_time_epoch?: number | null;\n end_time_epoch?: number | null;\n interaction_type?: string | null;\n};\n\nexport type ListPropertiesConfigsParams = {\n app_id: number;\n only_in_dashboard?: boolean;\n interaction_type?: string | null;\n};\n\nexport type ListPropertiesDefinitionsParams = {\n enviroment?: EnvType | null;\n only_non_hidden?: boolean;\n only_in_dashboard?: boolean;\n property_types?: PropertyType[] | null;\n interaction_type?: string | null;\n return_default_custom_type_props_only?: boolean;\n};\n\nexport type GetAppVersionProdSummaryParams = {\n environment?: EnvType;\n interaction_type?: string;\n start_time_epoch?: number | null;\n end_time_epoch?: number | null;\n};\n\nexport type ListAppVersionsExtendedParams = {\n app_id: number;\n only_user_annotations_score?: boolean;\n order_by_column?: string;\n order_by_env_type?: EnvType;\n order_by_model?: OrderByVersionExtendedModel;\n order_by_direction?: OrderByDirection;\n order_by_n_of_samples?: boolean;\n order_by_score?: boolean;\n order_by_sessions_score?: boolean;\n search_version_name?: string;\n overlapping_version_ids?: number[];\n order_by_similarity_to_version_id?: number | null;\n order_by_similarity_score?: SimilarityMetricEnum;\n include_similarities_to_versions?: number[];\n interaction_type?: string | null;\n};\n\nexport type DeleteAppVersionParams = {\n app_id?: number | null;\n id?: number | null;\n name?: string | null;\n};\n\nexport type ListAppVersionsParams = {\n app_id?: number[] | null;\n id?: number[] | null;\n name?: string[] | null;\n app_name?: string[] | null;\n};\n\nexport type RetrainDcEvaluatorParams = {\n /**\n * List of version ids to train on\n */\n application_version_ids: number[];\n};\n\nexport type HasRunningTasksParams = {\n application_id?: number;\n environment?: EnvType;\n actor_key?: ActorKey | string;\n application_version_id?: number;\n};\n\nexport type DeleteAppParams = {\n id?: number | null;\n name?: string | null;\n};\n\nexport type ListAppsParams = {\n id?: number[] | null;\n name?: string[] | null;\n};\n\nexport type AdminListAppsParams = {\n id?: number[] | null;\n name?: string[] | null;\n};\n\nexport type UpdateConnectionApiV1AdminConnectionsConnectionIdPutBody =\n | OpenaiConnectionsSchema\n | AzureOpenaiConnectionsSchema\n | BedrockConnectionsSchema;\n\nexport type CreateConnectionApiV1AdminConnectionsPostBody =\n | OpenaiConnectionsSchema\n | AzureOpenaiConnectionsSchema\n | BedrockConnectionsSchema;\n\nexport type AdminListInteractionsByFilterParams = {\n return_topics?: boolean;\n return_input_props?: boolean;\n return_output_props?: boolean;\n return_annotation_data?: boolean;\n return_similarities_data?: boolean;\n return_translated_data?: boolean;\n};\n\nexport type GetConfigApiV1OrganizationSchemaNameDatadogConfigGetParams = {\n /**\n * Application ID\n */\n application_id: number;\n};\n\nexport type SetDatadogSystemConfigApiV1OrganizationSchemaNameDatadogSystemConfigPutParams = {\n /**\n * Application ID\n */\n application_id?: number;\n};\n\nexport type GetRawConfigApiV1ConfigsOrganizationSchemaNameDetailedGetParams = {\n /**\n * Category\n */\n category: CategoryName;\n /**\n * Application ID\n */\n application_id?: number;\n /**\n * Environment\n */\n environment?: EnvType;\n};\n\nexport type GetConfigApiV1ConfigsOrganizationSchemaNameGetParams = {\n /**\n * Application ID\n */\n application_id?: number;\n /**\n * Environment\n */\n environment?: EnvType;\n /**\n * Category\n */\n category: CategoryName;\n};\n\n/**\n * Data\n */\nexport type CreateConfigApiV1ConfigsOrganizationSchemaNamePutBody = { [key: string]: unknown };\n\nexport type CreateConfigApiV1ConfigsOrganizationSchemaNamePutParams = {\n /**\n * Application ID\n */\n application_id?: number;\n /**\n * Environment\n */\n environment?: EnvType;\n /**\n * Category\n */\n category: CategoryName;\n};\n\nexport type GetUsageBillApiV1UsageOrganizationSchemaNameGetParams = {\n year?: number;\n month?: number;\n};\n\nexport type SetUsagePriceApiV1UtilsOrganizationSchemaNameGetParams = {\n /**\n * Organization schema name search pattern (%...%)\n */\n organization_pattern: string;\n};\n\nexport type RecalcNonOssPropertiesApiV1OrganizationOrganizationSchemaNameRecalcNonOssPropertiesPutParams = {\n application_id?: number;\n application_name?: string;\n application_version_ids?: number[];\n application_version_names?: string[];\n /**\n * List of non oss property names to recalculate, None means all non oss will be recalculated\n */\n properties_to_calc?: string[];\n reset_estimated_annotations?: boolean;\n};\n\nexport type RecalcEvalProbasApiV1OrganizationOrganizationSchemaNameRecalcProbasPutParams = {\n application_id?: number;\n application_name?: string;\n application_version_ids?: number[];\n application_version_names?: string[];\n only_calc_none?: boolean;\n};\n\nexport type DeleteUserFromOrgApiV1OrganizationsOrganizationSchemaNameUsersEmailDeleteEntityType =\n (typeof DeleteUserFromOrgApiV1OrganizationsOrganizationSchemaNameUsersEmailDeleteEntityType)[keyof typeof DeleteUserFromOrgApiV1OrganizationsOrganizationSchemaNameUsersEmailDeleteEntityType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const DeleteUserFromOrgApiV1OrganizationsOrganizationSchemaNameUsersEmailDeleteEntityType = {\n user: 'user',\n invite: 'invite'\n} as const;\n\nexport type DeleteUserFromOrgApiV1OrganizationsOrganizationSchemaNameUsersEmailDeleteParams = {\n entity_type: DeleteUserFromOrgApiV1OrganizationsOrganizationSchemaNameUsersEmailDeleteEntityType;\n};\n\nexport type GetCompleteDetailsApiV1UsersCompleteDetailsGetParams = {\n organization_name: string;\n};\n\nexport type DeepchecksLlmEvalApiV1SchemasRecordIdentifierSchemaId = number | string;\n\nexport interface DeepchecksLlmEvalApiV1SchemasRecordIdentifierSchema {\n id: DeepchecksLlmEvalApiV1SchemasRecordIdentifierSchemaId;\n}\n\n/**\n * Schema for the organization.\n */\nexport interface DeepchecksLlmEvalApiV1PublicOrganizationOrganizationSchema {\n name: string;\n}\n\nexport type DeepchecksLlmEvalApiV1MeteringUsageUsageReportExtraAnyOf = { [key: string]: unknown };\n\nexport type DeepchecksLlmEvalApiV1MeteringUsageUsageReportExtra =\n DeepchecksLlmEvalApiV1MeteringUsageUsageReportExtraAnyOf | null;\n\nexport interface DeepchecksLlmEvalApiV1MeteringUsageUsageReport {\n /** Total bill (in $) for the given period */\n bill: number;\n extra?: DeepchecksLlmEvalApiV1MeteringUsageUsageReportExtra;\n llm_tokens: number;\n tokens_sent: number;\n translation_units: number;\n}\n\nexport interface DeepchecksLlmEvalApiV1GeneralRecordIdentifierSchema {\n app_latest_update_time: number;\n insights: StatusSchema;\n topics: StatusSchema;\n}\n\n/**\n * Usage breakdown (tokens) for the given period\n */\nexport type DeepchecksLlmEvalApiV1DeepchecksOnlyUsageUsageReportUsageBreakdown = { [key: string]: number };\n\nexport interface DeepchecksLlmEvalApiV1DeepchecksOnlyUsageUsageReport {\n /** Total bill (in $) for the given period */\n bill: number;\n /** Usage breakdown (tokens) for the given period */\n usage_breakdown: DeepchecksLlmEvalApiV1DeepchecksOnlyUsageUsageReportUsageBreakdown;\n}\n\nexport interface DeepchecksLlmEvalApiV1DeepchecksOnlyOrganizationOrganizationSchema {\n name: string;\n schema_name: string;\n}\n\nexport type VersionMetadataSchemaTimestamp = string | null;\n\nexport interface VersionMetadataSchema {\n env_type: EnvType;\n id: number;\n name: string;\n timestamp?: VersionMetadataSchemaTimestamp;\n}\n\nexport type VersionsMetadataSchemaProduction = VersionMetadataSchema | null;\n\nexport type VersionsMetadataSchemaMostPerforming = VersionMetadataSchema | null;\n\nexport type VersionsMetadataSchemaMostAnnotated = VersionMetadataSchema | null;\n\nexport type VersionsMetadataSchemaEvaluation = VersionMetadataSchema | null;\n\nexport interface VersionsMetadataSchema {\n evaluation: VersionsMetadataSchemaEvaluation;\n most_annotated: VersionsMetadataSchemaMostAnnotated;\n most_performing: VersionsMetadataSchemaMostPerforming;\n production: VersionsMetadataSchemaProduction;\n}\n\nexport type ValidationErrorLocItem = string | number;\n\nexport interface ValidationError {\n loc: ValidationErrorLocItem[];\n msg: string;\n type: string;\n}\n\nexport type UserUsagePlanSchemaUsageLimit = number | null;\n\nexport type UserUsagePlanSchemaUsage = PlanUsageSchema | null;\n\nexport type UserUsagePlanSchemaDescription = string | null;\n\nexport type UserUpdateSchemaRoleName = RoleName | null;\n\nexport type UserUpdateSchemaName = string | null;\nexport type UserUpdateSchemaRole = RoleName | null;\n\nexport interface UserUpdateSchema {\n name: UserUpdateSchemaName;\n role_name: UserUpdateSchemaRoleName;\n}\n\nexport type UserSchemaRole = RoleSchema | null;\n\nexport type UserSchemaOrganizationName = string | null;\n\nexport type UserSchemaName = string | null;\n\nexport type UserSchemaLastLogin = string | null;\n\nexport type UserSchemaCreatedAt = string | null;\n\n/**\n * Schema for user with roles.\n */\nexport interface UserSchema {\n created_at?: UserSchemaCreatedAt;\n deployment_type?: string;\n email: string;\n email_verified: boolean;\n eula: boolean;\n invitation_accepted?: boolean;\n last_login?: UserSchemaLastLogin;\n name: UserSchemaName;\n organization_name: UserSchemaOrganizationName;\n role?: UserSchemaRole;\n}\n\nexport type UserInvitationSchemaRole = RoleSchema | null;\n\nexport type UserInvitationSchemaName = string | null;\n\nexport type UserInvitationSchemaLastLogin = string | null;\n\nexport type UserInvitationSchemaInvitationExpirationDate = string | null;\n\nexport type UserInvitationSchemaCreatedAt = string | null;\n\nexport interface UserInvitationSchema {\n created_at?: UserInvitationSchemaCreatedAt;\n email: string;\n invitation_accepted?: boolean;\n invitation_expiration_date?: UserInvitationSchemaInvitationExpirationDate;\n last_login?: UserInvitationSchemaLastLogin;\n name: UserInvitationSchemaName;\n role?: UserInvitationSchemaRole;\n}\n\nexport type UsagePlanStatus = (typeof UsagePlanStatus)[keyof typeof UsagePlanStatus];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const UsagePlanStatus = {\n blocked: 'blocked',\n warning: 'warning',\n ok: 'ok',\n 'not-active': 'not-active'\n} as const;\n\nexport interface UserUsagePlanSchema {\n base_price: number;\n description: UserUsagePlanSchemaDescription;\n is_translation_on: boolean;\n llm_price: number;\n plan_type: PlanType;\n status: UsagePlanStatus;\n timestamp: string;\n usage?: UserUsagePlanSchemaUsage;\n usage_limit: UserUsagePlanSchemaUsageLimit;\n usage_percentage: number;\n}\n\n/**\n * Monthly budget limit for the plan\n */\nexport type UsagePlanSchemaUsageLimit = number | null;\n\n/**\n * Timestamp of the plan\n */\nexport type UsagePlanSchemaTimestamp = string | null;\n\nexport interface UsagePlanSchema {\n /** Price per ingested 1m token with dc eval */\n base_price: number;\n /** Description of the plan */\n description?: string;\n /** Price per ingested 1m token wo dc eval */\n lite_price: number;\n /** Maximum number of base tokens */\n max_base_tokens: number;\n /** Maximum number of llm properties tokens */\n max_llm_properties: number;\n /** Maximum number of applications */\n max_number_of_applications: number;\n /** Maximum number of users */\n max_number_of_users: number;\n /** Maximum number of translations */\n max_translations: number;\n /** Plan type */\n plan_type: PlanType;\n /** llm property pricing per 1m token */\n property_price: number;\n /** Timestamp of the plan */\n timestamp?: UsagePlanSchemaTimestamp;\n /** Price per translated 1m characters */\n translation_price: number;\n /** Monthly budget limit for the plan */\n usage_limit?: UsagePlanSchemaUsageLimit;\n}\n\nexport interface UsageModel {\n show_cost?: boolean;\n show_limit?: boolean;\n}\n\nexport interface UpdateLLMPropDefinitionSchema {\n force_update?: boolean;\n new_name: string;\n old_name: string;\n}\n\nexport type UpdateInteractionTypeSchemaName = string | null;\n\nexport type UpdateInteractionTypeSchemaIconId = number | null;\n\nexport type UpdateInteractionTypeSchemaColorCode = string | null;\n\nexport interface UpdateInteractionTypeSchema {\n color_code?: UpdateInteractionTypeSchemaColorCode;\n icon_id?: UpdateInteractionTypeSchemaIconId;\n name?: UpdateInteractionTypeSchemaName;\n}\n\nexport type UpdateInteractionSessionSchemaUserAnnotationReason = string | null;\n\nexport type UpdateInteractionSessionSchemaUserAnnotation = AnnotationType | null;\n\nexport interface UpdateInteractionSessionSchema {\n user_annotation?: UpdateInteractionSessionSchemaUserAnnotation;\n user_annotation_reason?: UpdateInteractionSessionSchemaUserAnnotationReason;\n}\n\nexport type UpdateInteractionSchemaStepsAnyOfItem = { [key: string]: string };\n\nexport type UpdateInteractionSchemaSteps = UpdateInteractionSchemaStepsAnyOfItem[] | null;\n\nexport type UpdateInteractionSchemaOutput = string | null;\n\nexport type UpdateInteractionSchemaIsCompleted = boolean | null;\n\nexport type UpdateInteractionSchemaInput = string | null;\n\nexport type UpdateInteractionSchemaInformationRetrieval = string[] | string | null;\n\nexport type UpdateInteractionSchemaHistory = string[] | string | null;\n\nexport type UpdateInteractionSchemaFullPrompt = string | null;\n\nexport type UpdateInteractionSchemaFinishedAt = string | number | null;\n\nexport type UpdateInteractionSchemaExpectedOutput = string | null;\n\nexport type UpdateInteractionSchemaCustomPropertiesAnyOf = { [key: string]: unknown };\n\nexport type UpdateInteractionSchemaCustomProperties = UpdateInteractionSchemaCustomPropertiesAnyOf | null;\n\nexport type UpdateInteractionSchemaAnnotationReason = string | null;\n\nexport type UpdateInteractionSchemaAnnotation = AnnotationType | null;\n\nexport interface UpdateInteractionSchema {\n annotation?: UpdateInteractionSchemaAnnotation;\n annotation_reason?: UpdateInteractionSchemaAnnotationReason;\n custom_properties?: UpdateInteractionSchemaCustomProperties;\n expected_output?: UpdateInteractionSchemaExpectedOutput;\n finished_at?: UpdateInteractionSchemaFinishedAt;\n full_prompt?: UpdateInteractionSchemaFullPrompt;\n history?: UpdateInteractionSchemaHistory;\n information_retrieval?: UpdateInteractionSchemaInformationRetrieval;\n input?: UpdateInteractionSchemaInput;\n is_completed?: UpdateInteractionSchemaIsCompleted;\n output?: UpdateInteractionSchemaOutput;\n steps?: UpdateInteractionSchemaSteps;\n}\n\nexport type UpdateInteractionCustomPropertySchemaValue = number | number | string[];\n\nexport interface UpdateInteractionCustomPropertySchema {\n property_name: string;\n value: UpdateInteractionCustomPropertySchemaValue;\n}\n\nexport interface UpdateInsightSchema {\n is_deleted: boolean;\n}\n\nexport type UpdateCustomPropDefinitionSchemaIsEditable = boolean | null;\n\nexport type UpdateCustomPropDefinitionSchemaDescription = string | null;\n\nexport interface UpdateCustomPropDefinitionSchema {\n description?: UpdateCustomPropDefinitionSchemaDescription;\n force_update?: boolean;\n is_editable?: UpdateCustomPropDefinitionSchemaIsEditable;\n new_name: string;\n old_name: string;\n}\n\nexport type UpdateApplicationVersionSchemaName = string | null;\n\nexport type UpdateApplicationVersionSchemaDescription = string | null;\n\nexport interface UpdateApplicationVersionSchema {\n additional_fields?: UpdateApplicationVersionSchemaAdditionalFields;\n ai_model?: AIModel;\n app_version_id: number;\n description?: UpdateApplicationVersionSchemaDescription;\n name?: UpdateApplicationVersionSchemaName;\n}\n\nexport type UpdateApplicationVersionSchemaAdditionalFieldsAnyOfItem = { [key: string]: unknown };\n\nexport type UpdateApplicationVersionSchemaAdditionalFields =\n | UpdateApplicationVersionSchemaAdditionalFieldsAnyOfItem[]\n | null;\n\nexport type TokensSchemaExtraAnyOf = { [key: string]: unknown };\n\nexport type TokensSchemaExtra = TokensSchemaExtraAnyOf | null;\n\nexport interface TokensSchema {\n extra?: TokensSchemaExtra;\n llm_tokens: number;\n tokens_sent: number;\n translation_units: number;\n}\n\nexport type TextScoreScore = number | string[] | null;\n\nexport type TextScoreEstimatedAnnotation = AnnotationSchema | null;\n\nexport type TextScoreAnnotation = AnnotationSchema | null;\n\nexport interface TextScore {\n annotation: TextScoreAnnotation;\n estimated_annotation: TextScoreEstimatedAnnotation;\n input: string;\n output: string;\n score: TextScoreScore;\n user_interaction_id: string;\n}\n\nexport interface TextEntrySchema {\n created_at: string;\n data: string;\n id: string;\n updated_at: string;\n}\n\nexport type StepSchemaValue = string | null;\n\nexport interface StepSchema {\n id: string;\n interaction_id: string;\n name: string;\n order: number;\n value?: StepSchemaValue;\n}\n\nexport interface StatusSchema {\n can_execute_calculation: boolean;\n in_progress: boolean;\n}\n\n/**\n * Status of a task processed by service worker\n */\nexport type Status = (typeof Status)[keyof typeof Status];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const Status = {\n enqueued: 'enqueued',\n executing: 'executing',\n scheduled_for_retry: 'scheduled_for_retry',\n failed: 'failed',\n success: 'success'\n} as const;\n\nexport interface SimilarityScore {\n blue_1_score: number;\n rouge_1_score: number;\n score: number;\n}\n\nexport type SimilarityReasonSchemaVersionId = number | null;\n\nexport type SimilarityReasonSchemaUserInteractionId = string | null;\n\nexport interface SimilarityReasonSchema {\n user_interaction_id: SimilarityReasonSchemaUserInteractionId;\n version_id: SimilarityReasonSchemaVersionId;\n}\n\nexport type SimilarityMetricEnum = (typeof SimilarityMetricEnum)[keyof typeof SimilarityMetricEnum];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const SimilarityMetricEnum = {\n similarity: 'similarity',\n blue_1_similarity: 'blue_1_similarity',\n rouge_1_similarity: 'rouge_1_similarity'\n} as const;\n\n/**\n * Billable services.\n */\nexport type ServiceName = (typeof ServiceName)[keyof typeof ServiceName];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const ServiceName = {\n LITE_TOKENS: 'LITE_TOKENS',\n BASE_TOKENS: 'BASE_TOKENS',\n TRANSLATION: 'TRANSLATION',\n LLM_PROPERTIES: 'LLM_PROPERTIES',\n LLM_PROPERTIES_TEST: 'LLM_PROPERTIES_TEST',\n SAMPLE_GENERATION: 'SAMPLE_GENERATION',\n DC_EVALUATOR: 'DC_EVALUATOR'\n} as const;\n\nexport type SearchSchemaFieldNamesItem = (typeof SearchSchemaFieldNamesItem)[keyof typeof SearchSchemaFieldNamesItem];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const SearchSchemaFieldNamesItem = {\n output: 'output',\n input: 'input',\n user_interaction_id: 'user_interaction_id',\n session_id: 'session_id'\n} as const;\n\nexport interface SearchSchema {\n accent_sensitive?: boolean;\n case_sensitive?: boolean;\n field_names: SearchSchemaFieldNamesItem[];\n is_exact?: boolean;\n text: string;\n}\n\nexport type RoleSchemaDescription = string | null;\n\nexport type RoleName = (typeof RoleName)[keyof typeof RoleName];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const RoleName = {\n MEMBER: 'MEMBER',\n ADMIN: 'ADMIN'\n} as const;\n\nexport interface RoleSchema {\n description: RoleSchemaDescription;\n name: RoleName;\n permissions: Permission[];\n}\n\nexport type ResetAnnotationPayloadInteractionType = string | null;\n\nexport interface ResetAnnotationPayload {\n envs: EnvType[];\n interaction_type?: ResetAnnotationPayloadInteractionType;\n retrain_dc_evaluator?: boolean;\n versions: number[];\n}\n\nexport type RerunCalculationsSchemaInteractionIds = string[] | null;\n\nexport interface RerunCalculationsSchema {\n application_version_id: number;\n interaction_ids?: RerunCalculationsSchemaInteractionIds;\n}\n\nexport interface RecordIdentifiersPairSchema {\n id: number;\n name: string;\n}\n\nexport type ReadPropertyConfigSchemaThreshold = number | null;\n\nexport type ReadPropertyConfigSchemaInteractionType = string | null;\n\nexport type ReadPropertyConfigSchemaCondition = Operator | null;\n\nexport type ReadInteractionTypeSchemaId = number | null;\n\nexport type ReadInteractionTypeSchemaIconId = number | null;\n\nexport type ReadInteractionTypeSchemaColorCode = string | null;\n\nexport type ReadInteractionTypeSchemaConfigYamlUpdatedAt = string | null;\nexport type ReadInteractionTypeSchemaConfigYamlUpdateBy = string | null;\n\nexport interface ReadInteractionTypeSchemaConfigYaml {\n updated_at?: ReadInteractionTypeSchemaConfigYamlUpdatedAt;\n updated_by?: ReadInteractionTypeSchemaConfigYamlUpdateBy;\n}\n\nexport interface ReadInteractionTypeSchema {\n color_code?: ReadInteractionTypeSchemaColorCode;\n icon_id?: ReadInteractionTypeSchemaIconId;\n id?: ReadInteractionTypeSchemaId;\n is_active: boolean;\n is_builtin_type: boolean;\n name: string;\n config_yaml?: ReadInteractionTypeSchemaConfigYaml;\n}\n\nexport type ReadInteractionSessionSchemaUserAnnotationReason = string | null;\n\nexport type ReadInteractionSessionSchemaUserAnnotation = AnnotationType | null;\n\nexport type ReadInteractionSessionSchemaEstimatedAnnotation = AnnotationType | null;\n\nexport interface ReadInteractionSessionSchema {\n application_version_id: number;\n created_at: string;\n env_type: EnvType;\n estimated_annotation?: ReadInteractionSessionSchemaEstimatedAnnotation;\n session_id: string;\n updated_at: string;\n user_annotation?: ReadInteractionSessionSchemaUserAnnotation;\n user_annotation_reason?: ReadInteractionSessionSchemaUserAnnotationReason;\n}\n\nexport type RawSettingRecordSettings = { [key: string]: unknown };\n\nexport interface RawSettingRecord {\n label: string;\n priority: number;\n settings: RawSettingRecordSettings;\n}\n\nexport type PropertyType = (typeof PropertyType)[keyof typeof PropertyType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const PropertyType = {\n input: 'input',\n output: 'output',\n custom: 'custom',\n llm: 'llm',\n garak: 'garak'\n} as const;\n\nexport interface ReadPropertyConfigSchema {\n application_id: number;\n condition: ReadPropertyConfigSchemaCondition;\n id: number;\n interaction_type?: ReadPropertyConfigSchemaInteractionType;\n kind: PropertyType;\n text_property: string;\n threshold: ReadPropertyConfigSchemaThreshold;\n}\n\nexport type PropertyDefinitionSchemaThreshold = number | null;\n\nexport type PropertyDefinitionSchemaMinValue = number | null;\n\nexport type PropertyDefinitionSchemaMaxValue = number | null;\n\nexport type PropertyDefinitionSchemaIsHidden = boolean | null;\n\nexport type PropertyDefinitionSchemaIsEditable = boolean | null;\n\nexport type PropertyDefinitionSchemaInteractionType = string | null;\n\nexport type PropertyDefinitionSchemaInDashboard = boolean | null;\n\nexport interface PropertyDefinitionSchema {\n column_type: PropertyColumnType;\n description: string;\n in_dashboard: PropertyDefinitionSchemaInDashboard;\n interaction_type: PropertyDefinitionSchemaInteractionType;\n is_editable?: PropertyDefinitionSchemaIsEditable;\n is_hidden: PropertyDefinitionSchemaIsHidden;\n max_value?: PropertyDefinitionSchemaMaxValue;\n min_value?: PropertyDefinitionSchemaMinValue;\n property_column_name: string;\n property_name: string;\n property_type: PropertyType;\n threshold?: PropertyDefinitionSchemaThreshold;\n url: string;\n}\n\nexport type PropertyConfigCreationSchemaThreshold = number | null;\n\nexport type PropertyConfigCreationSchemaCondition = Operator | null;\n\nexport interface PropertyConfigCreationSchema {\n application_id: number;\n condition: PropertyConfigCreationSchemaCondition;\n kind: PropertyType;\n text_property: string;\n threshold: PropertyConfigCreationSchemaThreshold;\n}\n\nexport type PropertyColumnType = (typeof PropertyColumnType)[keyof typeof PropertyColumnType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const PropertyColumnType = {\n categorical: 'categorical',\n numeric: 'numeric'\n} as const;\n\nexport interface PropertiesPointSchema {\n avg_value: number;\n end_time: string;\n start_time: string;\n}\n\nexport type PropertiesMonitorSchemaValuesItem = PropertiesPointSchema | null;\n\nexport type PropertiesMonitorSchemaTotalAvg = number | null;\n\nexport interface PropertiesMonitorSchema {\n frequency: Frequency;\n total_avg: PropertiesMonitorSchemaTotalAvg;\n values: PropertiesMonitorSchemaValuesItem[];\n window_list: string[];\n}\n\nexport type ProductionDataSummarySchemaUnannotated = number | null;\n\nexport type ProductionDataSummarySchemaStartDate = string | null;\n\nexport type ProductionDataSummarySchemaScore = number | null;\n\nexport type ProductionDataSummarySchemaPendingAnnotations = number | null;\n\nexport type ProductionDataSummarySchemaNOfSessions = number | null;\n\nexport type ProductionDataSummarySchemaNOfSamples = number | null;\n\nexport type ProductionDataSummarySchemaLatencySeconds = number | null;\n\nexport type ProductionDataSummarySchemaEstimatedScore = number | null;\n\nexport type ProductionDataSummarySchemaEndDate = string | null;\n\nexport type ProductionDataSummarySchemaAnnotationRatio = number | null;\n\nexport type ProductionDataSummarySchemaAnnotatedGood = number | null;\n\nexport type ProductionDataSummarySchemaAnnotatedBad = number | null;\n\nexport interface ProductionDataSummarySchema {\n annotated_bad: ProductionDataSummarySchemaAnnotatedBad;\n annotated_good: ProductionDataSummarySchemaAnnotatedGood;\n annotation_ratio: ProductionDataSummarySchemaAnnotationRatio;\n annotations_distribution?: AnnotationsDistributionSchema;\n end_date: ProductionDataSummarySchemaEndDate;\n estimated: AnnotationInfoSchema;\n estimated_score: ProductionDataSummarySchemaEstimatedScore;\n latency_seconds: ProductionDataSummarySchemaLatencySeconds;\n n_of_samples: ProductionDataSummarySchemaNOfSamples;\n n_of_sessions: ProductionDataSummarySchemaNOfSessions;\n pending_annotations: ProductionDataSummarySchemaPendingAnnotations;\n score: ProductionDataSummarySchemaScore;\n start_date: ProductionDataSummarySchemaStartDate;\n unannotated: ProductionDataSummarySchemaUnannotated;\n user_annotated: AnnotationInfoSchema;\n}\n\nexport interface PlanUsageSchema {\n applications: LimitUsageSchema;\n base_tokens: LimitUsageSchema;\n llm_tokens: LimitUsageSchema;\n translation_tokens: LimitUsageSchema;\n users: LimitUsageSchema;\n}\n\nexport type PlanType = (typeof PlanType)[keyof typeof PlanType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const PlanType = {\n free: 'free',\n pay_as_you_go: 'pay_as_you_go',\n fixed_plan_with_limit: 'fixed_plan_with_limit',\n fixed_plan_with_overage: 'fixed_plan_with_overage'\n} as const;\n\nexport type PipelineElementType = (typeof PipelineElementType)[keyof typeof PipelineElementType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const PipelineElementType = {\n input: 'input',\n information_retrieval: 'information_retrieval',\n output: 'output'\n} as const;\n\nexport type Permission = (typeof Permission)[keyof typeof Permission];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const Permission = {\n USERS_WRITE: 'USERS_WRITE',\n ORG_WRITE: 'ORG_WRITE'\n} as const;\n\nexport type PerPropertySchemaElementToMark = PipelineElementType | null;\n\nexport type PerPropertySchemaDescription = string | null;\n\nexport interface PerPropertySchema {\n color: string;\n description: PerPropertySchemaDescription;\n element_to_mark: PerPropertySchemaElementToMark;\n metadata: GeneralMetadataChunk[];\n name: string;\n}\n\nexport type PerEnvApplicationVersionExtendedSchemaSimilarities = { [key: string]: number | null };\n\nexport type PerEnvApplicationVersionExtendedSchemaOutputProperties = { [key: string]: unknown };\n\nexport type PerEnvApplicationVersionExtendedSchemaLlmProperties = { [key: string]: unknown };\n\nexport type PerEnvApplicationVersionExtendedSchemaInputProperties = { [key: string]: unknown };\n\nexport type PerEnvApplicationVersionExtendedSchemaGarakProperties = { [key: string]: unknown };\n\nexport type PerEnvApplicationVersionExtendedSchemaCustomProperties = { [key: string]: unknown };\n\nexport interface PerEnvApplicationVersionExtendedSchema {\n custom_properties: PerEnvApplicationVersionExtendedSchemaCustomProperties;\n garak_properties: PerEnvApplicationVersionExtendedSchemaGarakProperties;\n input_properties: PerEnvApplicationVersionExtendedSchemaInputProperties;\n llm_properties: PerEnvApplicationVersionExtendedSchemaLlmProperties;\n n_of_annotations: number;\n n_of_estimated_annotations: number;\n n_of_samples: number;\n n_of_sessions: number;\n output_properties: PerEnvApplicationVersionExtendedSchemaOutputProperties;\n score: number;\n similarities: PerEnvApplicationVersionExtendedSchemaSimilarities;\n}\n\nexport interface PentestPerCategorySchema {\n count: number;\n pentest_data: PentestData[];\n}\n\nexport interface PentestModel {\n pentest_enabled?: boolean;\n}\n\nexport type PentestDataVulnTriggerStr = string | null;\n\nexport interface PentestData {\n category: string;\n input: string;\n vuln_trigger_str: PentestDataVulnTriggerStr;\n vuln_type: string;\n}\n\n/**\n * Schema for the payment method update endpoint.\n */\nexport interface PaymentMethodSchema {\n payment_method_id: string;\n}\n\nexport interface PaginationSchema {\n /** @maximum 20 */\n limit?: number;\n offset?: number;\n}\n\nexport type OutputPropertiesSchemaURLsCount = number | null;\n\nexport type OutputPropertiesSchemaUniqueNounCount = number | null;\n\nexport type OutputPropertiesSchemaToxicity = number | null;\n\nexport type OutputPropertiesSchemaTextLength = number | null;\n\nexport type OutputPropertiesSchemaSubjectivity = number | null;\n\nexport type OutputPropertiesSchemaSentiment = number | null;\n\nexport type OutputPropertiesSchemaSentencesCount = number | null;\n\nexport type OutputPropertiesSchemaRetrievalRelevance = number | null;\n\nexport type OutputPropertiesSchemaRelevance = number | null;\n\nexport type OutputPropertiesSchemaReadingTime = number | null;\n\nexport type OutputPropertiesSchemaReadingEase = number | null;\n\nexport type OutputPropertiesSchemaPIIRisk = number | null;\n\nexport type OutputPropertiesSchemaMaxWordLength = number | null;\n\nexport type OutputPropertiesSchemaLexicalDensity = number | null;\n\nexport type OutputPropertiesSchemaLanguage = string[] | null;\n\nexport type OutputPropertiesSchemaInvalidLinkSyntax = number | null;\n\nexport type OutputPropertiesSchemaInformationDensity = number | null;\n\nexport type OutputPropertiesSchemaGroundedInContext = number | null;\n\nexport type OutputPropertiesSchemaFormality = number | null;\n\nexport type OutputPropertiesSchemaFluency = number | null;\n\nexport type OutputPropertiesSchemaExpectedOutputSimilarity = number | null;\n\nexport type OutputPropertiesSchemaEmailAddressesCount = number | null;\n\nexport type OutputPropertiesSchemaCoverage = number | null;\n\nexport type OutputPropertiesSchemaContentType = string[] | null;\n\nexport type OutputPropertiesSchemaCompressionRatio = number | null;\n\nexport type OutputPropertiesSchemaAvoidedAnswer = number | null;\n\nexport type OutputPropertiesSchemaAverageWordsPerSentence = number | null;\n\nexport type OutputPropertiesSchemaAverageWordLength = number | null;\n\nexport type OutputPropertiesSchemaSpecialCharacters = number | null;\n\nexport interface OutputPropertiesSchema {\n '% Special Characters': OutputPropertiesSchemaSpecialCharacters;\n 'Average Word Length': OutputPropertiesSchemaAverageWordLength;\n 'Average Words Per Sentence': OutputPropertiesSchemaAverageWordsPerSentence;\n 'Avoided Answer': OutputPropertiesSchemaAvoidedAnswer;\n 'Compression Ratio': OutputPropertiesSchemaCompressionRatio;\n 'Content Type': OutputPropertiesSchemaContentType;\n Coverage: OutputPropertiesSchemaCoverage;\n 'Email Addresses Count': OutputPropertiesSchemaEmailAddressesCount;\n 'Expected Output Similarity': OutputPropertiesSchemaExpectedOutputSimilarity;\n Fluency: OutputPropertiesSchemaFluency;\n Formality: OutputPropertiesSchemaFormality;\n 'Grounded in Context': OutputPropertiesSchemaGroundedInContext;\n 'Information Density': OutputPropertiesSchemaInformationDensity;\n 'Invalid Link Syntax': OutputPropertiesSchemaInvalidLinkSyntax;\n Language: OutputPropertiesSchemaLanguage;\n 'Lexical Density': OutputPropertiesSchemaLexicalDensity;\n 'Max Word Length': OutputPropertiesSchemaMaxWordLength;\n 'PII Risk': OutputPropertiesSchemaPIIRisk;\n 'Reading Ease': OutputPropertiesSchemaReadingEase;\n 'Reading Time': OutputPropertiesSchemaReadingTime;\n Relevance: OutputPropertiesSchemaRelevance;\n 'Retrieval Relevance': OutputPropertiesSchemaRetrievalRelevance;\n 'Sentences Count': OutputPropertiesSchemaSentencesCount;\n Sentiment: OutputPropertiesSchemaSentiment;\n Subjectivity: OutputPropertiesSchemaSubjectivity;\n 'Text Length': OutputPropertiesSchemaTextLength;\n Toxicity: OutputPropertiesSchemaToxicity;\n 'Unique Noun Count': OutputPropertiesSchemaUniqueNounCount;\n 'URLs Count': OutputPropertiesSchemaURLsCount;\n}\n\nexport interface OrganizationSettingsModel {\n /** Llm Runner settings */\n llm_runner?: LlmRunnerModel;\n /** Pentest settings */\n pentest?: PentestModel;\n /** Usage settings */\n usage?: UsageModel;\n}\n\nexport interface OrganizationSchemaName {\n name: string;\n schema_name: string;\n}\n\nexport type OrganizationInvitationCreationSchemaTtl = number | null;\n\nexport type OrganizationInvitationCreationSchemaName = string | null;\n\n/**\n * Schema for the organization invitation creation.\n */\nexport interface OrganizationInvitationCreationSchema {\n email: string;\n name?: OrganizationInvitationCreationSchemaName;\n ttl?: OrganizationInvitationCreationSchemaTtl;\n usagePlan?: UsagePlanSchema;\n}\n\nexport type OrderedLlmPropertySchemaInteractionType = string | null;\n\nexport type OrderedLlmPropertySchemaDescription = string | null;\n\nexport interface OrderedLlmPropertySchema {\n description?: OrderedLlmPropertySchemaDescription;\n has_few_shot: boolean;\n id: number;\n in_dashboard?: boolean;\n interaction_type?: OrderedLlmPropertySchemaInteractionType;\n is_hidden?: boolean;\n /**\n * @minLength 1\n * @pattern ^[^'\";%`\\\\]*$\n */\n name: string;\n /** @minItems 1 */\n pipeline_elements_to_use: string[];\n property_config_id: number;\n /** @minLength 1 */\n score_steps: string;\n}\n\nexport type OrderByVersionExtendedModel =\n (typeof OrderByVersionExtendedModel)[keyof typeof OrderByVersionExtendedModel];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const OrderByVersionExtendedModel = {\n input_properties: 'input_properties',\n output_properties: 'output_properties',\n application_versions: 'application_versions',\n custom_properties: 'custom_properties',\n llm_properties: 'llm_properties',\n garak_properties: 'garak_properties'\n} as const;\n\nexport type OrderBySchemaSimilarityVersion = number | null;\n\nexport type OrderBySchemaColumn = string | SimilarityMetricEnum;\n\nexport type OrderByModel = (typeof OrderByModel)[keyof typeof OrderByModel];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const OrderByModel = {\n annotations: 'annotations',\n input_properties: 'input_properties',\n output_properties: 'output_properties',\n interactions: 'interactions',\n custom_properties: 'custom_properties',\n llm_properties: 'llm_properties',\n garak_properties: 'garak_properties'\n} as const;\n\nexport type OrderByDirection = (typeof OrderByDirection)[keyof typeof OrderByDirection];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const OrderByDirection = {\n asc: 'asc',\n desc: 'desc'\n} as const;\n\nexport interface OrderBySchema {\n column: OrderBySchemaColumn;\n direction?: OrderByDirection;\n model: OrderByModel;\n similarity_version?: OrderBySchemaSimilarityVersion;\n}\n\n/**\n * Operators for numeric and categorical filters.\n */\nexport type Operator = (typeof Operator)[keyof typeof Operator];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const Operator = {\n GE: 'GE',\n GT: 'GT',\n LE: 'LE',\n LT: 'LT',\n EQ: 'EQ',\n NEQ: 'NEQ',\n IN: 'IN',\n NIN: 'NIN',\n OVERLAP: 'OVERLAP'\n} as const;\n\nexport type OpenaiConnectionsSchemaApiType =\n (typeof OpenaiConnectionsSchemaApiType)[keyof typeof OpenaiConnectionsSchemaApiType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const OpenaiConnectionsSchemaApiType = {\n openai: 'openai'\n} as const;\n\nexport interface OpenaiConnectionsSchema {\n api_base?: string;\n api_key: string;\n api_type: OpenaiConnectionsSchemaApiType;\n /** The maximum number of tokens per request */\n max_tokens_per_request: number;\n /** The model to use for the connection */\n model: string;\n /** The price per token */\n property_price?: number;\n}\n\n/**\n * The deployment id for the connection\n */\nexport type OpenaiConnectionsPoolSchemaOrmDeploymentId = string | null;\n\n/**\n * The region to use for the AWS Bedrock API\n */\nexport type OpenaiConnectionsPoolSchemaOrmAwsRegionName = string | null;\n\n/**\n * The version of the api to use\n */\nexport type OpenaiConnectionsPoolSchemaOrmApiVersion = string | null;\n\n/**\n * The api key for the connection\n */\nexport type OpenaiConnectionsPoolSchemaOrmApiKey = string | null;\n\n/**\n * The base url for the connection\n */\nexport type OpenaiConnectionsPoolSchemaOrmApiBase = string | null;\n\nexport interface OpenaiConnectionsPoolSchemaOrm {\n /** The base url for the connection */\n api_base?: OpenaiConnectionsPoolSchemaOrmApiBase;\n /** The api key for the connection */\n api_key?: OpenaiConnectionsPoolSchemaOrmApiKey;\n /** The type of the connection */\n api_type: ApiType;\n /** The version of the api to use */\n api_version?: OpenaiConnectionsPoolSchemaOrmApiVersion;\n /** The region to use for the AWS Bedrock API */\n aws_region_name?: OpenaiConnectionsPoolSchemaOrmAwsRegionName;\n /** The deployment id for the connection */\n deployment_id?: OpenaiConnectionsPoolSchemaOrmDeploymentId;\n id: number;\n /** The maximum number of tokens per request */\n max_tokens_per_request: number;\n /** The model to use for the connection */\n model: string;\n /** The price per token */\n property_price?: number;\n}\n\nexport type MonitorFilterSchemaWindowSize = Frequency | null;\n\n/**\n * List of user interaction IDs to filter by. Maximum 1000 items allowed.\n */\nexport type MonitorFilterSchemaUserInteractionIds = string[] | null;\n\nexport type MonitorFilterSchemaTopics = string[] | null;\n\n/**\n * List of session IDs to filter by. Maximum 1000 items allowed.\n */\nexport type MonitorFilterSchemaSessionIds = string[] | null;\n\nexport type MonitorFilterSchemaSearch = SearchSchema | null;\n\nexport type MonitorFilterSchemaPropFilters = DataFilter[] | null;\n\nexport type MonitorFilterSchemaOrderBy = OrderBySchema[] | null;\n\nexport type MonitorFilterSchemaInteractionType = string | null;\n\nexport type MonitorFilterSchemaEnvironment = EnvType | null;\n\nexport type MonitorFilterSchemaAnnotations = AnnotationFilterSchema[] | null;\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const MonitorFilterSchemaAnnotationOriginsAnyOfItem = { ...AnnotationOrigin, 'no-origin': 'no-origin' } as const;\nexport type MonitorFilterSchemaAnnotationOrigins =\n | (typeof MonitorFilterSchemaAnnotationOriginsAnyOfItem)[keyof typeof MonitorFilterSchemaAnnotationOriginsAnyOfItem][]\n | null;\n\nexport interface MonitorFilterSchema {\n annotation_origins?: MonitorFilterSchemaAnnotationOrigins;\n annotations?: MonitorFilterSchemaAnnotations;\n end_time_epoch: number;\n environment?: MonitorFilterSchemaEnvironment;\n interaction_type?: MonitorFilterSchemaInteractionType;\n order_by?: MonitorFilterSchemaOrderBy;\n prop_filters?: MonitorFilterSchemaPropFilters;\n search?: MonitorFilterSchemaSearch;\n /** List of session IDs to filter by. Maximum 1000 items allowed. */\n session_ids?: MonitorFilterSchemaSessionIds;\n start_time_epoch: number;\n topics?: MonitorFilterSchemaTopics;\n /** Timezone */\n tz?: string;\n /** List of user interaction IDs to filter by. Maximum 1000 items allowed. */\n user_interaction_ids?: MonitorFilterSchemaUserInteractionIds;\n window_size?: MonitorFilterSchemaWindowSize;\n}\n\nexport interface LlmRunnerModel {\n llm_runner_enabled?: boolean;\n}\n\nexport type LlmRunResultScore = number | null;\n\nexport interface LlmRunResult {\n reason: string;\n score: LlmRunResultScore;\n}\n\nexport interface LlmRunInteraction {\n application_version_id: number;\n user_interaction_id: string;\n}\n\nexport type LlmPropertySchemaInteractionType = string | null;\n\nexport type LlmPropertySchemaDescription = string | null;\n\nexport interface LlmPropertySchema {\n description?: LlmPropertySchemaDescription;\n interaction_type?: LlmPropertySchemaInteractionType;\n /**\n * @minLength 1\n * @pattern ^[^'\";%`\\\\]*$\n */\n name: string;\n /** @minItems 1 */\n pipeline_elements_to_use: string[];\n /** @minLength 1 */\n score_steps: string;\n}\n\nexport interface LimitUsageSchema {\n limit: number;\n used: number;\n}\n\nexport type InvitationCreationSchemaTtl = number | null;\n\nexport type InvitationCreationSchemaEmail = string | string[];\n\n/**\n * Schema for the invitation creation.\n */\nexport interface InvitationCreationSchema {\n email: InvitationCreationSchemaEmail;\n ttl?: InvitationCreationSchemaTtl;\n}\n\nexport interface InteractionsFilterWithPaginationSchema {\n filter_schema?: FilterSchema;\n pagination_schema?: PaginationSchema;\n}\n\nexport type InteractionsComparisonResponseVersionsItem = InteractionSchema | null;\n\nexport type InteractionsComparisonResponseVersions = { [key: string]: InteractionsComparisonResponseVersionsItem[] };\n\nexport type InteractionsComparisonResponseMessage = string | null;\n\nexport interface InteractionsComparisonResponse {\n message: InteractionsComparisonResponseMessage;\n total: number;\n versions: InteractionsComparisonResponseVersions;\n}\n\nexport interface InteractionTypeSchema {\n id: number;\n name: string;\n}\n\nexport type InteractionTranslatedTextEntriesSchemaPrompt = TextEntrySchema | null;\n\nexport type InteractionTranslatedTextEntriesSchemaOutput = TextEntrySchema | null;\n\nexport type InteractionTranslatedTextEntriesSchemaInput = TextEntrySchema | null;\n\nexport type InteractionTranslatedTextEntriesSchemaInformationRetrieval = TextEntrySchema[] | null;\n\nexport type InteractionTranslatedTextEntriesSchemaHistory = TextEntrySchema[] | null;\n\nexport type InteractionTranslatedTextEntriesSchemaExpectedOutput = TextEntrySchema | null;\n\nexport interface InteractionTranslatedTextEntriesSchema {\n expected_output?: InteractionTranslatedTextEntriesSchemaExpectedOutput;\n history?: InteractionTranslatedTextEntriesSchemaHistory;\n information_retrieval?: InteractionTranslatedTextEntriesSchemaInformationRetrieval;\n input?: InteractionTranslatedTextEntriesSchemaInput;\n output?: InteractionTranslatedTextEntriesSchemaOutput;\n prompt?: InteractionTranslatedTextEntriesSchemaPrompt;\n}\n\nexport interface InteractionSessionSchema {\n application_version_id: number;\n created_at: string;\n env_type: EnvType;\n session_id: string;\n updated_at: string;\n}\n\nexport interface InteractionSessionCreateSchema {\n /** Environment type for the session */\n env_type: EnvType;\n /** Unique identifier for the session. If not provided, a UUID will be generated. */\n session_id?: string;\n}\n\nexport type InteractionSchemaTopic = string | null;\n\nexport type InteractionSchemaSteps = StepSchema[] | null;\n\nexport type InteractionSchemaStartedAt = string | null;\n\nexport type InteractionSchemaSimilaritiesAnyOf = { [key: string]: unknown };\n\nexport type InteractionSchemaSimilarities = InteractionSchemaSimilaritiesAnyOf | null;\n\nexport type InteractionSchemaSessionId = string | null;\n\nexport type InteractionSchemaPrompt = TextEntrySchema | null;\n\nexport type InteractionSchemaOutputProperties = OutputPropertiesSchema | null;\n\nexport type InteractionSchemaOutput = TextEntrySchema | null;\n\nexport type InteractionSchemaLlmPropertiesReasonsAnyOf = { [key: string]: unknown };\n\nexport type InteractionSchemaLlmPropertiesReasons = InteractionSchemaLlmPropertiesReasonsAnyOf | null;\n\nexport interface InteractionSchema {\n annotation: InteractionSchemaAnnotation;\n application_version_id: number;\n created_at: string;\n custom_properties: InteractionSchemaCustomProperties;\n env_type: EnvType;\n estimated_annotation: InteractionSchemaEstimatedAnnotation;\n expected_output: InteractionSchemaExpectedOutput;\n finished_at?: InteractionSchemaFinishedAt;\n garak_properties: InteractionSchemaGarakProperties;\n history: InteractionSchemaHistory;\n information_retrieval: InteractionSchemaInformationRetrieval;\n input: InteractionSchemaInput;\n input_properties: InteractionSchemaInputProperties;\n interaction_datetime: string;\n interaction_type?: InteractionSchemaInteractionType;\n is_completed: boolean;\n llm_properties: InteractionSchemaLlmProperties;\n llm_properties_reasons: InteractionSchemaLlmPropertiesReasons;\n output: InteractionSchemaOutput;\n output_properties: InteractionSchemaOutputProperties;\n prompt: InteractionSchemaPrompt;\n session_id?: InteractionSchemaSessionId;\n similarities: InteractionSchemaSimilarities;\n started_at?: InteractionSchemaStartedAt;\n steps?: InteractionSchemaSteps;\n topic: InteractionSchemaTopic;\n translated: InteractionTranslatedTextEntriesSchema;\n updated_at: string;\n user_interaction_id: string;\n}\n\nexport type InteractionSchemaLlmPropertiesAnyOf = { [key: string]: unknown };\n\nexport type InteractionSchemaLlmProperties = InteractionSchemaLlmPropertiesAnyOf | null;\n\nexport type InteractionSchemaInteractionType = InteractionTypeSchema | null;\n\nexport type InteractionSchemaInputProperties = InputPropertiesSchema | null;\n\nexport type InteractionSchemaInput = TextEntrySchema | null;\n\nexport type InteractionSchemaInformationRetrieval = TextEntrySchema[] | null;\n\nexport type InteractionSchemaHistory = TextEntrySchema[] | null;\n\nexport type InteractionSchemaGarakPropertiesAnyOf = { [key: string]: unknown };\n\nexport type InteractionSchemaGarakProperties = InteractionSchemaGarakPropertiesAnyOf | null;\n\nexport type InteractionSchemaFinishedAt = string | null;\n\nexport type InteractionSchemaExpectedOutput = TextEntrySchema | null;\n\nexport type InteractionSchemaEstimatedAnnotation = AnnotationSchema | null;\n\nexport type InteractionSchemaCustomPropertiesAnyOf = { [key: string]: unknown };\n\nexport type InteractionSchemaCustomProperties = InteractionSchemaCustomPropertiesAnyOf | null;\n\nexport type InteractionSchemaAnnotation = AnnotationSchema | null;\n\nexport type InteractionCreationSchemaVulnType = string | null;\n\nexport type InteractionCreationSchemaVulnTriggerStr = string | null;\n\nexport type InteractionCreationSchemaUserInteractionId = string | null;\n\n/**\n * Topic associated with the interaction. Topic longer than 40 characters will be truncated\n */\nexport type InteractionCreationSchemaTopic = string | null;\n\nexport type InteractionCreationSchemaStepsAnyOfItem = { [key: string]: string };\n\nexport type InteractionCreationSchemaSteps = InteractionCreationSchemaStepsAnyOfItem[] | null;\n\nexport type InteractionCreationSchemaStartedAt = string | number | null;\n\nexport type InteractionCreationSchemaSessionId = string | null;\n\nexport type InteractionCreationSchemaRawJsonDataAnyOf = { [key: string]: unknown };\n\nexport type InteractionCreationSchemaRawJsonData = InteractionCreationSchemaRawJsonDataAnyOf | null;\n\nexport type InteractionCreationSchemaOutput = string | null;\n\nexport type InteractionCreationSchemaInteractionType = string | null;\n\nexport type InteractionCreationSchemaInput = string | null;\n\nexport type InteractionCreationSchemaInformationRetrieval = string[] | string | null;\n\nexport type InteractionCreationSchemaHistory = string[] | string | null;\n\nexport type InteractionCreationSchemaFullPrompt = string | null;\n\nexport type InteractionCreationSchemaFinishedAt = string | number | null;\n\nexport type InteractionCreationSchemaExpectedOutput = string | null;\n\nexport type InteractionCreationSchemaCustomPropsAnyOf = { [key: string]: unknown };\n\nexport type InteractionCreationSchemaCustomProps = InteractionCreationSchemaCustomPropsAnyOf | null;\n\nexport type InteractionCreationSchemaAnnotationReason = string | null;\n\nexport type InteractionCreationSchemaAnnotation = AnnotationType | null;\n\nexport interface InteractionCreationSchema {\n annotation?: InteractionCreationSchemaAnnotation;\n annotation_reason?: InteractionCreationSchemaAnnotationReason;\n custom_props?: InteractionCreationSchemaCustomProps;\n expected_output?: InteractionCreationSchemaExpectedOutput;\n finished_at?: InteractionCreationSchemaFinishedAt;\n full_prompt?: InteractionCreationSchemaFullPrompt;\n history?: InteractionCreationSchemaHistory;\n information_retrieval?: InteractionCreationSchemaInformationRetrieval;\n input?: InteractionCreationSchemaInput;\n interaction_type?: InteractionCreationSchemaInteractionType;\n is_completed?: boolean;\n output?: InteractionCreationSchemaOutput;\n raw_json_data?: InteractionCreationSchemaRawJsonData;\n session_id?: InteractionCreationSchemaSessionId;\n started_at?: InteractionCreationSchemaStartedAt;\n steps?: InteractionCreationSchemaSteps;\n /** Topic associated with the interaction. Topic longer than 40 characters will be truncated */\n topic?: InteractionCreationSchemaTopic;\n user_interaction_id?: InteractionCreationSchemaUserInteractionId;\n vuln_trigger_str?: InteractionCreationSchemaVulnTriggerStr;\n vuln_type?: InteractionCreationSchemaVulnType;\n}\n\nexport type InsightType = (typeof InsightType)[keyof typeof InsightType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const InsightType = {\n Property_Segment: 'Property Segment',\n Weak_Segment: 'Weak Segment',\n Under_Annotated_Segment: 'Under Annotated Segment'\n} as const;\n\nexport interface InsightTextInfo {\n analysis: string;\n suggestions: string;\n}\n\nexport type InsightSchemaName = string | null;\n\nexport type InsightSchemaAdditionalTextInfo = InsightTextInfo | null;\n\nexport interface InsightSchema {\n additional_text_info: InsightSchemaAdditionalTextInfo;\n application_version_id: number;\n calculated_at: string;\n categorical_segment_filters: DataFilter[];\n env_type: string;\n id: number;\n insight_type: InsightType;\n interaction_type_id: number;\n interaction_type_name: string;\n n_of_samples: number;\n name: InsightSchemaName;\n percent_of_data: number;\n priority: number;\n properties: string;\n segment_filters: DataFilter[];\n segment_score: number;\n}\n\nexport type InputPropertiesSchemaURLsCount = number | null;\n\nexport type InputPropertiesSchemaUniqueNounCount = number | null;\n\nexport type InputPropertiesSchemaToxicity = number | null;\n\nexport type InputPropertiesSchemaTextLength = number | null;\n\nexport type InputPropertiesSchemaSubjectivity = number | null;\n\nexport type InputPropertiesSchemaSentiment = number | null;\n\nexport type InputPropertiesSchemaSentencesCount = number | null;\n\nexport type InputPropertiesSchemaReadingTime = number | null;\n\nexport type InputPropertiesSchemaReadingEase = number | null;\n\nexport type InputPropertiesSchemaMaxWordLength = number | null;\n\nexport type InputPropertiesSchemaLexicalDensity = number | null;\n\nexport type InputPropertiesSchemaLanguage = string[] | null;\n\nexport type InputPropertiesSchemaInputSafety = number | null;\n\nexport type InputPropertiesSchemaFormality = number | null;\n\nexport type InputPropertiesSchemaFluency = number | null;\n\nexport type InputPropertiesSchemaEmailAddressesCount = number | null;\n\nexport type InputPropertiesSchemaAverageWordsPerSentence = number | null;\n\nexport type InputPropertiesSchemaAverageWordLength = number | null;\n\nexport type InputPropertiesSchemaSpecialCharacters = number | null;\n\nexport interface InputPropertiesSchema {\n '% Special Characters': InputPropertiesSchemaSpecialCharacters;\n 'Average Word Length': InputPropertiesSchemaAverageWordLength;\n 'Average Words Per Sentence': InputPropertiesSchemaAverageWordsPerSentence;\n 'Email Addresses Count': InputPropertiesSchemaEmailAddressesCount;\n Fluency: InputPropertiesSchemaFluency;\n Formality: InputPropertiesSchemaFormality;\n 'Input Safety': InputPropertiesSchemaInputSafety;\n Language: InputPropertiesSchemaLanguage;\n 'Lexical Density': InputPropertiesSchemaLexicalDensity;\n 'Max Word Length': InputPropertiesSchemaMaxWordLength;\n 'Reading Ease': InputPropertiesSchemaReadingEase;\n 'Reading Time': InputPropertiesSchemaReadingTime;\n 'Sentences Count': InputPropertiesSchemaSentencesCount;\n Sentiment: InputPropertiesSchemaSentiment;\n Subjectivity: InputPropertiesSchemaSubjectivity;\n 'Text Length': InputPropertiesSchemaTextLength;\n Toxicity: InputPropertiesSchemaToxicity;\n 'Unique Noun Count': InputPropertiesSchemaUniqueNounCount;\n 'URLs Count': InputPropertiesSchemaURLsCount;\n}\n\nexport interface HTTPValidationError {\n detail?: ValidationError[];\n}\n\nexport type GenerateConfigNumberOfSubUrls = number | null;\n\nexport type GenerateConfigNumberOfSamplesToGenerate = number | null;\n\nexport type GenerateConfigExampleQuestions = string[] | null;\n\nexport type GenerateConfigEmailAddresses = string[] | null;\n\nexport type GenerateConfigApplicationDesc = string | null;\n\nexport interface GenerateConfig {\n application_desc: GenerateConfigApplicationDesc;\n as_csv?: boolean;\n email_addresses: GenerateConfigEmailAddresses;\n example_questions: GenerateConfigExampleQuestions;\n number_of_samples_to_generate?: GenerateConfigNumberOfSamplesToGenerate;\n number_of_sub_urls?: GenerateConfigNumberOfSubUrls;\n url_to_crawl: string;\n}\n\nexport type GeneralMetadataChunkText = string | null;\n\nexport type GeneralMetadataChunkDocumentIndex = number | null;\n\nexport interface GeneralMetadataChunk {\n document_index?: GeneralMetadataChunkDocumentIndex;\n end: number;\n score: number;\n start: number;\n text?: GeneralMetadataChunkText;\n}\n\n/**\n * Monitor execution frequency.\n */\nexport type Frequency = (typeof Frequency)[keyof typeof Frequency];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const Frequency = {\n HOUR: 'HOUR',\n DAY: 'DAY',\n WEEK: 'WEEK',\n MONTH: 'MONTH'\n} as const;\n\n/**\n * List of user interaction IDs to filter by. Maximum 1000 items allowed.\n */\nexport type FilterSchemaUserInteractionIds = string[] | null;\n\nexport type FilterSchemaTopics = string[] | null;\n\nexport type FilterSchemaStartTimeEpoch = number | null;\n\n/**\n * List of session IDs to filter by. Maximum 1000 items allowed.\n */\nexport type FilterSchemaSessionIds = string[] | null;\n\nexport type FilterSchemaSearch = SearchSchema | null;\n\nexport type FilterSchemaPropFilters = DataFilter[] | null;\n\nexport type FilterSchemaOrderBy = OrderBySchema[] | null;\n\nexport type FilterSchemaInteractionType = string | null;\n\nexport type FilterSchemaEnvironment = EnvType | null;\n\nexport type FilterSchemaEndTimeEpoch = number | null;\n\nexport type FilterSchemaAnnotations = AnnotationFilterSchema[] | null;\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const FilterSchemaAnnotationOriginsAnyOfItem = { ...AnnotationOrigin, 'no-origin': 'no-origin' } as const;\nexport type FilterSchemaAnnotationOrigins =\n | (typeof FilterSchemaAnnotationOriginsAnyOfItem)[keyof typeof FilterSchemaAnnotationOriginsAnyOfItem][]\n | null;\n\nexport interface FilterSchema {\n annotation_origins?: FilterSchemaAnnotationOrigins;\n annotations?: FilterSchemaAnnotations;\n end_time_epoch?: FilterSchemaEndTimeEpoch;\n environment?: FilterSchemaEnvironment;\n interaction_type?: FilterSchemaInteractionType;\n order_by?: FilterSchemaOrderBy;\n prop_filters?: FilterSchemaPropFilters;\n search?: FilterSchemaSearch;\n /** List of session IDs to filter by. Maximum 1000 items allowed. */\n session_ids?: FilterSchemaSessionIds;\n start_time_epoch?: FilterSchemaStartTimeEpoch;\n topics?: FilterSchemaTopics;\n /** List of user interaction IDs to filter by. Maximum 1000 items allowed. */\n user_interaction_ids?: FilterSchemaUserInteractionIds;\n}\n\nexport type EventToCheck = (typeof EventToCheck)[keyof typeof EventToCheck];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const EventToCheck = {\n topics_completed: 'topics_completed',\n properties_completed: 'properties_completed',\n similarity_completed: 'similarity_completed',\n llm_properties_completed: 'llm_properties_completed',\n annotation_completed: 'annotation_completed',\n dc_evaluation_completed: 'dc_evaluation_completed'\n} as const;\n\nexport type EnvType = (typeof EnvType)[keyof typeof EnvType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const EnvType = {\n PROD: 'PROD',\n EVAL: 'EVAL',\n PENTEST: 'PENTEST'\n} as const;\n\nexport type DefaultTimeRangeSchemaStartTime = number | null;\n\nexport type DefaultTimeRangeSchemaEndTime = number | null;\n\nexport interface DefaultTimeRangeSchema {\n end_time: DefaultTimeRangeSchemaEndTime;\n start_time: DefaultTimeRangeSchemaStartTime;\n}\n\n/**\n * Whether the datadog integration is enabled on not\n */\nexport type DatadogUserConfigDataEnabled = boolean | null;\n\n/**\n * The API Key to communicate with the user's datadog account\n */\nexport type DatadogUserConfigDataApiKey = string | null;\n\n/**\n * Datadog's user configuration data - the user can set the api key, and enable/disable using this config\n */\nexport interface DatadogUserConfigData {\n /** The API Key to communicate with the user's datadog account */\n api_key?: DatadogUserConfigDataApiKey;\n /** Whether the datadog integration is enabled on not */\n enabled?: DatadogUserConfigDataEnabled;\n}\n\n/**\n * Whether the datadog integration is enabled on not, set by deepchecks only\n */\nexport type DatadogSystemConfigDataEnabled = boolean | null;\n\n/**\n * Datadog's system configuration data - someone from deepchecks must enable the integration before setting the api key\nusing the DatadogUserConfigData\n */\nexport interface DatadogSystemConfigData {\n /** Whether the datadog integration is enabled on not, set by deepchecks only */\n enabled?: DatadogSystemConfigDataEnabled;\n}\n\nexport interface DatadogConfigData {\n system_config: DatadogSystemConfigData;\n user_config: DatadogUserConfigData;\n}\n\nexport type DataFilterValueAnyOfItem = string | null;\n\nexport type DataFilterValue = number | string | DataFilterValueAnyOfItem[] | null;\n\nexport type DataFilterPropertyType = PropertyType | null;\n\nexport interface DataFilter {\n column: string;\n operator: Operator;\n property_type?: DataFilterPropertyType;\n value: DataFilterValue;\n}\n\nexport type CustomPropDefinitionSchemaInteractionType = string | null;\n\nexport type CustomPropDefinitionSchemaDescription = string | null;\n\nexport interface CustomPropDefinitionSchema {\n description?: CustomPropDefinitionSchemaDescription;\n /** @pattern ^[^'\";%`\\\\]*$ */\n display_name: string;\n in_dashboard?: boolean;\n interaction_type?: CustomPropDefinitionSchemaInteractionType;\n is_editable?: boolean;\n is_hidden?: boolean;\n type: PropertyColumnType;\n}\n\nexport interface CreateUserSchema {\n email: string;\n name: string;\n}\n\nexport interface CreateOrganizationSchema {\n email: string;\n name: string;\n usagePlan?: UsagePlanSchema;\n}\n\nexport type CreateOrUpdatePropertySchemaThreshold = number | null;\n\nexport type CreateOrUpdatePropertySchemaInteractionType = string | null;\n\nexport type CreateOrUpdatePropertySchemaCondition = Operator | null;\n\nexport interface CreateOrUpdatePropertySchema {\n application_id: number;\n condition?: CreateOrUpdatePropertySchemaCondition;\n in_dashboard: boolean;\n interaction_type?: CreateOrUpdatePropertySchemaInteractionType;\n is_hidden: boolean;\n kind: PropertyType;\n text_property: string;\n threshold?: CreateOrUpdatePropertySchemaThreshold;\n}\n\nexport interface CreateNotificationEmailSchema {\n email: string;\n}\n\nexport type CreateInteractionTypeSchemaIconId = number | null;\n\nexport type CreateInteractionTypeSchemaDashboardProperties = BasePropertyDefinitionSchema[] | null;\n\nexport type CreateInteractionTypeSchemaCopyFromInteractionTypeId = number | null;\n\nexport type CreateInteractionTypeSchemaColorCode = string | null;\n\nexport interface CreateInteractionTypeSchema {\n color_code?: CreateInteractionTypeSchemaColorCode;\n copy_from_interaction_type_id?: CreateInteractionTypeSchemaCopyFromInteractionTypeId;\n dashboard_properties?: CreateInteractionTypeSchemaDashboardProperties;\n icon_id?: CreateInteractionTypeSchemaIconId;\n name: string;\n}\n\nexport type CreateApplicationVersionSchemaName = string | null;\n\nexport type CreateApplicationVersionSchemaDescription = string | null;\n\nexport type CreateApplicationVersionSchemaAdditionalFieldsAnyOfItem = { [key: string]: unknown };\n\nexport type CreateApplicationVersionSchemaAdditionalFields =\n | CreateApplicationVersionSchemaAdditionalFieldsAnyOfItem[]\n | null;\n\nexport interface CreateApplicationVersionSchema {\n additional_fields?: CreateApplicationVersionSchemaAdditionalFields;\n ai_model?: AIModel;\n application_id: number;\n description?: CreateApplicationVersionSchemaDescription;\n name?: CreateApplicationVersionSchemaName;\n}\n\nexport type ConfigTemplateName = (typeof ConfigTemplateName)[keyof typeof ConfigTemplateName];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const ConfigTemplateName = {\n 'Q&A': 'Q&A',\n Other: 'Other',\n Summarization: 'Summarization',\n Classification: 'Classification',\n Generation: 'Generation',\n Feature_Extraction: 'Feature Extraction',\n new_custom_type: 'new_custom_type'\n} as const;\n\nexport interface CompleteStatusSchema {\n all_completed: boolean;\n number_of_completed: number;\n}\n\nexport type CompareOnSchemaCompareOnPropertyName = string | null;\n\nexport interface CompareOnSchema {\n compare_on: CompareOnFieldEnum;\n compare_on_property_name?: CompareOnSchemaCompareOnPropertyName;\n compare_on_property_type?: CompareOnSchemaCompareOnPropertyType;\n}\n\nexport type CompareOnPropertyTypeEnum = (typeof CompareOnPropertyTypeEnum)[keyof typeof CompareOnPropertyTypeEnum];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const CompareOnPropertyTypeEnum = {\n input: 'input',\n output: 'output',\n custom: 'custom',\n llm: 'llm'\n} as const;\n\nexport type CompareOnSchemaCompareOnPropertyType = CompareOnPropertyTypeEnum | null;\n\nexport type CompareOnFieldEnum = (typeof CompareOnFieldEnum)[keyof typeof CompareOnFieldEnum];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const CompareOnFieldEnum = {\n annotation: 'annotation',\n similarity: 'similarity',\n blue_1_similarity: 'blue_1_similarity',\n rouge_1_similarity: 'rouge_1_similarity',\n property: 'property'\n} as const;\n\nexport type ChargeSchemaPlanAnyOf = { [key: string]: string };\n\nexport type ChargeSchemaPlan = ChargeSchemaPlanAnyOf | null;\n\n/**\n * Schema for the charge object.\n */\nexport interface ChargeSchema {\n amount: number;\n created: number;\n id: string;\n paid: boolean;\n plan: ChargeSchemaPlan;\n receipt_url: string;\n}\n\nexport type CategoryPropertyValueName = string | null;\n\nexport interface CategoryPropertyValue {\n count: number;\n name: CategoryPropertyValueName;\n}\n\nexport type CategoryName = (typeof CategoryName)[keyof typeof CategoryName];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const CategoryName = {\n TRANSLATION: 'TRANSLATION',\n DD_INTEGRATION: 'DD_INTEGRATION',\n DC_EVALUATOR: 'DC_EVALUATOR',\n DATADOG_USER_CONFIG: 'DATADOG_USER_CONFIG',\n DATADOG_SYSTEM_CONFIG: 'DATADOG_SYSTEM_CONFIG',\n LLM_PROPERTIES_MODEL: 'LLM_PROPERTIES_MODEL',\n LLM_COVERAGE_MODEL: 'LLM_COVERAGE_MODEL',\n LLM_EXPECTED_OUTPUT_SIMILARITY_MODEL: 'LLM_EXPECTED_OUTPUT_SIMILARITY_MODEL',\n LLM_TOPIC_MODEL: 'LLM_TOPIC_MODEL',\n LLM_SAMPLE_GENERATION_MODEL: 'LLM_SAMPLE_GENERATION_MODEL'\n} as const;\n\nexport interface BodyUploadApiV1UploadCsvPost {\n application_name: string;\n application_version_name: string;\n env_type: EnvType;\n file: Blob;\n}\n\nexport interface BodyUpdateInteractionTypeConfigRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigPut {\n file: Blob;\n}\n\nexport interface BodyUpdateApplicationConfigRouteApiV1ApplicationsAppIdConfigPut {\n file: Blob;\n}\n\nexport type BodyTestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPostFewShotFile =\n Blob | null;\n\nexport type BodyTestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPostDescription =\n | string\n | null;\n\nexport interface BodyTestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPost {\n description?: BodyTestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPostDescription;\n few_shot_file?: BodyTestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPostFewShotFile;\n name: string;\n pipeline_elements_to_use: string[];\n score_steps: string;\n}\n\nexport type BodyRecalcLlmPropertiesApiV1ApplicationsRecalcLlmPropertiesPutPropIdsToCalc = number[] | null;\n\nexport interface BodyRecalcLlmPropertiesApiV1ApplicationsRecalcLlmPropertiesPut {\n app_id: number;\n application_version_ids?: number[];\n environments: EnvType[];\n interaction_type: string;\n prop_ids_to_calc?: BodyRecalcLlmPropertiesApiV1ApplicationsRecalcLlmPropertiesPutPropIdsToCalc;\n}\n\nexport type BodyInteractionsComparisonApiV1ApplicationVersionsInteractionComparisonPostInteractionType = string | null;\n\nexport interface BodyInteractionsComparisonApiV1ApplicationVersionsInteractionComparisonPost {\n compare_on: CompareOnSchema;\n first_app_version_for_comparison: AppVersionForComparisonDataSchema;\n interaction_type?: BodyInteractionsComparisonApiV1ApplicationVersionsInteractionComparisonPostInteractionType;\n limit?: number;\n offset?: number;\n second_app_version_for_comparison: AppVersionForComparisonDataSchema;\n}\n\nexport interface BodyGetInteractionCompletionStatusApiV1ApplicationVersionsApplicationVersionIdInteractionsCompleteStatusPost {\n events_to_check: EventToCheck[];\n user_interaction_ids: string[];\n}\n\nexport interface BodyGenerateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePost {\n description?: string;\n guidelines: string;\n}\n\nexport interface BodyDownloadInteractions {\n application_version_id: number;\n env_type?: EnvType;\n interaction_type: string;\n user_interaction_ids: string[];\n}\n\nexport type BodyCreateLlmPropsDefinitionsInteractionType = string | null;\n\nexport type BodyCreateLlmPropsDefinitionsFewShotFile = Blob | null;\n\nexport type BodyCreateLlmPropsDefinitionsDescription = string | null;\n\nexport interface BodyCreateLlmPropsDefinitions {\n description?: BodyCreateLlmPropsDefinitionsDescription;\n few_shot_file?: BodyCreateLlmPropsDefinitionsFewShotFile;\n interaction_type?: BodyCreateLlmPropsDefinitionsInteractionType;\n name: string;\n pipeline_elements_to_use: string[];\n score_steps: string;\n}\n\nexport interface BodyCreateInteractions {\n app_name: string;\n env_type: EnvType;\n interactions: InteractionCreationSchema[];\n version_name: string;\n}\n\nexport interface BodyCopyInteractionToEvalSetApiV1CopyInteractionToEvalSetPost {\n application_version_id: number;\n user_interaction_ids: string[];\n}\n\nexport type BodyAddSourceApiV1GoldensetGeneratorTaskTaskIdDataSourcePostUrlToCrawl = string | null;\n\nexport type BodyAddSourceApiV1GoldensetGeneratorTaskTaskIdDataSourcePostFile = Blob | null;\n\nexport interface BodyAddSourceApiV1GoldensetGeneratorTaskTaskIdDataSourcePost {\n file?: BodyAddSourceApiV1GoldensetGeneratorTaskTaskIdDataSourcePostFile;\n url_to_crawl?: BodyAddSourceApiV1GoldensetGeneratorTaskTaskIdDataSourcePostUrlToCrawl;\n}\n\nexport type BedrockConnectionsSchemaApiType =\n (typeof BedrockConnectionsSchemaApiType)[keyof typeof BedrockConnectionsSchemaApiType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const BedrockConnectionsSchemaApiType = {\n bedrock: 'bedrock'\n} as const;\n\nexport interface BedrockConnectionsSchema {\n api_type: BedrockConnectionsSchemaApiType;\n aws_region_name: string;\n /** The maximum number of tokens per request */\n max_tokens_per_request: number;\n /** The model to use for the connection */\n model: string;\n /** The price per token */\n property_price?: number;\n}\n\nexport interface BasePropertyDefinitionSchema {\n property_name: string;\n property_type: PropertyType;\n}\n\nexport type BaseApplicationVersionSchemaName = string | null;\n\nexport type BaseApplicationVersionSchemaDescription = string | null;\n\nexport type BaseApplicationVersionSchemaAdditionalFieldsAnyOfItem = { [key: string]: unknown };\n\nexport type BaseApplicationVersionSchemaAdditionalFields =\n | BaseApplicationVersionSchemaAdditionalFieldsAnyOfItem[]\n | null;\n\n/**\n * The id of the connection, Do not provide this field\n */\nexport type AzureTranslationConnectionsSchemaId = number | null;\n\nexport interface AzureTranslationConnectionsSchema {\n /** The id of the connection, Do not provide this field */\n id?: AzureTranslationConnectionsSchemaId;\n /** The key for the connection */\n key: string;\n /** The region to use for the connection */\n region: string;\n}\n\nexport type AzureOpenaiConnectionsSchemaApiType =\n (typeof AzureOpenaiConnectionsSchemaApiType)[keyof typeof AzureOpenaiConnectionsSchemaApiType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AzureOpenaiConnectionsSchemaApiType = {\n azure: 'azure'\n} as const;\n\nexport interface AzureOpenaiConnectionsSchema {\n api_base: string;\n api_key: string;\n api_type: AzureOpenaiConnectionsSchemaApiType;\n api_version?: string;\n deployment_id: string;\n /** The maximum number of tokens per request */\n max_tokens_per_request: number;\n /** The model to use for the connection */\n model: string;\n /** The price per token */\n property_price?: number;\n}\n\nexport type ApplicationVersionSchemaLastUpload = string | null;\n\nexport type ApplicationVersionSchemaDescription = string | null;\n\nexport type ApplicationVersionSchemaAdditionalFieldsItem = { [key: string]: unknown };\n\nexport interface ApplicationVersionSchema {\n additional_fields: ApplicationVersionSchemaAdditionalFieldsItem[];\n ai_model: AIModel;\n application_id: number;\n created_at: string;\n description: ApplicationVersionSchemaDescription;\n id: number;\n last_upload?: ApplicationVersionSchemaLastUpload;\n name: string;\n updated_at: string;\n}\n\nexport type ApplicationVersionExtendedSchemaProd = PerEnvApplicationVersionExtendedSchema | null;\n\nexport type ApplicationVersionExtendedSchemaPentest = PerEnvApplicationVersionExtendedSchema | null;\n\nexport type ApplicationVersionExtendedSchemaLastUpload = string | null;\n\nexport type ApplicationVersionExtendedSchemaEval = PerEnvApplicationVersionExtendedSchema | null;\n\nexport type ApplicationVersionExtendedSchemaDescription = string | null;\n\nexport type ApplicationVersionExtendedSchemaAdditionalFieldsItem = { [key: string]: unknown };\n\nexport interface ApplicationVersionExtendedSchema {\n additional_fields: ApplicationVersionExtendedSchemaAdditionalFieldsItem[];\n ai_model: AIModel;\n application_id: number;\n created_at: string;\n description: ApplicationVersionExtendedSchemaDescription;\n eval?: ApplicationVersionExtendedSchemaEval;\n id: number;\n last_upload?: ApplicationVersionExtendedSchemaLastUpload;\n name: string;\n pentest?: ApplicationVersionExtendedSchemaPentest;\n prod?: ApplicationVersionExtendedSchemaProd;\n updated_at: string;\n}\n\nexport type ApplicationUpdateSchemaNotificationsEnabled = boolean | null;\n\nexport type ApplicationUpdateSchemaName = string | null;\n\nexport type ApplicationUpdateSchemaDescription = string | null;\n\nexport type ApplicationType = (typeof ApplicationType)[keyof typeof ApplicationType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const ApplicationType = {\n 'Q&A': 'Q&A',\n OTHER: 'OTHER',\n SUMMARIZATION: 'SUMMARIZATION',\n GENERATION: 'GENERATION',\n CLASSIFICATION: 'CLASSIFICATION',\n FEATURE_EXTRACTION: 'FEATURE EXTRACTION'\n} as const;\n\nexport type ApplicationUpdateSchemaKind = ApplicationType | null;\n\nexport interface ApplicationUpdateSchema {\n description?: ApplicationUpdateSchemaDescription;\n id: number;\n kind?: ApplicationUpdateSchemaKind;\n name?: ApplicationUpdateSchemaName;\n notifications_enabled?: ApplicationUpdateSchemaNotificationsEnabled;\n}\n\nexport type ApplicationSchemaNotificationsEnabled = boolean | null;\n\nexport type ApplicationSchemaNOfLlmProperties = number | null;\n\nexport type ApplicationSchemaNOfInteractions = number | null;\n\nexport type ApplicationSchemaLogLatestInsertTimeEpoch = number | null;\n\nexport type ApplicationSchemaLastUpload = string | null;\n\nexport type ApplicationSchemaDescription = string | null;\n\nexport interface ApplicationSchema {\n created_at: string;\n description: ApplicationSchemaDescription;\n id: number;\n in_progress: boolean;\n interaction_types: ReadInteractionTypeSchema[];\n kind: ApplicationType;\n last_upload?: ApplicationSchemaLastUpload;\n log_latest_insert_time_epoch: ApplicationSchemaLogLatestInsertTimeEpoch;\n n_of_interactions?: ApplicationSchemaNOfInteractions;\n n_of_llm_properties?: ApplicationSchemaNOfLlmProperties;\n name: string;\n notifications_enabled: ApplicationSchemaNotificationsEnabled;\n updated_at: string;\n versions: ApplicationVersionSchema[];\n}\n\nexport interface ApplicationNotificationEmailSchema {\n application_id: number;\n email: string;\n id: number;\n}\n\nexport type ApplicationLogSchemaEnvType = EnvType | null;\n\nexport type ApplicationLogSchemaApplicationVersionId = number | null;\n\nexport interface ApplicationLogSchema {\n application_version_id: ApplicationLogSchemaApplicationVersionId;\n created_at: string;\n env_type: ApplicationLogSchemaEnvType;\n id: number;\n log_level: AppLogLevelType;\n message: string;\n message_type: AppLogMessageType;\n}\n\nexport type ApplicationCreationSchemaPropertyConfigs = PropertyConfigCreationSchema[] | null;\n\nexport type ApplicationCreationSchemaDescription = string | null;\n\nexport type ApplicationCreationSchemaCustomProperties = CustomPropDefinitionSchema[] | null;\n\nexport interface ApplicationCreationSchema {\n custom_properties?: ApplicationCreationSchemaCustomProperties;\n description?: ApplicationCreationSchemaDescription;\n kind: ApplicationType;\n name: string;\n property_configs?: ApplicationCreationSchemaPropertyConfigs;\n versions: BaseApplicationVersionSchema[];\n}\n\nexport type AppVersionTopicsResponseSchemaStatus = Status | null;\n\nexport interface AppVersionTopicSchema {\n count: number;\n topic_name: string;\n}\n\nexport interface AppVersionTopicsResponseSchema {\n status: AppVersionTopicsResponseSchemaStatus;\n topics: AppVersionTopicSchema[];\n}\n\nexport interface AppVersionForComparisonDataSchema {\n env: EnvType;\n id: number;\n}\n\nexport type AppTokensUsageReportEnvTokens = { [key: string]: TokensSchema };\n\nexport interface AppTokensUsageReport {\n application_name: string;\n env_tokens: AppTokensUsageReportEnvTokens;\n}\n\nexport type AppLogMessageType = (typeof AppLogMessageType)[keyof typeof AppLogMessageType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AppLogMessageType = {\n data_load: 'data_load',\n delete_entity: 'delete_entity',\n configuration_updated: 'configuration_updated',\n missing_data: 'missing_data',\n quota_exceeded: 'quota_exceeded',\n calibration: 'calibration'\n} as const;\n\nexport type AppLogLevelType = (typeof AppLogLevelType)[keyof typeof AppLogLevelType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AppLogLevelType = {\n info: 'info',\n warning: 'warning',\n error: 'error'\n} as const;\n\nexport type ApiType = (typeof ApiType)[keyof typeof ApiType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const ApiType = {\n azure: 'azure',\n openai: 'openai',\n bedrock: 'bedrock'\n} as const;\n\nexport interface AnnotationsOriginCount {\n annotation_origin: AnnotationOrigin;\n count: number;\n}\n\nexport type AnnotationsMonitorSchemaValuesItem = AnnotationPointSchema | null;\n\nexport interface AnnotationsMonitorSchema {\n frequency: Frequency;\n values: AnnotationsMonitorSchemaValuesItem[];\n window_list: string[];\n}\n\nexport interface AnnotationsDistributionSchema {\n bad?: AnnotationDistributionInfoSchema;\n good?: AnnotationDistributionInfoSchema;\n unknown?: AnnotationDistributionInfoSchema;\n}\n\nexport type AnnotationUpdateSchemaReason = string | null;\n\nexport interface AnnotationTypeResultSchema {\n estimated?: AnnotationOriginResultSchema;\n user?: AnnotationOriginResultSchema;\n}\n\nexport type AnnotationType = (typeof AnnotationType)[keyof typeof AnnotationType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AnnotationType = {\n good: 'good',\n bad: 'bad',\n unknown: 'unknown'\n} as const;\n\nexport type AnnotationUpdateSchemaValue = AnnotationType | null;\n\nexport interface AnnotationUpdateSchema {\n application_version_id: number;\n reason?: AnnotationUpdateSchemaReason;\n revert_to_estimated?: boolean;\n user_interaction_id: string;\n value?: AnnotationUpdateSchemaValue;\n}\n\nexport type AnnotationSource = (typeof AnnotationSource)[keyof typeof AnnotationSource];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AnnotationSource = {\n user_annotated: 'user_annotated',\n estimated: 'estimated'\n} as const;\n\nexport type AnnotationSchemaValue = AnnotationType | null;\n\nexport type AnnotationSchemaSimilarityReason = SimilarityReasonSchema | null;\n\nexport type AnnotationSchemaReason = string | null;\n\nexport interface AnnotationSchema {\n created_at: string;\n is_estimated: boolean;\n origin: AnnotationSchemaOrigin;\n reason: AnnotationSchemaReason;\n similarity_reason: AnnotationSchemaSimilarityReason;\n updated_at: string;\n value: AnnotationSchemaValue;\n}\n\nexport type AnnotationPointSchemaPerTypeResults = { [key: string]: AnnotationTypeResultSchema };\n\nexport interface AnnotationPointSchema {\n amount: number;\n end_time: string;\n per_type_results: AnnotationPointSchemaPerTypeResults;\n score: number;\n start_time: string;\n}\n\nexport interface AnnotationOriginResultSchema {\n amount?: number;\n percentage?: number;\n ratio?: number;\n}\n\nexport type AnnotationSchemaOrigin = AnnotationOrigin | null;\n\nexport interface AnnotationPerPropertySchema {\n count: number;\n name: string;\n origin: AnnotationOrigin;\n}\n\nexport interface AnnotationInfoSchema {\n bad?: number;\n good?: number;\n pending?: number;\n score?: number;\n unknown?: number;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AnnotationFilterSchemaValue = { ...AnnotationType, pending: 'pending' } as const;\nexport type AnnotationFilterSchemaSource = AnnotationSource | null;\n\nexport interface AnnotationFilterSchema {\n source?: AnnotationFilterSchemaSource;\n value: (typeof AnnotationFilterSchemaValue)[keyof typeof AnnotationFilterSchemaValue];\n}\n\nexport type AnnotationDistributionInfoSchemaPerProperty = AnnotationPerPropertySchema[] | null;\n\nexport interface AnnotationDistributionInfoSchema {\n per_property?: AnnotationDistributionInfoSchemaPerProperty;\n total_estimated?: number;\n total_user?: number;\n}\n\nexport interface AdminOpsData {\n read_permission: boolean;\n write_permission: boolean;\n}\n\nexport type ActorKey = (typeof ActorKey)[keyof typeof ActorKey];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const ActorKey = {\n AnnotationEstimator: 'AnnotationEstimator',\n InsightCalculator: 'InsightCalculator',\n LlmPropertyCalculator: 'LlmPropertyCalculator',\n PropCalcBatcher: 'PropCalcBatcher',\n PropertyCalculator: 'PropertyCalculator',\n TopicsTraining: 'TopicsTraining',\n TopicsInference: 'TopicsInference',\n Translation: 'Translation'\n} as const;\n\nexport type AIModel = (typeof AIModel)[keyof typeof AIModel];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AIModel = {\n 'gpt35-turbo': 'gpt3.5-turbo'\n} as const;\n\nexport interface BaseApplicationVersionSchema {\n additional_fields?: BaseApplicationVersionSchemaAdditionalFields;\n ai_model?: AIModel;\n description?: BaseApplicationVersionSchemaDescription;\n name?: BaseApplicationVersionSchemaName;\n}\n\n/**\n * @summary Logout\n */\nexport const logoutApiV1AuthLogoutGet = (signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/auth/logout`, method: 'GET', signal });\n};\n\nexport const getLogoutApiV1AuthLogoutGetQueryKey = () => {\n return [`/api/v1/auth/logout`] as const;\n};\n\nexport const getLogoutApiV1AuthLogoutGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getLogoutApiV1AuthLogoutGetQueryKey();\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n logoutApiV1AuthLogoutGet(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type LogoutApiV1AuthLogoutGetQueryResult = NonNullable>>;\nexport type LogoutApiV1AuthLogoutGetQueryError = ErrorType;\n\n/**\n * @summary Logout\n */\n\nexport function useLogoutApiV1AuthLogoutGet<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getLogoutApiV1AuthLogoutGetQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * @summary Health Check\n */\nexport const healthCheckApiV1HealthCheckGet = (signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/health-check`, method: 'GET', signal });\n};\n\nexport const getHealthCheckApiV1HealthCheckGetQueryKey = () => {\n return [`/api/v1/health-check`] as const;\n};\n\nexport const getHealthCheckApiV1HealthCheckGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getHealthCheckApiV1HealthCheckGetQueryKey();\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n healthCheckApiV1HealthCheckGet(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type HealthCheckApiV1HealthCheckGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type HealthCheckApiV1HealthCheckGetQueryError = ErrorType;\n\n/**\n * @summary Health Check\n */\n\nexport function useHealthCheckApiV1HealthCheckGet<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getHealthCheckApiV1HealthCheckGetQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Redirect to the Auth0 signup page.\n * @summary Auth0 Signup\n */\nexport const auth0SignupApiV1AuthSignupAuth0Get = (signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/auth/signup/auth0`, method: 'GET', signal });\n};\n\nexport const getAuth0SignupApiV1AuthSignupAuth0GetQueryKey = () => {\n return [`/api/v1/auth/signup/auth0`] as const;\n};\n\nexport const getAuth0SignupApiV1AuthSignupAuth0GetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getAuth0SignupApiV1AuthSignupAuth0GetQueryKey();\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n auth0SignupApiV1AuthSignupAuth0Get(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type Auth0SignupApiV1AuthSignupAuth0GetQueryResult = NonNullable<\n Awaited>\n>;\nexport type Auth0SignupApiV1AuthSignupAuth0GetQueryError = ErrorType;\n\n/**\n * @summary Auth0 Signup\n */\n\nexport function useAuth0SignupApiV1AuthSignupAuth0Get<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getAuth0SignupApiV1AuthSignupAuth0GetQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Redirect to the Auth0 login page.\n * @summary Auth0 Login\n */\nexport const auth0LoginApiV1AuthLoginAuth0Get = (signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/auth/login/auth0`, method: 'GET', signal });\n};\n\nexport const getAuth0LoginApiV1AuthLoginAuth0GetQueryKey = () => {\n return [`/api/v1/auth/login/auth0`] as const;\n};\n\nexport const getAuth0LoginApiV1AuthLoginAuth0GetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getAuth0LoginApiV1AuthLoginAuth0GetQueryKey();\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n auth0LoginApiV1AuthLoginAuth0Get(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type Auth0LoginApiV1AuthLoginAuth0GetQueryResult = NonNullable<\n Awaited>\n>;\nexport type Auth0LoginApiV1AuthLoginAuth0GetQueryError = ErrorType;\n\n/**\n * @summary Auth0 Login\n */\n\nexport function useAuth0LoginApiV1AuthLoginAuth0Get<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getAuth0LoginApiV1AuthLoginAuth0GetQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * @summary Auth0 Callback\n */\nexport const auth0CallbackApiV1AuthLoginAuth0CallbackGet = (signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/auth/login/auth0/callback`, method: 'GET', signal });\n};\n\nexport const getAuth0CallbackApiV1AuthLoginAuth0CallbackGetQueryKey = () => {\n return [`/api/v1/auth/login/auth0/callback`] as const;\n};\n\nexport const getAuth0CallbackApiV1AuthLoginAuth0CallbackGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getAuth0CallbackApiV1AuthLoginAuth0CallbackGetQueryKey();\n\n const queryFn: QueryFunction>> = ({\n signal\n }) => auth0CallbackApiV1AuthLoginAuth0CallbackGet(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type Auth0CallbackApiV1AuthLoginAuth0CallbackGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type Auth0CallbackApiV1AuthLoginAuth0CallbackGetQueryError = ErrorType;\n\n/**\n * @summary Auth0 Callback\n */\n\nexport function useAuth0CallbackApiV1AuthLoginAuth0CallbackGet<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getAuth0CallbackApiV1AuthLoginAuth0CallbackGetQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Retrieve user details\n * @summary Retrieve User Info\n */\nexport const retrieveUserInfoApiV1UsersMeGet = (signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/users/me`, method: 'GET', signal });\n};\n\nexport const getRetrieveUserInfoApiV1UsersMeGetQueryKey = () => {\n return [`/api/v1/users/me`] as const;\n};\n\nexport const getRetrieveUserInfoApiV1UsersMeGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getRetrieveUserInfoApiV1UsersMeGetQueryKey();\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n retrieveUserInfoApiV1UsersMeGet(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type RetrieveUserInfoApiV1UsersMeGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type RetrieveUserInfoApiV1UsersMeGetQueryError = ErrorType;\n\n/**\n * @summary Retrieve User Info\n */\n\nexport function useRetrieveUserInfoApiV1UsersMeGet<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getRetrieveUserInfoApiV1UsersMeGetQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Resend user verification email.\n * @summary Send Verification Email\n */\nexport const sendVerificationEmailApiV1UsersSendVerificationEmailGet = (signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/users/send-verification-email`, method: 'GET', signal });\n};\n\nexport const getSendVerificationEmailApiV1UsersSendVerificationEmailGetQueryKey = () => {\n return [`/api/v1/users/send-verification-email`] as const;\n};\n\nexport const getSendVerificationEmailApiV1UsersSendVerificationEmailGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getSendVerificationEmailApiV1UsersSendVerificationEmailGetQueryKey();\n\n const queryFn: QueryFunction>> = ({\n signal\n }) => sendVerificationEmailApiV1UsersSendVerificationEmailGet(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type SendVerificationEmailApiV1UsersSendVerificationEmailGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type SendVerificationEmailApiV1UsersSendVerificationEmailGetQueryError = ErrorType;\n\n/**\n * @summary Send Verification Email\n */\n\nexport function useSendVerificationEmailApiV1UsersSendVerificationEmailGet<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getSendVerificationEmailApiV1UsersSendVerificationEmailGetQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Retrive an organization.\n * @summary Retrive Organization\n */\nexport const retriveOrganizationApiV1OrganizationGet = (signal?: AbortSignal) => {\n return customInstance({\n url: `/api/v1/organization`,\n method: 'GET',\n signal\n });\n};\n\nexport const getRetriveOrganizationApiV1OrganizationGetQueryKey = () => {\n return [`/api/v1/organization`] as const;\n};\n\nexport const getRetriveOrganizationApiV1OrganizationGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getRetriveOrganizationApiV1OrganizationGetQueryKey();\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n retriveOrganizationApiV1OrganizationGet(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type RetriveOrganizationApiV1OrganizationGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type RetriveOrganizationApiV1OrganizationGetQueryError = ErrorType;\n\n/**\n * @summary Retrive Organization\n */\n\nexport function useRetriveOrganizationApiV1OrganizationGet<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getRetriveOrganizationApiV1OrganizationGetQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Remove an organization.\n * @summary Remove Organization\n */\nexport const removeOrganizationApiV1OrganizationDelete = () => {\n return customInstance({ url: `/api/v1/organization`, method: 'DELETE' });\n};\n\nexport const getRemoveOrganizationApiV1OrganizationDeleteMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n void,\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n void,\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n void\n > = () => {\n return removeOrganizationApiV1OrganizationDelete();\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type RemoveOrganizationApiV1OrganizationDeleteMutationResult = NonNullable<\n Awaited>\n>;\n\nexport type RemoveOrganizationApiV1OrganizationDeleteMutationError = ErrorType;\n\n/**\n * @summary Remove Organization\n */\nexport const useRemoveOrganizationApiV1OrganizationDelete = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n void,\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n void,\n TContext\n> => {\n const mutationOptions = getRemoveOrganizationApiV1OrganizationDeleteMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Create organization for user.\n * @summary Get Complete Details\n */\nexport const getCompleteDetailsApiV1UsersCompleteDetailsGet = (\n params: GetCompleteDetailsApiV1UsersCompleteDetailsGetParams,\n signal?: AbortSignal\n) => {\n return customInstance({ url: `/api/v1/users/complete-details`, method: 'GET', params, signal });\n};\n\nexport const getGetCompleteDetailsApiV1UsersCompleteDetailsGetQueryKey = (\n params: GetCompleteDetailsApiV1UsersCompleteDetailsGetParams\n) => {\n return [`/api/v1/users/complete-details`, ...(params ? [params] : [])] as const;\n};\n\nexport const getGetCompleteDetailsApiV1UsersCompleteDetailsGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n params: GetCompleteDetailsApiV1UsersCompleteDetailsGetParams,\n options?: {\n query?: UseQueryOptions>, TError, TData>;\n }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetCompleteDetailsApiV1UsersCompleteDetailsGetQueryKey(params);\n\n const queryFn: QueryFunction>> = ({\n signal\n }) => getCompleteDetailsApiV1UsersCompleteDetailsGet(params, signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetCompleteDetailsApiV1UsersCompleteDetailsGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetCompleteDetailsApiV1UsersCompleteDetailsGetQueryError = ErrorType;\n\n/**\n * @summary Get Complete Details\n */\n\nexport function useGetCompleteDetailsApiV1UsersCompleteDetailsGet<\n TData = Awaited>,\n TError = ErrorType\n>(\n params: GetCompleteDetailsApiV1UsersCompleteDetailsGetParams,\n options?: {\n query?: UseQueryOptions>, TError, TData>;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetCompleteDetailsApiV1UsersCompleteDetailsGetQueryOptions(params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Invite a new user by email to the organization\n * @summary Create Invite\n */\nexport const inviteUserToOrg = (invitationCreationSchema: InvitationCreationSchema) => {\n return customInstance({\n url: `/api/v1/organization-invite`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: invitationCreationSchema\n });\n};\n\nexport const getInviteUserToOrgMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: InvitationCreationSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { data: InvitationCreationSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { data: InvitationCreationSchema }\n > = props => {\n const { data } = props ?? {};\n\n return inviteUserToOrg(data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type InviteUserToOrgMutationResult = NonNullable>>;\nexport type InviteUserToOrgMutationBody = InvitationCreationSchema;\nexport type InviteUserToOrgMutationError = ErrorType;\n\n/**\n * @summary Create Invite\n */\nexport const useInviteUserToOrg = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: InvitationCreationSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { data: InvitationCreationSchema },\n TContext\n> => {\n const mutationOptions = getInviteUserToOrgMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Disable user invite.\n * @summary Close Invite\n */\nexport const closeInviteApiV1OrganizationInviteEmailDelete = (email: string) => {\n return customInstance({ url: `/api/v1/organization-invite/${email}`, method: 'DELETE' });\n};\n\nexport const getCloseInviteApiV1OrganizationInviteEmailDeleteMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { email: string },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { email: string },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { email: string }\n > = props => {\n const { email } = props ?? {};\n\n return closeInviteApiV1OrganizationInviteEmailDelete(email);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type CloseInviteApiV1OrganizationInviteEmailDeleteMutationResult = NonNullable<\n Awaited>\n>;\n\nexport type CloseInviteApiV1OrganizationInviteEmailDeleteMutationError = ErrorType;\n\n/**\n * @summary Close Invite\n */\nexport const useCloseInviteApiV1OrganizationInviteEmailDelete = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { email: string },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { email: string },\n TContext\n> => {\n const mutationOptions = getCloseInviteApiV1OrganizationInviteEmailDeleteMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Accept End-User License Aggrement\n * @summary Eula-Acceptance\n */\nexport const eulaAcceptanceApiV1UsersAcceptEulaGet = (signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/users/accept-eula`, method: 'GET', signal });\n};\n\nexport const getEulaAcceptanceApiV1UsersAcceptEulaGetQueryKey = () => {\n return [`/api/v1/users/accept-eula`] as const;\n};\n\nexport const getEulaAcceptanceApiV1UsersAcceptEulaGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getEulaAcceptanceApiV1UsersAcceptEulaGetQueryKey();\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n eulaAcceptanceApiV1UsersAcceptEulaGet(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type EulaAcceptanceApiV1UsersAcceptEulaGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type EulaAcceptanceApiV1UsersAcceptEulaGetQueryError = ErrorType;\n\n/**\n * @summary Eula-Acceptance\n */\n\nexport function useEulaAcceptanceApiV1UsersAcceptEulaGet<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getEulaAcceptanceApiV1UsersAcceptEulaGetQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * @summary Get All Organizations\n */\nexport const getAllOrganizationsApiV1OrganizationsGet = (signal?: AbortSignal) => {\n return customInstance({\n url: `/api/v1/organizations`,\n method: 'GET',\n signal\n });\n};\n\nexport const getGetAllOrganizationsApiV1OrganizationsGetQueryKey = () => {\n return [`/api/v1/organizations`] as const;\n};\n\nexport const getGetAllOrganizationsApiV1OrganizationsGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetAllOrganizationsApiV1OrganizationsGetQueryKey();\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n getAllOrganizationsApiV1OrganizationsGet(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetAllOrganizationsApiV1OrganizationsGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetAllOrganizationsApiV1OrganizationsGetQueryError = ErrorType;\n\n/**\n * @summary Get All Organizations\n */\n\nexport function useGetAllOrganizationsApiV1OrganizationsGet<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetAllOrganizationsApiV1OrganizationsGetQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * @summary Create Organization\n */\nexport const createOrganizationApiV1OrganizationsPost = (createOrganizationSchema: CreateOrganizationSchema) => {\n return customInstance({\n url: `/api/v1/organizations`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: createOrganizationSchema\n });\n};\n\nexport const getCreateOrganizationApiV1OrganizationsPostMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: CreateOrganizationSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { data: CreateOrganizationSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { data: CreateOrganizationSchema }\n > = props => {\n const { data } = props ?? {};\n\n return createOrganizationApiV1OrganizationsPost(data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type CreateOrganizationApiV1OrganizationsPostMutationResult = NonNullable<\n Awaited>\n>;\nexport type CreateOrganizationApiV1OrganizationsPostMutationBody = CreateOrganizationSchema;\nexport type CreateOrganizationApiV1OrganizationsPostMutationError = ErrorType;\n\n/**\n * @summary Create Organization\n */\nexport const useCreateOrganizationApiV1OrganizationsPost = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: CreateOrganizationSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { data: CreateOrganizationSchema },\n TContext\n> => {\n const mutationOptions = getCreateOrganizationApiV1OrganizationsPostMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * @summary Create User For Org\n */\nexport const createUserForOrgApiV1OrganizationsOrganizationSchemaNameUsersPost = (\n organizationSchemaName: string,\n createUserSchema: CreateUserSchema\n) => {\n return customInstance({\n url: `/api/v1/organizations/${organizationSchemaName}/users`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: createUserSchema\n });\n};\n\nexport const getCreateUserForOrgApiV1OrganizationsOrganizationSchemaNameUsersPostMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { organizationSchemaName: string; data: CreateUserSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { organizationSchemaName: string; data: CreateUserSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { organizationSchemaName: string; data: CreateUserSchema }\n > = props => {\n const { organizationSchemaName, data } = props ?? {};\n\n return createUserForOrgApiV1OrganizationsOrganizationSchemaNameUsersPost(organizationSchemaName, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type CreateUserForOrgApiV1OrganizationsOrganizationSchemaNameUsersPostMutationResult = NonNullable<\n Awaited>\n>;\nexport type CreateUserForOrgApiV1OrganizationsOrganizationSchemaNameUsersPostMutationBody = CreateUserSchema;\nexport type CreateUserForOrgApiV1OrganizationsOrganizationSchemaNameUsersPostMutationError =\n ErrorType;\n\n/**\n * @summary Create User For Org\n */\nexport const useCreateUserForOrgApiV1OrganizationsOrganizationSchemaNameUsersPost = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { organizationSchemaName: string; data: CreateUserSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { organizationSchemaName: string; data: CreateUserSchema },\n TContext\n> => {\n const mutationOptions = getCreateUserForOrgApiV1OrganizationsOrganizationSchemaNameUsersPostMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * @summary Get All Users\n */\nexport const getAllUsersApiV1OrganizationsOrganizationSchemaNameUsersGet = (\n organizationSchemaName: string,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/organizations/${organizationSchemaName}/users`,\n method: 'GET',\n signal\n });\n};\n\nexport const getGetAllUsersApiV1OrganizationsOrganizationSchemaNameUsersGetQueryKey = (\n organizationSchemaName: string\n) => {\n return [`/api/v1/organizations/${organizationSchemaName}/users`] as const;\n};\n\nexport const getGetAllUsersApiV1OrganizationsOrganizationSchemaNameUsersGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n organizationSchemaName: string,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey =\n queryOptions?.queryKey ??\n getGetAllUsersApiV1OrganizationsOrganizationSchemaNameUsersGetQueryKey(organizationSchemaName);\n\n const queryFn: QueryFunction<\n Awaited>\n > = ({ signal }) => getAllUsersApiV1OrganizationsOrganizationSchemaNameUsersGet(organizationSchemaName, signal);\n\n return { queryKey, queryFn, enabled: !!organizationSchemaName, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetAllUsersApiV1OrganizationsOrganizationSchemaNameUsersGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetAllUsersApiV1OrganizationsOrganizationSchemaNameUsersGetQueryError = ErrorType;\n\n/**\n * @summary Get All Users\n */\n\nexport function useGetAllUsersApiV1OrganizationsOrganizationSchemaNameUsersGet<\n TData = Awaited>,\n TError = ErrorType\n>(\n organizationSchemaName: string,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetAllUsersApiV1OrganizationsOrganizationSchemaNameUsersGetQueryOptions(\n organizationSchemaName,\n options\n );\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Create invite between organization and a user.\n * @summary Create Invite\n */\nexport const createInviteApiV1OrganizationCreationInvitePost = (\n organizationInvitationCreationSchema: OrganizationInvitationCreationSchema\n) => {\n return customInstance({\n url: `/api/v1/organization-creation-invite`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: organizationInvitationCreationSchema\n });\n};\n\nexport const getCreateInviteApiV1OrganizationCreationInvitePostMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: OrganizationInvitationCreationSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { data: OrganizationInvitationCreationSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { data: OrganizationInvitationCreationSchema }\n > = props => {\n const { data } = props ?? {};\n\n return createInviteApiV1OrganizationCreationInvitePost(data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type CreateInviteApiV1OrganizationCreationInvitePostMutationResult = NonNullable<\n Awaited>\n>;\nexport type CreateInviteApiV1OrganizationCreationInvitePostMutationBody = OrganizationInvitationCreationSchema;\nexport type CreateInviteApiV1OrganizationCreationInvitePostMutationError = ErrorType;\n\n/**\n * @summary Create Invite\n */\nexport const useCreateInviteApiV1OrganizationCreationInvitePost = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: OrganizationInvitationCreationSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { data: OrganizationInvitationCreationSchema },\n TContext\n> => {\n const mutationOptions = getCreateInviteApiV1OrganizationCreationInvitePostMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * @summary Get Org Schema\n */\nexport const getOrgSchemaApiV1OrganizationOrganizationSchemaNameSettingsGet = (\n organizationSchemaName: string,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/organization/${organizationSchemaName}/settings`,\n method: 'GET',\n signal\n });\n};\n\nexport const getGetOrgSchemaApiV1OrganizationOrganizationSchemaNameSettingsGetQueryKey = (\n organizationSchemaName: string\n) => {\n return [`/api/v1/organization/${organizationSchemaName}/settings`] as const;\n};\n\nexport const getGetOrgSchemaApiV1OrganizationOrganizationSchemaNameSettingsGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n organizationSchemaName: string,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey =\n queryOptions?.queryKey ??\n getGetOrgSchemaApiV1OrganizationOrganizationSchemaNameSettingsGetQueryKey(organizationSchemaName);\n\n const queryFn: QueryFunction<\n Awaited>\n > = ({ signal }) => getOrgSchemaApiV1OrganizationOrganizationSchemaNameSettingsGet(organizationSchemaName, signal);\n\n return { queryKey, queryFn, enabled: !!organizationSchemaName, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetOrgSchemaApiV1OrganizationOrganizationSchemaNameSettingsGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetOrgSchemaApiV1OrganizationOrganizationSchemaNameSettingsGetQueryError = ErrorType;\n\n/**\n * @summary Get Org Schema\n */\n\nexport function useGetOrgSchemaApiV1OrganizationOrganizationSchemaNameSettingsGet<\n TData = Awaited>,\n TError = ErrorType\n>(\n organizationSchemaName: string,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetOrgSchemaApiV1OrganizationOrganizationSchemaNameSettingsGetQueryOptions(\n organizationSchemaName,\n options\n );\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * @summary Put Org Schema\n */\nexport const putOrgSchemaApiV1OrganizationOrganizationSchemaNameSettingsPut = (\n organizationSchemaName: string,\n organizationSettingsModel: OrganizationSettingsModel\n) => {\n return customInstance({\n url: `/api/v1/organization/${organizationSchemaName}/settings`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: organizationSettingsModel\n });\n};\n\nexport const getPutOrgSchemaApiV1OrganizationOrganizationSchemaNameSettingsPutMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { organizationSchemaName: string; data: OrganizationSettingsModel },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { organizationSchemaName: string; data: OrganizationSettingsModel },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { organizationSchemaName: string; data: OrganizationSettingsModel }\n > = props => {\n const { organizationSchemaName, data } = props ?? {};\n\n return putOrgSchemaApiV1OrganizationOrganizationSchemaNameSettingsPut(organizationSchemaName, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type PutOrgSchemaApiV1OrganizationOrganizationSchemaNameSettingsPutMutationResult = NonNullable<\n Awaited>\n>;\nexport type PutOrgSchemaApiV1OrganizationOrganizationSchemaNameSettingsPutMutationBody = OrganizationSettingsModel;\nexport type PutOrgSchemaApiV1OrganizationOrganizationSchemaNameSettingsPutMutationError =\n ErrorType;\n\n/**\n * @summary Put Org Schema\n */\nexport const usePutOrgSchemaApiV1OrganizationOrganizationSchemaNameSettingsPut = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { organizationSchemaName: string; data: OrganizationSettingsModel },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { organizationSchemaName: string; data: OrganizationSettingsModel },\n TContext\n> => {\n const mutationOptions = getPutOrgSchemaApiV1OrganizationOrganizationSchemaNameSettingsPutMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * @summary Invite Users To Organization\n */\nexport const inviteUsersToOrganizationApiV1OrganizationsOrganizationSchemaNameInvitePut = (\n organizationSchemaName: string,\n invitationCreationSchema: InvitationCreationSchema\n) => {\n return customInstance({\n url: `/api/v1/organizations/${organizationSchemaName}/invite`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: invitationCreationSchema\n });\n};\n\nexport const getInviteUsersToOrganizationApiV1OrganizationsOrganizationSchemaNameInvitePutMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { organizationSchemaName: string; data: InvitationCreationSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { organizationSchemaName: string; data: InvitationCreationSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { organizationSchemaName: string; data: InvitationCreationSchema }\n > = props => {\n const { organizationSchemaName, data } = props ?? {};\n\n return inviteUsersToOrganizationApiV1OrganizationsOrganizationSchemaNameInvitePut(organizationSchemaName, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type InviteUsersToOrganizationApiV1OrganizationsOrganizationSchemaNameInvitePutMutationResult = NonNullable<\n Awaited>\n>;\nexport type InviteUsersToOrganizationApiV1OrganizationsOrganizationSchemaNameInvitePutMutationBody =\n InvitationCreationSchema;\nexport type InviteUsersToOrganizationApiV1OrganizationsOrganizationSchemaNameInvitePutMutationError =\n ErrorType;\n\n/**\n * @summary Invite Users To Organization\n */\nexport const useInviteUsersToOrganizationApiV1OrganizationsOrganizationSchemaNameInvitePut = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { organizationSchemaName: string; data: InvitationCreationSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { organizationSchemaName: string; data: InvitationCreationSchema },\n TContext\n> => {\n const mutationOptions =\n getInviteUsersToOrganizationApiV1OrganizationsOrganizationSchemaNameInvitePutMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * @summary Delete User From Org\n */\nexport const deleteUserFromOrgApiV1OrganizationsOrganizationSchemaNameUsersEmailDelete = (\n organizationSchemaName: string,\n email: string,\n params: DeleteUserFromOrgApiV1OrganizationsOrganizationSchemaNameUsersEmailDeleteParams\n) => {\n return customInstance({\n url: `/api/v1/organizations/${organizationSchemaName}/users/${email}`,\n method: 'DELETE',\n params\n });\n};\n\nexport const getDeleteUserFromOrgApiV1OrganizationsOrganizationSchemaNameUsersEmailDeleteMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n {\n organizationSchemaName: string;\n email: string;\n params: DeleteUserFromOrgApiV1OrganizationsOrganizationSchemaNameUsersEmailDeleteParams;\n },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n {\n organizationSchemaName: string;\n email: string;\n params: DeleteUserFromOrgApiV1OrganizationsOrganizationSchemaNameUsersEmailDeleteParams;\n },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n {\n organizationSchemaName: string;\n email: string;\n params: DeleteUserFromOrgApiV1OrganizationsOrganizationSchemaNameUsersEmailDeleteParams;\n }\n > = props => {\n const { organizationSchemaName, email, params } = props ?? {};\n\n return deleteUserFromOrgApiV1OrganizationsOrganizationSchemaNameUsersEmailDelete(\n organizationSchemaName,\n email,\n params\n );\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteUserFromOrgApiV1OrganizationsOrganizationSchemaNameUsersEmailDeleteMutationResult = NonNullable<\n Awaited>\n>;\n\nexport type DeleteUserFromOrgApiV1OrganizationsOrganizationSchemaNameUsersEmailDeleteMutationError =\n ErrorType;\n\n/**\n * @summary Delete User From Org\n */\nexport const useDeleteUserFromOrgApiV1OrganizationsOrganizationSchemaNameUsersEmailDelete = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n {\n organizationSchemaName: string;\n email: string;\n params: DeleteUserFromOrgApiV1OrganizationsOrganizationSchemaNameUsersEmailDeleteParams;\n },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n {\n organizationSchemaName: string;\n email: string;\n params: DeleteUserFromOrgApiV1OrganizationsOrganizationSchemaNameUsersEmailDeleteParams;\n },\n TContext\n> => {\n const mutationOptions =\n getDeleteUserFromOrgApiV1OrganizationsOrganizationSchemaNameUsersEmailDeleteMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * @summary Delete Org\n */\nexport const deleteOrgApiV1OrganizationsOrganizationSchemaNameDelete = (organizationSchemaName: string) => {\n return customInstance({ url: `/api/v1/organizations/${organizationSchemaName}`, method: 'DELETE' });\n};\n\nexport const getDeleteOrgApiV1OrganizationsOrganizationSchemaNameDeleteMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { organizationSchemaName: string },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { organizationSchemaName: string },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { organizationSchemaName: string }\n > = props => {\n const { organizationSchemaName } = props ?? {};\n\n return deleteOrgApiV1OrganizationsOrganizationSchemaNameDelete(organizationSchemaName);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteOrgApiV1OrganizationsOrganizationSchemaNameDeleteMutationResult = NonNullable<\n Awaited>\n>;\n\nexport type DeleteOrgApiV1OrganizationsOrganizationSchemaNameDeleteMutationError = ErrorType;\n\n/**\n * @summary Delete Org\n */\nexport const useDeleteOrgApiV1OrganizationsOrganizationSchemaNameDelete = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { organizationSchemaName: string },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { organizationSchemaName: string },\n TContext\n> => {\n const mutationOptions = getDeleteOrgApiV1OrganizationsOrganizationSchemaNameDeleteMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Recalculate similarities\n * @summary Recalc Similarities\n */\nexport const recalcSimilaritiesApiV1OrganizationOrganizationSchemaNameRecalcSimilarityPut = (\n organizationSchemaName: string\n) => {\n return customInstance({\n url: `/api/v1/organization/${organizationSchemaName}/recalc-similarity`,\n method: 'PUT'\n });\n};\n\nexport const getRecalcSimilaritiesApiV1OrganizationOrganizationSchemaNameRecalcSimilarityPutMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { organizationSchemaName: string },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { organizationSchemaName: string },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { organizationSchemaName: string }\n > = props => {\n const { organizationSchemaName } = props ?? {};\n\n return recalcSimilaritiesApiV1OrganizationOrganizationSchemaNameRecalcSimilarityPut(organizationSchemaName);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type RecalcSimilaritiesApiV1OrganizationOrganizationSchemaNameRecalcSimilarityPutMutationResult = NonNullable<\n Awaited>\n>;\n\nexport type RecalcSimilaritiesApiV1OrganizationOrganizationSchemaNameRecalcSimilarityPutMutationError =\n ErrorType;\n\n/**\n * @summary Recalc Similarities\n */\nexport const useRecalcSimilaritiesApiV1OrganizationOrganizationSchemaNameRecalcSimilarityPut = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { organizationSchemaName: string },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { organizationSchemaName: string },\n TContext\n> => {\n const mutationOptions =\n getRecalcSimilaritiesApiV1OrganizationOrganizationSchemaNameRecalcSimilarityPutMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Recalculate eval probas\n * @summary Recalc Eval Probas\n */\nexport const recalcEvalProbasApiV1OrganizationOrganizationSchemaNameRecalcProbasPut = (\n organizationSchemaName: string,\n params?: RecalcEvalProbasApiV1OrganizationOrganizationSchemaNameRecalcProbasPutParams\n) => {\n return customInstance({\n url: `/api/v1/organization/${organizationSchemaName}/recalc-probas`,\n method: 'PUT',\n params\n });\n};\n\nexport const getRecalcEvalProbasApiV1OrganizationOrganizationSchemaNameRecalcProbasPutMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n {\n organizationSchemaName: string;\n params?: RecalcEvalProbasApiV1OrganizationOrganizationSchemaNameRecalcProbasPutParams;\n },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n {\n organizationSchemaName: string;\n params?: RecalcEvalProbasApiV1OrganizationOrganizationSchemaNameRecalcProbasPutParams;\n },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n {\n organizationSchemaName: string;\n params?: RecalcEvalProbasApiV1OrganizationOrganizationSchemaNameRecalcProbasPutParams;\n }\n > = props => {\n const { organizationSchemaName, params } = props ?? {};\n\n return recalcEvalProbasApiV1OrganizationOrganizationSchemaNameRecalcProbasPut(organizationSchemaName, params);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type RecalcEvalProbasApiV1OrganizationOrganizationSchemaNameRecalcProbasPutMutationResult = NonNullable<\n Awaited>\n>;\n\nexport type RecalcEvalProbasApiV1OrganizationOrganizationSchemaNameRecalcProbasPutMutationError =\n ErrorType;\n\n/**\n * @summary Recalc Eval Probas\n */\nexport const useRecalcEvalProbasApiV1OrganizationOrganizationSchemaNameRecalcProbasPut = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n {\n organizationSchemaName: string;\n params?: RecalcEvalProbasApiV1OrganizationOrganizationSchemaNameRecalcProbasPutParams;\n },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n {\n organizationSchemaName: string;\n params?: RecalcEvalProbasApiV1OrganizationOrganizationSchemaNameRecalcProbasPutParams;\n },\n TContext\n> => {\n const mutationOptions =\n getRecalcEvalProbasApiV1OrganizationOrganizationSchemaNameRecalcProbasPutMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Recalculate oss and non oss properties\n * @summary Recalc Non Oss Properties\n */\nexport const recalcNonOssPropertiesApiV1OrganizationOrganizationSchemaNameRecalcNonOssPropertiesPut = (\n organizationSchemaName: string,\n params?: RecalcNonOssPropertiesApiV1OrganizationOrganizationSchemaNameRecalcNonOssPropertiesPutParams\n) => {\n return customInstance({\n url: `/api/v1/organization/${organizationSchemaName}/recalc-non-oss-properties`,\n method: 'PUT',\n params\n });\n};\n\nexport const getRecalcNonOssPropertiesApiV1OrganizationOrganizationSchemaNameRecalcNonOssPropertiesPutMutationOptions =\n , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited<\n ReturnType\n >,\n TError,\n {\n organizationSchemaName: string;\n params?: RecalcNonOssPropertiesApiV1OrganizationOrganizationSchemaNameRecalcNonOssPropertiesPutParams;\n },\n TContext\n >;\n }): UseMutationOptions<\n Awaited>,\n TError,\n {\n organizationSchemaName: string;\n params?: RecalcNonOssPropertiesApiV1OrganizationOrganizationSchemaNameRecalcNonOssPropertiesPutParams;\n },\n TContext\n > => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited<\n ReturnType\n >,\n {\n organizationSchemaName: string;\n params?: RecalcNonOssPropertiesApiV1OrganizationOrganizationSchemaNameRecalcNonOssPropertiesPutParams;\n }\n > = props => {\n const { organizationSchemaName, params } = props ?? {};\n\n return recalcNonOssPropertiesApiV1OrganizationOrganizationSchemaNameRecalcNonOssPropertiesPut(\n organizationSchemaName,\n params\n );\n };\n\n return { mutationFn, ...mutationOptions };\n };\n\nexport type RecalcNonOssPropertiesApiV1OrganizationOrganizationSchemaNameRecalcNonOssPropertiesPutMutationResult =\n NonNullable<\n Awaited>\n >;\n\nexport type RecalcNonOssPropertiesApiV1OrganizationOrganizationSchemaNameRecalcNonOssPropertiesPutMutationError =\n ErrorType;\n\n/**\n * @summary Recalc Non Oss Properties\n */\nexport const useRecalcNonOssPropertiesApiV1OrganizationOrganizationSchemaNameRecalcNonOssPropertiesPut = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n {\n organizationSchemaName: string;\n params?: RecalcNonOssPropertiesApiV1OrganizationOrganizationSchemaNameRecalcNonOssPropertiesPutParams;\n },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n {\n organizationSchemaName: string;\n params?: RecalcNonOssPropertiesApiV1OrganizationOrganizationSchemaNameRecalcNonOssPropertiesPutParams;\n },\n TContext\n> => {\n const mutationOptions =\n getRecalcNonOssPropertiesApiV1OrganizationOrganizationSchemaNameRecalcNonOssPropertiesPutMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Get organizations by search pattern.\n * @summary Set Usage Price\n */\nexport const setUsagePriceApiV1UtilsOrganizationSchemaNameGet = (\n params: SetUsagePriceApiV1UtilsOrganizationSchemaNameGetParams,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/utils/organization_schema_name`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getSetUsagePriceApiV1UtilsOrganizationSchemaNameGetQueryKey = (\n params: SetUsagePriceApiV1UtilsOrganizationSchemaNameGetParams\n) => {\n return [`/api/v1/utils/organization_schema_name`, ...(params ? [params] : [])] as const;\n};\n\nexport const getSetUsagePriceApiV1UtilsOrganizationSchemaNameGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n params: SetUsagePriceApiV1UtilsOrganizationSchemaNameGetParams,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getSetUsagePriceApiV1UtilsOrganizationSchemaNameGetQueryKey(params);\n\n const queryFn: QueryFunction>> = ({\n signal\n }) => setUsagePriceApiV1UtilsOrganizationSchemaNameGet(params, signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type SetUsagePriceApiV1UtilsOrganizationSchemaNameGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type SetUsagePriceApiV1UtilsOrganizationSchemaNameGetQueryError = ErrorType;\n\n/**\n * @summary Set Usage Price\n */\n\nexport function useSetUsagePriceApiV1UtilsOrganizationSchemaNameGet<\n TData = Awaited>,\n TError = ErrorType\n>(\n params: SetUsagePriceApiV1UtilsOrganizationSchemaNameGetParams,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getSetUsagePriceApiV1UtilsOrganizationSchemaNameGetQueryOptions(params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Get user allowed admin operations.\n * @summary Get Admin Operations\n */\nexport const getAdminOperationsApiV1UtilsAdminOperationsGet = (signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/utils/admin-operations`, method: 'GET', signal });\n};\n\nexport const getGetAdminOperationsApiV1UtilsAdminOperationsGetQueryKey = () => {\n return [`/api/v1/utils/admin-operations`] as const;\n};\n\nexport const getGetAdminOperationsApiV1UtilsAdminOperationsGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetAdminOperationsApiV1UtilsAdminOperationsGetQueryKey();\n\n const queryFn: QueryFunction>> = ({\n signal\n }) => getAdminOperationsApiV1UtilsAdminOperationsGet(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetAdminOperationsApiV1UtilsAdminOperationsGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetAdminOperationsApiV1UtilsAdminOperationsGetQueryError = ErrorType;\n\n/**\n * @summary Get Admin Operations\n */\n\nexport function useGetAdminOperationsApiV1UtilsAdminOperationsGet<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetAdminOperationsApiV1UtilsAdminOperationsGetQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * @summary Set Usage Plan\n */\nexport const adminSetUsagePlan = (organizationSchemaName: string, usagePlanSchema: UsagePlanSchema) => {\n return customInstance({\n url: `/api/v1/metering/admin/${organizationSchemaName}/usage-plan`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: usagePlanSchema\n });\n};\n\nexport const getAdminSetUsagePlanMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { organizationSchemaName: string; data: UsagePlanSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { organizationSchemaName: string; data: UsagePlanSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { organizationSchemaName: string; data: UsagePlanSchema }\n > = props => {\n const { organizationSchemaName, data } = props ?? {};\n\n return adminSetUsagePlan(organizationSchemaName, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type AdminSetUsagePlanMutationResult = NonNullable>>;\nexport type AdminSetUsagePlanMutationBody = UsagePlanSchema;\nexport type AdminSetUsagePlanMutationError = ErrorType;\n\n/**\n * @summary Set Usage Plan\n */\nexport const useAdminSetUsagePlan = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { organizationSchemaName: string; data: UsagePlanSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { organizationSchemaName: string; data: UsagePlanSchema },\n TContext\n> => {\n const mutationOptions = getAdminSetUsagePlanMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * @summary Get Usage Plan\n */\nexport const adminGetUsagePlan = (organizationSchemaName: string, signal?: AbortSignal) => {\n return customInstance({\n url: `/api/v1/metering/admin/${organizationSchemaName}/usage-plan`,\n method: 'GET',\n signal\n });\n};\n\nexport const getAdminGetUsagePlanQueryKey = (organizationSchemaName: string) => {\n return [`/api/v1/metering/admin/${organizationSchemaName}/usage-plan`] as const;\n};\n\nexport const getAdminGetUsagePlanQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n organizationSchemaName: string,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getAdminGetUsagePlanQueryKey(organizationSchemaName);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n adminGetUsagePlan(organizationSchemaName, signal);\n\n return { queryKey, queryFn, enabled: !!organizationSchemaName, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type AdminGetUsagePlanQueryResult = NonNullable>>;\nexport type AdminGetUsagePlanQueryError = ErrorType;\n\n/**\n * @summary Get Usage Plan\n */\n\nexport function useAdminGetUsagePlan<\n TData = Awaited>,\n TError = ErrorType\n>(\n organizationSchemaName: string,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getAdminGetUsagePlanQueryOptions(organizationSchemaName, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Retrieve the bill for a given period for org\n * @summary Get Usage Bill\n */\nexport const getUsageBillApiV1UsageOrganizationSchemaNameGet = (\n organizationSchemaName: string,\n params?: GetUsageBillApiV1UsageOrganizationSchemaNameGetParams,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/usage/${organizationSchemaName}`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getGetUsageBillApiV1UsageOrganizationSchemaNameGetQueryKey = (\n organizationSchemaName: string,\n params?: GetUsageBillApiV1UsageOrganizationSchemaNameGetParams\n) => {\n return [`/api/v1/usage/${organizationSchemaName}`, ...(params ? [params] : [])] as const;\n};\n\nexport const getGetUsageBillApiV1UsageOrganizationSchemaNameGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n organizationSchemaName: string,\n params?: GetUsageBillApiV1UsageOrganizationSchemaNameGetParams,\n options?: {\n query?: UseQueryOptions>, TError, TData>;\n }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey =\n queryOptions?.queryKey ??\n getGetUsageBillApiV1UsageOrganizationSchemaNameGetQueryKey(organizationSchemaName, params);\n\n const queryFn: QueryFunction>> = ({\n signal\n }) => getUsageBillApiV1UsageOrganizationSchemaNameGet(organizationSchemaName, params, signal);\n\n return { queryKey, queryFn, enabled: !!organizationSchemaName, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetUsageBillApiV1UsageOrganizationSchemaNameGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetUsageBillApiV1UsageOrganizationSchemaNameGetQueryError = ErrorType;\n\n/**\n * @summary Get Usage Bill\n */\n\nexport function useGetUsageBillApiV1UsageOrganizationSchemaNameGet<\n TData = Awaited>,\n TError = ErrorType\n>(\n organizationSchemaName: string,\n params?: GetUsageBillApiV1UsageOrganizationSchemaNameGetParams,\n options?: {\n query?: UseQueryOptions>, TError, TData>;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetUsageBillApiV1UsageOrganizationSchemaNameGetQueryOptions(\n organizationSchemaName,\n params,\n options\n );\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Create or update a configuration\n * @summary Create Config\n */\nexport const createConfigApiV1ConfigsOrganizationSchemaNamePut = (\n organizationSchemaName: string,\n createConfigApiV1ConfigsOrganizationSchemaNamePutBody: CreateConfigApiV1ConfigsOrganizationSchemaNamePutBody,\n params: CreateConfigApiV1ConfigsOrganizationSchemaNamePutParams\n) => {\n return customInstance({\n url: `/api/v1/configs/${organizationSchemaName}`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: createConfigApiV1ConfigsOrganizationSchemaNamePutBody,\n params\n });\n};\n\nexport const getCreateConfigApiV1ConfigsOrganizationSchemaNamePutMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n {\n organizationSchemaName: string;\n data: CreateConfigApiV1ConfigsOrganizationSchemaNamePutBody;\n params: CreateConfigApiV1ConfigsOrganizationSchemaNamePutParams;\n },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n {\n organizationSchemaName: string;\n data: CreateConfigApiV1ConfigsOrganizationSchemaNamePutBody;\n params: CreateConfigApiV1ConfigsOrganizationSchemaNamePutParams;\n },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n {\n organizationSchemaName: string;\n data: CreateConfigApiV1ConfigsOrganizationSchemaNamePutBody;\n params: CreateConfigApiV1ConfigsOrganizationSchemaNamePutParams;\n }\n > = props => {\n const { organizationSchemaName, data, params } = props ?? {};\n\n return createConfigApiV1ConfigsOrganizationSchemaNamePut(organizationSchemaName, data, params);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type CreateConfigApiV1ConfigsOrganizationSchemaNamePutMutationResult = NonNullable<\n Awaited>\n>;\nexport type CreateConfigApiV1ConfigsOrganizationSchemaNamePutMutationBody =\n CreateConfigApiV1ConfigsOrganizationSchemaNamePutBody;\nexport type CreateConfigApiV1ConfigsOrganizationSchemaNamePutMutationError = ErrorType;\n\n/**\n * @summary Create Config\n */\nexport const useCreateConfigApiV1ConfigsOrganizationSchemaNamePut = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n {\n organizationSchemaName: string;\n data: CreateConfigApiV1ConfigsOrganizationSchemaNamePutBody;\n params: CreateConfigApiV1ConfigsOrganizationSchemaNamePutParams;\n },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n {\n organizationSchemaName: string;\n data: CreateConfigApiV1ConfigsOrganizationSchemaNamePutBody;\n params: CreateConfigApiV1ConfigsOrganizationSchemaNamePutParams;\n },\n TContext\n> => {\n const mutationOptions = getCreateConfigApiV1ConfigsOrganizationSchemaNamePutMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Get a configuration\n * @summary Get Config\n */\nexport const getConfigApiV1ConfigsOrganizationSchemaNameGet = (\n organizationSchemaName: string,\n params: GetConfigApiV1ConfigsOrganizationSchemaNameGetParams,\n signal?: AbortSignal\n) => {\n return customInstance({ url: `/api/v1/configs/${organizationSchemaName}`, method: 'GET', params, signal });\n};\n\nexport const getGetConfigApiV1ConfigsOrganizationSchemaNameGetQueryKey = (\n organizationSchemaName: string,\n params: GetConfigApiV1ConfigsOrganizationSchemaNameGetParams\n) => {\n return [`/api/v1/configs/${organizationSchemaName}`, ...(params ? [params] : [])] as const;\n};\n\nexport const getGetConfigApiV1ConfigsOrganizationSchemaNameGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n organizationSchemaName: string,\n params: GetConfigApiV1ConfigsOrganizationSchemaNameGetParams,\n options?: {\n query?: UseQueryOptions>, TError, TData>;\n }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey =\n queryOptions?.queryKey ?? getGetConfigApiV1ConfigsOrganizationSchemaNameGetQueryKey(organizationSchemaName, params);\n\n const queryFn: QueryFunction>> = ({\n signal\n }) => getConfigApiV1ConfigsOrganizationSchemaNameGet(organizationSchemaName, params, signal);\n\n return { queryKey, queryFn, enabled: !!organizationSchemaName, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetConfigApiV1ConfigsOrganizationSchemaNameGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetConfigApiV1ConfigsOrganizationSchemaNameGetQueryError = ErrorType;\n\n/**\n * @summary Get Config\n */\n\nexport function useGetConfigApiV1ConfigsOrganizationSchemaNameGet<\n TData = Awaited>,\n TError = ErrorType\n>(\n organizationSchemaName: string,\n params: GetConfigApiV1ConfigsOrganizationSchemaNameGetParams,\n options?: {\n query?: UseQueryOptions>, TError, TData>;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetConfigApiV1ConfigsOrganizationSchemaNameGetQueryOptions(\n organizationSchemaName,\n params,\n options\n );\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Get all configurations list\n * @summary Get Raw Config\n */\nexport const getRawConfigApiV1ConfigsOrganizationSchemaNameDetailedGet = (\n organizationSchemaName: string,\n params: GetRawConfigApiV1ConfigsOrganizationSchemaNameDetailedGetParams,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/configs/${organizationSchemaName}/detailed`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getGetRawConfigApiV1ConfigsOrganizationSchemaNameDetailedGetQueryKey = (\n organizationSchemaName: string,\n params: GetRawConfigApiV1ConfigsOrganizationSchemaNameDetailedGetParams\n) => {\n return [`/api/v1/configs/${organizationSchemaName}/detailed`, ...(params ? [params] : [])] as const;\n};\n\nexport const getGetRawConfigApiV1ConfigsOrganizationSchemaNameDetailedGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n organizationSchemaName: string,\n params: GetRawConfigApiV1ConfigsOrganizationSchemaNameDetailedGetParams,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey =\n queryOptions?.queryKey ??\n getGetRawConfigApiV1ConfigsOrganizationSchemaNameDetailedGetQueryKey(organizationSchemaName, params);\n\n const queryFn: QueryFunction<\n Awaited>\n > = ({ signal }) => getRawConfigApiV1ConfigsOrganizationSchemaNameDetailedGet(organizationSchemaName, params, signal);\n\n return { queryKey, queryFn, enabled: !!organizationSchemaName, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetRawConfigApiV1ConfigsOrganizationSchemaNameDetailedGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetRawConfigApiV1ConfigsOrganizationSchemaNameDetailedGetQueryError = ErrorType;\n\n/**\n * @summary Get Raw Config\n */\n\nexport function useGetRawConfigApiV1ConfigsOrganizationSchemaNameDetailedGet<\n TData = Awaited>,\n TError = ErrorType\n>(\n organizationSchemaName: string,\n params: GetRawConfigApiV1ConfigsOrganizationSchemaNameDetailedGetParams,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetRawConfigApiV1ConfigsOrganizationSchemaNameDetailedGetQueryOptions(\n organizationSchemaName,\n params,\n options\n );\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Set datadog system integration configuration\n * @summary Set Datadog System Config\n */\nexport const setDatadogSystemConfigApiV1OrganizationSchemaNameDatadogSystemConfigPut = (\n organizationSchemaName: string,\n datadogSystemConfigData: DatadogSystemConfigData,\n params?: SetDatadogSystemConfigApiV1OrganizationSchemaNameDatadogSystemConfigPutParams\n) => {\n return customInstance({\n url: `/api/v1/${organizationSchemaName}/datadog-system-config`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: datadogSystemConfigData,\n params\n });\n};\n\nexport const getSetDatadogSystemConfigApiV1OrganizationSchemaNameDatadogSystemConfigPutMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n {\n organizationSchemaName: string;\n data: DatadogSystemConfigData;\n params?: SetDatadogSystemConfigApiV1OrganizationSchemaNameDatadogSystemConfigPutParams;\n },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n {\n organizationSchemaName: string;\n data: DatadogSystemConfigData;\n params?: SetDatadogSystemConfigApiV1OrganizationSchemaNameDatadogSystemConfigPutParams;\n },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n {\n organizationSchemaName: string;\n data: DatadogSystemConfigData;\n params?: SetDatadogSystemConfigApiV1OrganizationSchemaNameDatadogSystemConfigPutParams;\n }\n > = props => {\n const { organizationSchemaName, data, params } = props ?? {};\n\n return setDatadogSystemConfigApiV1OrganizationSchemaNameDatadogSystemConfigPut(\n organizationSchemaName,\n data,\n params\n );\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type SetDatadogSystemConfigApiV1OrganizationSchemaNameDatadogSystemConfigPutMutationResult = NonNullable<\n Awaited>\n>;\nexport type SetDatadogSystemConfigApiV1OrganizationSchemaNameDatadogSystemConfigPutMutationBody =\n DatadogSystemConfigData;\nexport type SetDatadogSystemConfigApiV1OrganizationSchemaNameDatadogSystemConfigPutMutationError =\n ErrorType;\n\n/**\n * @summary Set Datadog System Config\n */\nexport const useSetDatadogSystemConfigApiV1OrganizationSchemaNameDatadogSystemConfigPut = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n {\n organizationSchemaName: string;\n data: DatadogSystemConfigData;\n params?: SetDatadogSystemConfigApiV1OrganizationSchemaNameDatadogSystemConfigPutParams;\n },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n {\n organizationSchemaName: string;\n data: DatadogSystemConfigData;\n params?: SetDatadogSystemConfigApiV1OrganizationSchemaNameDatadogSystemConfigPutParams;\n },\n TContext\n> => {\n const mutationOptions =\n getSetDatadogSystemConfigApiV1OrganizationSchemaNameDatadogSystemConfigPutMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Get datadog integration configuration\n * @summary Get Config\n */\nexport const getConfigApiV1OrganizationSchemaNameDatadogConfigGet = (\n organizationSchemaName: string,\n params: GetConfigApiV1OrganizationSchemaNameDatadogConfigGetParams,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/${organizationSchemaName}/datadog-config`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getGetConfigApiV1OrganizationSchemaNameDatadogConfigGetQueryKey = (\n organizationSchemaName: string,\n params: GetConfigApiV1OrganizationSchemaNameDatadogConfigGetParams\n) => {\n return [`/api/v1/${organizationSchemaName}/datadog-config`, ...(params ? [params] : [])] as const;\n};\n\nexport const getGetConfigApiV1OrganizationSchemaNameDatadogConfigGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n organizationSchemaName: string,\n params: GetConfigApiV1OrganizationSchemaNameDatadogConfigGetParams,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey =\n queryOptions?.queryKey ??\n getGetConfigApiV1OrganizationSchemaNameDatadogConfigGetQueryKey(organizationSchemaName, params);\n\n const queryFn: QueryFunction>> = ({\n signal\n }) => getConfigApiV1OrganizationSchemaNameDatadogConfigGet(organizationSchemaName, params, signal);\n\n return { queryKey, queryFn, enabled: !!organizationSchemaName, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetConfigApiV1OrganizationSchemaNameDatadogConfigGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetConfigApiV1OrganizationSchemaNameDatadogConfigGetQueryError = ErrorType;\n\n/**\n * @summary Get Config\n */\n\nexport function useGetConfigApiV1OrganizationSchemaNameDatadogConfigGet<\n TData = Awaited>,\n TError = ErrorType\n>(\n organizationSchemaName: string,\n params: GetConfigApiV1OrganizationSchemaNameDatadogConfigGetParams,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetConfigApiV1OrganizationSchemaNameDatadogConfigGetQueryOptions(\n organizationSchemaName,\n params,\n options\n );\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Get the list of available products from stripe.\n * @summary List All Charges\n */\nexport const listAllChargesApiV1BillingChargesGet = (signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/billing/charges`, method: 'GET', signal });\n};\n\nexport const getListAllChargesApiV1BillingChargesGetQueryKey = () => {\n return [`/api/v1/billing/charges`] as const;\n};\n\nexport const getListAllChargesApiV1BillingChargesGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getListAllChargesApiV1BillingChargesGetQueryKey();\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n listAllChargesApiV1BillingChargesGet(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type ListAllChargesApiV1BillingChargesGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type ListAllChargesApiV1BillingChargesGetQueryError = ErrorType;\n\n/**\n * @summary List All Charges\n */\n\nexport function useListAllChargesApiV1BillingChargesGet<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getListAllChargesApiV1BillingChargesGetQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Return the payment method of the organization.\n * @summary Get Payment Method\n */\nexport const getPaymentMethodApiV1BillingPaymentMethodGet = (signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/billing/payment-method`, method: 'GET', signal });\n};\n\nexport const getGetPaymentMethodApiV1BillingPaymentMethodGetQueryKey = () => {\n return [`/api/v1/billing/payment-method`] as const;\n};\n\nexport const getGetPaymentMethodApiV1BillingPaymentMethodGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetPaymentMethodApiV1BillingPaymentMethodGetQueryKey();\n\n const queryFn: QueryFunction>> = ({\n signal\n }) => getPaymentMethodApiV1BillingPaymentMethodGet(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetPaymentMethodApiV1BillingPaymentMethodGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetPaymentMethodApiV1BillingPaymentMethodGetQueryError = ErrorType;\n\n/**\n * @summary Get Payment Method\n */\n\nexport function useGetPaymentMethodApiV1BillingPaymentMethodGet<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetPaymentMethodApiV1BillingPaymentMethodGetQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Update the payment method on stripe.\n * @summary Update Payment Method\n */\nexport const updatePaymentMethodApiV1BillingPaymentMethodPost = (paymentMethodSchema: PaymentMethodSchema) => {\n return customInstance({\n url: `/api/v1/billing/payment-method`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: paymentMethodSchema\n });\n};\n\nexport const getUpdatePaymentMethodApiV1BillingPaymentMethodPostMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: PaymentMethodSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { data: PaymentMethodSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { data: PaymentMethodSchema }\n > = props => {\n const { data } = props ?? {};\n\n return updatePaymentMethodApiV1BillingPaymentMethodPost(data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type UpdatePaymentMethodApiV1BillingPaymentMethodPostMutationResult = NonNullable<\n Awaited>\n>;\nexport type UpdatePaymentMethodApiV1BillingPaymentMethodPostMutationBody = PaymentMethodSchema;\nexport type UpdatePaymentMethodApiV1BillingPaymentMethodPostMutationError = ErrorType;\n\n/**\n * @summary Update Payment Method\n */\nexport const useUpdatePaymentMethodApiV1BillingPaymentMethodPost = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: PaymentMethodSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { data: PaymentMethodSchema },\n TContext\n> => {\n const mutationOptions = getUpdatePaymentMethodApiV1BillingPaymentMethodPostMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * List interactions by filter (Admin Only)\n * @summary Get Interactions By Filter Admin\n */\nexport const adminListInteractionsByFilter = (\n schemaName: string,\n applicationVersionId: number,\n filterSchema: FilterSchema,\n params?: AdminListInteractionsByFilterParams\n) => {\n return customInstance({\n url: `/api/v1/admin/interactions/${schemaName}/application-versions/${applicationVersionId}/get-interactions-by-filter`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: filterSchema,\n params\n });\n};\n\nexport const getAdminListInteractionsByFilterMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n {\n schemaName: string;\n applicationVersionId: number;\n data: FilterSchema;\n params?: AdminListInteractionsByFilterParams;\n },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n {\n schemaName: string;\n applicationVersionId: number;\n data: FilterSchema;\n params?: AdminListInteractionsByFilterParams;\n },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n {\n schemaName: string;\n applicationVersionId: number;\n data: FilterSchema;\n params?: AdminListInteractionsByFilterParams;\n }\n > = props => {\n const { schemaName, applicationVersionId, data, params } = props ?? {};\n\n return adminListInteractionsByFilter(schemaName, applicationVersionId, data, params);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type AdminListInteractionsByFilterMutationResult = NonNullable<\n Awaited>\n>;\nexport type AdminListInteractionsByFilterMutationBody = FilterSchema;\nexport type AdminListInteractionsByFilterMutationError = ErrorType;\n\n/**\n * @summary Get Interactions By Filter Admin\n */\nexport const useAdminListInteractionsByFilter = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n {\n schemaName: string;\n applicationVersionId: number;\n data: FilterSchema;\n params?: AdminListInteractionsByFilterParams;\n },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n {\n schemaName: string;\n applicationVersionId: number;\n data: FilterSchema;\n params?: AdminListInteractionsByFilterParams;\n },\n TContext\n> => {\n const mutationOptions = getAdminListInteractionsByFilterMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * @summary Rerun Calculations\n */\nexport const rerunCalculationsApiV1InteractionsSchemaNameRerunCalculationsPost = (\n schemaName: string,\n rerunCalculationsSchema: RerunCalculationsSchema\n) => {\n return customInstance({\n url: `/api/v1/interactions/${schemaName}/rerun-calculations`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: rerunCalculationsSchema\n });\n};\n\nexport const getRerunCalculationsApiV1InteractionsSchemaNameRerunCalculationsPostMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { schemaName: string; data: RerunCalculationsSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { schemaName: string; data: RerunCalculationsSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { schemaName: string; data: RerunCalculationsSchema }\n > = props => {\n const { schemaName, data } = props ?? {};\n\n return rerunCalculationsApiV1InteractionsSchemaNameRerunCalculationsPost(schemaName, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type RerunCalculationsApiV1InteractionsSchemaNameRerunCalculationsPostMutationResult = NonNullable<\n Awaited>\n>;\nexport type RerunCalculationsApiV1InteractionsSchemaNameRerunCalculationsPostMutationBody = RerunCalculationsSchema;\nexport type RerunCalculationsApiV1InteractionsSchemaNameRerunCalculationsPostMutationError =\n ErrorType;\n\n/**\n * @summary Rerun Calculations\n */\nexport const useRerunCalculationsApiV1InteractionsSchemaNameRerunCalculationsPost = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { schemaName: string; data: RerunCalculationsSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { schemaName: string; data: RerunCalculationsSchema },\n TContext\n> => {\n const mutationOptions = getRerunCalculationsApiV1InteractionsSchemaNameRerunCalculationsPostMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * @summary Resend Topics\n */\nexport const resendTopicsApiV1ResendTopicsFromOldQueueGet = (signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/resend-topics-from-old-queue`, method: 'GET', signal });\n};\n\nexport const getResendTopicsApiV1ResendTopicsFromOldQueueGetQueryKey = () => {\n return [`/api/v1/resend-topics-from-old-queue`] as const;\n};\n\nexport const getResendTopicsApiV1ResendTopicsFromOldQueueGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getResendTopicsApiV1ResendTopicsFromOldQueueGetQueryKey();\n\n const queryFn: QueryFunction>> = ({\n signal\n }) => resendTopicsApiV1ResendTopicsFromOldQueueGet(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type ResendTopicsApiV1ResendTopicsFromOldQueueGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type ResendTopicsApiV1ResendTopicsFromOldQueueGetQueryError = ErrorType;\n\n/**\n * @summary Resend Topics\n */\n\nexport function useResendTopicsApiV1ResendTopicsFromOldQueueGet<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getResendTopicsApiV1ResendTopicsFromOldQueueGetQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Get the connections.\n * @summary List Connections\n */\nexport const listConnectionsApiV1AdminConnectionsGet = (signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/admin/connections`, method: 'GET', signal });\n};\n\nexport const getListConnectionsApiV1AdminConnectionsGetQueryKey = () => {\n return [`/api/v1/admin/connections`] as const;\n};\n\nexport const getListConnectionsApiV1AdminConnectionsGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getListConnectionsApiV1AdminConnectionsGetQueryKey();\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n listConnectionsApiV1AdminConnectionsGet(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type ListConnectionsApiV1AdminConnectionsGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type ListConnectionsApiV1AdminConnectionsGetQueryError = ErrorType;\n\n/**\n * @summary List Connections\n */\n\nexport function useListConnectionsApiV1AdminConnectionsGet<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getListConnectionsApiV1AdminConnectionsGetQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Create a new connection.\n * @summary Create Connection\n */\nexport const createConnectionApiV1AdminConnectionsPost = (\n createConnectionApiV1AdminConnectionsPostBody: CreateConnectionApiV1AdminConnectionsPostBody\n) => {\n return customInstance({\n url: `/api/v1/admin/connections`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: createConnectionApiV1AdminConnectionsPostBody\n });\n};\n\nexport const getCreateConnectionApiV1AdminConnectionsPostMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: CreateConnectionApiV1AdminConnectionsPostBody },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { data: CreateConnectionApiV1AdminConnectionsPostBody },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { data: CreateConnectionApiV1AdminConnectionsPostBody }\n > = props => {\n const { data } = props ?? {};\n\n return createConnectionApiV1AdminConnectionsPost(data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type CreateConnectionApiV1AdminConnectionsPostMutationResult = NonNullable<\n Awaited>\n>;\nexport type CreateConnectionApiV1AdminConnectionsPostMutationBody = CreateConnectionApiV1AdminConnectionsPostBody;\nexport type CreateConnectionApiV1AdminConnectionsPostMutationError = ErrorType;\n\n/**\n * @summary Create Connection\n */\nexport const useCreateConnectionApiV1AdminConnectionsPost = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: CreateConnectionApiV1AdminConnectionsPostBody },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { data: CreateConnectionApiV1AdminConnectionsPostBody },\n TContext\n> => {\n const mutationOptions = getCreateConnectionApiV1AdminConnectionsPostMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Update a connection.\n * @summary Update Connection\n */\nexport const updateConnectionApiV1AdminConnectionsConnectionIdPut = (\n connectionId: number,\n updateConnectionApiV1AdminConnectionsConnectionIdPutBody: UpdateConnectionApiV1AdminConnectionsConnectionIdPutBody\n) => {\n return customInstance({\n url: `/api/v1/admin/connections/${connectionId}`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: updateConnectionApiV1AdminConnectionsConnectionIdPutBody\n });\n};\n\nexport const getUpdateConnectionApiV1AdminConnectionsConnectionIdPutMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { connectionId: number; data: UpdateConnectionApiV1AdminConnectionsConnectionIdPutBody },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { connectionId: number; data: UpdateConnectionApiV1AdminConnectionsConnectionIdPutBody },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { connectionId: number; data: UpdateConnectionApiV1AdminConnectionsConnectionIdPutBody }\n > = props => {\n const { connectionId, data } = props ?? {};\n\n return updateConnectionApiV1AdminConnectionsConnectionIdPut(connectionId, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateConnectionApiV1AdminConnectionsConnectionIdPutMutationResult = NonNullable<\n Awaited>\n>;\nexport type UpdateConnectionApiV1AdminConnectionsConnectionIdPutMutationBody =\n UpdateConnectionApiV1AdminConnectionsConnectionIdPutBody;\nexport type UpdateConnectionApiV1AdminConnectionsConnectionIdPutMutationError = ErrorType;\n\n/**\n * @summary Update Connection\n */\nexport const useUpdateConnectionApiV1AdminConnectionsConnectionIdPut = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { connectionId: number; data: UpdateConnectionApiV1AdminConnectionsConnectionIdPutBody },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { connectionId: number; data: UpdateConnectionApiV1AdminConnectionsConnectionIdPutBody },\n TContext\n> => {\n const mutationOptions = getUpdateConnectionApiV1AdminConnectionsConnectionIdPutMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Delete a connection.\n * @summary Delete Connection\n */\nexport const deleteConnectionApiV1AdminConnectionsConnectionIdDelete = (connectionId: number) => {\n return customInstance({ url: `/api/v1/admin/connections/${connectionId}`, method: 'DELETE' });\n};\n\nexport const getDeleteConnectionApiV1AdminConnectionsConnectionIdDeleteMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { connectionId: number },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { connectionId: number },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { connectionId: number }\n > = props => {\n const { connectionId } = props ?? {};\n\n return deleteConnectionApiV1AdminConnectionsConnectionIdDelete(connectionId);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteConnectionApiV1AdminConnectionsConnectionIdDeleteMutationResult = NonNullable<\n Awaited>\n>;\n\nexport type DeleteConnectionApiV1AdminConnectionsConnectionIdDeleteMutationError =\n ErrorType;\n\n/**\n * @summary Delete Connection\n */\nexport const useDeleteConnectionApiV1AdminConnectionsConnectionIdDelete = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { connectionId: number },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { connectionId: number },\n TContext\n> => {\n const mutationOptions = getDeleteConnectionApiV1AdminConnectionsConnectionIdDeleteMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Get the connections.\n * @summary List Connections\n */\nexport const listConnectionsApiV1AdminTranslationGet = (signal?: AbortSignal) => {\n return customInstance({\n url: `/api/v1/admin/translation`,\n method: 'GET',\n signal\n });\n};\n\nexport const getListConnectionsApiV1AdminTranslationGetQueryKey = () => {\n return [`/api/v1/admin/translation`] as const;\n};\n\nexport const getListConnectionsApiV1AdminTranslationGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getListConnectionsApiV1AdminTranslationGetQueryKey();\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n listConnectionsApiV1AdminTranslationGet(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type ListConnectionsApiV1AdminTranslationGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type ListConnectionsApiV1AdminTranslationGetQueryError = ErrorType;\n\n/**\n * @summary List Connections\n */\n\nexport function useListConnectionsApiV1AdminTranslationGet<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getListConnectionsApiV1AdminTranslationGetQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Create a new translation connection.\n * @summary Create Connection\n */\nexport const createConnectionApiV1AdminTranslationPost = (\n azureTranslationConnectionsSchema: AzureTranslationConnectionsSchema\n) => {\n return customInstance({\n url: `/api/v1/admin/translation`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: azureTranslationConnectionsSchema\n });\n};\n\nexport const getCreateConnectionApiV1AdminTranslationPostMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: AzureTranslationConnectionsSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { data: AzureTranslationConnectionsSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { data: AzureTranslationConnectionsSchema }\n > = props => {\n const { data } = props ?? {};\n\n return createConnectionApiV1AdminTranslationPost(data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type CreateConnectionApiV1AdminTranslationPostMutationResult = NonNullable<\n Awaited>\n>;\nexport type CreateConnectionApiV1AdminTranslationPostMutationBody = AzureTranslationConnectionsSchema;\nexport type CreateConnectionApiV1AdminTranslationPostMutationError = ErrorType;\n\n/**\n * @summary Create Connection\n */\nexport const useCreateConnectionApiV1AdminTranslationPost = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: AzureTranslationConnectionsSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { data: AzureTranslationConnectionsSchema },\n TContext\n> => {\n const mutationOptions = getCreateConnectionApiV1AdminTranslationPostMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Update a connection.\n * @summary Update Connection\n */\nexport const updateConnectionApiV1AdminTranslationTranslationIdPut = (\n translationId: number,\n azureTranslationConnectionsSchema: AzureTranslationConnectionsSchema\n) => {\n return customInstance({\n url: `/api/v1/admin/translation/${translationId}`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: azureTranslationConnectionsSchema\n });\n};\n\nexport const getUpdateConnectionApiV1AdminTranslationTranslationIdPutMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { translationId: number; data: AzureTranslationConnectionsSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { translationId: number; data: AzureTranslationConnectionsSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { translationId: number; data: AzureTranslationConnectionsSchema }\n > = props => {\n const { translationId, data } = props ?? {};\n\n return updateConnectionApiV1AdminTranslationTranslationIdPut(translationId, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateConnectionApiV1AdminTranslationTranslationIdPutMutationResult = NonNullable<\n Awaited>\n>;\nexport type UpdateConnectionApiV1AdminTranslationTranslationIdPutMutationBody = AzureTranslationConnectionsSchema;\nexport type UpdateConnectionApiV1AdminTranslationTranslationIdPutMutationError = ErrorType;\n\n/**\n * @summary Update Connection\n */\nexport const useUpdateConnectionApiV1AdminTranslationTranslationIdPut = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { translationId: number; data: AzureTranslationConnectionsSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { translationId: number; data: AzureTranslationConnectionsSchema },\n TContext\n> => {\n const mutationOptions = getUpdateConnectionApiV1AdminTranslationTranslationIdPutMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Delete a single translation connection.\n * @summary Delete Translation Connection\n */\nexport const deleteTranslationConnectionApiV1AdminTranslationTranslationIdDelete = (translationId: number) => {\n return customInstance({ url: `/api/v1/admin/translation/${translationId}`, method: 'DELETE' });\n};\n\nexport const getDeleteTranslationConnectionApiV1AdminTranslationTranslationIdDeleteMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { translationId: number },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { translationId: number },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { translationId: number }\n > = props => {\n const { translationId } = props ?? {};\n\n return deleteTranslationConnectionApiV1AdminTranslationTranslationIdDelete(translationId);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteTranslationConnectionApiV1AdminTranslationTranslationIdDeleteMutationResult = NonNullable<\n Awaited>\n>;\n\nexport type DeleteTranslationConnectionApiV1AdminTranslationTranslationIdDeleteMutationError =\n ErrorType;\n\n/**\n * @summary Delete Translation Connection\n */\nexport const useDeleteTranslationConnectionApiV1AdminTranslationTranslationIdDelete = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { translationId: number },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { translationId: number },\n TContext\n> => {\n const mutationOptions =\n getDeleteTranslationConnectionApiV1AdminTranslationTranslationIdDeleteMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * List applications\n * @summary List Applications\n */\nexport const adminListApps = (organizationSchemaName: string, params?: AdminListAppsParams, signal?: AbortSignal) => {\n return customInstance({\n url: `/api/v1/configs/${organizationSchemaName}/applications`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getAdminListAppsQueryKey = (organizationSchemaName: string, params?: AdminListAppsParams) => {\n return [`/api/v1/configs/${organizationSchemaName}/applications`, ...(params ? [params] : [])] as const;\n};\n\nexport const getAdminListAppsQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n organizationSchemaName: string,\n params?: AdminListAppsParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getAdminListAppsQueryKey(organizationSchemaName, params);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n adminListApps(organizationSchemaName, params, signal);\n\n return { queryKey, queryFn, enabled: !!organizationSchemaName, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type AdminListAppsQueryResult = NonNullable>>;\nexport type AdminListAppsQueryError = ErrorType;\n\n/**\n * @summary List Applications\n */\n\nexport function useAdminListApps<\n TData = Awaited>,\n TError = ErrorType\n>(\n organizationSchemaName: string,\n params?: AdminListAppsParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getAdminListAppsQueryOptions(organizationSchemaName, params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Retrieve existing users and invited users\n * @summary Retrieve Users And Invitations\n */\nexport const retrieveUsersAndInvitationsApiV1UsersGet = (signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/users`, method: 'GET', signal });\n};\n\nexport const getRetrieveUsersAndInvitationsApiV1UsersGetQueryKey = () => {\n return [`/api/v1/users`] as const;\n};\n\nexport const getRetrieveUsersAndInvitationsApiV1UsersGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getRetrieveUsersAndInvitationsApiV1UsersGetQueryKey();\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n retrieveUsersAndInvitationsApiV1UsersGet(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type RetrieveUsersAndInvitationsApiV1UsersGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type RetrieveUsersAndInvitationsApiV1UsersGetQueryError = ErrorType;\n\n/**\n * @summary Retrieve Users And Invitations\n */\n\nexport function useRetrieveUsersAndInvitationsApiV1UsersGet<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getRetrieveUsersAndInvitationsApiV1UsersGetQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Regenerate user token\n * @summary Regenerate Api Token\n */\nexport const regenerateApiTokenApiV1UsersRegenerateApiTokenGet = (signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/users/regenerate-api-token`, method: 'GET', signal });\n};\n\nexport const getRegenerateApiTokenApiV1UsersRegenerateApiTokenGetQueryKey = () => {\n return [`/api/v1/users/regenerate-api-token`] as const;\n};\n\nexport const getRegenerateApiTokenApiV1UsersRegenerateApiTokenGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getRegenerateApiTokenApiV1UsersRegenerateApiTokenGetQueryKey();\n\n const queryFn: QueryFunction>> = ({\n signal\n }) => regenerateApiTokenApiV1UsersRegenerateApiTokenGet(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type RegenerateApiTokenApiV1UsersRegenerateApiTokenGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type RegenerateApiTokenApiV1UsersRegenerateApiTokenGetQueryError = ErrorType;\n\n/**\n * @summary Regenerate Api Token\n */\n\nexport function useRegenerateApiTokenApiV1UsersRegenerateApiTokenGet<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getRegenerateApiTokenApiV1UsersRegenerateApiTokenGetQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Get current user token last 5\n * @summary Get Current Token\n */\nexport const getCurrentTokenApiV1UsersTokenLastFiveGet = (signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/users/token-last-five`, method: 'GET', signal });\n};\n\nexport const getGetCurrentTokenApiV1UsersTokenLastFiveGetQueryKey = () => {\n return [`/api/v1/users/token-last-five`] as const;\n};\n\nexport const getGetCurrentTokenApiV1UsersTokenLastFiveGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetCurrentTokenApiV1UsersTokenLastFiveGetQueryKey();\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n getCurrentTokenApiV1UsersTokenLastFiveGet(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetCurrentTokenApiV1UsersTokenLastFiveGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetCurrentTokenApiV1UsersTokenLastFiveGetQueryError = ErrorType;\n\n/**\n * @summary Get Current Token\n */\n\nexport function useGetCurrentTokenApiV1UsersTokenLastFiveGet<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetCurrentTokenApiV1UsersTokenLastFiveGetQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Delete the user.\n * @summary Delete User\n */\nexport const deleteUserApiV1UsersEmailDelete = (email: string) => {\n return customInstance({ url: `/api/v1/users/${email}`, method: 'DELETE' });\n};\n\nexport const getDeleteUserApiV1UsersEmailDeleteMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { email: string },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { email: string },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { email: string }\n > = props => {\n const { email } = props ?? {};\n\n return deleteUserApiV1UsersEmailDelete(email);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteUserApiV1UsersEmailDeleteMutationResult = NonNullable<\n Awaited>\n>;\n\nexport type DeleteUserApiV1UsersEmailDeleteMutationError = ErrorType;\n\n/**\n * @summary Delete User\n */\nexport const useDeleteUserApiV1UsersEmailDelete = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { email: string },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { email: string },\n TContext\n> => {\n const mutationOptions = getDeleteUserApiV1UsersEmailDeleteMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Update the user.\n * @summary Update User\n */\nexport const updateUserApiV1UsersEmailPut = (email: string, userUpdateSchema: UserUpdateSchema) => {\n return customInstance({\n url: `/api/v1/users/${email}`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: userUpdateSchema\n });\n};\n\nexport const getUpdateUserApiV1UsersEmailPutMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { email: string; data: UserUpdateSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { email: string; data: UserUpdateSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { email: string; data: UserUpdateSchema }\n > = props => {\n const { email, data } = props ?? {};\n\n return updateUserApiV1UsersEmailPut(email, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateUserApiV1UsersEmailPutMutationResult = NonNullable<\n Awaited>\n>;\nexport type UpdateUserApiV1UsersEmailPutMutationBody = UserUpdateSchema;\nexport type UpdateUserApiV1UsersEmailPutMutationError = ErrorType;\n\n/**\n * @summary Update User\n */\nexport const useUpdateUserApiV1UsersEmailPut = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { email: string; data: UserUpdateSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { email: string; data: UserUpdateSchema },\n TContext\n> => {\n const mutationOptions = getUpdateUserApiV1UsersEmailPutMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Create Application\n * @summary Create Application\n */\nexport const createApp = (applicationCreationSchema: ApplicationCreationSchema) => {\n return customInstance({\n url: `/api/v1/applications`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: applicationCreationSchema\n });\n};\n\nexport const getCreateAppMutationOptions = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: ApplicationCreationSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { data: ApplicationCreationSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { data: ApplicationCreationSchema }\n > = props => {\n const { data } = props ?? {};\n\n return createApp(data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type CreateAppMutationResult = NonNullable>>;\nexport type CreateAppMutationBody = ApplicationCreationSchema;\nexport type CreateAppMutationError = ErrorType;\n\n/**\n * @summary Create Application\n */\nexport const useCreateApp = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: ApplicationCreationSchema },\n TContext\n >;\n}): UseMutationResult>, TError, { data: ApplicationCreationSchema }, TContext> => {\n const mutationOptions = getCreateAppMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Update application\n * @summary Update Application\n */\nexport const updateApp = (applicationUpdateSchema: ApplicationUpdateSchema) => {\n return customInstance({\n url: `/api/v1/applications`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: applicationUpdateSchema\n });\n};\n\nexport const getUpdateAppMutationOptions = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: ApplicationUpdateSchema },\n TContext\n >;\n}): UseMutationOptions>, TError, { data: ApplicationUpdateSchema }, TContext> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { data: ApplicationUpdateSchema }\n > = props => {\n const { data } = props ?? {};\n\n return updateApp(data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateAppMutationResult = NonNullable>>;\nexport type UpdateAppMutationBody = ApplicationUpdateSchema;\nexport type UpdateAppMutationError = ErrorType;\n\n/**\n * @summary Update Application\n */\nexport const useUpdateApp = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: ApplicationUpdateSchema },\n TContext\n >;\n}): UseMutationResult>, TError, { data: ApplicationUpdateSchema }, TContext> => {\n const mutationOptions = getUpdateAppMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * List applications\n * @summary List Applications\n */\nexport const listApps = (params?: ListAppsParams, signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/applications`, method: 'GET', params, signal });\n};\n\nexport const getListAppsQueryKey = (params?: ListAppsParams) => {\n return [`/api/v1/applications`, ...(params ? [params] : [])] as const;\n};\n\nexport const getListAppsQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n params?: ListAppsParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getListAppsQueryKey(params);\n\n const queryFn: QueryFunction>> = ({ signal }) => listApps(params, signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type ListAppsQueryResult = NonNullable>>;\nexport type ListAppsQueryError = ErrorType;\n\n/**\n * @summary List Applications\n */\n\nexport function useListApps>, TError = ErrorType>(\n params?: ListAppsParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getListAppsQueryOptions(params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Delete an application\n * @summary Delete Applications Route\n */\nexport const deleteApp = (params?: DeleteAppParams) => {\n return customInstance({ url: `/api/v1/applications`, method: 'DELETE', params });\n};\n\nexport const getDeleteAppMutationOptions = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions>, TError, { params?: DeleteAppParams }, TContext>;\n}): UseMutationOptions>, TError, { params?: DeleteAppParams }, TContext> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction>, { params?: DeleteAppParams }> = props => {\n const { params } = props ?? {};\n\n return deleteApp(params);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteAppMutationResult = NonNullable>>;\n\nexport type DeleteAppMutationError = ErrorType;\n\n/**\n * @summary Delete Applications Route\n */\nexport const useDeleteApp = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions>, TError, { params?: DeleteAppParams }, TContext>;\n}): UseMutationResult>, TError, { params?: DeleteAppParams }, TContext> => {\n const mutationOptions = getDeleteAppMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * @summary Get Application Config\n */\nexport const getApplicationConfigApiV1ApplicationsAppIdConfigGet = (appId: number, signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/applications/${appId}/config`, method: 'GET', signal });\n};\n\nexport const getGetApplicationConfigApiV1ApplicationsAppIdConfigGetQueryKey = (appId: number) => {\n return [`/api/v1/applications/${appId}/config`] as const;\n};\n\nexport const getGetApplicationConfigApiV1ApplicationsAppIdConfigGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n appId: number,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetApplicationConfigApiV1ApplicationsAppIdConfigGetQueryKey(appId);\n\n const queryFn: QueryFunction>> = ({\n signal\n }) => getApplicationConfigApiV1ApplicationsAppIdConfigGet(appId, signal);\n\n return { queryKey, queryFn, enabled: !!appId, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetApplicationConfigApiV1ApplicationsAppIdConfigGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetApplicationConfigApiV1ApplicationsAppIdConfigGetQueryError = ErrorType;\n\n/**\n * @summary Get Application Config\n */\n\nexport function useGetApplicationConfigApiV1ApplicationsAppIdConfigGet<\n TData = Awaited>,\n TError = ErrorType\n>(\n appId: number,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetApplicationConfigApiV1ApplicationsAppIdConfigGetQueryOptions(appId, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * @summary Update Application Config Route\n */\nexport const updateApplicationConfigRouteApiV1ApplicationsAppIdConfigPut = (\n appId: number,\n bodyUpdateApplicationConfigRouteApiV1ApplicationsAppIdConfigPut: BodyUpdateApplicationConfigRouteApiV1ApplicationsAppIdConfigPut\n) => {\n const formData = new FormData();\n formData.append('file', bodyUpdateApplicationConfigRouteApiV1ApplicationsAppIdConfigPut.file);\n\n return customInstance({\n url: `/api/v1/applications/${appId}/config`,\n method: 'PUT',\n headers: { 'Content-Type': 'multipart/form-data' },\n data: formData\n });\n};\n\nexport const getUpdateApplicationConfigRouteApiV1ApplicationsAppIdConfigPutMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; data: BodyUpdateApplicationConfigRouteApiV1ApplicationsAppIdConfigPut },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; data: BodyUpdateApplicationConfigRouteApiV1ApplicationsAppIdConfigPut },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { appId: number; data: BodyUpdateApplicationConfigRouteApiV1ApplicationsAppIdConfigPut }\n > = props => {\n const { appId, data } = props ?? {};\n\n return updateApplicationConfigRouteApiV1ApplicationsAppIdConfigPut(appId, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateApplicationConfigRouteApiV1ApplicationsAppIdConfigPutMutationResult = NonNullable<\n Awaited>\n>;\nexport type UpdateApplicationConfigRouteApiV1ApplicationsAppIdConfigPutMutationBody =\n BodyUpdateApplicationConfigRouteApiV1ApplicationsAppIdConfigPut;\nexport type UpdateApplicationConfigRouteApiV1ApplicationsAppIdConfigPutMutationError = ErrorType;\n\n/**\n * @summary Update Application Config Route\n */\nexport const useUpdateApplicationConfigRouteApiV1ApplicationsAppIdConfigPut = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; data: BodyUpdateApplicationConfigRouteApiV1ApplicationsAppIdConfigPut },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appId: number; data: BodyUpdateApplicationConfigRouteApiV1ApplicationsAppIdConfigPut },\n TContext\n> => {\n const mutationOptions = getUpdateApplicationConfigRouteApiV1ApplicationsAppIdConfigPutMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * @summary Get Interaction Type Config\n */\nexport const getInteractionTypeConfigApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigGet = (\n appId: number,\n interactionType: string,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/applications/${appId}/interaction_types/${interactionType}/config`,\n method: 'GET',\n signal\n });\n};\n\nexport const getGetInteractionTypeConfigApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigGetQueryKey = (\n appId: number,\n interactionType: string\n) => {\n return [`/api/v1/applications/${appId}/interaction_types/${interactionType}/config`] as const;\n};\n\nexport const getGetInteractionTypeConfigApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigGetQueryOptions = <\n TData = Awaited<\n ReturnType\n >,\n TError = ErrorType\n>(\n appId: number,\n interactionType: string,\n options?: {\n query?: UseQueryOptions<\n Awaited<\n ReturnType\n >,\n TError,\n TData\n >;\n }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey =\n queryOptions?.queryKey ??\n getGetInteractionTypeConfigApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigGetQueryKey(\n appId,\n interactionType\n );\n\n const queryFn: QueryFunction<\n Awaited>\n > = ({ signal }) =>\n getInteractionTypeConfigApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigGet(\n appId,\n interactionType,\n signal\n );\n\n return { queryKey, queryFn, enabled: !!(appId && interactionType), ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetInteractionTypeConfigApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigGetQueryResult =\n NonNullable<\n Awaited>\n >;\nexport type GetInteractionTypeConfigApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigGetQueryError =\n ErrorType;\n\n/**\n * @summary Get Interaction Type Config\n */\n\nexport function useGetInteractionTypeConfigApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigGet<\n TData = Awaited<\n ReturnType\n >,\n TError = ErrorType\n>(\n appId: number,\n interactionType: string,\n options?: {\n query?: UseQueryOptions<\n Awaited<\n ReturnType\n >,\n TError,\n TData\n >;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions =\n getGetInteractionTypeConfigApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigGetQueryOptions(\n appId,\n interactionType,\n options\n );\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * @summary Update Interaction Type Config Route\n */\nexport const updateInteractionTypeConfigRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigPut = (\n appId: number,\n interactionType: string,\n bodyUpdateInteractionTypeConfigRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigPut: BodyUpdateInteractionTypeConfigRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigPut\n) => {\n const formData = new FormData();\n formData.append(\n 'file',\n bodyUpdateInteractionTypeConfigRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigPut.file\n );\n\n return customInstance({\n url: `/api/v1/applications/${appId}/interaction_types/${interactionType}/config`,\n method: 'PUT',\n headers: { 'Content-Type': 'multipart/form-data' },\n data: formData\n });\n};\n\nexport const getUpdateInteractionTypeConfigRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigPutMutationOptions =\n , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited<\n ReturnType<\n typeof updateInteractionTypeConfigRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigPut\n >\n >,\n TError,\n {\n appId: number;\n interactionType: string;\n data: BodyUpdateInteractionTypeConfigRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigPut;\n },\n TContext\n >;\n }): UseMutationOptions<\n Awaited<\n ReturnType\n >,\n TError,\n {\n appId: number;\n interactionType: string;\n data: BodyUpdateInteractionTypeConfigRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigPut;\n },\n TContext\n > => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited<\n ReturnType<\n typeof updateInteractionTypeConfigRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigPut\n >\n >,\n {\n appId: number;\n interactionType: string;\n data: BodyUpdateInteractionTypeConfigRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigPut;\n }\n > = props => {\n const { appId, interactionType, data } = props ?? {};\n\n return updateInteractionTypeConfigRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigPut(\n appId,\n interactionType,\n data\n );\n };\n\n return { mutationFn, ...mutationOptions };\n };\n\nexport type UpdateInteractionTypeConfigRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigPutMutationResult =\n NonNullable<\n Awaited<\n ReturnType\n >\n >;\nexport type UpdateInteractionTypeConfigRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigPutMutationBody =\n BodyUpdateInteractionTypeConfigRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigPut;\nexport type UpdateInteractionTypeConfigRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigPutMutationError =\n ErrorType;\n\n/**\n * @summary Update Interaction Type Config Route\n */\nexport const useUpdateInteractionTypeConfigRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigPut = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited<\n ReturnType\n >,\n TError,\n {\n appId: number;\n interactionType: string;\n data: BodyUpdateInteractionTypeConfigRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigPut;\n },\n TContext\n >;\n}): UseMutationResult<\n Awaited<\n ReturnType\n >,\n TError,\n {\n appId: number;\n interactionType: string;\n data: BodyUpdateInteractionTypeConfigRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigPut;\n },\n TContext\n> => {\n const mutationOptions =\n getUpdateInteractionTypeConfigRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeConfigPutMutationOptions(\n options\n );\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Check if application has running tasks\n * @summary Has Running Task\n */\nexport const hasRunningTasks = (params?: HasRunningTasksParams, signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/application/has-executing-tasks`, method: 'GET', params, signal });\n};\n\nexport const getHasRunningTasksQueryKey = (params?: HasRunningTasksParams) => {\n return [`/api/v1/application/has-executing-tasks`, ...(params ? [params] : [])] as const;\n};\n\nexport const getHasRunningTasksQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n params?: HasRunningTasksParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getHasRunningTasksQueryKey(params);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n hasRunningTasks(params, signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type HasRunningTasksQueryResult = NonNullable>>;\nexport type HasRunningTasksQueryError = ErrorType;\n\n/**\n * @summary Has Running Task\n */\n\nexport function useHasRunningTasks<\n TData = Awaited>,\n TError = ErrorType\n>(\n params?: HasRunningTasksParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getHasRunningTasksQueryOptions(params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Emails for notification\n * @summary Get Notification Emails\n */\nexport const getNotificationEmail = (appId: number, signal?: AbortSignal) => {\n return customInstance({\n url: `/api/v1/applications/${appId}/notification_emails`,\n method: 'GET',\n signal\n });\n};\n\nexport const getGetNotificationEmailQueryKey = (appId: number) => {\n return [`/api/v1/applications/${appId}/notification_emails`] as const;\n};\n\nexport const getGetNotificationEmailQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n appId: number,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetNotificationEmailQueryKey(appId);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n getNotificationEmail(appId, signal);\n\n return { queryKey, queryFn, enabled: !!appId, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetNotificationEmailQueryResult = NonNullable>>;\nexport type GetNotificationEmailQueryError = ErrorType;\n\n/**\n * @summary Get Notification Emails\n */\n\nexport function useGetNotificationEmail<\n TData = Awaited>,\n TError = ErrorType\n>(\n appId: number,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetNotificationEmailQueryOptions(appId, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Add email that will receive notification about finished props/topics calculations\n * @summary Add Notification Email To Application\n */\nexport const addNotificationEmail = (appId: number, createNotificationEmailSchema: CreateNotificationEmailSchema) => {\n return customInstance({\n url: `/api/v1/applications/${appId}/notification_emails`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: createNotificationEmailSchema\n });\n};\n\nexport const getAddNotificationEmailMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; data: CreateNotificationEmailSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; data: CreateNotificationEmailSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { appId: number; data: CreateNotificationEmailSchema }\n > = props => {\n const { appId, data } = props ?? {};\n\n return addNotificationEmail(appId, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type AddNotificationEmailMutationResult = NonNullable>>;\nexport type AddNotificationEmailMutationBody = CreateNotificationEmailSchema;\nexport type AddNotificationEmailMutationError = ErrorType;\n\n/**\n * @summary Add Notification Email To Application\n */\nexport const useAddNotificationEmail = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; data: CreateNotificationEmailSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appId: number; data: CreateNotificationEmailSchema },\n TContext\n> => {\n const mutationOptions = getAddNotificationEmailMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Add email that will receive notification about finished props/topics calculations\n * @summary Delete Notification Email From Application\n */\nexport const removeNotificationEmail = (appId: number, appNotificationEmailId: number) => {\n return customInstance({\n url: `/api/v1/applications/${appId}/notification_emails/${appNotificationEmailId}`,\n method: 'DELETE'\n });\n};\n\nexport const getRemoveNotificationEmailMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; appNotificationEmailId: number },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; appNotificationEmailId: number },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { appId: number; appNotificationEmailId: number }\n > = props => {\n const { appId, appNotificationEmailId } = props ?? {};\n\n return removeNotificationEmail(appId, appNotificationEmailId);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type RemoveNotificationEmailMutationResult = NonNullable>>;\n\nexport type RemoveNotificationEmailMutationError = ErrorType;\n\n/**\n * @summary Delete Notification Email From Application\n */\nexport const useRemoveNotificationEmail = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; appNotificationEmailId: number },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appId: number; appNotificationEmailId: number },\n TContext\n> => {\n const mutationOptions = getRemoveNotificationEmailMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Retrain Deepchecks evaluator, this potentially can update the threshold used to set the annotations\n * @summary Retrain Dc Evaluator\n */\nexport const retrainDcEvaluator = (appId: number, params: RetrainDcEvaluatorParams) => {\n return customInstance({ url: `/api/v1/applications/${appId}/retrain_dc_evaluator`, method: 'POST', params });\n};\n\nexport const getRetrainDcEvaluatorMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; params: RetrainDcEvaluatorParams },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; params: RetrainDcEvaluatorParams },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { appId: number; params: RetrainDcEvaluatorParams }\n > = props => {\n const { appId, params } = props ?? {};\n\n return retrainDcEvaluator(appId, params);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type RetrainDcEvaluatorMutationResult = NonNullable>>;\n\nexport type RetrainDcEvaluatorMutationError = ErrorType;\n\n/**\n * @summary Retrain Dc Evaluator\n */\nexport const useRetrainDcEvaluator = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; params: RetrainDcEvaluatorParams },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appId: number; params: RetrainDcEvaluatorParams },\n TContext\n> => {\n const mutationOptions = getRetrainDcEvaluatorMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * @summary Get Versions Metadata\n */\nexport const getVersionsMetadataApiV1ApplicationsAppIdVersionsMetadataGet = (appId: number, signal?: AbortSignal) => {\n return customInstance({\n url: `/api/v1/applications/${appId}/versions-metadata`,\n method: 'GET',\n signal\n });\n};\n\nexport const getGetVersionsMetadataApiV1ApplicationsAppIdVersionsMetadataGetQueryKey = (appId: number) => {\n return [`/api/v1/applications/${appId}/versions-metadata`] as const;\n};\n\nexport const getGetVersionsMetadataApiV1ApplicationsAppIdVersionsMetadataGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n appId: number,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey =\n queryOptions?.queryKey ?? getGetVersionsMetadataApiV1ApplicationsAppIdVersionsMetadataGetQueryKey(appId);\n\n const queryFn: QueryFunction<\n Awaited>\n > = ({ signal }) => getVersionsMetadataApiV1ApplicationsAppIdVersionsMetadataGet(appId, signal);\n\n return { queryKey, queryFn, enabled: !!appId, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetVersionsMetadataApiV1ApplicationsAppIdVersionsMetadataGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetVersionsMetadataApiV1ApplicationsAppIdVersionsMetadataGetQueryError = ErrorType;\n\n/**\n * @summary Get Versions Metadata\n */\n\nexport function useGetVersionsMetadataApiV1ApplicationsAppIdVersionsMetadataGet<\n TData = Awaited>,\n TError = ErrorType\n>(\n appId: number,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetVersionsMetadataApiV1ApplicationsAppIdVersionsMetadataGetQueryOptions(appId, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * @summary Get Interaction Type Template Config\n */\nexport const getInteractionTypeTemplateConfigApiV1InteractionTypesTemplateConfigsTemplateNameGet = (\n templateName: ConfigTemplateName,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/interaction-types-template-configs/${templateName}`,\n method: 'GET',\n signal\n });\n};\n\nexport const getGetInteractionTypeTemplateConfigApiV1InteractionTypesTemplateConfigsTemplateNameGetQueryKey = (\n templateName: ConfigTemplateName\n) => {\n return [`/api/v1/interaction-types-template-configs/${templateName}`] as const;\n};\n\nexport const getGetInteractionTypeTemplateConfigApiV1InteractionTypesTemplateConfigsTemplateNameGetQueryOptions = <\n TData = Awaited<\n ReturnType\n >,\n TError = ErrorType\n>(\n templateName: ConfigTemplateName,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey =\n queryOptions?.queryKey ??\n getGetInteractionTypeTemplateConfigApiV1InteractionTypesTemplateConfigsTemplateNameGetQueryKey(templateName);\n\n const queryFn: QueryFunction<\n Awaited>\n > = ({ signal }) =>\n getInteractionTypeTemplateConfigApiV1InteractionTypesTemplateConfigsTemplateNameGet(templateName, signal);\n\n return { queryKey, queryFn, enabled: !!templateName, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetInteractionTypeTemplateConfigApiV1InteractionTypesTemplateConfigsTemplateNameGetQueryResult =\n NonNullable<\n Awaited>\n >;\nexport type GetInteractionTypeTemplateConfigApiV1InteractionTypesTemplateConfigsTemplateNameGetQueryError =\n ErrorType;\n\n/**\n * @summary Get Interaction Type Template Config\n */\n\nexport function useGetInteractionTypeTemplateConfigApiV1InteractionTypesTemplateConfigsTemplateNameGet<\n TData = Awaited<\n ReturnType\n >,\n TError = ErrorType\n>(\n templateName: ConfigTemplateName,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions =\n getGetInteractionTypeTemplateConfigApiV1InteractionTypesTemplateConfigsTemplateNameGetQueryOptions(\n templateName,\n options\n );\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * @summary Get Interaction Types Route\n */\nexport const getInteractionTypesRouteApiV1ApplicationsAppIdInteractionTypesGet = (\n appId: number,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/applications/${appId}/interaction-types`,\n method: 'GET',\n signal\n });\n};\n\nexport const getGetInteractionTypesRouteApiV1ApplicationsAppIdInteractionTypesGetQueryKey = (appId: number) => {\n return [`/api/v1/applications/${appId}/interaction-types`] as const;\n};\n\nexport const getGetInteractionTypesRouteApiV1ApplicationsAppIdInteractionTypesGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n appId: number,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey =\n queryOptions?.queryKey ?? getGetInteractionTypesRouteApiV1ApplicationsAppIdInteractionTypesGetQueryKey(appId);\n\n const queryFn: QueryFunction<\n Awaited>\n > = ({ signal }) => getInteractionTypesRouteApiV1ApplicationsAppIdInteractionTypesGet(appId, signal);\n\n return { queryKey, queryFn, enabled: !!appId, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetInteractionTypesRouteApiV1ApplicationsAppIdInteractionTypesGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetInteractionTypesRouteApiV1ApplicationsAppIdInteractionTypesGetQueryError =\n ErrorType;\n\n/**\n * @summary Get Interaction Types Route\n */\n\nexport function useGetInteractionTypesRouteApiV1ApplicationsAppIdInteractionTypesGet<\n TData = Awaited>,\n TError = ErrorType\n>(\n appId: number,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetInteractionTypesRouteApiV1ApplicationsAppIdInteractionTypesGetQueryOptions(appId, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * @summary Create Interaction Type Route\n */\nexport const createInteractionTypeRouteApiV1ApplicationsAppIdInteractionTypesPost = (\n appId: number,\n createInteractionTypeSchema: CreateInteractionTypeSchema\n) => {\n return customInstance({\n url: `/api/v1/applications/${appId}/interaction-types`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: createInteractionTypeSchema\n });\n};\n\nexport const getCreateInteractionTypeRouteApiV1ApplicationsAppIdInteractionTypesPostMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; data: CreateInteractionTypeSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; data: CreateInteractionTypeSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { appId: number; data: CreateInteractionTypeSchema }\n > = props => {\n const { appId, data } = props ?? {};\n\n return createInteractionTypeRouteApiV1ApplicationsAppIdInteractionTypesPost(appId, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type CreateInteractionTypeRouteApiV1ApplicationsAppIdInteractionTypesPostMutationResult = NonNullable<\n Awaited>\n>;\nexport type CreateInteractionTypeRouteApiV1ApplicationsAppIdInteractionTypesPostMutationBody =\n CreateInteractionTypeSchema;\nexport type CreateInteractionTypeRouteApiV1ApplicationsAppIdInteractionTypesPostMutationError =\n ErrorType;\n\n/**\n * @summary Create Interaction Type Route\n */\nexport const useCreateInteractionTypeRouteApiV1ApplicationsAppIdInteractionTypesPost = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; data: CreateInteractionTypeSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appId: number; data: CreateInteractionTypeSchema },\n TContext\n> => {\n const mutationOptions =\n getCreateInteractionTypeRouteApiV1ApplicationsAppIdInteractionTypesPostMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * @summary Update Interaction Type Route\n */\nexport const updateInteractionTypeRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeIdPut = (\n appId: number,\n interactionTypeId: number,\n updateInteractionTypeSchema: UpdateInteractionTypeSchema\n) => {\n return customInstance({\n url: `/api/v1/applications/${appId}/interaction-types/${interactionTypeId}`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: updateInteractionTypeSchema\n });\n};\n\nexport const getUpdateInteractionTypeRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeIdPutMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; interactionTypeId: number; data: UpdateInteractionTypeSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; interactionTypeId: number; data: UpdateInteractionTypeSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { appId: number; interactionTypeId: number; data: UpdateInteractionTypeSchema }\n > = props => {\n const { appId, interactionTypeId, data } = props ?? {};\n\n return updateInteractionTypeRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeIdPut(\n appId,\n interactionTypeId,\n data\n );\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateInteractionTypeRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeIdPutMutationResult =\n NonNullable<\n Awaited>\n >;\nexport type UpdateInteractionTypeRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeIdPutMutationBody =\n UpdateInteractionTypeSchema;\nexport type UpdateInteractionTypeRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeIdPutMutationError =\n ErrorType;\n\n/**\n * @summary Update Interaction Type Route\n */\nexport const useUpdateInteractionTypeRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeIdPut = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; interactionTypeId: number; data: UpdateInteractionTypeSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appId: number; interactionTypeId: number; data: UpdateInteractionTypeSchema },\n TContext\n> => {\n const mutationOptions =\n getUpdateInteractionTypeRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeIdPutMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * @summary Delete Interaction Type Route\n */\nexport const deleteInteractionTypeRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeIdDelete = (\n appId: number,\n interactionTypeId: number\n) => {\n return customInstance({\n url: `/api/v1/applications/${appId}/interaction-types/${interactionTypeId}`,\n method: 'DELETE'\n });\n};\n\nexport const getDeleteInteractionTypeRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeIdDeleteMutationOptions =\n , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited<\n ReturnType\n >,\n TError,\n { appId: number; interactionTypeId: number },\n TContext\n >;\n }): UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; interactionTypeId: number },\n TContext\n > => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited<\n ReturnType\n >,\n { appId: number; interactionTypeId: number }\n > = props => {\n const { appId, interactionTypeId } = props ?? {};\n\n return deleteInteractionTypeRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeIdDelete(\n appId,\n interactionTypeId\n );\n };\n\n return { mutationFn, ...mutationOptions };\n };\n\nexport type DeleteInteractionTypeRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeIdDeleteMutationResult =\n NonNullable<\n Awaited>\n >;\n\nexport type DeleteInteractionTypeRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeIdDeleteMutationError =\n ErrorType;\n\n/**\n * @summary Delete Interaction Type Route\n */\nexport const useDeleteInteractionTypeRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeIdDelete = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; interactionTypeId: number },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appId: number; interactionTypeId: number },\n TContext\n> => {\n const mutationOptions =\n getDeleteInteractionTypeRouteApiV1ApplicationsAppIdInteractionTypesInteractionTypeIdDeleteMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Create application version\n * @summary Create Application Version\n */\nexport const createAppVersion = (createApplicationVersionSchema: CreateApplicationVersionSchema) => {\n return customInstance({\n url: `/api/v1/application-versions`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: createApplicationVersionSchema\n });\n};\n\nexport const getCreateAppVersionMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: CreateApplicationVersionSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { data: CreateApplicationVersionSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { data: CreateApplicationVersionSchema }\n > = props => {\n const { data } = props ?? {};\n\n return createAppVersion(data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type CreateAppVersionMutationResult = NonNullable>>;\nexport type CreateAppVersionMutationBody = CreateApplicationVersionSchema;\nexport type CreateAppVersionMutationError = ErrorType;\n\n/**\n * @summary Create Application Version\n */\nexport const useCreateAppVersion = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: CreateApplicationVersionSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { data: CreateApplicationVersionSchema },\n TContext\n> => {\n const mutationOptions = getCreateAppVersionMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Update application\n * @summary Update Application Version\n */\nexport const updateAppVersion = (updateApplicationVersionSchema: UpdateApplicationVersionSchema) => {\n return customInstance({\n url: `/api/v1/application-versions`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: updateApplicationVersionSchema\n });\n};\n\nexport const getUpdateAppVersionMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: UpdateApplicationVersionSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { data: UpdateApplicationVersionSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { data: UpdateApplicationVersionSchema }\n > = props => {\n const { data } = props ?? {};\n\n return updateAppVersion(data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateAppVersionMutationResult = NonNullable>>;\nexport type UpdateAppVersionMutationBody = UpdateApplicationVersionSchema;\nexport type UpdateAppVersionMutationError = ErrorType;\n\n/**\n * @summary Update Application Version\n */\nexport const useUpdateAppVersion = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: UpdateApplicationVersionSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { data: UpdateApplicationVersionSchema },\n TContext\n> => {\n const mutationOptions = getUpdateAppVersionMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * List application versions\n * @summary List Application Versions\n */\nexport const listAppVersions = (params?: ListAppVersionsParams, signal?: AbortSignal) => {\n return customInstance({\n url: `/api/v1/application-versions`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getListAppVersionsQueryKey = (params?: ListAppVersionsParams) => {\n return [`/api/v1/application-versions`, ...(params ? [params] : [])] as const;\n};\n\nexport const getListAppVersionsQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n params?: ListAppVersionsParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getListAppVersionsQueryKey(params);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n listAppVersions(params, signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type ListAppVersionsQueryResult = NonNullable>>;\nexport type ListAppVersionsQueryError = ErrorType;\n\n/**\n * @summary List Application Versions\n */\n\nexport function useListAppVersions<\n TData = Awaited>,\n TError = ErrorType\n>(\n params?: ListAppVersionsParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getListAppVersionsQueryOptions(params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Delete an application version\n * @summary Delete Application Version\n */\nexport const deleteAppVersion = (params?: DeleteAppVersionParams) => {\n return customInstance({ url: `/api/v1/application-versions`, method: 'DELETE', params });\n};\n\nexport const getDeleteAppVersionMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { params?: DeleteAppVersionParams },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { params?: DeleteAppVersionParams },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { params?: DeleteAppVersionParams }\n > = props => {\n const { params } = props ?? {};\n\n return deleteAppVersion(params);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteAppVersionMutationResult = NonNullable>>;\n\nexport type DeleteAppVersionMutationError = ErrorType;\n\n/**\n * @summary Delete Application Version\n */\nexport const useDeleteAppVersion = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { params?: DeleteAppVersionParams },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { params?: DeleteAppVersionParams },\n TContext\n> => {\n const mutationOptions = getDeleteAppVersionMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * List extended versions information, limited to the latest 200 versions\n * @summary List Application Versions Extended\n */\nexport const listAppVersionsExtended = (params: ListAppVersionsExtendedParams, signal?: AbortSignal) => {\n return customInstance({\n url: `/api/v1/application-versions-extended`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getListAppVersionsExtendedQueryKey = (params: ListAppVersionsExtendedParams) => {\n return [`/api/v1/application-versions-extended`, ...(params ? [params] : [])] as const;\n};\n\nexport const getListAppVersionsExtendedQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n params: ListAppVersionsExtendedParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getListAppVersionsExtendedQueryKey(params);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n listAppVersionsExtended(params, signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type ListAppVersionsExtendedQueryResult = NonNullable>>;\nexport type ListAppVersionsExtendedQueryError = ErrorType;\n\n/**\n * @summary List Application Versions Extended\n */\n\nexport function useListAppVersionsExtended<\n TData = Awaited>,\n TError = ErrorType\n>(\n params: ListAppVersionsExtendedParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getListAppVersionsExtendedQueryOptions(params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Retrieve a summary about the production data inside a specific version\n * @summary Get Application Version Summary\n */\nexport const getAppVersionProdSummary = (\n appVersionId: number,\n params?: GetAppVersionProdSummaryParams,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/application-versions/${appVersionId}/data-summary`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getGetAppVersionProdSummaryQueryKey = (appVersionId: number, params?: GetAppVersionProdSummaryParams) => {\n return [`/api/v1/application-versions/${appVersionId}/data-summary`, ...(params ? [params] : [])] as const;\n};\n\nexport const getGetAppVersionProdSummaryQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n appVersionId: number,\n params?: GetAppVersionProdSummaryParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetAppVersionProdSummaryQueryKey(appVersionId, params);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n getAppVersionProdSummary(appVersionId, params, signal);\n\n return { queryKey, queryFn, enabled: !!appVersionId, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetAppVersionProdSummaryQueryResult = NonNullable>>;\nexport type GetAppVersionProdSummaryQueryError = ErrorType;\n\n/**\n * @summary Get Application Version Summary\n */\n\nexport function useGetAppVersionProdSummary<\n TData = Awaited>,\n TError = ErrorType\n>(\n appVersionId: number,\n params?: GetAppVersionProdSummaryParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetAppVersionProdSummaryQueryOptions(appVersionId, params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * List properties definitions - system + custom\n * @summary Get Properties Definitions Route\n */\nexport const listPropertiesDefinitions = (\n appId: number,\n params?: ListPropertiesDefinitionsParams,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/applications/${appId}/properties-definitions`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getListPropertiesDefinitionsQueryKey = (appId: number, params?: ListPropertiesDefinitionsParams) => {\n return [`/api/v1/applications/${appId}/properties-definitions`, ...(params ? [params] : [])] as const;\n};\n\nexport const getListPropertiesDefinitionsQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n appId: number,\n params?: ListPropertiesDefinitionsParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getListPropertiesDefinitionsQueryKey(appId, params);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n listPropertiesDefinitions(appId, params, signal);\n\n return { queryKey, queryFn, enabled: !!appId, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type ListPropertiesDefinitionsQueryResult = NonNullable>>;\nexport type ListPropertiesDefinitionsQueryError = ErrorType;\n\n/**\n * @summary Get Properties Definitions Route\n */\n\nexport function useListPropertiesDefinitions<\n TData = Awaited>,\n TError = ErrorType\n>(\n appId: number,\n params?: ListPropertiesDefinitionsParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getListPropertiesDefinitionsQueryOptions(appId, params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * update property configuration\n * @summary Create Or Update Property\n */\nexport const createOrUpdatePropertyConfig = (createOrUpdatePropertySchema: CreateOrUpdatePropertySchema) => {\n return customInstance({\n url: `/api/v1/properties-config`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: createOrUpdatePropertySchema\n });\n};\n\nexport const getCreateOrUpdatePropertyConfigMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: CreateOrUpdatePropertySchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { data: CreateOrUpdatePropertySchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { data: CreateOrUpdatePropertySchema }\n > = props => {\n const { data } = props ?? {};\n\n return createOrUpdatePropertyConfig(data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type CreateOrUpdatePropertyConfigMutationResult = NonNullable<\n Awaited>\n>;\nexport type CreateOrUpdatePropertyConfigMutationBody = CreateOrUpdatePropertySchema;\nexport type CreateOrUpdatePropertyConfigMutationError = ErrorType;\n\n/**\n * @summary Create Or Update Property\n */\nexport const useCreateOrUpdatePropertyConfig = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: CreateOrUpdatePropertySchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { data: CreateOrUpdatePropertySchema },\n TContext\n> => {\n const mutationOptions = getCreateOrUpdatePropertyConfigMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * List properties configurations\n * @summary List Properties Configs\n */\nexport const listPropertiesConfigs = (params: ListPropertiesConfigsParams, signal?: AbortSignal) => {\n return customInstance({\n url: `/api/v1/properties-config`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getListPropertiesConfigsQueryKey = (params: ListPropertiesConfigsParams) => {\n return [`/api/v1/properties-config`, ...(params ? [params] : [])] as const;\n};\n\nexport const getListPropertiesConfigsQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n params: ListPropertiesConfigsParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getListPropertiesConfigsQueryKey(params);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n listPropertiesConfigs(params, signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type ListPropertiesConfigsQueryResult = NonNullable>>;\nexport type ListPropertiesConfigsQueryError = ErrorType;\n\n/**\n * @summary List Properties Configs\n */\n\nexport function useListPropertiesConfigs<\n TData = Awaited>,\n TError = ErrorType\n>(\n params: ListPropertiesConfigsParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getListPropertiesConfigsQueryOptions(params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * @summary Properties Configs Reorder\n */\nexport const propertiesConfigsReorderApiV1PropertiesConfigReorderPut = (\n propertiesConfigsReorderApiV1PropertiesConfigReorderPutBody: number[]\n) => {\n return customInstance({\n url: `/api/v1/properties-config-reorder`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: propertiesConfigsReorderApiV1PropertiesConfigReorderPutBody\n });\n};\n\nexport const getPropertiesConfigsReorderApiV1PropertiesConfigReorderPutMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: number[] },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { data: number[] },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { data: number[] }\n > = props => {\n const { data } = props ?? {};\n\n return propertiesConfigsReorderApiV1PropertiesConfigReorderPut(data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type PropertiesConfigsReorderApiV1PropertiesConfigReorderPutMutationResult = NonNullable<\n Awaited>\n>;\nexport type PropertiesConfigsReorderApiV1PropertiesConfigReorderPutMutationBody = number[];\nexport type PropertiesConfigsReorderApiV1PropertiesConfigReorderPutMutationError = ErrorType;\n\n/**\n * @summary Properties Configs Reorder\n */\nexport const usePropertiesConfigsReorderApiV1PropertiesConfigReorderPut = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: number[] },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { data: number[] },\n TContext\n> => {\n const mutationOptions = getPropertiesConfigsReorderApiV1PropertiesConfigReorderPutMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Aggregate properties by filter\n * @summary Retrieve Aggregated Properties By Filter\n */\nexport const retrieveAggregatedPropertiesByFilter = (applicationVersionId: number, filterSchema: FilterSchema) => {\n return customInstance({\n url: `/api/v1/application-versions/${applicationVersionId}/aggregated-properties-by-filter`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: filterSchema\n });\n};\n\nexport const getRetrieveAggregatedPropertiesByFilterMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { applicationVersionId: number; data: FilterSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { applicationVersionId: number; data: FilterSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { applicationVersionId: number; data: FilterSchema }\n > = props => {\n const { applicationVersionId, data } = props ?? {};\n\n return retrieveAggregatedPropertiesByFilter(applicationVersionId, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type RetrieveAggregatedPropertiesByFilterMutationResult = NonNullable<\n Awaited>\n>;\nexport type RetrieveAggregatedPropertiesByFilterMutationBody = FilterSchema;\nexport type RetrieveAggregatedPropertiesByFilterMutationError = ErrorType;\n\n/**\n * @summary Retrieve Aggregated Properties By Filter\n */\nexport const useRetrieveAggregatedPropertiesByFilter = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { applicationVersionId: number; data: FilterSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { applicationVersionId: number; data: FilterSchema },\n TContext\n> => {\n const mutationOptions = getRetrieveAggregatedPropertiesByFilterMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * List property scores per versions by the property config\n * @summary List Properties Data\n */\nexport const listPropertiesDataApiV1ApplicationVersionsAppVersionIdPropertiesConfigDataGet = (\n appVersionId: number,\n params?: ListPropertiesDataApiV1ApplicationVersionsAppVersionIdPropertiesConfigDataGetParams,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/application-versions/${appVersionId}/properties-config/data`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getListPropertiesDataApiV1ApplicationVersionsAppVersionIdPropertiesConfigDataGetQueryKey = (\n appVersionId: number,\n params?: ListPropertiesDataApiV1ApplicationVersionsAppVersionIdPropertiesConfigDataGetParams\n) => {\n return [`/api/v1/application-versions/${appVersionId}/properties-config/data`, ...(params ? [params] : [])] as const;\n};\n\nexport const getListPropertiesDataApiV1ApplicationVersionsAppVersionIdPropertiesConfigDataGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n appVersionId: number,\n params?: ListPropertiesDataApiV1ApplicationVersionsAppVersionIdPropertiesConfigDataGetParams,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey =\n queryOptions?.queryKey ??\n getListPropertiesDataApiV1ApplicationVersionsAppVersionIdPropertiesConfigDataGetQueryKey(appVersionId, params);\n\n const queryFn: QueryFunction<\n Awaited>\n > = ({ signal }) =>\n listPropertiesDataApiV1ApplicationVersionsAppVersionIdPropertiesConfigDataGet(appVersionId, params, signal);\n\n return { queryKey, queryFn, enabled: !!appVersionId, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type ListPropertiesDataApiV1ApplicationVersionsAppVersionIdPropertiesConfigDataGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type ListPropertiesDataApiV1ApplicationVersionsAppVersionIdPropertiesConfigDataGetQueryError =\n ErrorType;\n\n/**\n * @summary List Properties Data\n */\n\nexport function useListPropertiesDataApiV1ApplicationVersionsAppVersionIdPropertiesConfigDataGet<\n TData = Awaited>,\n TError = ErrorType\n>(\n appVersionId: number,\n params?: ListPropertiesDataApiV1ApplicationVersionsAppVersionIdPropertiesConfigDataGetParams,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getListPropertiesDataApiV1ApplicationVersionsAppVersionIdPropertiesConfigDataGetQueryOptions(\n appVersionId,\n params,\n options\n );\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * List property scores per versions by the property config (Deprecated, please use '/application-versions/{app_version_id}/properties-config/data' instead)\n * @deprecated\n * @summary List Properties Data\n */\nexport const listPropertiesDataDeprecated = (\n appVersionId: number,\n params?: ListPropertiesDataDeprecatedParams,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/application_versions/${appVersionId}/properties-config/data`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getListPropertiesDataDeprecatedQueryKey = (\n appVersionId: number,\n params?: ListPropertiesDataDeprecatedParams\n) => {\n return [`/api/v1/application_versions/${appVersionId}/properties-config/data`, ...(params ? [params] : [])] as const;\n};\n\nexport const getListPropertiesDataDeprecatedQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n appVersionId: number,\n params?: ListPropertiesDataDeprecatedParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getListPropertiesDataDeprecatedQueryKey(appVersionId, params);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n listPropertiesDataDeprecated(appVersionId, params, signal);\n\n return { queryKey, queryFn, enabled: !!appVersionId, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type ListPropertiesDataDeprecatedQueryResult = NonNullable<\n Awaited>\n>;\nexport type ListPropertiesDataDeprecatedQueryError = ErrorType;\n\n/**\n * @deprecated\n * @summary List Properties Data\n */\n\nexport function useListPropertiesDataDeprecated<\n TData = Awaited>,\n TError = ErrorType\n>(\n appVersionId: number,\n params?: ListPropertiesDataDeprecatedParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getListPropertiesDataDeprecatedQueryOptions(appVersionId, params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Get top property interaction\n * @summary Get Interactions Per Property\n */\nexport const getInteractionsPerPropertyApiV1InteractionsPerPropertyGet = (\n params: GetInteractionsPerPropertyApiV1InteractionsPerPropertyGetParams,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/interactions-per-property`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getGetInteractionsPerPropertyApiV1InteractionsPerPropertyGetQueryKey = (\n params: GetInteractionsPerPropertyApiV1InteractionsPerPropertyGetParams\n) => {\n return [`/api/v1/interactions-per-property`, ...(params ? [params] : [])] as const;\n};\n\nexport const getGetInteractionsPerPropertyApiV1InteractionsPerPropertyGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n params: GetInteractionsPerPropertyApiV1InteractionsPerPropertyGetParams,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey =\n queryOptions?.queryKey ?? getGetInteractionsPerPropertyApiV1InteractionsPerPropertyGetQueryKey(params);\n\n const queryFn: QueryFunction<\n Awaited>\n > = ({ signal }) => getInteractionsPerPropertyApiV1InteractionsPerPropertyGet(params, signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetInteractionsPerPropertyApiV1InteractionsPerPropertyGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetInteractionsPerPropertyApiV1InteractionsPerPropertyGetQueryError = ErrorType;\n\n/**\n * @summary Get Interactions Per Property\n */\n\nexport function useGetInteractionsPerPropertyApiV1InteractionsPerPropertyGet<\n TData = Awaited>,\n TError = ErrorType\n>(\n params: GetInteractionsPerPropertyApiV1InteractionsPerPropertyGetParams,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetInteractionsPerPropertyApiV1InteractionsPerPropertyGetQueryOptions(params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Recalculate llm properties\n * @summary Recalc Llm Properties\n */\nexport const recalcLlmPropertiesApiV1ApplicationsRecalcLlmPropertiesPut = (\n bodyRecalcLlmPropertiesApiV1ApplicationsRecalcLlmPropertiesPut: BodyRecalcLlmPropertiesApiV1ApplicationsRecalcLlmPropertiesPut\n) => {\n return customInstance({\n url: `/api/v1/applications/recalc-llm-properties`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: bodyRecalcLlmPropertiesApiV1ApplicationsRecalcLlmPropertiesPut\n });\n};\n\nexport const getRecalcLlmPropertiesApiV1ApplicationsRecalcLlmPropertiesPutMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: BodyRecalcLlmPropertiesApiV1ApplicationsRecalcLlmPropertiesPut },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { data: BodyRecalcLlmPropertiesApiV1ApplicationsRecalcLlmPropertiesPut },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { data: BodyRecalcLlmPropertiesApiV1ApplicationsRecalcLlmPropertiesPut }\n > = props => {\n const { data } = props ?? {};\n\n return recalcLlmPropertiesApiV1ApplicationsRecalcLlmPropertiesPut(data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type RecalcLlmPropertiesApiV1ApplicationsRecalcLlmPropertiesPutMutationResult = NonNullable<\n Awaited>\n>;\nexport type RecalcLlmPropertiesApiV1ApplicationsRecalcLlmPropertiesPutMutationBody =\n BodyRecalcLlmPropertiesApiV1ApplicationsRecalcLlmPropertiesPut;\nexport type RecalcLlmPropertiesApiV1ApplicationsRecalcLlmPropertiesPutMutationError = ErrorType;\n\n/**\n * @summary Recalc Llm Properties\n */\nexport const useRecalcLlmPropertiesApiV1ApplicationsRecalcLlmPropertiesPut = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: BodyRecalcLlmPropertiesApiV1ApplicationsRecalcLlmPropertiesPut },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { data: BodyRecalcLlmPropertiesApiV1ApplicationsRecalcLlmPropertiesPut },\n TContext\n> => {\n const mutationOptions = getRecalcLlmPropertiesApiV1ApplicationsRecalcLlmPropertiesPutMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Get histogram for a property\n * @summary Get Property Histogram\n */\nexport const getPropertyHistogram = (\n applicationVersionId: number,\n environment: EnvType,\n params: GetPropertyHistogramParams,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/application-version/${applicationVersionId}/environment/${environment}/histogram`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getGetPropertyHistogramQueryKey = (\n applicationVersionId: number,\n environment: EnvType,\n params: GetPropertyHistogramParams\n) => {\n return [\n `/api/v1/application-version/${applicationVersionId}/environment/${environment}/histogram`,\n ...(params ? [params] : [])\n ] as const;\n};\n\nexport const getGetPropertyHistogramQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n applicationVersionId: number,\n environment: EnvType,\n params: GetPropertyHistogramParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetPropertyHistogramQueryKey(applicationVersionId, environment, params);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n getPropertyHistogram(applicationVersionId, environment, params, signal);\n\n return { queryKey, queryFn, enabled: !!(applicationVersionId && environment), ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetPropertyHistogramQueryResult = NonNullable>>;\nexport type GetPropertyHistogramQueryError = ErrorType;\n\n/**\n * @summary Get Property Histogram\n */\n\nexport function useGetPropertyHistogram<\n TData = Awaited>,\n TError = ErrorType\n>(\n applicationVersionId: number,\n environment: EnvType,\n params: GetPropertyHistogramParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetPropertyHistogramQueryOptions(applicationVersionId, environment, params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * @summary Get Pentest Prompts\n */\nexport const getPentestPromptsApiV1PentestPromptsGet = (\n params: GetPentestPromptsApiV1PentestPromptsGetParams,\n signal?: AbortSignal\n) => {\n return customInstance({ url: `/api/v1/pentest-prompts`, method: 'GET', params, signal });\n};\n\nexport const getGetPentestPromptsApiV1PentestPromptsGetQueryKey = (\n params: GetPentestPromptsApiV1PentestPromptsGetParams\n) => {\n return [`/api/v1/pentest-prompts`, ...(params ? [params] : [])] as const;\n};\n\nexport const getGetPentestPromptsApiV1PentestPromptsGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n params: GetPentestPromptsApiV1PentestPromptsGetParams,\n options?: {\n query?: UseQueryOptions>, TError, TData>;\n }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetPentestPromptsApiV1PentestPromptsGetQueryKey(params);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n getPentestPromptsApiV1PentestPromptsGet(params, signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetPentestPromptsApiV1PentestPromptsGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetPentestPromptsApiV1PentestPromptsGetQueryError = ErrorType;\n\n/**\n * @summary Get Pentest Prompts\n */\n\nexport function useGetPentestPromptsApiV1PentestPromptsGet<\n TData = Awaited>,\n TError = ErrorType\n>(\n params: GetPentestPromptsApiV1PentestPromptsGetParams,\n options?: {\n query?: UseQueryOptions>, TError, TData>;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetPentestPromptsApiV1PentestPromptsGetQueryOptions(params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * @summary Get Pentest Prompts Per Category\n */\nexport const getPentestPromptsPerCategoryApiV1PentestInputsPerCategoryGet = (\n params: GetPentestPromptsPerCategoryApiV1PentestInputsPerCategoryGetParams,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/pentest-inputs-per-category`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getGetPentestPromptsPerCategoryApiV1PentestInputsPerCategoryGetQueryKey = (\n params: GetPentestPromptsPerCategoryApiV1PentestInputsPerCategoryGetParams\n) => {\n return [`/api/v1/pentest-inputs-per-category`, ...(params ? [params] : [])] as const;\n};\n\nexport const getGetPentestPromptsPerCategoryApiV1PentestInputsPerCategoryGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n params: GetPentestPromptsPerCategoryApiV1PentestInputsPerCategoryGetParams,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey =\n queryOptions?.queryKey ?? getGetPentestPromptsPerCategoryApiV1PentestInputsPerCategoryGetQueryKey(params);\n\n const queryFn: QueryFunction<\n Awaited>\n > = ({ signal }) => getPentestPromptsPerCategoryApiV1PentestInputsPerCategoryGet(params, signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetPentestPromptsPerCategoryApiV1PentestInputsPerCategoryGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetPentestPromptsPerCategoryApiV1PentestInputsPerCategoryGetQueryError = ErrorType;\n\n/**\n * @summary Get Pentest Prompts Per Category\n */\n\nexport function useGetPentestPromptsPerCategoryApiV1PentestInputsPerCategoryGet<\n TData = Awaited>,\n TError = ErrorType\n>(\n params: GetPentestPromptsPerCategoryApiV1PentestInputsPerCategoryGetParams,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetPentestPromptsPerCategoryApiV1PentestInputsPerCategoryGetQueryOptions(params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * @summary Get Pentest Categories\n */\nexport const getPentestCategoriesApiV1PentestCategoriesGet = (signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/pentest-categories`, method: 'GET', signal });\n};\n\nexport const getGetPentestCategoriesApiV1PentestCategoriesGetQueryKey = () => {\n return [`/api/v1/pentest-categories`] as const;\n};\n\nexport const getGetPentestCategoriesApiV1PentestCategoriesGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetPentestCategoriesApiV1PentestCategoriesGetQueryKey();\n\n const queryFn: QueryFunction>> = ({\n signal\n }) => getPentestCategoriesApiV1PentestCategoriesGet(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetPentestCategoriesApiV1PentestCategoriesGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetPentestCategoriesApiV1PentestCategoriesGetQueryError = ErrorType;\n\n/**\n * @summary Get Pentest Categories\n */\n\nexport function useGetPentestCategoriesApiV1PentestCategoriesGet<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetPentestCategoriesApiV1PentestCategoriesGetQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Get interaction steps\n * @summary Get Steps For Interaction\n */\nexport const getStepsForInteractionApiV1ApplicationVersionsAppVersionIdInteractionsUserInteractionIdStepsGet = (\n appVersionId: number,\n userInteractionId: string,\n params?: GetStepsForInteractionApiV1ApplicationVersionsAppVersionIdInteractionsUserInteractionIdStepsGetParams,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/application-versions/${appVersionId}/interactions/${userInteractionId}/steps`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getGetStepsForInteractionApiV1ApplicationVersionsAppVersionIdInteractionsUserInteractionIdStepsGetQueryKey =\n (\n appVersionId: number,\n userInteractionId: string,\n params?: GetStepsForInteractionApiV1ApplicationVersionsAppVersionIdInteractionsUserInteractionIdStepsGetParams\n ) => {\n return [\n `/api/v1/application-versions/${appVersionId}/interactions/${userInteractionId}/steps`,\n ...(params ? [params] : [])\n ] as const;\n };\n\nexport const getGetStepsForInteractionApiV1ApplicationVersionsAppVersionIdInteractionsUserInteractionIdStepsGetQueryOptions =\n <\n TData = Awaited<\n ReturnType\n >,\n TError = ErrorType\n >(\n appVersionId: number,\n userInteractionId: string,\n params?: GetStepsForInteractionApiV1ApplicationVersionsAppVersionIdInteractionsUserInteractionIdStepsGetParams,\n options?: {\n query?: UseQueryOptions<\n Awaited<\n ReturnType<\n typeof getStepsForInteractionApiV1ApplicationVersionsAppVersionIdInteractionsUserInteractionIdStepsGet\n >\n >,\n TError,\n TData\n >;\n }\n ) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey =\n queryOptions?.queryKey ??\n getGetStepsForInteractionApiV1ApplicationVersionsAppVersionIdInteractionsUserInteractionIdStepsGetQueryKey(\n appVersionId,\n userInteractionId,\n params\n );\n\n const queryFn: QueryFunction<\n Awaited<\n ReturnType<\n typeof getStepsForInteractionApiV1ApplicationVersionsAppVersionIdInteractionsUserInteractionIdStepsGet\n >\n >\n > = ({ signal }) =>\n getStepsForInteractionApiV1ApplicationVersionsAppVersionIdInteractionsUserInteractionIdStepsGet(\n appVersionId,\n userInteractionId,\n params,\n signal\n );\n\n return { queryKey, queryFn, enabled: !!(appVersionId && userInteractionId), ...queryOptions } as UseQueryOptions<\n Awaited<\n ReturnType<\n typeof getStepsForInteractionApiV1ApplicationVersionsAppVersionIdInteractionsUserInteractionIdStepsGet\n >\n >,\n TError,\n TData\n > & { queryKey: QueryKey };\n };\n\nexport type GetStepsForInteractionApiV1ApplicationVersionsAppVersionIdInteractionsUserInteractionIdStepsGetQueryResult =\n NonNullable<\n Awaited<\n ReturnType\n >\n >;\nexport type GetStepsForInteractionApiV1ApplicationVersionsAppVersionIdInteractionsUserInteractionIdStepsGetQueryError =\n ErrorType;\n\n/**\n * @summary Get Steps For Interaction\n */\n\nexport function useGetStepsForInteractionApiV1ApplicationVersionsAppVersionIdInteractionsUserInteractionIdStepsGet<\n TData = Awaited<\n ReturnType\n >,\n TError = ErrorType\n>(\n appVersionId: number,\n userInteractionId: string,\n params?: GetStepsForInteractionApiV1ApplicationVersionsAppVersionIdInteractionsUserInteractionIdStepsGetParams,\n options?: {\n query?: UseQueryOptions<\n Awaited<\n ReturnType<\n typeof getStepsForInteractionApiV1ApplicationVersionsAppVersionIdInteractionsUserInteractionIdStepsGet\n >\n >,\n TError,\n TData\n >;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions =\n getGetStepsForInteractionApiV1ApplicationVersionsAppVersionIdInteractionsUserInteractionIdStepsGetQueryOptions(\n appVersionId,\n userInteractionId,\n params,\n options\n );\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Get interaction steps (Deprecated, please use '/application-versions/{app_version_id}/interactions/{user_interaction_id}/steps' instead)\n * @deprecated\n * @summary Get Steps For Interaction\n */\nexport const getStepsForInteractionDeprecated = (\n appVersionId: number,\n userInteractionId: string,\n params?: GetStepsForInteractionDeprecatedParams,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/application_versions/${appVersionId}/interactions/${userInteractionId}/steps`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getGetStepsForInteractionDeprecatedQueryKey = (\n appVersionId: number,\n userInteractionId: string,\n params?: GetStepsForInteractionDeprecatedParams\n) => {\n return [\n `/api/v1/application_versions/${appVersionId}/interactions/${userInteractionId}/steps`,\n ...(params ? [params] : [])\n ] as const;\n};\n\nexport const getGetStepsForInteractionDeprecatedQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n appVersionId: number,\n userInteractionId: string,\n params?: GetStepsForInteractionDeprecatedParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey =\n queryOptions?.queryKey ?? getGetStepsForInteractionDeprecatedQueryKey(appVersionId, userInteractionId, params);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n getStepsForInteractionDeprecated(appVersionId, userInteractionId, params, signal);\n\n return { queryKey, queryFn, enabled: !!(appVersionId && userInteractionId), ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetStepsForInteractionDeprecatedQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetStepsForInteractionDeprecatedQueryError = ErrorType;\n\n/**\n * @deprecated\n * @summary Get Steps For Interaction\n */\n\nexport function useGetStepsForInteractionDeprecated<\n TData = Awaited>,\n TError = ErrorType\n>(\n appVersionId: number,\n userInteractionId: string,\n params?: GetStepsForInteractionDeprecatedParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetStepsForInteractionDeprecatedQueryOptions(\n appVersionId,\n userInteractionId,\n params,\n options\n );\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * @summary Get Available Step Names\n */\nexport const getAvailableStepNamesApiV1ApplicationsAppIdAvailableStepNamesGet = (\n appId: number,\n signal?: AbortSignal\n) => {\n return customInstance({ url: `/api/v1/applications/${appId}/available-step-names`, method: 'GET', signal });\n};\n\nexport const getGetAvailableStepNamesApiV1ApplicationsAppIdAvailableStepNamesGetQueryKey = (appId: number) => {\n return [`/api/v1/applications/${appId}/available-step-names`] as const;\n};\n\nexport const getGetAvailableStepNamesApiV1ApplicationsAppIdAvailableStepNamesGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n appId: number,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey =\n queryOptions?.queryKey ?? getGetAvailableStepNamesApiV1ApplicationsAppIdAvailableStepNamesGetQueryKey(appId);\n\n const queryFn: QueryFunction<\n Awaited>\n > = ({ signal }) => getAvailableStepNamesApiV1ApplicationsAppIdAvailableStepNamesGet(appId, signal);\n\n return { queryKey, queryFn, enabled: !!appId, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetAvailableStepNamesApiV1ApplicationsAppIdAvailableStepNamesGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetAvailableStepNamesApiV1ApplicationsAppIdAvailableStepNamesGetQueryError = ErrorType;\n\n/**\n * @summary Get Available Step Names\n */\n\nexport function useGetAvailableStepNamesApiV1ApplicationsAppIdAvailableStepNamesGet<\n TData = Awaited>,\n TError = ErrorType\n>(\n appId: number,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetAvailableStepNamesApiV1ApplicationsAppIdAvailableStepNamesGetQueryOptions(appId, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * @summary Hello World\n */\nexport const helloWorldApiV1SayHelloGet = (signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/say-hello`, method: 'GET', signal });\n};\n\nexport const getHelloWorldApiV1SayHelloGetQueryKey = () => {\n return [`/api/v1/say-hello`] as const;\n};\n\nexport const getHelloWorldApiV1SayHelloGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getHelloWorldApiV1SayHelloGetQueryKey();\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n helloWorldApiV1SayHelloGet(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type HelloWorldApiV1SayHelloGetQueryResult = NonNullable>>;\nexport type HelloWorldApiV1SayHelloGetQueryError = ErrorType;\n\n/**\n * @summary Hello World\n */\n\nexport function useHelloWorldApiV1SayHelloGet<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getHelloWorldApiV1SayHelloGetQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * @summary Retrieve Backend Version\n */\nexport const retrieveBackendVersionApiV1BackendVersionGet = (signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/backend-version`, method: 'GET', signal });\n};\n\nexport const getRetrieveBackendVersionApiV1BackendVersionGetQueryKey = () => {\n return [`/api/v1/backend-version`] as const;\n};\n\nexport const getRetrieveBackendVersionApiV1BackendVersionGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getRetrieveBackendVersionApiV1BackendVersionGetQueryKey();\n\n const queryFn: QueryFunction>> = ({\n signal\n }) => retrieveBackendVersionApiV1BackendVersionGet(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type RetrieveBackendVersionApiV1BackendVersionGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type RetrieveBackendVersionApiV1BackendVersionGetQueryError = ErrorType;\n\n/**\n * @summary Retrieve Backend Version\n */\n\nexport function useRetrieveBackendVersionApiV1BackendVersionGet<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getRetrieveBackendVersionApiV1BackendVersionGetQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Retrieve metadata of the system, such as last update time of the application\n * @summary Get Status Info\n */\nexport const getAppLastUpdateTime = (params: GetAppLastUpdateTimeParams, signal?: AbortSignal) => {\n return customInstance({\n url: `/api/v1/sys-info`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getGetAppLastUpdateTimeQueryKey = (params: GetAppLastUpdateTimeParams) => {\n return [`/api/v1/sys-info`, ...(params ? [params] : [])] as const;\n};\n\nexport const getGetAppLastUpdateTimeQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n params: GetAppLastUpdateTimeParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetAppLastUpdateTimeQueryKey(params);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n getAppLastUpdateTime(params, signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetAppLastUpdateTimeQueryResult = NonNullable>>;\nexport type GetAppLastUpdateTimeQueryError = ErrorType;\n\n/**\n * @summary Get Status Info\n */\n\nexport function useGetAppLastUpdateTime<\n TData = Awaited>,\n TError = ErrorType\n>(\n params: GetAppLastUpdateTimeParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetAppLastUpdateTimeQueryOptions(params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Update annotation for interaction\n * @summary Update Annotations\n */\nexport const updateAnnotationsApiV1AnnotationsPut = (annotationUpdateSchema: AnnotationUpdateSchema) => {\n return customInstance({\n url: `/api/v1/annotations`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: annotationUpdateSchema\n });\n};\n\nexport const getUpdateAnnotationsApiV1AnnotationsPutMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: AnnotationUpdateSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { data: AnnotationUpdateSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { data: AnnotationUpdateSchema }\n > = props => {\n const { data } = props ?? {};\n\n return updateAnnotationsApiV1AnnotationsPut(data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateAnnotationsApiV1AnnotationsPutMutationResult = NonNullable<\n Awaited>\n>;\nexport type UpdateAnnotationsApiV1AnnotationsPutMutationBody = AnnotationUpdateSchema;\nexport type UpdateAnnotationsApiV1AnnotationsPutMutationError = ErrorType;\n\n/**\n * @summary Update Annotations\n */\nexport const useUpdateAnnotationsApiV1AnnotationsPut = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: AnnotationUpdateSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { data: AnnotationUpdateSchema },\n TContext\n> => {\n const mutationOptions = getUpdateAnnotationsApiV1AnnotationsPutMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Reset annotation for estimated interaction to pending\n * @summary Reset Annotation\n */\nexport const resetAnnotationApiV1AnnotationsResetEstimatedPost = (resetAnnotationPayload: ResetAnnotationPayload) => {\n return customInstance({\n url: `/api/v1/annotations/reset-estimated`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: resetAnnotationPayload\n });\n};\n\nexport const getResetAnnotationApiV1AnnotationsResetEstimatedPostMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: ResetAnnotationPayload },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { data: ResetAnnotationPayload },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { data: ResetAnnotationPayload }\n > = props => {\n const { data } = props ?? {};\n\n return resetAnnotationApiV1AnnotationsResetEstimatedPost(data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type ResetAnnotationApiV1AnnotationsResetEstimatedPostMutationResult = NonNullable<\n Awaited>\n>;\nexport type ResetAnnotationApiV1AnnotationsResetEstimatedPostMutationBody = ResetAnnotationPayload;\nexport type ResetAnnotationApiV1AnnotationsResetEstimatedPostMutationError = ErrorType;\n\n/**\n * @summary Reset Annotation\n */\nexport const useResetAnnotationApiV1AnnotationsResetEstimatedPost = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: ResetAnnotationPayload },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { data: ResetAnnotationPayload },\n TContext\n> => {\n const mutationOptions = getResetAnnotationApiV1AnnotationsResetEstimatedPostMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * @summary Get Insight\n */\nexport const getInsightApiV1InsightsGet = (params: GetInsightApiV1InsightsGetParams, signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/insights`, method: 'GET', params, signal });\n};\n\nexport const getGetInsightApiV1InsightsGetQueryKey = (params: GetInsightApiV1InsightsGetParams) => {\n return [`/api/v1/insights`, ...(params ? [params] : [])] as const;\n};\n\nexport const getGetInsightApiV1InsightsGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n params: GetInsightApiV1InsightsGetParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetInsightApiV1InsightsGetQueryKey(params);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n getInsightApiV1InsightsGet(params, signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetInsightApiV1InsightsGetQueryResult = NonNullable>>;\nexport type GetInsightApiV1InsightsGetQueryError = ErrorType;\n\n/**\n * @summary Get Insight\n */\n\nexport function useGetInsightApiV1InsightsGet<\n TData = Awaited>,\n TError = ErrorType\n>(\n params: GetInsightApiV1InsightsGetParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetInsightApiV1InsightsGetQueryOptions(params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * @summary Get Top Insights Per App\n */\nexport const getTopInsightsPerAppApiV1TopInsightsPerAppGet = (\n params: GetTopInsightsPerAppApiV1TopInsightsPerAppGetParams,\n signal?: AbortSignal\n) => {\n return customInstance({ url: `/api/v1/top-insights-per-app`, method: 'GET', params, signal });\n};\n\nexport const getGetTopInsightsPerAppApiV1TopInsightsPerAppGetQueryKey = (\n params: GetTopInsightsPerAppApiV1TopInsightsPerAppGetParams\n) => {\n return [`/api/v1/top-insights-per-app`, ...(params ? [params] : [])] as const;\n};\n\nexport const getGetTopInsightsPerAppApiV1TopInsightsPerAppGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n params: GetTopInsightsPerAppApiV1TopInsightsPerAppGetParams,\n options?: {\n query?: UseQueryOptions>, TError, TData>;\n }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetTopInsightsPerAppApiV1TopInsightsPerAppGetQueryKey(params);\n\n const queryFn: QueryFunction>> = ({\n signal\n }) => getTopInsightsPerAppApiV1TopInsightsPerAppGet(params, signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetTopInsightsPerAppApiV1TopInsightsPerAppGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetTopInsightsPerAppApiV1TopInsightsPerAppGetQueryError = ErrorType;\n\n/**\n * @summary Get Top Insights Per App\n */\n\nexport function useGetTopInsightsPerAppApiV1TopInsightsPerAppGet<\n TData = Awaited>,\n TError = ErrorType\n>(\n params: GetTopInsightsPerAppApiV1TopInsightsPerAppGetParams,\n options?: {\n query?: UseQueryOptions>, TError, TData>;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetTopInsightsPerAppApiV1TopInsightsPerAppGetQueryOptions(params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Calculate insights for given application version.\n * @summary Recalculate Insights\n */\nexport const recalculateInsightsApiV1InsightsRecalculatePost = (\n params: RecalculateInsightsApiV1InsightsRecalculatePostParams\n) => {\n return customInstance({ url: `/api/v1/insights/recalculate`, method: 'POST', params });\n};\n\nexport const getRecalculateInsightsApiV1InsightsRecalculatePostMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { params: RecalculateInsightsApiV1InsightsRecalculatePostParams },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { params: RecalculateInsightsApiV1InsightsRecalculatePostParams },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { params: RecalculateInsightsApiV1InsightsRecalculatePostParams }\n > = props => {\n const { params } = props ?? {};\n\n return recalculateInsightsApiV1InsightsRecalculatePost(params);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type RecalculateInsightsApiV1InsightsRecalculatePostMutationResult = NonNullable<\n Awaited>\n>;\n\nexport type RecalculateInsightsApiV1InsightsRecalculatePostMutationError = ErrorType;\n\n/**\n * @summary Recalculate Insights\n */\nexport const useRecalculateInsightsApiV1InsightsRecalculatePost = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { params: RecalculateInsightsApiV1InsightsRecalculatePostParams },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { params: RecalculateInsightsApiV1InsightsRecalculatePostParams },\n TContext\n> => {\n const mutationOptions = getRecalculateInsightsApiV1InsightsRecalculatePostMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Update insight\n * @summary Update Insight\n */\nexport const updateInsight = (insightId: number, updateInsightSchema: UpdateInsightSchema) => {\n return customInstance({\n url: `/api/v1/insights/${insightId}`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: updateInsightSchema\n });\n};\n\nexport const getUpdateInsightMutationOptions = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { insightId: number; data: UpdateInsightSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { insightId: number; data: UpdateInsightSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { insightId: number; data: UpdateInsightSchema }\n > = props => {\n const { insightId, data } = props ?? {};\n\n return updateInsight(insightId, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateInsightMutationResult = NonNullable>>;\nexport type UpdateInsightMutationBody = UpdateInsightSchema;\nexport type UpdateInsightMutationError = ErrorType;\n\n/**\n * @summary Update Insight\n */\nexport const useUpdateInsight = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { insightId: number; data: UpdateInsightSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { insightId: number; data: UpdateInsightSchema },\n TContext\n> => {\n const mutationOptions = getUpdateInsightMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * @summary Get Generated Inputs\n */\nexport const getGeneratedInputsApiV1GenerateUserInputsPost = (\n generateConfig: GenerateConfig,\n params: GetGeneratedInputsApiV1GenerateUserInputsPostParams\n) => {\n return customInstance({\n url: `/api/v1/generate-user-inputs`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: generateConfig,\n params\n });\n};\n\nexport const getGetGeneratedInputsApiV1GenerateUserInputsPostMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: GenerateConfig; params: GetGeneratedInputsApiV1GenerateUserInputsPostParams },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { data: GenerateConfig; params: GetGeneratedInputsApiV1GenerateUserInputsPostParams },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { data: GenerateConfig; params: GetGeneratedInputsApiV1GenerateUserInputsPostParams }\n > = props => {\n const { data, params } = props ?? {};\n\n return getGeneratedInputsApiV1GenerateUserInputsPost(data, params);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type GetGeneratedInputsApiV1GenerateUserInputsPostMutationResult = NonNullable<\n Awaited>\n>;\nexport type GetGeneratedInputsApiV1GenerateUserInputsPostMutationBody = GenerateConfig;\nexport type GetGeneratedInputsApiV1GenerateUserInputsPostMutationError = ErrorType;\n\n/**\n * @summary Get Generated Inputs\n */\nexport const useGetGeneratedInputsApiV1GenerateUserInputsPost = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: GenerateConfig; params: GetGeneratedInputsApiV1GenerateUserInputsPostParams },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { data: GenerateConfig; params: GetGeneratedInputsApiV1GenerateUserInputsPostParams },\n TContext\n> => {\n const mutationOptions = getGetGeneratedInputsApiV1GenerateUserInputsPostMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Create a new golden set generation task\n * @summary Create Question Gen Task For App\n */\nexport const createQuestionGenTaskForAppApiV1ApplicationsAppIdGoldensetGeneratorTaskPost = (appId: number) => {\n return customInstance({\n url: `/api/v1/applications/${appId}/goldenset-generator-task`,\n method: 'POST'\n });\n};\n\nexport const getCreateQuestionGenTaskForAppApiV1ApplicationsAppIdGoldensetGeneratorTaskPostMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { appId: number },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { appId: number }\n > = props => {\n const { appId } = props ?? {};\n\n return createQuestionGenTaskForAppApiV1ApplicationsAppIdGoldensetGeneratorTaskPost(appId);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type CreateQuestionGenTaskForAppApiV1ApplicationsAppIdGoldensetGeneratorTaskPostMutationResult = NonNullable<\n Awaited>\n>;\n\nexport type CreateQuestionGenTaskForAppApiV1ApplicationsAppIdGoldensetGeneratorTaskPostMutationError =\n ErrorType;\n\n/**\n * @summary Create Question Gen Task For App\n */\nexport const useCreateQuestionGenTaskForAppApiV1ApplicationsAppIdGoldensetGeneratorTaskPost = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appId: number },\n TContext\n> => {\n const mutationOptions =\n getCreateQuestionGenTaskForAppApiV1ApplicationsAppIdGoldensetGeneratorTaskPostMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Adds a new data source to the gen task\n * @summary Add Source\n */\nexport const addSourceApiV1GoldensetGeneratorTaskTaskIdDataSourcePost = (\n taskId: string,\n bodyAddSourceApiV1GoldensetGeneratorTaskTaskIdDataSourcePost: BodyAddSourceApiV1GoldensetGeneratorTaskTaskIdDataSourcePost\n) => {\n const formData = new FormData();\n formData.append('data', bodyAddSourceApiV1GoldensetGeneratorTaskTaskIdDataSourcePost as any);\n\n return customInstance({\n url: `/api/v1/goldenset-generator-task/${taskId}/data-source`,\n method: 'POST',\n headers: { 'Content-Type': 'multipart/form-data' },\n data: formData\n });\n};\n\nexport const getAddSourceApiV1GoldensetGeneratorTaskTaskIdDataSourcePostMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { taskId: string; data: BodyAddSourceApiV1GoldensetGeneratorTaskTaskIdDataSourcePost },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { taskId: string; data: BodyAddSourceApiV1GoldensetGeneratorTaskTaskIdDataSourcePost },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { taskId: string; data: BodyAddSourceApiV1GoldensetGeneratorTaskTaskIdDataSourcePost }\n > = props => {\n const { taskId, data } = props ?? {};\n\n return addSourceApiV1GoldensetGeneratorTaskTaskIdDataSourcePost(taskId, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type AddSourceApiV1GoldensetGeneratorTaskTaskIdDataSourcePostMutationResult = NonNullable<\n Awaited>\n>;\nexport type AddSourceApiV1GoldensetGeneratorTaskTaskIdDataSourcePostMutationBody =\n BodyAddSourceApiV1GoldensetGeneratorTaskTaskIdDataSourcePost;\nexport type AddSourceApiV1GoldensetGeneratorTaskTaskIdDataSourcePostMutationError = ErrorType;\n\n/**\n * @summary Add Source\n */\nexport const useAddSourceApiV1GoldensetGeneratorTaskTaskIdDataSourcePost = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { taskId: string; data: BodyAddSourceApiV1GoldensetGeneratorTaskTaskIdDataSourcePost },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { taskId: string; data: BodyAddSourceApiV1GoldensetGeneratorTaskTaskIdDataSourcePost },\n TContext\n> => {\n const mutationOptions = getAddSourceApiV1GoldensetGeneratorTaskTaskIdDataSourcePostMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Deletes a new data source from the gen task\n * @summary Delete Source\n */\nexport const deleteSourceApiV1GoldensetGeneratorTaskTaskIdDataSourceSourceIdDelete = (\n taskId: string,\n sourceId: string\n) => {\n return customInstance({\n url: `/api/v1/goldenset-generator-task/${taskId}/data-source/${sourceId}`,\n method: 'DELETE'\n });\n};\n\nexport const getDeleteSourceApiV1GoldensetGeneratorTaskTaskIdDataSourceSourceIdDeleteMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { taskId: string; sourceId: string },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { taskId: string; sourceId: string },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { taskId: string; sourceId: string }\n > = props => {\n const { taskId, sourceId } = props ?? {};\n\n return deleteSourceApiV1GoldensetGeneratorTaskTaskIdDataSourceSourceIdDelete(taskId, sourceId);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteSourceApiV1GoldensetGeneratorTaskTaskIdDataSourceSourceIdDeleteMutationResult = NonNullable<\n Awaited>\n>;\n\nexport type DeleteSourceApiV1GoldensetGeneratorTaskTaskIdDataSourceSourceIdDeleteMutationError =\n ErrorType;\n\n/**\n * @summary Delete Source\n */\nexport const useDeleteSourceApiV1GoldensetGeneratorTaskTaskIdDataSourceSourceIdDelete = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { taskId: string; sourceId: string },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { taskId: string; sourceId: string },\n TContext\n> => {\n const mutationOptions =\n getDeleteSourceApiV1GoldensetGeneratorTaskTaskIdDataSourceSourceIdDeleteMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Starting the samples generation process\n * @summary Generate Samples\n */\nexport const generateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePost = (\n taskId: string,\n bodyGenerateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePost: BodyGenerateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePost,\n params: GenerateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePostParams\n) => {\n return customInstance({\n url: `/api/v1/goldenset-generator-task/${taskId}/generate`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: bodyGenerateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePost,\n params\n });\n};\n\nexport const getGenerateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePostMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n {\n taskId: string;\n data: BodyGenerateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePost;\n params: GenerateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePostParams;\n },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n {\n taskId: string;\n data: BodyGenerateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePost;\n params: GenerateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePostParams;\n },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n {\n taskId: string;\n data: BodyGenerateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePost;\n params: GenerateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePostParams;\n }\n > = props => {\n const { taskId, data, params } = props ?? {};\n\n return generateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePost(taskId, data, params);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type GenerateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePostMutationResult = NonNullable<\n Awaited>\n>;\nexport type GenerateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePostMutationBody =\n BodyGenerateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePost;\nexport type GenerateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePostMutationError = ErrorType;\n\n/**\n * @summary Generate Samples\n */\nexport const useGenerateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePost = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n {\n taskId: string;\n data: BodyGenerateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePost;\n params: GenerateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePostParams;\n },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n {\n taskId: string;\n data: BodyGenerateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePost;\n params: GenerateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePostParams;\n },\n TContext\n> => {\n const mutationOptions = getGenerateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePostMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Downloads the selected samples from the samples generation process\n * @summary Download Selected Generated Samples\n */\nexport const downloadSelectedGeneratedSamplesApiV1GoldensetGeneratorTaskTaskIdDownloadPost = (\n taskId: string,\n downloadSelectedGeneratedSamplesApiV1GoldensetGeneratorTaskTaskIdDownloadPostBody: unknown[]\n) => {\n return customInstance({\n url: `/api/v1/goldenset-generator-task/${taskId}/download`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: downloadSelectedGeneratedSamplesApiV1GoldensetGeneratorTaskTaskIdDownloadPostBody\n });\n};\n\nexport const getDownloadSelectedGeneratedSamplesApiV1GoldensetGeneratorTaskTaskIdDownloadPostMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { taskId: string; data: unknown[] },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { taskId: string; data: unknown[] },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { taskId: string; data: unknown[] }\n > = props => {\n const { taskId, data } = props ?? {};\n\n return downloadSelectedGeneratedSamplesApiV1GoldensetGeneratorTaskTaskIdDownloadPost(taskId, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type DownloadSelectedGeneratedSamplesApiV1GoldensetGeneratorTaskTaskIdDownloadPostMutationResult = NonNullable<\n Awaited>\n>;\nexport type DownloadSelectedGeneratedSamplesApiV1GoldensetGeneratorTaskTaskIdDownloadPostMutationBody = unknown[];\nexport type DownloadSelectedGeneratedSamplesApiV1GoldensetGeneratorTaskTaskIdDownloadPostMutationError =\n ErrorType;\n\n/**\n * @summary Download Selected Generated Samples\n */\nexport const useDownloadSelectedGeneratedSamplesApiV1GoldensetGeneratorTaskTaskIdDownloadPost = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { taskId: string; data: unknown[] },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { taskId: string; data: unknown[] },\n TContext\n> => {\n const mutationOptions =\n getDownloadSelectedGeneratedSamplesApiV1GoldensetGeneratorTaskTaskIdDownloadPostMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Clean up all resources regarding the samples generation\n * @summary Destroy All\n */\nexport const destroyAllApiV1GoldensetGeneratorTaskTaskIdDestroyPost = (taskId: string) => {\n return customInstance({ url: `/api/v1/goldenset-generator-task/${taskId}/destroy`, method: 'POST' });\n};\n\nexport const getDestroyAllApiV1GoldensetGeneratorTaskTaskIdDestroyPostMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { taskId: string },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { taskId: string },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { taskId: string }\n > = props => {\n const { taskId } = props ?? {};\n\n return destroyAllApiV1GoldensetGeneratorTaskTaskIdDestroyPost(taskId);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type DestroyAllApiV1GoldensetGeneratorTaskTaskIdDestroyPostMutationResult = NonNullable<\n Awaited>\n>;\n\nexport type DestroyAllApiV1GoldensetGeneratorTaskTaskIdDestroyPostMutationError = ErrorType;\n\n/**\n * @summary Destroy All\n */\nexport const useDestroyAllApiV1GoldensetGeneratorTaskTaskIdDestroyPost = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { taskId: string },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { taskId: string },\n TContext\n> => {\n const mutationOptions = getDestroyAllApiV1GoldensetGeneratorTaskTaskIdDestroyPostMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Retrieve a mapping of topics list per environment for the given app version\n * @summary Get topics\n */\nexport const getTopicsApiV1ApplicationVersionsApplicationVersionIdTopicsPost = (\n applicationVersionId: number,\n filterSchema: FilterSchema\n) => {\n return customInstance({\n url: `/api/v1/application-versions/${applicationVersionId}/topics`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: filterSchema\n });\n};\n\nexport const getGetTopicsApiV1ApplicationVersionsApplicationVersionIdTopicsPostMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { applicationVersionId: number; data: FilterSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { applicationVersionId: number; data: FilterSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { applicationVersionId: number; data: FilterSchema }\n > = props => {\n const { applicationVersionId, data } = props ?? {};\n\n return getTopicsApiV1ApplicationVersionsApplicationVersionIdTopicsPost(applicationVersionId, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type GetTopicsApiV1ApplicationVersionsApplicationVersionIdTopicsPostMutationResult = NonNullable<\n Awaited>\n>;\nexport type GetTopicsApiV1ApplicationVersionsApplicationVersionIdTopicsPostMutationBody = FilterSchema;\nexport type GetTopicsApiV1ApplicationVersionsApplicationVersionIdTopicsPostMutationError =\n ErrorType;\n\n/**\n * @summary Get topics\n */\nexport const useGetTopicsApiV1ApplicationVersionsApplicationVersionIdTopicsPost = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { applicationVersionId: number; data: FilterSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { applicationVersionId: number; data: FilterSchema },\n TContext\n> => {\n const mutationOptions = getGetTopicsApiV1ApplicationVersionsApplicationVersionIdTopicsPostMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Async operation to start topics calculation\n * @summary Generate Topics\n */\nexport const generateTopicsApiV1GenerateTopicsPost = (params: GenerateTopicsApiV1GenerateTopicsPostParams) => {\n return customInstance({ url: `/api/v1/generate-topics`, method: 'POST', params });\n};\n\nexport const getGenerateTopicsApiV1GenerateTopicsPostMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { params: GenerateTopicsApiV1GenerateTopicsPostParams },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { params: GenerateTopicsApiV1GenerateTopicsPostParams },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { params: GenerateTopicsApiV1GenerateTopicsPostParams }\n > = props => {\n const { params } = props ?? {};\n\n return generateTopicsApiV1GenerateTopicsPost(params);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type GenerateTopicsApiV1GenerateTopicsPostMutationResult = NonNullable<\n Awaited>\n>;\n\nexport type GenerateTopicsApiV1GenerateTopicsPostMutationError = ErrorType;\n\n/**\n * @summary Generate Topics\n */\nexport const useGenerateTopicsApiV1GenerateTopicsPost = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { params: GenerateTopicsApiV1GenerateTopicsPostParams },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { params: GenerateTopicsApiV1GenerateTopicsPostParams },\n TContext\n> => {\n const mutationOptions = getGenerateTopicsApiV1GenerateTopicsPostMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Create custom properties definitions\n * @summary Create Custom Props Definitions\n */\nexport const createCustomPropDefinition = (appId: number, customPropDefinitionSchema: CustomPropDefinitionSchema[]) => {\n return customInstance({\n url: `/api/v1/applications/${appId}/custom-prop-definitions`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: customPropDefinitionSchema\n });\n};\n\nexport const getCreateCustomPropDefinitionMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; data: CustomPropDefinitionSchema[] },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; data: CustomPropDefinitionSchema[] },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { appId: number; data: CustomPropDefinitionSchema[] }\n > = props => {\n const { appId, data } = props ?? {};\n\n return createCustomPropDefinition(appId, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type CreateCustomPropDefinitionMutationResult = NonNullable<\n Awaited>\n>;\nexport type CreateCustomPropDefinitionMutationBody = CustomPropDefinitionSchema[];\nexport type CreateCustomPropDefinitionMutationError = ErrorType;\n\n/**\n * @summary Create Custom Props Definitions\n */\nexport const useCreateCustomPropDefinition = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; data: CustomPropDefinitionSchema[] },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appId: number; data: CustomPropDefinitionSchema[] },\n TContext\n> => {\n const mutationOptions = getCreateCustomPropDefinitionMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Update custom properties display names\n * @summary Update Custom Props Definitions\n */\nexport const updateCustomPropDefinition = (\n appId: number,\n updateCustomPropDefinitionSchema: UpdateCustomPropDefinitionSchema[]\n) => {\n return customInstance({\n url: `/api/v1/applications/${appId}/custom-prop-definitions`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: updateCustomPropDefinitionSchema\n });\n};\n\nexport const getUpdateCustomPropDefinitionMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; data: UpdateCustomPropDefinitionSchema[] },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; data: UpdateCustomPropDefinitionSchema[] },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { appId: number; data: UpdateCustomPropDefinitionSchema[] }\n > = props => {\n const { appId, data } = props ?? {};\n\n return updateCustomPropDefinition(appId, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateCustomPropDefinitionMutationResult = NonNullable<\n Awaited>\n>;\nexport type UpdateCustomPropDefinitionMutationBody = UpdateCustomPropDefinitionSchema[];\nexport type UpdateCustomPropDefinitionMutationError = ErrorType;\n\n/**\n * @summary Update Custom Props Definitions\n */\nexport const useUpdateCustomPropDefinition = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; data: UpdateCustomPropDefinitionSchema[] },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appId: number; data: UpdateCustomPropDefinitionSchema[] },\n TContext\n> => {\n const mutationOptions = getUpdateCustomPropDefinitionMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Delete custom properties definitions\n * @summary Delete Custom Props Definitions\n */\nexport const deleteCustomPropDefinition = (appId: number, params: DeleteCustomPropDefinitionParams) => {\n return customInstance({\n url: `/api/v1/applications/${appId}/custom-prop-definitions`,\n method: 'DELETE',\n params\n });\n};\n\nexport const getDeleteCustomPropDefinitionMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; params: DeleteCustomPropDefinitionParams },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; params: DeleteCustomPropDefinitionParams },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { appId: number; params: DeleteCustomPropDefinitionParams }\n > = props => {\n const { appId, params } = props ?? {};\n\n return deleteCustomPropDefinition(appId, params);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteCustomPropDefinitionMutationResult = NonNullable<\n Awaited>\n>;\n\nexport type DeleteCustomPropDefinitionMutationError = ErrorType;\n\n/**\n * @summary Delete Custom Props Definitions\n */\nexport const useDeleteCustomPropDefinition = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; params: DeleteCustomPropDefinitionParams },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appId: number; params: DeleteCustomPropDefinitionParams },\n TContext\n> => {\n const mutationOptions = getDeleteCustomPropDefinitionMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * List llm properties definitions\n * @summary List Llm Props Definitions\n */\nexport const listLlmPropsDefinitions = (\n appId: number,\n params?: ListLlmPropsDefinitionsParams,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/applications/${appId}/llm-prop-definitions`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getListLlmPropsDefinitionsQueryKey = (appId: number, params?: ListLlmPropsDefinitionsParams) => {\n return [`/api/v1/applications/${appId}/llm-prop-definitions`, ...(params ? [params] : [])] as const;\n};\n\nexport const getListLlmPropsDefinitionsQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n appId: number,\n params?: ListLlmPropsDefinitionsParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getListLlmPropsDefinitionsQueryKey(appId, params);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n listLlmPropsDefinitions(appId, params, signal);\n\n return { queryKey, queryFn, enabled: !!appId, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type ListLlmPropsDefinitionsQueryResult = NonNullable>>;\nexport type ListLlmPropsDefinitionsQueryError = ErrorType;\n\n/**\n * @summary List Llm Props Definitions\n */\n\nexport function useListLlmPropsDefinitions<\n TData = Awaited>,\n TError = ErrorType\n>(\n appId: number,\n params?: ListLlmPropsDefinitionsParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getListLlmPropsDefinitionsQueryOptions(appId, params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Create llm properties definitions\n * @summary Create Llm Prop Definition\n */\nexport const createLlmPropsDefinitions = (\n appId: number,\n bodyCreateLlmPropsDefinitions: BodyCreateLlmPropsDefinitions\n) => {\n const formData = new FormData();\n if (bodyCreateLlmPropsDefinitions.description !== undefined && bodyCreateLlmPropsDefinitions.description !== null) {\n formData.append('description', bodyCreateLlmPropsDefinitions.description);\n }\n formData.append('name', bodyCreateLlmPropsDefinitions.name);\n bodyCreateLlmPropsDefinitions.pipeline_elements_to_use.forEach(value =>\n formData.append('pipeline_elements_to_use', value)\n );\n formData.append('score_steps', bodyCreateLlmPropsDefinitions.score_steps);\n if (\n bodyCreateLlmPropsDefinitions.interaction_type !== undefined &&\n bodyCreateLlmPropsDefinitions.interaction_type !== null\n ) {\n formData.append('interaction_type', bodyCreateLlmPropsDefinitions.interaction_type);\n }\n if (\n bodyCreateLlmPropsDefinitions.few_shot_file !== undefined &&\n bodyCreateLlmPropsDefinitions.few_shot_file !== null\n ) {\n formData.append('few_shot_file', bodyCreateLlmPropsDefinitions.few_shot_file);\n }\n\n return customInstance({\n url: `/api/v1/applications/${appId}/llm-prop-definitions`,\n method: 'POST',\n headers: { 'Content-Type': 'multipart/form-data' },\n data: formData\n });\n};\n\nexport const getCreateLlmPropsDefinitionsMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; data: BodyCreateLlmPropsDefinitions },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; data: BodyCreateLlmPropsDefinitions },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { appId: number; data: BodyCreateLlmPropsDefinitions }\n > = props => {\n const { appId, data } = props ?? {};\n\n return createLlmPropsDefinitions(appId, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type CreateLlmPropsDefinitionsMutationResult = NonNullable<\n Awaited>\n>;\nexport type CreateLlmPropsDefinitionsMutationBody = BodyCreateLlmPropsDefinitions;\nexport type CreateLlmPropsDefinitionsMutationError = ErrorType;\n\n/**\n * @summary Create Llm Prop Definition\n */\nexport const useCreateLlmPropsDefinitions = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; data: BodyCreateLlmPropsDefinitions },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appId: number; data: BodyCreateLlmPropsDefinitions },\n TContext\n> => {\n const mutationOptions = getCreateLlmPropsDefinitionsMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Update llm properties display names\n * @summary Update Llm Props Definitions\n */\nexport const updateLlmPropsDefinitions = (\n appId: number,\n updateLLMPropDefinitionSchema: UpdateLLMPropDefinitionSchema[]\n) => {\n return customInstance({\n url: `/api/v1/applications/${appId}/llm-prop-definitions`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: updateLLMPropDefinitionSchema\n });\n};\n\nexport const getUpdateLlmPropsDefinitionsMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; data: UpdateLLMPropDefinitionSchema[] },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; data: UpdateLLMPropDefinitionSchema[] },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { appId: number; data: UpdateLLMPropDefinitionSchema[] }\n > = props => {\n const { appId, data } = props ?? {};\n\n return updateLlmPropsDefinitions(appId, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateLlmPropsDefinitionsMutationResult = NonNullable<\n Awaited>\n>;\nexport type UpdateLlmPropsDefinitionsMutationBody = UpdateLLMPropDefinitionSchema[];\nexport type UpdateLlmPropsDefinitionsMutationError = ErrorType;\n\n/**\n * @summary Update Llm Props Definitions\n */\nexport const useUpdateLlmPropsDefinitions = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; data: UpdateLLMPropDefinitionSchema[] },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appId: number; data: UpdateLLMPropDefinitionSchema[] },\n TContext\n> => {\n const mutationOptions = getUpdateLlmPropsDefinitionsMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Delete llm properties definitions\n * @summary Delete Llm Props Definitions\n */\nexport const deleteLlmPropsDefinitions = (appId: number, params: DeleteLlmPropsDefinitionsParams) => {\n return customInstance({\n url: `/api/v1/applications/${appId}/llm-prop-definitions`,\n method: 'DELETE',\n params\n });\n};\n\nexport const getDeleteLlmPropsDefinitionsMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; params: DeleteLlmPropsDefinitionsParams },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; params: DeleteLlmPropsDefinitionsParams },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { appId: number; params: DeleteLlmPropsDefinitionsParams }\n > = props => {\n const { appId, params } = props ?? {};\n\n return deleteLlmPropsDefinitions(appId, params);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteLlmPropsDefinitionsMutationResult = NonNullable<\n Awaited>\n>;\n\nexport type DeleteLlmPropsDefinitionsMutationError = ErrorType;\n\n/**\n * @summary Delete Llm Props Definitions\n */\nexport const useDeleteLlmPropsDefinitions = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appId: number; params: DeleteLlmPropsDefinitionsParams },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appId: number; params: DeleteLlmPropsDefinitionsParams },\n TContext\n> => {\n const mutationOptions = getDeleteLlmPropsDefinitionsMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * @summary Get Llm Prop Few Shot\n */\nexport const getLlmPropFewShotApiV1LlmPropDefinitionsLlmPropIdFewShotGet = (\n llmPropId: number,\n signal?: AbortSignal\n) => {\n return customInstance({ url: `/api/v1/llm-prop-definitions/${llmPropId}/few-shot`, method: 'GET', signal });\n};\n\nexport const getGetLlmPropFewShotApiV1LlmPropDefinitionsLlmPropIdFewShotGetQueryKey = (llmPropId: number) => {\n return [`/api/v1/llm-prop-definitions/${llmPropId}/few-shot`] as const;\n};\n\nexport const getGetLlmPropFewShotApiV1LlmPropDefinitionsLlmPropIdFewShotGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n llmPropId: number,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey =\n queryOptions?.queryKey ?? getGetLlmPropFewShotApiV1LlmPropDefinitionsLlmPropIdFewShotGetQueryKey(llmPropId);\n\n const queryFn: QueryFunction<\n Awaited>\n > = ({ signal }) => getLlmPropFewShotApiV1LlmPropDefinitionsLlmPropIdFewShotGet(llmPropId, signal);\n\n return { queryKey, queryFn, enabled: !!llmPropId, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetLlmPropFewShotApiV1LlmPropDefinitionsLlmPropIdFewShotGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetLlmPropFewShotApiV1LlmPropDefinitionsLlmPropIdFewShotGetQueryError = ErrorType;\n\n/**\n * @summary Get Llm Prop Few Shot\n */\n\nexport function useGetLlmPropFewShotApiV1LlmPropDefinitionsLlmPropIdFewShotGet<\n TData = Awaited>,\n TError = ErrorType\n>(\n llmPropId: number,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetLlmPropFewShotApiV1LlmPropDefinitionsLlmPropIdFewShotGetQueryOptions(llmPropId, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Get template for llm test\n * @summary Get Template For Llm Test\n */\nexport const getTemplateForLlmTestApiV1TemplateForLlmTestGet = (signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/template-for-llm-test`, method: 'GET', signal });\n};\n\nexport const getGetTemplateForLlmTestApiV1TemplateForLlmTestGetQueryKey = () => {\n return [`/api/v1/template-for-llm-test`] as const;\n};\n\nexport const getGetTemplateForLlmTestApiV1TemplateForLlmTestGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetTemplateForLlmTestApiV1TemplateForLlmTestGetQueryKey();\n\n const queryFn: QueryFunction>> = ({\n signal\n }) => getTemplateForLlmTestApiV1TemplateForLlmTestGet(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetTemplateForLlmTestApiV1TemplateForLlmTestGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetTemplateForLlmTestApiV1TemplateForLlmTestGetQueryError = ErrorType;\n\n/**\n * @summary Get Template For Llm Test\n */\n\nexport function useGetTemplateForLlmTestApiV1TemplateForLlmTestGet<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetTemplateForLlmTestApiV1TemplateForLlmTestGetQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Get user interaction id and version for running llm property\n * @summary Get Test Run Interaction Id\n */\nexport const getTestRunInteractionIdApiV1ApplicationsAppIdInteractionForLlmTestGet = (\n appId: number,\n params: GetTestRunInteractionIdApiV1ApplicationsAppIdInteractionForLlmTestGetParams,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/applications/${appId}/interaction-for-llm-test`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getGetTestRunInteractionIdApiV1ApplicationsAppIdInteractionForLlmTestGetQueryKey = (\n appId: number,\n params: GetTestRunInteractionIdApiV1ApplicationsAppIdInteractionForLlmTestGetParams\n) => {\n return [`/api/v1/applications/${appId}/interaction-for-llm-test`, ...(params ? [params] : [])] as const;\n};\n\nexport const getGetTestRunInteractionIdApiV1ApplicationsAppIdInteractionForLlmTestGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n appId: number,\n params: GetTestRunInteractionIdApiV1ApplicationsAppIdInteractionForLlmTestGetParams,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey =\n queryOptions?.queryKey ??\n getGetTestRunInteractionIdApiV1ApplicationsAppIdInteractionForLlmTestGetQueryKey(appId, params);\n\n const queryFn: QueryFunction<\n Awaited>\n > = ({ signal }) => getTestRunInteractionIdApiV1ApplicationsAppIdInteractionForLlmTestGet(appId, params, signal);\n\n return { queryKey, queryFn, enabled: !!appId, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetTestRunInteractionIdApiV1ApplicationsAppIdInteractionForLlmTestGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetTestRunInteractionIdApiV1ApplicationsAppIdInteractionForLlmTestGetQueryError =\n ErrorType;\n\n/**\n * @summary Get Test Run Interaction Id\n */\n\nexport function useGetTestRunInteractionIdApiV1ApplicationsAppIdInteractionForLlmTestGet<\n TData = Awaited>,\n TError = ErrorType\n>(\n appId: number,\n params: GetTestRunInteractionIdApiV1ApplicationsAppIdInteractionForLlmTestGetParams,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetTestRunInteractionIdApiV1ApplicationsAppIdInteractionForLlmTestGetQueryOptions(\n appId,\n params,\n options\n );\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Test run llm property\n * @summary Test Run Llm Prop\n */\nexport const testRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPost = (\n applicationVersionId: number,\n userInteractionId: string,\n bodyTestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPost: BodyTestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPost\n) => {\n const formData = new FormData();\n if (\n bodyTestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPost.description !==\n undefined &&\n bodyTestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPost.description !== null\n ) {\n formData.append(\n 'description',\n bodyTestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPost.description\n );\n }\n formData.append(\n 'name',\n bodyTestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPost.name\n );\n bodyTestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPost.pipeline_elements_to_use.forEach(\n value => formData.append('pipeline_elements_to_use', value)\n );\n formData.append(\n 'score_steps',\n bodyTestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPost.score_steps\n );\n if (\n bodyTestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPost.few_shot_file !==\n undefined &&\n bodyTestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPost.few_shot_file !== null\n ) {\n formData.append(\n 'few_shot_file',\n bodyTestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPost.few_shot_file\n );\n }\n\n return customInstance({\n url: `/api/v1/applications/${applicationVersionId}/llm-prop-test-run/${userInteractionId}`,\n method: 'POST',\n headers: { 'Content-Type': 'multipart/form-data' },\n data: formData\n });\n};\n\nexport const getTestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPostMutationOptions =\n , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited<\n ReturnType\n >,\n TError,\n {\n applicationVersionId: number;\n userInteractionId: string;\n data: BodyTestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPost;\n },\n TContext\n >;\n }): UseMutationOptions<\n Awaited>,\n TError,\n {\n applicationVersionId: number;\n userInteractionId: string;\n data: BodyTestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPost;\n },\n TContext\n > => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited<\n ReturnType\n >,\n {\n applicationVersionId: number;\n userInteractionId: string;\n data: BodyTestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPost;\n }\n > = props => {\n const { applicationVersionId, userInteractionId, data } = props ?? {};\n\n return testRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPost(\n applicationVersionId,\n userInteractionId,\n data\n );\n };\n\n return { mutationFn, ...mutationOptions };\n };\n\nexport type TestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPostMutationResult =\n NonNullable<\n Awaited>\n >;\nexport type TestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPostMutationBody =\n BodyTestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPost;\nexport type TestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPostMutationError =\n ErrorType;\n\n/**\n * @summary Test Run Llm Prop\n */\nexport const useTestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPost = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n {\n applicationVersionId: number;\n userInteractionId: string;\n data: BodyTestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPost;\n },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n {\n applicationVersionId: number;\n userInteractionId: string;\n data: BodyTestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPost;\n },\n TContext\n> => {\n const mutationOptions =\n getTestRunLlmPropApiV1ApplicationsApplicationVersionIdLlmPropTestRunUserInteractionIdPostMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * List llm bank properties\n * @summary List Llm Bank Props\n */\nexport const listLlmBankProps = (params: ListLlmBankPropsParams, signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/llm-bank-properties`, method: 'GET', params, signal });\n};\n\nexport const getListLlmBankPropsQueryKey = (params: ListLlmBankPropsParams) => {\n return [`/api/v1/llm-bank-properties`, ...(params ? [params] : [])] as const;\n};\n\nexport const getListLlmBankPropsQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n params: ListLlmBankPropsParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getListLlmBankPropsQueryKey(params);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n listLlmBankProps(params, signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type ListLlmBankPropsQueryResult = NonNullable>>;\nexport type ListLlmBankPropsQueryError = ErrorType;\n\n/**\n * @summary List Llm Bank Props\n */\n\nexport function useListLlmBankProps<\n TData = Awaited>,\n TError = ErrorType\n>(\n params: ListLlmBankPropsParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getListLlmBankPropsQueryOptions(params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * List application logs\n * @summary List Application Logs\n */\nexport const listAppLogs = (appId: number, params?: ListAppLogsParams, signal?: AbortSignal) => {\n return customInstance({\n url: `/api/v1/applications/${appId}/logs`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getListAppLogsQueryKey = (appId: number, params?: ListAppLogsParams) => {\n return [`/api/v1/applications/${appId}/logs`, ...(params ? [params] : [])] as const;\n};\n\nexport const getListAppLogsQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n appId: number,\n params?: ListAppLogsParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getListAppLogsQueryKey(appId, params);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n listAppLogs(appId, params, signal);\n\n return { queryKey, queryFn, enabled: !!appId, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type ListAppLogsQueryResult = NonNullable>>;\nexport type ListAppLogsQueryError = ErrorType;\n\n/**\n * @summary List Application Logs\n */\n\nexport function useListAppLogs<\n TData = Awaited>,\n TError = ErrorType\n>(\n appId: number,\n params?: ListAppLogsParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getListAppLogsQueryOptions(appId, params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Get similar versions for the given application id and user interaction id.\n * @summary Get Similar\n */\nexport const getSimilarApiV1ApplicationVersionsComparisonPut = (\n params: GetSimilarApiV1ApplicationVersionsComparisonPutParams\n) => {\n return customInstance({\n url: `/api/v1/application-versions/comparison`,\n method: 'PUT',\n params\n });\n};\n\nexport const getGetSimilarApiV1ApplicationVersionsComparisonPutMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { params: GetSimilarApiV1ApplicationVersionsComparisonPutParams },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { params: GetSimilarApiV1ApplicationVersionsComparisonPutParams },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { params: GetSimilarApiV1ApplicationVersionsComparisonPutParams }\n > = props => {\n const { params } = props ?? {};\n\n return getSimilarApiV1ApplicationVersionsComparisonPut(params);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type GetSimilarApiV1ApplicationVersionsComparisonPutMutationResult = NonNullable<\n Awaited>\n>;\n\nexport type GetSimilarApiV1ApplicationVersionsComparisonPutMutationError = ErrorType;\n\n/**\n * @summary Get Similar\n */\nexport const useGetSimilarApiV1ApplicationVersionsComparisonPut = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { params: GetSimilarApiV1ApplicationVersionsComparisonPutParams },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { params: GetSimilarApiV1ApplicationVersionsComparisonPutParams },\n TContext\n> => {\n const mutationOptions = getGetSimilarApiV1ApplicationVersionsComparisonPutMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Endpoint that will return interactions that are dissimilar between 2 versions in respect to a property/annotation/similarity score\n * @summary Interactions Comparison\n */\nexport const interactionsComparisonApiV1ApplicationVersionsInteractionComparisonPost = (\n bodyInteractionsComparisonApiV1ApplicationVersionsInteractionComparisonPost: BodyInteractionsComparisonApiV1ApplicationVersionsInteractionComparisonPost\n) => {\n return customInstance({\n url: `/api/v1/application-versions/interaction-comparison`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: bodyInteractionsComparisonApiV1ApplicationVersionsInteractionComparisonPost\n });\n};\n\nexport const getInteractionsComparisonApiV1ApplicationVersionsInteractionComparisonPostMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: BodyInteractionsComparisonApiV1ApplicationVersionsInteractionComparisonPost },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { data: BodyInteractionsComparisonApiV1ApplicationVersionsInteractionComparisonPost },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { data: BodyInteractionsComparisonApiV1ApplicationVersionsInteractionComparisonPost }\n > = props => {\n const { data } = props ?? {};\n\n return interactionsComparisonApiV1ApplicationVersionsInteractionComparisonPost(data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type InteractionsComparisonApiV1ApplicationVersionsInteractionComparisonPostMutationResult = NonNullable<\n Awaited>\n>;\nexport type InteractionsComparisonApiV1ApplicationVersionsInteractionComparisonPostMutationBody =\n BodyInteractionsComparisonApiV1ApplicationVersionsInteractionComparisonPost;\nexport type InteractionsComparisonApiV1ApplicationVersionsInteractionComparisonPostMutationError =\n ErrorType;\n\n/**\n * @summary Interactions Comparison\n */\nexport const useInteractionsComparisonApiV1ApplicationVersionsInteractionComparisonPost = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: BodyInteractionsComparisonApiV1ApplicationVersionsInteractionComparisonPost },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { data: BodyInteractionsComparisonApiV1ApplicationVersionsInteractionComparisonPost },\n TContext\n> => {\n const mutationOptions =\n getInteractionsComparisonApiV1ApplicationVersionsInteractionComparisonPostMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * @summary Get Ui Preferences\n */\nexport const getUiPreferencesApiV1UiPreferencesGet = (signal?: AbortSignal) => {\n return customInstance({\n url: `/api/v1/ui-preferences`,\n method: 'GET',\n signal\n });\n};\n\nexport const getGetUiPreferencesApiV1UiPreferencesGetQueryKey = () => {\n return [`/api/v1/ui-preferences`] as const;\n};\n\nexport const getGetUiPreferencesApiV1UiPreferencesGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetUiPreferencesApiV1UiPreferencesGetQueryKey();\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n getUiPreferencesApiV1UiPreferencesGet(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetUiPreferencesApiV1UiPreferencesGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetUiPreferencesApiV1UiPreferencesGetQueryError = ErrorType;\n\n/**\n * @summary Get Ui Preferences\n */\n\nexport function useGetUiPreferencesApiV1UiPreferencesGet<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetUiPreferencesApiV1UiPreferencesGetQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * @summary Update Ui Preferences\n */\nexport const updateUiPreferencesApiV1UiPreferencesPut = (\n updateUiPreferencesApiV1UiPreferencesPutBody: UpdateUiPreferencesApiV1UiPreferencesPutBody\n) => {\n return customInstance({\n url: `/api/v1/ui-preferences`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: updateUiPreferencesApiV1UiPreferencesPutBody\n });\n};\n\nexport const getUpdateUiPreferencesApiV1UiPreferencesPutMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: UpdateUiPreferencesApiV1UiPreferencesPutBody },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { data: UpdateUiPreferencesApiV1UiPreferencesPutBody },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { data: UpdateUiPreferencesApiV1UiPreferencesPutBody }\n > = props => {\n const { data } = props ?? {};\n\n return updateUiPreferencesApiV1UiPreferencesPut(data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateUiPreferencesApiV1UiPreferencesPutMutationResult = NonNullable<\n Awaited>\n>;\nexport type UpdateUiPreferencesApiV1UiPreferencesPutMutationBody = UpdateUiPreferencesApiV1UiPreferencesPutBody;\nexport type UpdateUiPreferencesApiV1UiPreferencesPutMutationError = ErrorType;\n\n/**\n * @summary Update Ui Preferences\n */\nexport const useUpdateUiPreferencesApiV1UiPreferencesPut = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: UpdateUiPreferencesApiV1UiPreferencesPutBody },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { data: UpdateUiPreferencesApiV1UiPreferencesPutBody },\n TContext\n> => {\n const mutationOptions = getUpdateUiPreferencesApiV1UiPreferencesPutMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Flags used by the UI\n * @summary Get Usage Feature Flags\n */\nexport const getUsageFeatureFlags = (signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/metering/usage-feature-flags`, method: 'GET', signal });\n};\n\nexport const getGetUsageFeatureFlagsQueryKey = () => {\n return [`/api/v1/metering/usage-feature-flags`] as const;\n};\n\nexport const getGetUsageFeatureFlagsQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetUsageFeatureFlagsQueryKey();\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n getUsageFeatureFlags(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetUsageFeatureFlagsQueryResult = NonNullable>>;\nexport type GetUsageFeatureFlagsQueryError = ErrorType;\n\n/**\n * @summary Get Usage Feature Flags\n */\n\nexport function useGetUsageFeatureFlags<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetUsageFeatureFlagsQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Retrieves the active usage plan for the current user\n * @summary Get Active Usage Plan\n */\nexport const getActiveUsagePlan = (signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/metering/usage-plan/active`, method: 'GET', signal });\n};\n\nexport const getGetActiveUsagePlanQueryKey = () => {\n return [`/api/v1/metering/usage-plan/active`] as const;\n};\n\nexport const getGetActiveUsagePlanQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetActiveUsagePlanQueryKey();\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n getActiveUsagePlan(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetActiveUsagePlanQueryResult = NonNullable>>;\nexport type GetActiveUsagePlanQueryError = ErrorType;\n\n/**\n * @summary Get Active Usage Plan\n */\n\nexport function useGetActiveUsagePlan<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetActiveUsagePlanQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Retrieves all usage plans for the current user in the given period\n * @summary Get Usage Plan\n */\nexport const getUsagePlan = (params?: GetUsagePlanParams, signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/metering/usage-plan`, method: 'GET', params, signal });\n};\n\nexport const getGetUsagePlanQueryKey = (params?: GetUsagePlanParams) => {\n return [`/api/v1/metering/usage-plan`, ...(params ? [params] : [])] as const;\n};\n\nexport const getGetUsagePlanQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n params?: GetUsagePlanParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetUsagePlanQueryKey(params);\n\n const queryFn: QueryFunction>> = ({ signal }) => getUsagePlan(params, signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetUsagePlanQueryResult = NonNullable>>;\nexport type GetUsagePlanQueryError = ErrorType;\n\n/**\n * @summary Get Usage Plan\n */\n\nexport function useGetUsagePlan<\n TData = Awaited>,\n TError = ErrorType\n>(\n params?: GetUsagePlanParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetUsagePlanQueryOptions(params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Retrieve the bill for a given period\n * @summary Get Usage Bill\n */\nexport const getUsageBill = (params?: GetUsageBillParams, signal?: AbortSignal) => {\n return customInstance({\n url: `/api/v1/metering/usage/bill`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getGetUsageBillQueryKey = (params?: GetUsageBillParams) => {\n return [`/api/v1/metering/usage/bill`, ...(params ? [params] : [])] as const;\n};\n\nexport const getGetUsageBillQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n params?: GetUsageBillParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetUsageBillQueryKey(params);\n\n const queryFn: QueryFunction>> = ({ signal }) => getUsageBill(params, signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetUsageBillQueryResult = NonNullable>>;\nexport type GetUsageBillQueryError = ErrorType;\n\n/**\n * @summary Get Usage Bill\n */\n\nexport function useGetUsageBill<\n TData = Awaited>,\n TError = ErrorType\n>(\n params?: GetUsageBillParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetUsageBillQueryOptions(params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Retrieve the tokens usage for a given period by app by env\n * @summary Get Used Tokens\n */\nexport const getUsedTokens = (params?: GetUsedTokensParams, signal?: AbortSignal) => {\n return customInstance({\n url: `/api/v1/metering/usage/tokens`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getGetUsedTokensQueryKey = (params?: GetUsedTokensParams) => {\n return [`/api/v1/metering/usage/tokens`, ...(params ? [params] : [])] as const;\n};\n\nexport const getGetUsedTokensQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n params?: GetUsedTokensParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetUsedTokensQueryKey(params);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n getUsedTokens(params, signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetUsedTokensQueryResult = NonNullable>>;\nexport type GetUsedTokensQueryError = ErrorType;\n\n/**\n * @summary Get Used Tokens\n */\n\nexport function useGetUsedTokens<\n TData = Awaited>,\n TError = ErrorType\n>(\n params?: GetUsedTokensParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetUsedTokensQueryOptions(params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Set datadog user integration configuration\n * @summary Set Datadog User Config\n */\nexport const setDatadogUserConfigApiV1DatadogUserConfigPut = (\n datadogUserConfigData: DatadogUserConfigData,\n params?: SetDatadogUserConfigApiV1DatadogUserConfigPutParams\n) => {\n return customInstance({\n url: `/api/v1/datadog-user-config`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: datadogUserConfigData,\n params\n });\n};\n\nexport const getSetDatadogUserConfigApiV1DatadogUserConfigPutMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: DatadogUserConfigData; params?: SetDatadogUserConfigApiV1DatadogUserConfigPutParams },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { data: DatadogUserConfigData; params?: SetDatadogUserConfigApiV1DatadogUserConfigPutParams },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { data: DatadogUserConfigData; params?: SetDatadogUserConfigApiV1DatadogUserConfigPutParams }\n > = props => {\n const { data, params } = props ?? {};\n\n return setDatadogUserConfigApiV1DatadogUserConfigPut(data, params);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type SetDatadogUserConfigApiV1DatadogUserConfigPutMutationResult = NonNullable<\n Awaited>\n>;\nexport type SetDatadogUserConfigApiV1DatadogUserConfigPutMutationBody = DatadogUserConfigData;\nexport type SetDatadogUserConfigApiV1DatadogUserConfigPutMutationError = ErrorType;\n\n/**\n * @summary Set Datadog User Config\n */\nexport const useSetDatadogUserConfigApiV1DatadogUserConfigPut = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: DatadogUserConfigData; params?: SetDatadogUserConfigApiV1DatadogUserConfigPutParams },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { data: DatadogUserConfigData; params?: SetDatadogUserConfigApiV1DatadogUserConfigPutParams },\n TContext\n> => {\n const mutationOptions = getSetDatadogUserConfigApiV1DatadogUserConfigPutMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Get datadog integration configuration\n * @summary Get Config\n */\nexport const getConfigApiV1DatadogConfigGet = (params?: GetConfigApiV1DatadogConfigGetParams, signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/datadog-config`, method: 'GET', params, signal });\n};\n\nexport const getGetConfigApiV1DatadogConfigGetQueryKey = (params?: GetConfigApiV1DatadogConfigGetParams) => {\n return [`/api/v1/datadog-config`, ...(params ? [params] : [])] as const;\n};\n\nexport const getGetConfigApiV1DatadogConfigGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n params?: GetConfigApiV1DatadogConfigGetParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetConfigApiV1DatadogConfigGetQueryKey(params);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n getConfigApiV1DatadogConfigGet(params, signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetConfigApiV1DatadogConfigGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetConfigApiV1DatadogConfigGetQueryError = ErrorType;\n\n/**\n * @summary Get Config\n */\n\nexport function useGetConfigApiV1DatadogConfigGet<\n TData = Awaited>,\n TError = ErrorType\n>(\n params?: GetConfigApiV1DatadogConfigGetParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetConfigApiV1DatadogConfigGetQueryOptions(params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * @summary Get Pentest Config\n */\nexport const getPentestConfigApiV1PentestConfigGet = (signal?: AbortSignal) => {\n return customInstance({ url: `/api/v1/pentest-config`, method: 'GET', signal });\n};\n\nexport const getGetPentestConfigApiV1PentestConfigGetQueryKey = () => {\n return [`/api/v1/pentest-config`] as const;\n};\n\nexport const getGetPentestConfigApiV1PentestConfigGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetPentestConfigApiV1PentestConfigGetQueryKey();\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n getPentestConfigApiV1PentestConfigGet(signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetPentestConfigApiV1PentestConfigGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetPentestConfigApiV1PentestConfigGetQueryError = ErrorType;\n\n/**\n * @summary Get Pentest Config\n */\n\nexport function useGetPentestConfigApiV1PentestConfigGet<\n TData = Awaited>,\n TError = ErrorType\n>(options?: {\n query?: UseQueryOptions>, TError, TData>;\n}): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetPentestConfigApiV1PentestConfigGetQueryOptions(options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Get default time range for the application version and env type, time range is set to the time of the last interaction in the system minus3 weeks\n * @summary Get Default Time Range\n */\nexport const getDefaultTimeRangeApiV1ApplicationVersionsApplicationVersionIdDefaultTimeRangeGet = (\n applicationVersionId: number,\n params: GetDefaultTimeRangeApiV1ApplicationVersionsApplicationVersionIdDefaultTimeRangeGetParams,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/application-versions/${applicationVersionId}/default-time-range`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getGetDefaultTimeRangeApiV1ApplicationVersionsApplicationVersionIdDefaultTimeRangeGetQueryKey = (\n applicationVersionId: number,\n params: GetDefaultTimeRangeApiV1ApplicationVersionsApplicationVersionIdDefaultTimeRangeGetParams\n) => {\n return [\n `/api/v1/application-versions/${applicationVersionId}/default-time-range`,\n ...(params ? [params] : [])\n ] as const;\n};\n\nexport const getGetDefaultTimeRangeApiV1ApplicationVersionsApplicationVersionIdDefaultTimeRangeGetQueryOptions = <\n TData = Awaited<\n ReturnType\n >,\n TError = ErrorType\n>(\n applicationVersionId: number,\n params: GetDefaultTimeRangeApiV1ApplicationVersionsApplicationVersionIdDefaultTimeRangeGetParams,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey =\n queryOptions?.queryKey ??\n getGetDefaultTimeRangeApiV1ApplicationVersionsApplicationVersionIdDefaultTimeRangeGetQueryKey(\n applicationVersionId,\n params\n );\n\n const queryFn: QueryFunction<\n Awaited>\n > = ({ signal }) =>\n getDefaultTimeRangeApiV1ApplicationVersionsApplicationVersionIdDefaultTimeRangeGet(\n applicationVersionId,\n params,\n signal\n );\n\n return { queryKey, queryFn, enabled: !!applicationVersionId, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetDefaultTimeRangeApiV1ApplicationVersionsApplicationVersionIdDefaultTimeRangeGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetDefaultTimeRangeApiV1ApplicationVersionsApplicationVersionIdDefaultTimeRangeGetQueryError =\n ErrorType;\n\n/**\n * @summary Get Default Time Range\n */\n\nexport function useGetDefaultTimeRangeApiV1ApplicationVersionsApplicationVersionIdDefaultTimeRangeGet<\n TData = Awaited<\n ReturnType\n >,\n TError = ErrorType\n>(\n applicationVersionId: number,\n params: GetDefaultTimeRangeApiV1ApplicationVersionsApplicationVersionIdDefaultTimeRangeGetParams,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions =\n getGetDefaultTimeRangeApiV1ApplicationVersionsApplicationVersionIdDefaultTimeRangeGetQueryOptions(\n applicationVersionId,\n params,\n options\n );\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * @summary Get Property Monitor\n */\nexport const getPropertyMonitorApiV1ApplicationVersionsApplicationVersionIdGetPropertyMonitorPost = (\n applicationVersionId: number,\n monitorFilterSchema: MonitorFilterSchema,\n params: GetPropertyMonitorApiV1ApplicationVersionsApplicationVersionIdGetPropertyMonitorPostParams\n) => {\n return customInstance({\n url: `/api/v1/application-versions/${applicationVersionId}/get-property-monitor`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: monitorFilterSchema,\n params\n });\n};\n\nexport const getGetPropertyMonitorApiV1ApplicationVersionsApplicationVersionIdGetPropertyMonitorPostMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n {\n applicationVersionId: number;\n data: MonitorFilterSchema;\n params: GetPropertyMonitorApiV1ApplicationVersionsApplicationVersionIdGetPropertyMonitorPostParams;\n },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n {\n applicationVersionId: number;\n data: MonitorFilterSchema;\n params: GetPropertyMonitorApiV1ApplicationVersionsApplicationVersionIdGetPropertyMonitorPostParams;\n },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n {\n applicationVersionId: number;\n data: MonitorFilterSchema;\n params: GetPropertyMonitorApiV1ApplicationVersionsApplicationVersionIdGetPropertyMonitorPostParams;\n }\n > = props => {\n const { applicationVersionId, data, params } = props ?? {};\n\n return getPropertyMonitorApiV1ApplicationVersionsApplicationVersionIdGetPropertyMonitorPost(\n applicationVersionId,\n data,\n params\n );\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type GetPropertyMonitorApiV1ApplicationVersionsApplicationVersionIdGetPropertyMonitorPostMutationResult =\n NonNullable<\n Awaited>\n >;\nexport type GetPropertyMonitorApiV1ApplicationVersionsApplicationVersionIdGetPropertyMonitorPostMutationBody =\n MonitorFilterSchema;\nexport type GetPropertyMonitorApiV1ApplicationVersionsApplicationVersionIdGetPropertyMonitorPostMutationError =\n ErrorType;\n\n/**\n * @summary Get Property Monitor\n */\nexport const useGetPropertyMonitorApiV1ApplicationVersionsApplicationVersionIdGetPropertyMonitorPost = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n {\n applicationVersionId: number;\n data: MonitorFilterSchema;\n params: GetPropertyMonitorApiV1ApplicationVersionsApplicationVersionIdGetPropertyMonitorPostParams;\n },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n {\n applicationVersionId: number;\n data: MonitorFilterSchema;\n params: GetPropertyMonitorApiV1ApplicationVersionsApplicationVersionIdGetPropertyMonitorPostParams;\n },\n TContext\n> => {\n const mutationOptions =\n getGetPropertyMonitorApiV1ApplicationVersionsApplicationVersionIdGetPropertyMonitorPostMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * @summary Get Annotations Monitor\n */\nexport const getAnnotationsMonitorApiV1ApplicationVersionsApplicationVersionIdGetAnnotationsMonitorPost = (\n applicationVersionId: number,\n monitorFilterSchema: MonitorFilterSchema\n) => {\n return customInstance({\n url: `/api/v1/application-versions/${applicationVersionId}/get-annotations-monitor`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: monitorFilterSchema\n });\n};\n\nexport const getGetAnnotationsMonitorApiV1ApplicationVersionsApplicationVersionIdGetAnnotationsMonitorPostMutationOptions =\n , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited<\n ReturnType\n >,\n TError,\n { applicationVersionId: number; data: MonitorFilterSchema },\n TContext\n >;\n }): UseMutationOptions<\n Awaited<\n ReturnType\n >,\n TError,\n { applicationVersionId: number; data: MonitorFilterSchema },\n TContext\n > => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited<\n ReturnType\n >,\n { applicationVersionId: number; data: MonitorFilterSchema }\n > = props => {\n const { applicationVersionId, data } = props ?? {};\n\n return getAnnotationsMonitorApiV1ApplicationVersionsApplicationVersionIdGetAnnotationsMonitorPost(\n applicationVersionId,\n data\n );\n };\n\n return { mutationFn, ...mutationOptions };\n };\n\nexport type GetAnnotationsMonitorApiV1ApplicationVersionsApplicationVersionIdGetAnnotationsMonitorPostMutationResult =\n NonNullable<\n Awaited<\n ReturnType\n >\n >;\nexport type GetAnnotationsMonitorApiV1ApplicationVersionsApplicationVersionIdGetAnnotationsMonitorPostMutationBody =\n MonitorFilterSchema;\nexport type GetAnnotationsMonitorApiV1ApplicationVersionsApplicationVersionIdGetAnnotationsMonitorPostMutationError =\n ErrorType;\n\n/**\n * @summary Get Annotations Monitor\n */\nexport const useGetAnnotationsMonitorApiV1ApplicationVersionsApplicationVersionIdGetAnnotationsMonitorPost = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited<\n ReturnType\n >,\n TError,\n { applicationVersionId: number; data: MonitorFilterSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited<\n ReturnType\n >,\n TError,\n { applicationVersionId: number; data: MonitorFilterSchema },\n TContext\n> => {\n const mutationOptions =\n getGetAnnotationsMonitorApiV1ApplicationVersionsApplicationVersionIdGetAnnotationsMonitorPostMutationOptions(\n options\n );\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Create a new interaction session\n * @summary Create Interaction Session Fastapi\n */\nexport const createInteractionSession = (\n appVersionId: number,\n interactionSessionCreateSchema: InteractionSessionCreateSchema\n) => {\n return customInstance({\n url: `/api/v1/application-versions/${appVersionId}/interaction_sessions`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: interactionSessionCreateSchema\n });\n};\n\nexport const getCreateInteractionSessionMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; data: InteractionSessionCreateSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; data: InteractionSessionCreateSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { appVersionId: number; data: InteractionSessionCreateSchema }\n > = props => {\n const { appVersionId, data } = props ?? {};\n\n return createInteractionSession(appVersionId, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type CreateInteractionSessionMutationResult = NonNullable>>;\nexport type CreateInteractionSessionMutationBody = InteractionSessionCreateSchema;\nexport type CreateInteractionSessionMutationError = ErrorType;\n\n/**\n * @summary Create Interaction Session Fastapi\n */\nexport const useCreateInteractionSession = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; data: InteractionSessionCreateSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appVersionId: number; data: InteractionSessionCreateSchema },\n TContext\n> => {\n const mutationOptions = getCreateInteractionSessionMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Get all interaction sessions for a version\n * @summary List Interaction Sessions\n */\nexport const listInteractionSessions = (\n appVersionId: number,\n params?: ListInteractionSessionsParams,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/application-versions/${appVersionId}/interaction_sessions`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getListInteractionSessionsQueryKey = (appVersionId: number, params?: ListInteractionSessionsParams) => {\n return [`/api/v1/application-versions/${appVersionId}/interaction_sessions`, ...(params ? [params] : [])] as const;\n};\n\nexport const getListInteractionSessionsQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n appVersionId: number,\n params?: ListInteractionSessionsParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getListInteractionSessionsQueryKey(appVersionId, params);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n listInteractionSessions(appVersionId, params, signal);\n\n return { queryKey, queryFn, enabled: !!appVersionId, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type ListInteractionSessionsQueryResult = NonNullable>>;\nexport type ListInteractionSessionsQueryError = ErrorType;\n\n/**\n * @summary List Interaction Sessions\n */\n\nexport function useListInteractionSessions<\n TData = Awaited>,\n TError = ErrorType\n>(\n appVersionId: number,\n params?: ListInteractionSessionsParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getListInteractionSessionsQueryOptions(appVersionId, params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Delete multiple interaction sessions\n * @summary Delete Interaction Sessions\n */\nexport const deleteInteractionSessions = (appVersionId: number, params?: DeleteInteractionSessionsParams) => {\n return customInstance({\n url: `/api/v1/application-versions/${appVersionId}/interaction_sessions`,\n method: 'DELETE',\n params\n });\n};\n\nexport const getDeleteInteractionSessionsMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; params?: DeleteInteractionSessionsParams },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; params?: DeleteInteractionSessionsParams },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { appVersionId: number; params?: DeleteInteractionSessionsParams }\n > = props => {\n const { appVersionId, params } = props ?? {};\n\n return deleteInteractionSessions(appVersionId, params);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteInteractionSessionsMutationResult = NonNullable<\n Awaited>\n>;\n\nexport type DeleteInteractionSessionsMutationError = ErrorType;\n\n/**\n * @summary Delete Interaction Sessions\n */\nexport const useDeleteInteractionSessions = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; params?: DeleteInteractionSessionsParams },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appVersionId: number; params?: DeleteInteractionSessionsParams },\n TContext\n> => {\n const mutationOptions = getDeleteInteractionSessionsMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Create a new interaction session (Deprecated, please use '/application-versions/{app_version_id}/interaction_sessions' instead)\n * @deprecated\n * @summary Create Interaction Session Fastapi\n */\nexport const createInteractionSessionDeprecated = (\n appVersionId: number,\n interactionSessionCreateSchema: InteractionSessionCreateSchema\n) => {\n return customInstance({\n url: `/api/v1/application_versions/${appVersionId}/interaction_sessions`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: interactionSessionCreateSchema\n });\n};\n\nexport const getCreateInteractionSessionDeprecatedMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; data: InteractionSessionCreateSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; data: InteractionSessionCreateSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { appVersionId: number; data: InteractionSessionCreateSchema }\n > = props => {\n const { appVersionId, data } = props ?? {};\n\n return createInteractionSessionDeprecated(appVersionId, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type CreateInteractionSessionDeprecatedMutationResult = NonNullable<\n Awaited>\n>;\nexport type CreateInteractionSessionDeprecatedMutationBody = InteractionSessionCreateSchema;\nexport type CreateInteractionSessionDeprecatedMutationError = ErrorType;\n\n/**\n * @deprecated\n * @summary Create Interaction Session Fastapi\n */\nexport const useCreateInteractionSessionDeprecated = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; data: InteractionSessionCreateSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appVersionId: number; data: InteractionSessionCreateSchema },\n TContext\n> => {\n const mutationOptions = getCreateInteractionSessionDeprecatedMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Get all interaction sessions for a version (Deprecated, please use '/application-versions/{app_version_id}/interaction_sessions' instead)\n * @deprecated\n * @summary List Interaction Sessions\n */\nexport const listInteractionSessionsDeprecated = (\n appVersionId: number,\n params?: ListInteractionSessionsDeprecatedParams,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/application_versions/${appVersionId}/interaction_sessions`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getListInteractionSessionsDeprecatedQueryKey = (\n appVersionId: number,\n params?: ListInteractionSessionsDeprecatedParams\n) => {\n return [`/api/v1/application_versions/${appVersionId}/interaction_sessions`, ...(params ? [params] : [])] as const;\n};\n\nexport const getListInteractionSessionsDeprecatedQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n appVersionId: number,\n params?: ListInteractionSessionsDeprecatedParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getListInteractionSessionsDeprecatedQueryKey(appVersionId, params);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n listInteractionSessionsDeprecated(appVersionId, params, signal);\n\n return { queryKey, queryFn, enabled: !!appVersionId, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type ListInteractionSessionsDeprecatedQueryResult = NonNullable<\n Awaited>\n>;\nexport type ListInteractionSessionsDeprecatedQueryError = ErrorType;\n\n/**\n * @deprecated\n * @summary List Interaction Sessions\n */\n\nexport function useListInteractionSessionsDeprecated<\n TData = Awaited>,\n TError = ErrorType\n>(\n appVersionId: number,\n params?: ListInteractionSessionsDeprecatedParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getListInteractionSessionsDeprecatedQueryOptions(appVersionId, params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Delete multiple interaction sessions (Deprecated, please use '/application-versions/{app_version_id}/interaction_sessions' instead)\n * @deprecated\n * @summary Delete Interaction Sessions\n */\nexport const deleteInteractionSessionsDeprecated = (\n appVersionId: number,\n params?: DeleteInteractionSessionsDeprecatedParams\n) => {\n return customInstance({\n url: `/api/v1/application_versions/${appVersionId}/interaction_sessions`,\n method: 'DELETE',\n params\n });\n};\n\nexport const getDeleteInteractionSessionsDeprecatedMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; params?: DeleteInteractionSessionsDeprecatedParams },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; params?: DeleteInteractionSessionsDeprecatedParams },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { appVersionId: number; params?: DeleteInteractionSessionsDeprecatedParams }\n > = props => {\n const { appVersionId, params } = props ?? {};\n\n return deleteInteractionSessionsDeprecated(appVersionId, params);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteInteractionSessionsDeprecatedMutationResult = NonNullable<\n Awaited>\n>;\n\nexport type DeleteInteractionSessionsDeprecatedMutationError = ErrorType;\n\n/**\n * @deprecated\n * @summary Delete Interaction Sessions\n */\nexport const useDeleteInteractionSessionsDeprecated = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; params?: DeleteInteractionSessionsDeprecatedParams },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appVersionId: number; params?: DeleteInteractionSessionsDeprecatedParams },\n TContext\n> => {\n const mutationOptions = getDeleteInteractionSessionsDeprecatedMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Delete a specific interaction session\n * @summary Delete Interaction Session\n */\nexport const deleteInteractionSession = (appVersionId: number, interactionSessionId: string) => {\n return customInstance({\n url: `/api/v1/application-versions/${appVersionId}/interaction_sessions/${interactionSessionId}`,\n method: 'DELETE'\n });\n};\n\nexport const getDeleteInteractionSessionMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; interactionSessionId: string },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; interactionSessionId: string },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { appVersionId: number; interactionSessionId: string }\n > = props => {\n const { appVersionId, interactionSessionId } = props ?? {};\n\n return deleteInteractionSession(appVersionId, interactionSessionId);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteInteractionSessionMutationResult = NonNullable>>;\n\nexport type DeleteInteractionSessionMutationError = ErrorType;\n\n/**\n * @summary Delete Interaction Session\n */\nexport const useDeleteInteractionSession = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; interactionSessionId: string },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appVersionId: number; interactionSessionId: string },\n TContext\n> => {\n const mutationOptions = getDeleteInteractionSessionMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Delete a specific interaction session (Deprecated, please use '/application-versions/{app_version_id}/interaction_sessions/{interaction_session_id}' instead)\n * @deprecated\n * @summary Delete Interaction Session\n */\nexport const deleteInteractionSessionDeprecated = (appVersionId: number, interactionSessionId: string) => {\n return customInstance({\n url: `/api/v1/application_versions/${appVersionId}/interaction_sessions/${interactionSessionId}`,\n method: 'DELETE'\n });\n};\n\nexport const getDeleteInteractionSessionDeprecatedMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; interactionSessionId: string },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; interactionSessionId: string },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { appVersionId: number; interactionSessionId: string }\n > = props => {\n const { appVersionId, interactionSessionId } = props ?? {};\n\n return deleteInteractionSessionDeprecated(appVersionId, interactionSessionId);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteInteractionSessionDeprecatedMutationResult = NonNullable<\n Awaited>\n>;\n\nexport type DeleteInteractionSessionDeprecatedMutationError = ErrorType;\n\n/**\n * @deprecated\n * @summary Delete Interaction Session\n */\nexport const useDeleteInteractionSessionDeprecated = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; interactionSessionId: string },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appVersionId: number; interactionSessionId: string },\n TContext\n> => {\n const mutationOptions = getDeleteInteractionSessionDeprecatedMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Get interaction session by ID\n * @summary Get Interaction Session\n */\nexport const getInteractionSession = (appVersionId: number, sessionId: string, signal?: AbortSignal) => {\n return customInstance({\n url: `/api/v1/application-versions/${appVersionId}/interaction_sessions/${sessionId}`,\n method: 'GET',\n signal\n });\n};\n\nexport const getGetInteractionSessionQueryKey = (appVersionId: number, sessionId: string) => {\n return [`/api/v1/application-versions/${appVersionId}/interaction_sessions/${sessionId}`] as const;\n};\n\nexport const getGetInteractionSessionQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n appVersionId: number,\n sessionId: string,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetInteractionSessionQueryKey(appVersionId, sessionId);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n getInteractionSession(appVersionId, sessionId, signal);\n\n return { queryKey, queryFn, enabled: !!(appVersionId && sessionId), ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetInteractionSessionQueryResult = NonNullable>>;\nexport type GetInteractionSessionQueryError = ErrorType;\n\n/**\n * @summary Get Interaction Session\n */\n\nexport function useGetInteractionSession<\n TData = Awaited>,\n TError = ErrorType\n>(\n appVersionId: number,\n sessionId: string,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetInteractionSessionQueryOptions(appVersionId, sessionId, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Update interaction session by ID\n * @summary Update Interaction Session Router\n */\nexport const updateInteractionSession = (\n appVersionId: number,\n sessionId: string,\n updateInteractionSessionSchema: UpdateInteractionSessionSchema\n) => {\n return customInstance({\n url: `/api/v1/application-versions/${appVersionId}/interaction_sessions/${sessionId}`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: updateInteractionSessionSchema\n });\n};\n\nexport const getUpdateInteractionSessionMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; sessionId: string; data: UpdateInteractionSessionSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; sessionId: string; data: UpdateInteractionSessionSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { appVersionId: number; sessionId: string; data: UpdateInteractionSessionSchema }\n > = props => {\n const { appVersionId, sessionId, data } = props ?? {};\n\n return updateInteractionSession(appVersionId, sessionId, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateInteractionSessionMutationResult = NonNullable>>;\nexport type UpdateInteractionSessionMutationBody = UpdateInteractionSessionSchema;\nexport type UpdateInteractionSessionMutationError = ErrorType;\n\n/**\n * @summary Update Interaction Session Router\n */\nexport const useUpdateInteractionSession = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; sessionId: string; data: UpdateInteractionSessionSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appVersionId: number; sessionId: string; data: UpdateInteractionSessionSchema },\n TContext\n> => {\n const mutationOptions = getUpdateInteractionSessionMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Get interaction session by ID (Deprecated, please use '/application-versions/{app_version_id}/interaction_sessions/{session_id}' instead)\n * @deprecated\n * @summary Get Interaction Session\n */\nexport const getInteractionSessionDeprecated = (appVersionId: number, sessionId: string, signal?: AbortSignal) => {\n return customInstance({\n url: `/api/v1/application_versions/${appVersionId}/interaction_sessions/${sessionId}`,\n method: 'GET',\n signal\n });\n};\n\nexport const getGetInteractionSessionDeprecatedQueryKey = (appVersionId: number, sessionId: string) => {\n return [`/api/v1/application_versions/${appVersionId}/interaction_sessions/${sessionId}`] as const;\n};\n\nexport const getGetInteractionSessionDeprecatedQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n appVersionId: number,\n sessionId: string,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetInteractionSessionDeprecatedQueryKey(appVersionId, sessionId);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n getInteractionSessionDeprecated(appVersionId, sessionId, signal);\n\n return { queryKey, queryFn, enabled: !!(appVersionId && sessionId), ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetInteractionSessionDeprecatedQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetInteractionSessionDeprecatedQueryError = ErrorType;\n\n/**\n * @deprecated\n * @summary Get Interaction Session\n */\n\nexport function useGetInteractionSessionDeprecated<\n TData = Awaited>,\n TError = ErrorType\n>(\n appVersionId: number,\n sessionId: string,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetInteractionSessionDeprecatedQueryOptions(appVersionId, sessionId, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Update interaction session by ID (Deprecated, please use '/application-versions/{app_version_id}/interaction_sessions/{session_id}' instead)\n * @deprecated\n * @summary Update Interaction Session Router\n */\nexport const updateInteractionSessionDeprecated = (\n appVersionId: number,\n sessionId: string,\n updateInteractionSessionSchema: UpdateInteractionSessionSchema\n) => {\n return customInstance({\n url: `/api/v1/application_versions/${appVersionId}/interaction_sessions/${sessionId}`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: updateInteractionSessionSchema\n });\n};\n\nexport const getUpdateInteractionSessionDeprecatedMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; sessionId: string; data: UpdateInteractionSessionSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; sessionId: string; data: UpdateInteractionSessionSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { appVersionId: number; sessionId: string; data: UpdateInteractionSessionSchema }\n > = props => {\n const { appVersionId, sessionId, data } = props ?? {};\n\n return updateInteractionSessionDeprecated(appVersionId, sessionId, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateInteractionSessionDeprecatedMutationResult = NonNullable<\n Awaited>\n>;\nexport type UpdateInteractionSessionDeprecatedMutationBody = UpdateInteractionSessionSchema;\nexport type UpdateInteractionSessionDeprecatedMutationError = ErrorType;\n\n/**\n * @deprecated\n * @summary Update Interaction Session Router\n */\nexport const useUpdateInteractionSessionDeprecated = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; sessionId: string; data: UpdateInteractionSessionSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appVersionId: number; sessionId: string; data: UpdateInteractionSessionSchema },\n TContext\n> => {\n const mutationOptions = getUpdateInteractionSessionDeprecatedMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Return number of interactions per annotation according to filters\n * @summary Retrieve Annotation Statistics By Filter\n */\nexport const retrieveAnnotationStatsByFilter = (applicationVersionId: number, filterSchema: FilterSchema) => {\n return customInstance({\n url: `/api/v1/application-versions/${applicationVersionId}/annotation-stats-by-filter`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: filterSchema\n });\n};\n\nexport const getRetrieveAnnotationStatsByFilterMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { applicationVersionId: number; data: FilterSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { applicationVersionId: number; data: FilterSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { applicationVersionId: number; data: FilterSchema }\n > = props => {\n const { applicationVersionId, data } = props ?? {};\n\n return retrieveAnnotationStatsByFilter(applicationVersionId, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type RetrieveAnnotationStatsByFilterMutationResult = NonNullable<\n Awaited>\n>;\nexport type RetrieveAnnotationStatsByFilterMutationBody = FilterSchema;\nexport type RetrieveAnnotationStatsByFilterMutationError = ErrorType;\n\n/**\n * @summary Retrieve Annotation Statistics By Filter\n */\nexport const useRetrieveAnnotationStatsByFilter = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { applicationVersionId: number; data: FilterSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { applicationVersionId: number; data: FilterSchema },\n TContext\n> => {\n const mutationOptions = getRetrieveAnnotationStatsByFilterMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Download interactions\n * @summary Download Interactions\n */\nexport const downloadInteractions = (\n bodyDownloadInteractions: BodyDownloadInteractions,\n params?: DownloadInteractionsParams\n) => {\n return customInstance({\n url: `/api/v1/interactions-download`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: bodyDownloadInteractions,\n params\n });\n};\n\nexport const getDownloadInteractionsMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: BodyDownloadInteractions; params?: DownloadInteractionsParams },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { data: BodyDownloadInteractions; params?: DownloadInteractionsParams },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { data: BodyDownloadInteractions; params?: DownloadInteractionsParams }\n > = props => {\n const { data, params } = props ?? {};\n\n return downloadInteractions(data, params);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type DownloadInteractionsMutationResult = NonNullable>>;\nexport type DownloadInteractionsMutationBody = BodyDownloadInteractions;\nexport type DownloadInteractionsMutationError = ErrorType;\n\n/**\n * @summary Download Interactions\n */\nexport const useDownloadInteractions = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: BodyDownloadInteractions; params?: DownloadInteractionsParams },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { data: BodyDownloadInteractions; params?: DownloadInteractionsParams },\n TContext\n> => {\n const mutationOptions = getDownloadInteractionsMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * update interactions\n * @summary Update Interaction\n */\nexport const updateInteractions = (\n appVersionId: number,\n userInteractionId: string,\n updateInteractionSchema: UpdateInteractionSchema\n) => {\n return customInstance({\n url: `/api/v1/application-versions/${appVersionId}/interactions/${userInteractionId}`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: updateInteractionSchema\n });\n};\n\nexport const getUpdateInteractionsMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; userInteractionId: string; data: UpdateInteractionSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; userInteractionId: string; data: UpdateInteractionSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { appVersionId: number; userInteractionId: string; data: UpdateInteractionSchema }\n > = props => {\n const { appVersionId, userInteractionId, data } = props ?? {};\n\n return updateInteractions(appVersionId, userInteractionId, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateInteractionsMutationResult = NonNullable>>;\nexport type UpdateInteractionsMutationBody = UpdateInteractionSchema;\nexport type UpdateInteractionsMutationError = ErrorType;\n\n/**\n * @summary Update Interaction\n */\nexport const useUpdateInteractions = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; userInteractionId: string; data: UpdateInteractionSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appVersionId: number; userInteractionId: string; data: UpdateInteractionSchema },\n TContext\n> => {\n const mutationOptions = getUpdateInteractionsMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Retrieve interaction\n * @summary Retrieve Interaction\n */\nexport const retrieveInteraction = (appVersionId: number, userInteractionId: string, signal?: AbortSignal) => {\n return customInstance({\n url: `/api/v1/application-versions/${appVersionId}/interactions/${userInteractionId}`,\n method: 'GET',\n signal\n });\n};\n\nexport const getRetrieveInteractionQueryKey = (appVersionId: number, userInteractionId: string) => {\n return [`/api/v1/application-versions/${appVersionId}/interactions/${userInteractionId}`] as const;\n};\n\nexport const getRetrieveInteractionQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n appVersionId: number,\n userInteractionId: string,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getRetrieveInteractionQueryKey(appVersionId, userInteractionId);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n retrieveInteraction(appVersionId, userInteractionId, signal);\n\n return { queryKey, queryFn, enabled: !!(appVersionId && userInteractionId), ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type RetrieveInteractionQueryResult = NonNullable>>;\nexport type RetrieveInteractionQueryError = ErrorType;\n\n/**\n * @summary Retrieve Interaction\n */\n\nexport function useRetrieveInteraction<\n TData = Awaited>,\n TError = ErrorType\n>(\n appVersionId: number,\n userInteractionId: string,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getRetrieveInteractionQueryOptions(appVersionId, userInteractionId, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * update interactions (Deprecated, please use '/application-versions/{app_version_id}/interactions/{user_interaction_id}' instead)\n * @deprecated\n * @summary Update Interaction\n */\nexport const updateInteractionsDeprecated = (\n appVersionId: number,\n userInteractionId: string,\n updateInteractionSchema: UpdateInteractionSchema\n) => {\n return customInstance({\n url: `/api/v1/application_versions/${appVersionId}/interactions/${userInteractionId}`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: updateInteractionSchema\n });\n};\n\nexport const getUpdateInteractionsDeprecatedMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; userInteractionId: string; data: UpdateInteractionSchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; userInteractionId: string; data: UpdateInteractionSchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { appVersionId: number; userInteractionId: string; data: UpdateInteractionSchema }\n > = props => {\n const { appVersionId, userInteractionId, data } = props ?? {};\n\n return updateInteractionsDeprecated(appVersionId, userInteractionId, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateInteractionsDeprecatedMutationResult = NonNullable<\n Awaited>\n>;\nexport type UpdateInteractionsDeprecatedMutationBody = UpdateInteractionSchema;\nexport type UpdateInteractionsDeprecatedMutationError = ErrorType;\n\n/**\n * @deprecated\n * @summary Update Interaction\n */\nexport const useUpdateInteractionsDeprecated = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; userInteractionId: string; data: UpdateInteractionSchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appVersionId: number; userInteractionId: string; data: UpdateInteractionSchema },\n TContext\n> => {\n const mutationOptions = getUpdateInteractionsDeprecatedMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Retrieve interaction (Deprecated, please use '/application-versions/{app_version_id}/interactions/{user_interaction_id}' instead)\n * @deprecated\n * @summary Retrieve Interaction\n */\nexport const retrieveInteractionDeprecated = (\n appVersionId: number,\n userInteractionId: string,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/application_versions/${appVersionId}/interactions/${userInteractionId}`,\n method: 'GET',\n signal\n });\n};\n\nexport const getRetrieveInteractionDeprecatedQueryKey = (appVersionId: number, userInteractionId: string) => {\n return [`/api/v1/application_versions/${appVersionId}/interactions/${userInteractionId}`] as const;\n};\n\nexport const getRetrieveInteractionDeprecatedQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n appVersionId: number,\n userInteractionId: string,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getRetrieveInteractionDeprecatedQueryKey(appVersionId, userInteractionId);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n retrieveInteractionDeprecated(appVersionId, userInteractionId, signal);\n\n return { queryKey, queryFn, enabled: !!(appVersionId && userInteractionId), ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type RetrieveInteractionDeprecatedQueryResult = NonNullable<\n Awaited>\n>;\nexport type RetrieveInteractionDeprecatedQueryError = ErrorType;\n\n/**\n * @deprecated\n * @summary Retrieve Interaction\n */\n\nexport function useRetrieveInteractionDeprecated<\n TData = Awaited>,\n TError = ErrorType\n>(\n appVersionId: number,\n userInteractionId: string,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getRetrieveInteractionDeprecatedQueryOptions(appVersionId, userInteractionId, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Update interaction custom property\n * @summary Update Interaction Custom Property\n */\nexport const updateInteractionCustomProperty = (\n appVersionId: number,\n userInteractionId: string,\n updateInteractionCustomPropertySchema: UpdateInteractionCustomPropertySchema\n) => {\n return customInstance({\n url: `/api/v1/application-versions/${appVersionId}/interactions/${userInteractionId}/custom-properties`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: updateInteractionCustomPropertySchema\n });\n};\n\nexport const getUpdateInteractionCustomPropertyMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; userInteractionId: string; data: UpdateInteractionCustomPropertySchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; userInteractionId: string; data: UpdateInteractionCustomPropertySchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { appVersionId: number; userInteractionId: string; data: UpdateInteractionCustomPropertySchema }\n > = props => {\n const { appVersionId, userInteractionId, data } = props ?? {};\n\n return updateInteractionCustomProperty(appVersionId, userInteractionId, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateInteractionCustomPropertyMutationResult = NonNullable<\n Awaited>\n>;\nexport type UpdateInteractionCustomPropertyMutationBody = UpdateInteractionCustomPropertySchema;\nexport type UpdateInteractionCustomPropertyMutationError = ErrorType;\n\n/**\n * @summary Update Interaction Custom Property\n */\nexport const useUpdateInteractionCustomProperty = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; userInteractionId: string; data: UpdateInteractionCustomPropertySchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appVersionId: number; userInteractionId: string; data: UpdateInteractionCustomPropertySchema },\n TContext\n> => {\n const mutationOptions = getUpdateInteractionCustomPropertyMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Update interaction custom property (Deprecated, please use '/application-versions/{app_version_id}/interactions/{user_interaction_id}/custom-properties' instead)\n * @deprecated\n * @summary Update Interaction Custom Property\n */\nexport const updateInteractionCustomPropertyDeprecated = (\n appVersionId: number,\n userInteractionId: string,\n updateInteractionCustomPropertySchema: UpdateInteractionCustomPropertySchema\n) => {\n return customInstance({\n url: `/api/v1/application_versions/${appVersionId}/interactions/${userInteractionId}/custom-properties`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: updateInteractionCustomPropertySchema\n });\n};\n\nexport const getUpdateInteractionCustomPropertyDeprecatedMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; userInteractionId: string; data: UpdateInteractionCustomPropertySchema },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; userInteractionId: string; data: UpdateInteractionCustomPropertySchema },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { appVersionId: number; userInteractionId: string; data: UpdateInteractionCustomPropertySchema }\n > = props => {\n const { appVersionId, userInteractionId, data } = props ?? {};\n\n return updateInteractionCustomPropertyDeprecated(appVersionId, userInteractionId, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateInteractionCustomPropertyDeprecatedMutationResult = NonNullable<\n Awaited>\n>;\nexport type UpdateInteractionCustomPropertyDeprecatedMutationBody = UpdateInteractionCustomPropertySchema;\nexport type UpdateInteractionCustomPropertyDeprecatedMutationError = ErrorType;\n\n/**\n * @deprecated\n * @summary Update Interaction Custom Property\n */\nexport const useUpdateInteractionCustomPropertyDeprecated = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { appVersionId: number; userInteractionId: string; data: UpdateInteractionCustomPropertySchema },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { appVersionId: number; userInteractionId: string; data: UpdateInteractionCustomPropertySchema },\n TContext\n> => {\n const mutationOptions = getUpdateInteractionCustomPropertyDeprecatedMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * List interactions by filter\n * @summary Get Interactions By Filter\n */\nexport const listInteractionsByFilter = (\n applicationVersionId: number,\n listInteractionsByFilterBody: ListInteractionsByFilterBody,\n params?: ListInteractionsByFilterParams\n) => {\n return customInstance({\n url: `/api/v1/application-versions/${applicationVersionId}/get-interactions-by-filter`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: listInteractionsByFilterBody,\n params\n });\n};\n\nexport const getListInteractionsByFilterMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { applicationVersionId: number; data: ListInteractionsByFilterBody; params?: ListInteractionsByFilterParams },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { applicationVersionId: number; data: ListInteractionsByFilterBody; params?: ListInteractionsByFilterParams },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { applicationVersionId: number; data: ListInteractionsByFilterBody; params?: ListInteractionsByFilterParams }\n > = props => {\n const { applicationVersionId, data, params } = props ?? {};\n\n return listInteractionsByFilter(applicationVersionId, data, params);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type ListInteractionsByFilterMutationResult = NonNullable>>;\nexport type ListInteractionsByFilterMutationBody = ListInteractionsByFilterBody;\nexport type ListInteractionsByFilterMutationError = ErrorType;\n\n/**\n * @summary Get Interactions By Filter\n */\nexport const useListInteractionsByFilter = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { applicationVersionId: number; data: ListInteractionsByFilterBody; params?: ListInteractionsByFilterParams },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { applicationVersionId: number; data: ListInteractionsByFilterBody; params?: ListInteractionsByFilterParams },\n TContext\n> => {\n const mutationOptions = getListInteractionsByFilterMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * List annotations origin count by filter\n * @summary Get Annotation Origin Count By Filter\n */\nexport const getAnnotationOriginCountByFilterApiV1ApplicationVersionsApplicationVersionIdGetAnnotationsOriginCountByFilterPost =\n (applicationVersionId: number, filterSchema: FilterSchema) => {\n return customInstance({\n url: `/api/v1/application-versions/${applicationVersionId}/get-annotations-origin-count-by-filter`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: filterSchema\n });\n };\n\nexport const getGetAnnotationOriginCountByFilterApiV1ApplicationVersionsApplicationVersionIdGetAnnotationsOriginCountByFilterPostMutationOptions =\n , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited<\n ReturnType<\n typeof getAnnotationOriginCountByFilterApiV1ApplicationVersionsApplicationVersionIdGetAnnotationsOriginCountByFilterPost\n >\n >,\n TError,\n { applicationVersionId: number; data: FilterSchema },\n TContext\n >;\n }): UseMutationOptions<\n Awaited<\n ReturnType<\n typeof getAnnotationOriginCountByFilterApiV1ApplicationVersionsApplicationVersionIdGetAnnotationsOriginCountByFilterPost\n >\n >,\n TError,\n { applicationVersionId: number; data: FilterSchema },\n TContext\n > => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited<\n ReturnType<\n typeof getAnnotationOriginCountByFilterApiV1ApplicationVersionsApplicationVersionIdGetAnnotationsOriginCountByFilterPost\n >\n >,\n { applicationVersionId: number; data: FilterSchema }\n > = props => {\n const { applicationVersionId, data } = props ?? {};\n\n return getAnnotationOriginCountByFilterApiV1ApplicationVersionsApplicationVersionIdGetAnnotationsOriginCountByFilterPost(\n applicationVersionId,\n data\n );\n };\n\n return { mutationFn, ...mutationOptions };\n };\n\nexport type GetAnnotationOriginCountByFilterApiV1ApplicationVersionsApplicationVersionIdGetAnnotationsOriginCountByFilterPostMutationResult =\n NonNullable<\n Awaited<\n ReturnType<\n typeof getAnnotationOriginCountByFilterApiV1ApplicationVersionsApplicationVersionIdGetAnnotationsOriginCountByFilterPost\n >\n >\n >;\nexport type GetAnnotationOriginCountByFilterApiV1ApplicationVersionsApplicationVersionIdGetAnnotationsOriginCountByFilterPostMutationBody =\n FilterSchema;\nexport type GetAnnotationOriginCountByFilterApiV1ApplicationVersionsApplicationVersionIdGetAnnotationsOriginCountByFilterPostMutationError =\n ErrorType;\n\n/**\n * @summary Get Annotation Origin Count By Filter\n */\nexport const useGetAnnotationOriginCountByFilterApiV1ApplicationVersionsApplicationVersionIdGetAnnotationsOriginCountByFilterPost =\n , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited<\n ReturnType<\n typeof getAnnotationOriginCountByFilterApiV1ApplicationVersionsApplicationVersionIdGetAnnotationsOriginCountByFilterPost\n >\n >,\n TError,\n { applicationVersionId: number; data: FilterSchema },\n TContext\n >;\n }): UseMutationResult<\n Awaited<\n ReturnType<\n typeof getAnnotationOriginCountByFilterApiV1ApplicationVersionsApplicationVersionIdGetAnnotationsOriginCountByFilterPost\n >\n >,\n TError,\n { applicationVersionId: number; data: FilterSchema },\n TContext\n > => {\n const mutationOptions =\n getGetAnnotationOriginCountByFilterApiV1ApplicationVersionsApplicationVersionIdGetAnnotationsOriginCountByFilterPostMutationOptions(\n options\n );\n\n return useMutation(mutationOptions);\n };\n\n/**\n * List interactions download by filter\n * @summary Download All Interactions By Filter\n */\nexport const listInteractionsDownloadByFilter = (\n applicationVersionId: number,\n listInteractionsDownloadByFilterBody: ListInteractionsDownloadByFilterBody,\n params?: ListInteractionsDownloadByFilterParams\n) => {\n return customInstance({\n url: `/api/v1/application-versions/${applicationVersionId}/interactions-download-all-by-filter`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: listInteractionsDownloadByFilterBody,\n params\n });\n};\n\nexport const getListInteractionsDownloadByFilterMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n {\n applicationVersionId: number;\n data: ListInteractionsDownloadByFilterBody;\n params?: ListInteractionsDownloadByFilterParams;\n },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n {\n applicationVersionId: number;\n data: ListInteractionsDownloadByFilterBody;\n params?: ListInteractionsDownloadByFilterParams;\n },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n {\n applicationVersionId: number;\n data: ListInteractionsDownloadByFilterBody;\n params?: ListInteractionsDownloadByFilterParams;\n }\n > = props => {\n const { applicationVersionId, data, params } = props ?? {};\n\n return listInteractionsDownloadByFilter(applicationVersionId, data, params);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type ListInteractionsDownloadByFilterMutationResult = NonNullable<\n Awaited>\n>;\nexport type ListInteractionsDownloadByFilterMutationBody = ListInteractionsDownloadByFilterBody;\nexport type ListInteractionsDownloadByFilterMutationError = ErrorType;\n\n/**\n * @summary Download All Interactions By Filter\n */\nexport const useListInteractionsDownloadByFilter = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n {\n applicationVersionId: number;\n data: ListInteractionsDownloadByFilterBody;\n params?: ListInteractionsDownloadByFilterParams;\n },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n {\n applicationVersionId: number;\n data: ListInteractionsDownloadByFilterBody;\n params?: ListInteractionsDownloadByFilterParams;\n },\n TContext\n> => {\n const mutationOptions = getListInteractionsDownloadByFilterMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * @summary Copy Interaction To Eval Set\n */\nexport const copyInteractionToEvalSetApiV1CopyInteractionToEvalSetPost = (\n bodyCopyInteractionToEvalSetApiV1CopyInteractionToEvalSetPost: BodyCopyInteractionToEvalSetApiV1CopyInteractionToEvalSetPost\n) => {\n return customInstance({\n url: `/api/v1/copy-interaction-to-eval-set`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: bodyCopyInteractionToEvalSetApiV1CopyInteractionToEvalSetPost\n });\n};\n\nexport const getCopyInteractionToEvalSetApiV1CopyInteractionToEvalSetPostMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: BodyCopyInteractionToEvalSetApiV1CopyInteractionToEvalSetPost },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { data: BodyCopyInteractionToEvalSetApiV1CopyInteractionToEvalSetPost },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { data: BodyCopyInteractionToEvalSetApiV1CopyInteractionToEvalSetPost }\n > = props => {\n const { data } = props ?? {};\n\n return copyInteractionToEvalSetApiV1CopyInteractionToEvalSetPost(data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type CopyInteractionToEvalSetApiV1CopyInteractionToEvalSetPostMutationResult = NonNullable<\n Awaited>\n>;\nexport type CopyInteractionToEvalSetApiV1CopyInteractionToEvalSetPostMutationBody =\n BodyCopyInteractionToEvalSetApiV1CopyInteractionToEvalSetPost;\nexport type CopyInteractionToEvalSetApiV1CopyInteractionToEvalSetPostMutationError = ErrorType;\n\n/**\n * @summary Copy Interaction To Eval Set\n */\nexport const useCopyInteractionToEvalSetApiV1CopyInteractionToEvalSetPost = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: BodyCopyInteractionToEvalSetApiV1CopyInteractionToEvalSetPost },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { data: BodyCopyInteractionToEvalSetApiV1CopyInteractionToEvalSetPost },\n TContext\n> => {\n const mutationOptions = getCopyInteractionToEvalSetApiV1CopyInteractionToEvalSetPostMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * @summary Delete Interactions\n */\nexport const deleteInteractionsApiV1ApplicationVersionsApplicationVersionIdInteractionsDelete = (\n applicationVersionId: number,\n deleteInteractionsApiV1ApplicationVersionsApplicationVersionIdInteractionsDeleteBody: DeleteInteractionsApiV1ApplicationVersionsApplicationVersionIdInteractionsDeleteBody\n) => {\n return customInstance({\n url: `/api/v1/application-versions/${applicationVersionId}/interactions`,\n method: 'DELETE',\n headers: { 'Content-Type': 'application/json' },\n data: deleteInteractionsApiV1ApplicationVersionsApplicationVersionIdInteractionsDeleteBody\n });\n};\n\nexport const getDeleteInteractionsApiV1ApplicationVersionsApplicationVersionIdInteractionsDeleteMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n {\n applicationVersionId: number;\n data: DeleteInteractionsApiV1ApplicationVersionsApplicationVersionIdInteractionsDeleteBody;\n },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n {\n applicationVersionId: number;\n data: DeleteInteractionsApiV1ApplicationVersionsApplicationVersionIdInteractionsDeleteBody;\n },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n {\n applicationVersionId: number;\n data: DeleteInteractionsApiV1ApplicationVersionsApplicationVersionIdInteractionsDeleteBody;\n }\n > = props => {\n const { applicationVersionId, data } = props ?? {};\n\n return deleteInteractionsApiV1ApplicationVersionsApplicationVersionIdInteractionsDelete(applicationVersionId, data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteInteractionsApiV1ApplicationVersionsApplicationVersionIdInteractionsDeleteMutationResult =\n NonNullable<\n Awaited>\n >;\nexport type DeleteInteractionsApiV1ApplicationVersionsApplicationVersionIdInteractionsDeleteMutationBody =\n DeleteInteractionsApiV1ApplicationVersionsApplicationVersionIdInteractionsDeleteBody;\nexport type DeleteInteractionsApiV1ApplicationVersionsApplicationVersionIdInteractionsDeleteMutationError =\n ErrorType;\n\n/**\n * @summary Delete Interactions\n */\nexport const useDeleteInteractionsApiV1ApplicationVersionsApplicationVersionIdInteractionsDelete = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n {\n applicationVersionId: number;\n data: DeleteInteractionsApiV1ApplicationVersionsApplicationVersionIdInteractionsDeleteBody;\n },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n {\n applicationVersionId: number;\n data: DeleteInteractionsApiV1ApplicationVersionsApplicationVersionIdInteractionsDeleteBody;\n },\n TContext\n> => {\n const mutationOptions =\n getDeleteInteractionsApiV1ApplicationVersionsApplicationVersionIdInteractionsDeleteMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Get similarity score\n * @summary Get Similarity Score\n */\nexport const getSimilarityScoreApiV1ApplicationVersionsGetSimilarityScoreGet = (\n params: GetSimilarityScoreApiV1ApplicationVersionsGetSimilarityScoreGetParams,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/application-versions/get-similarity-score`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getGetSimilarityScoreApiV1ApplicationVersionsGetSimilarityScoreGetQueryKey = (\n params: GetSimilarityScoreApiV1ApplicationVersionsGetSimilarityScoreGetParams\n) => {\n return [`/api/v1/application-versions/get-similarity-score`, ...(params ? [params] : [])] as const;\n};\n\nexport const getGetSimilarityScoreApiV1ApplicationVersionsGetSimilarityScoreGetQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n params: GetSimilarityScoreApiV1ApplicationVersionsGetSimilarityScoreGetParams,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey =\n queryOptions?.queryKey ?? getGetSimilarityScoreApiV1ApplicationVersionsGetSimilarityScoreGetQueryKey(params);\n\n const queryFn: QueryFunction<\n Awaited>\n > = ({ signal }) => getSimilarityScoreApiV1ApplicationVersionsGetSimilarityScoreGet(params, signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetSimilarityScoreApiV1ApplicationVersionsGetSimilarityScoreGetQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetSimilarityScoreApiV1ApplicationVersionsGetSimilarityScoreGetQueryError = ErrorType;\n\n/**\n * @summary Get Similarity Score\n */\n\nexport function useGetSimilarityScoreApiV1ApplicationVersionsGetSimilarityScoreGet<\n TData = Awaited>,\n TError = ErrorType\n>(\n params: GetSimilarityScoreApiV1ApplicationVersionsGetSimilarityScoreGetParams,\n options?: {\n query?: UseQueryOptions<\n Awaited>,\n TError,\n TData\n >;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetSimilarityScoreApiV1ApplicationVersionsGetSimilarityScoreGetQueryOptions(params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Get similarity score (Deprecated, please use '/application-versions/get-similarity-score' instead)\n * @deprecated\n * @summary Get Similarity Score\n */\nexport const getSimilarityScoreDeprecated = (params: GetSimilarityScoreDeprecatedParams, signal?: AbortSignal) => {\n return customInstance({\n url: `/api/v1/application_versions/get-similarity-score`,\n method: 'GET',\n params,\n signal\n });\n};\n\nexport const getGetSimilarityScoreDeprecatedQueryKey = (params: GetSimilarityScoreDeprecatedParams) => {\n return [`/api/v1/application_versions/get-similarity-score`, ...(params ? [params] : [])] as const;\n};\n\nexport const getGetSimilarityScoreDeprecatedQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n params: GetSimilarityScoreDeprecatedParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getGetSimilarityScoreDeprecatedQueryKey(params);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n getSimilarityScoreDeprecated(params, signal);\n\n return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n Awaited>,\n TError,\n TData\n > & { queryKey: QueryKey };\n};\n\nexport type GetSimilarityScoreDeprecatedQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetSimilarityScoreDeprecatedQueryError = ErrorType;\n\n/**\n * @deprecated\n * @summary Get Similarity Score\n */\n\nexport function useGetSimilarityScoreDeprecated<\n TData = Awaited>,\n TError = ErrorType\n>(\n params: GetSimilarityScoreDeprecatedParams,\n options?: { query?: UseQueryOptions>, TError, TData> }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetSimilarityScoreDeprecatedQueryOptions(params, options);\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * @summary Get Interaction Completion Status\n */\nexport const getInteractionCompletionStatusApiV1ApplicationVersionsApplicationVersionIdInteractionsCompleteStatusPost =\n (\n applicationVersionId: number,\n bodyGetInteractionCompletionStatusApiV1ApplicationVersionsApplicationVersionIdInteractionsCompleteStatusPost: BodyGetInteractionCompletionStatusApiV1ApplicationVersionsApplicationVersionIdInteractionsCompleteStatusPost\n ) => {\n return customInstance(\n {\n url: `/api/v1/application-versions/${applicationVersionId}/interactions/complete-status`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: bodyGetInteractionCompletionStatusApiV1ApplicationVersionsApplicationVersionIdInteractionsCompleteStatusPost\n }\n );\n };\n\nexport const getGetInteractionCompletionStatusApiV1ApplicationVersionsApplicationVersionIdInteractionsCompleteStatusPostMutationOptions =\n , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited<\n ReturnType<\n typeof getInteractionCompletionStatusApiV1ApplicationVersionsApplicationVersionIdInteractionsCompleteStatusPost\n >\n >,\n TError,\n {\n applicationVersionId: number;\n data: BodyGetInteractionCompletionStatusApiV1ApplicationVersionsApplicationVersionIdInteractionsCompleteStatusPost;\n },\n TContext\n >;\n }): UseMutationOptions<\n Awaited<\n ReturnType<\n typeof getInteractionCompletionStatusApiV1ApplicationVersionsApplicationVersionIdInteractionsCompleteStatusPost\n >\n >,\n TError,\n {\n applicationVersionId: number;\n data: BodyGetInteractionCompletionStatusApiV1ApplicationVersionsApplicationVersionIdInteractionsCompleteStatusPost;\n },\n TContext\n > => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited<\n ReturnType<\n typeof getInteractionCompletionStatusApiV1ApplicationVersionsApplicationVersionIdInteractionsCompleteStatusPost\n >\n >,\n {\n applicationVersionId: number;\n data: BodyGetInteractionCompletionStatusApiV1ApplicationVersionsApplicationVersionIdInteractionsCompleteStatusPost;\n }\n > = props => {\n const { applicationVersionId, data } = props ?? {};\n\n return getInteractionCompletionStatusApiV1ApplicationVersionsApplicationVersionIdInteractionsCompleteStatusPost(\n applicationVersionId,\n data\n );\n };\n\n return { mutationFn, ...mutationOptions };\n };\n\nexport type GetInteractionCompletionStatusApiV1ApplicationVersionsApplicationVersionIdInteractionsCompleteStatusPostMutationResult =\n NonNullable<\n Awaited<\n ReturnType<\n typeof getInteractionCompletionStatusApiV1ApplicationVersionsApplicationVersionIdInteractionsCompleteStatusPost\n >\n >\n >;\nexport type GetInteractionCompletionStatusApiV1ApplicationVersionsApplicationVersionIdInteractionsCompleteStatusPostMutationBody =\n BodyGetInteractionCompletionStatusApiV1ApplicationVersionsApplicationVersionIdInteractionsCompleteStatusPost;\nexport type GetInteractionCompletionStatusApiV1ApplicationVersionsApplicationVersionIdInteractionsCompleteStatusPostMutationError =\n ErrorType;\n\n/**\n * @summary Get Interaction Completion Status\n */\nexport const useGetInteractionCompletionStatusApiV1ApplicationVersionsApplicationVersionIdInteractionsCompleteStatusPost =\n , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited<\n ReturnType<\n typeof getInteractionCompletionStatusApiV1ApplicationVersionsApplicationVersionIdInteractionsCompleteStatusPost\n >\n >,\n TError,\n {\n applicationVersionId: number;\n data: BodyGetInteractionCompletionStatusApiV1ApplicationVersionsApplicationVersionIdInteractionsCompleteStatusPost;\n },\n TContext\n >;\n }): UseMutationResult<\n Awaited<\n ReturnType<\n typeof getInteractionCompletionStatusApiV1ApplicationVersionsApplicationVersionIdInteractionsCompleteStatusPost\n >\n >,\n TError,\n {\n applicationVersionId: number;\n data: BodyGetInteractionCompletionStatusApiV1ApplicationVersionsApplicationVersionIdInteractionsCompleteStatusPost;\n },\n TContext\n > => {\n const mutationOptions =\n getGetInteractionCompletionStatusApiV1ApplicationVersionsApplicationVersionIdInteractionsCompleteStatusPostMutationOptions(\n options\n );\n\n return useMutation(mutationOptions);\n };\n\n/**\n * Get interaction properties metadata\n * @summary Get Interaction Properties Metadata\n */\nexport const getInteractionPropertiesMetadataApiV1ApplicationVersionsApplicationVersionIdInteractionsUserInteractionIdPropertiesMetadataGet =\n (applicationVersionId: number, userInteractionId: string, signal?: AbortSignal) => {\n return customInstance({\n url: `/api/v1/application-versions/${applicationVersionId}/interactions/${userInteractionId}/properties-metadata`,\n method: 'GET',\n signal\n });\n };\n\nexport const getGetInteractionPropertiesMetadataApiV1ApplicationVersionsApplicationVersionIdInteractionsUserInteractionIdPropertiesMetadataGetQueryKey =\n (applicationVersionId: number, userInteractionId: string) => {\n return [\n `/api/v1/application-versions/${applicationVersionId}/interactions/${userInteractionId}/properties-metadata`\n ] as const;\n };\n\nexport const getGetInteractionPropertiesMetadataApiV1ApplicationVersionsApplicationVersionIdInteractionsUserInteractionIdPropertiesMetadataGetQueryOptions =\n <\n TData = Awaited<\n ReturnType<\n typeof getInteractionPropertiesMetadataApiV1ApplicationVersionsApplicationVersionIdInteractionsUserInteractionIdPropertiesMetadataGet\n >\n >,\n TError = ErrorType\n >(\n applicationVersionId: number,\n userInteractionId: string,\n options?: {\n query?: UseQueryOptions<\n Awaited<\n ReturnType<\n typeof getInteractionPropertiesMetadataApiV1ApplicationVersionsApplicationVersionIdInteractionsUserInteractionIdPropertiesMetadataGet\n >\n >,\n TError,\n TData\n >;\n }\n ) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey =\n queryOptions?.queryKey ??\n getGetInteractionPropertiesMetadataApiV1ApplicationVersionsApplicationVersionIdInteractionsUserInteractionIdPropertiesMetadataGetQueryKey(\n applicationVersionId,\n userInteractionId\n );\n\n const queryFn: QueryFunction<\n Awaited<\n ReturnType<\n typeof getInteractionPropertiesMetadataApiV1ApplicationVersionsApplicationVersionIdInteractionsUserInteractionIdPropertiesMetadataGet\n >\n >\n > = ({ signal }) =>\n getInteractionPropertiesMetadataApiV1ApplicationVersionsApplicationVersionIdInteractionsUserInteractionIdPropertiesMetadataGet(\n applicationVersionId,\n userInteractionId,\n signal\n );\n\n return {\n queryKey,\n queryFn,\n enabled: !!(applicationVersionId && userInteractionId),\n ...queryOptions\n } as UseQueryOptions<\n Awaited<\n ReturnType<\n typeof getInteractionPropertiesMetadataApiV1ApplicationVersionsApplicationVersionIdInteractionsUserInteractionIdPropertiesMetadataGet\n >\n >,\n TError,\n TData\n > & { queryKey: QueryKey };\n };\n\nexport type GetInteractionPropertiesMetadataApiV1ApplicationVersionsApplicationVersionIdInteractionsUserInteractionIdPropertiesMetadataGetQueryResult =\n NonNullable<\n Awaited<\n ReturnType<\n typeof getInteractionPropertiesMetadataApiV1ApplicationVersionsApplicationVersionIdInteractionsUserInteractionIdPropertiesMetadataGet\n >\n >\n >;\nexport type GetInteractionPropertiesMetadataApiV1ApplicationVersionsApplicationVersionIdInteractionsUserInteractionIdPropertiesMetadataGetQueryError =\n ErrorType;\n\n/**\n * @summary Get Interaction Properties Metadata\n */\n\nexport function useGetInteractionPropertiesMetadataApiV1ApplicationVersionsApplicationVersionIdInteractionsUserInteractionIdPropertiesMetadataGet<\n TData = Awaited<\n ReturnType<\n typeof getInteractionPropertiesMetadataApiV1ApplicationVersionsApplicationVersionIdInteractionsUserInteractionIdPropertiesMetadataGet\n >\n >,\n TError = ErrorType\n>(\n applicationVersionId: number,\n userInteractionId: string,\n options?: {\n query?: UseQueryOptions<\n Awaited<\n ReturnType<\n typeof getInteractionPropertiesMetadataApiV1ApplicationVersionsApplicationVersionIdInteractionsUserInteractionIdPropertiesMetadataGet\n >\n >,\n TError,\n TData\n >;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions =\n getGetInteractionPropertiesMetadataApiV1ApplicationVersionsApplicationVersionIdInteractionsUserInteractionIdPropertiesMetadataGetQueryOptions(\n applicationVersionId,\n userInteractionId,\n options\n );\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Get interaction properties metadata (Deprecated, please use '/application-versions/{application_version_id}/interactions/{user_interaction_id}/properties-metadata' instead)\n * @deprecated\n * @summary Get Interaction Properties Metadata\n */\nexport const getInteractionPropertiesMetadataDeprecated = (\n applicationVersionId: number,\n userInteractionId: string,\n signal?: AbortSignal\n) => {\n return customInstance({\n url: `/api/v1/application_versions/${applicationVersionId}/interactions/${userInteractionId}/properties-metadata`,\n method: 'GET',\n signal\n });\n};\n\nexport const getGetInteractionPropertiesMetadataDeprecatedQueryKey = (\n applicationVersionId: number,\n userInteractionId: string\n) => {\n return [\n `/api/v1/application_versions/${applicationVersionId}/interactions/${userInteractionId}/properties-metadata`\n ] as const;\n};\n\nexport const getGetInteractionPropertiesMetadataDeprecatedQueryOptions = <\n TData = Awaited>,\n TError = ErrorType\n>(\n applicationVersionId: number,\n userInteractionId: string,\n options?: {\n query?: UseQueryOptions>, TError, TData>;\n }\n) => {\n const { query: queryOptions } = options ?? {};\n\n const queryKey =\n queryOptions?.queryKey ??\n getGetInteractionPropertiesMetadataDeprecatedQueryKey(applicationVersionId, userInteractionId);\n\n const queryFn: QueryFunction>> = ({ signal }) =>\n getInteractionPropertiesMetadataDeprecated(applicationVersionId, userInteractionId, signal);\n\n return {\n queryKey,\n queryFn,\n enabled: !!(applicationVersionId && userInteractionId),\n ...queryOptions\n } as UseQueryOptions>, TError, TData> & {\n queryKey: QueryKey;\n };\n};\n\nexport type GetInteractionPropertiesMetadataDeprecatedQueryResult = NonNullable<\n Awaited>\n>;\nexport type GetInteractionPropertiesMetadataDeprecatedQueryError = ErrorType;\n\n/**\n * @deprecated\n * @summary Get Interaction Properties Metadata\n */\n\nexport function useGetInteractionPropertiesMetadataDeprecated<\n TData = Awaited>,\n TError = ErrorType\n>(\n applicationVersionId: number,\n userInteractionId: string,\n options?: {\n query?: UseQueryOptions>, TError, TData>;\n }\n): UseQueryResult & { queryKey: QueryKey } {\n const queryOptions = getGetInteractionPropertiesMetadataDeprecatedQueryOptions(\n applicationVersionId,\n userInteractionId,\n options\n );\n\n const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey };\n\n query.queryKey = queryOptions.queryKey;\n\n return query;\n}\n\n/**\n * Upload file with interactions (csv or excel)\n * @summary Upload\n */\nexport const uploadApiV1UploadCsvPost = (bodyUploadApiV1UploadCsvPost: BodyUploadApiV1UploadCsvPost) => {\n const formData = new FormData();\n formData.append('application_name', bodyUploadApiV1UploadCsvPost.application_name);\n formData.append('application_version_name', bodyUploadApiV1UploadCsvPost.application_version_name);\n formData.append('env_type', bodyUploadApiV1UploadCsvPost.env_type);\n formData.append('file', bodyUploadApiV1UploadCsvPost.file);\n\n return customInstance({\n url: `/api/v1/upload-csv`,\n method: 'POST',\n headers: { 'Content-Type': 'multipart/form-data' },\n data: formData\n });\n};\n\nexport const getUploadApiV1UploadCsvPostMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: BodyUploadApiV1UploadCsvPost },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { data: BodyUploadApiV1UploadCsvPost },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { data: BodyUploadApiV1UploadCsvPost }\n > = props => {\n const { data } = props ?? {};\n\n return uploadApiV1UploadCsvPost(data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type UploadApiV1UploadCsvPostMutationResult = NonNullable>>;\nexport type UploadApiV1UploadCsvPostMutationBody = BodyUploadApiV1UploadCsvPost;\nexport type UploadApiV1UploadCsvPostMutationError = ErrorType;\n\n/**\n * @summary Upload\n */\nexport const useUploadApiV1UploadCsvPost = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: BodyUploadApiV1UploadCsvPost },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { data: BodyUploadApiV1UploadCsvPost },\n TContext\n> => {\n const mutationOptions = getUploadApiV1UploadCsvPostMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n\n/**\n * Create interactions\n * @summary Create Interactions\n */\nexport const createInteractions = (bodyCreateInteractions: BodyCreateInteractions) => {\n return customInstance({\n url: `/api/v1/interactions`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: bodyCreateInteractions\n });\n};\n\nexport const getCreateInteractionsMutationOptions = <\n TError = ErrorType,\n TContext = unknown\n>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: BodyCreateInteractions },\n TContext\n >;\n}): UseMutationOptions<\n Awaited>,\n TError,\n { data: BodyCreateInteractions },\n TContext\n> => {\n const { mutation: mutationOptions } = options ?? {};\n\n const mutationFn: MutationFunction<\n Awaited>,\n { data: BodyCreateInteractions }\n > = props => {\n const { data } = props ?? {};\n\n return createInteractions(data);\n };\n\n return { mutationFn, ...mutationOptions };\n};\n\nexport type CreateInteractionsMutationResult = NonNullable>>;\nexport type CreateInteractionsMutationBody = BodyCreateInteractions;\nexport type CreateInteractionsMutationError = ErrorType;\n\n/**\n * @summary Create Interactions\n */\nexport const useCreateInteractions = , TContext = unknown>(options?: {\n mutation?: UseMutationOptions<\n Awaited>,\n TError,\n { data: BodyCreateInteractions },\n TContext\n >;\n}): UseMutationResult<\n Awaited>,\n TError,\n { data: BodyCreateInteractions },\n TContext\n> => {\n const mutationOptions = getCreateInteractionsMutationOptions(options);\n\n return useMutation(mutationOptions);\n};\n","import { isHadron } from '../utils/isHadron';\nimport { customInstance } from './customAxios';\nimport { LogoutApiV1AuthLogoutGetQueryResult } from './api';\n\nexport const getAuthUrl = () => {\n let loginRedirectLocation = `${process.env.NEXT_PUBLIC_BASE_API}/api/v1/auth/login/auth0`;\n\n const redirectSignup = `${process.env.NEXT_PUBLIC_BASE_API}/api/v1/auth/signup/auth0`;\n const isSignUp = typeof window !== 'undefined' && !!window?.location?.search?.includes('signup=true');\n\n if (typeof window !== 'undefined') {\n const curUrl = window?.location?.href;\n\n loginRedirectLocation += `?return_uri=${encodeURIComponent(curUrl)}`;\n\n return isSignUp ? redirectSignup : loginRedirectLocation;\n } else {\n return isSignUp ? redirectSignup : loginRedirectLocation;\n }\n};\n\nexport const getCustomLogout = () => {\n return customInstance({\n method: 'GET',\n url: `/api/v1/auth/logout`,\n params: isHadron() ? { sm_auth_session_logout: true } : {}\n });\n};\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let 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 {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst 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 * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\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|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && 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 *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst 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 const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","'use strict';\n\nimport utils from '../utils.js';\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 *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\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: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst 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 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(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 = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\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 * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n 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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\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 *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\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\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\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: platform.classes.FormData,\n Blob: platform.classes.Blob\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 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const 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\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\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 *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, 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(a, b, prop , caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const 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 withXSRFToken: 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 headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\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\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, 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 const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n 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));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const 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 // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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 (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : 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 const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.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 || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\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(null, config);\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(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 config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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 config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.9\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\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 *\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 (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\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\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 const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const 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\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _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 const {transitional, paramsSerializer, headers} = config;\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 if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let 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 const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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,\n 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,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(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, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n 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\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\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\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = 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};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","import Axios, { AxiosError, AxiosRequestConfig, InternalAxiosRequestConfig } from 'axios';\n\nimport qs from 'qs';\n\nimport { getAuthUrl } from './auth';\n\nimport { openResPopup } from './resHandlers';\n\nexport const AXIOS_INSTANCE = Axios.create({\n baseURL: process.env.NEXT_PUBLIC_BASE_API,\n withCredentials: true\n});\n\nAXIOS_INSTANCE.defaults.paramsSerializer = params => qs.stringify(params, { arrayFormat: 'repeat' });\n\nAXIOS_INSTANCE.interceptors.response.use(\n response => response,\n error => {\n const { response } = error;\n if (response) {\n switch (response.status) {\n case 401:\n return (window.location.href = getAuthUrl());\n\n case 500:\n return openResPopup('Internal server error. Please try again later.', 'error');\n\n case 502:\n return openResPopup('Bad gateway. Please try again later.', 'error');\n\n case 504:\n return openResPopup('Gateway timeout. Please try again later.', 'error');\n\n default:\n return response;\n }\n }\n }\n);\n\nlet cancelTokenSource = Axios.CancelToken.source();\n\nexport const cancelPendingRequests = () => {\n cancelTokenSource.cancel();\n cancelTokenSource = Axios.CancelToken.source();\n};\n\nconst requestCounts: { [key: string]: { count: number; timer: NodeJS.Timeout | null } } = {};\n\nconst rateLimitKey = (config: AxiosRequestConfig) => {\n return config.url || '';\n};\n\nconst rateLimitInterceptor = (config: InternalAxiosRequestConfig) => {\n const isTestingMode = process.env.CI || process.env.NODE_ENV === 'development' || process.env.LOCAL_DEV;\n\n if (isTestingMode) {\n return config;\n }\n\n const key = rateLimitKey(config);\n\n if (!requestCounts[key]) {\n requestCounts[key] = { count: 0, timer: null };\n }\n\n requestCounts[key].count++;\n\n if (requestCounts[key].count > 3) {\n return Promise.reject(new Axios.Cancel('Too many same endpoint requests'));\n }\n\n if (!requestCounts[key].timer) {\n requestCounts[key].timer = setTimeout(() => {\n requestCounts[key].count = 0;\n requestCounts[key].timer = null;\n }, 1000);\n }\n\n return config;\n};\n\nconst addCustomHeaderInterceptor = (config: InternalAxiosRequestConfig) => {\n // eslint-disable-next-line no-param-reassign\n config.headers['x-deepchecks-origin'] = 'UI';\n\n return config;\n};\n\n// Apply request interceptors\nAXIOS_INSTANCE.interceptors.request.use(addCustomHeaderInterceptor);\nAXIOS_INSTANCE.interceptors.request.use(rateLimitInterceptor);\n\nexport const customInstance = async (config: AxiosRequestConfig): Promise => {\n const promise = await AXIOS_INSTANCE({ ...config, cancelToken: cancelTokenSource.token })\n .then(({ data }) => data)\n .catch(() => '' /* logger */);\n\n return promise;\n};\n\nexport type ErrorType = AxiosError;\n","import mixpanel from 'mixpanel-browser';\n\nimport { getStorageItem, storageKeys } from '@/helpers/utils/localStorage';\nimport { getSessionStorageItem, sessionStorageKeys } from '../utils/sessionStorage';\n\nexport const constants = {\n src: 'Frontend',\n orgsToIgnore: { dc: 'deepchecks' }\n};\n\nexport const reportEvent = (eventName: string, eventData?: { [param: string]: string | number | boolean }) => {\n const appProperties = getStorageItem(storageKeys.app);\n const userProperties = getStorageItem(storageKeys.user);\n const mixpanelInit = getSessionStorageItem(sessionStorageKeys.mixpanelInit);\n\n if (mixpanelInit === true && !userProperties?.email?.includes(constants?.orgsToIgnore?.dc)) {\n mixpanel?.track(eventName, { ...eventData, ...userProperties, ...appProperties, src: constants?.src });\n }\n};\n\nexport const resetMixpanel = () => {\n const mixpanelInit = getSessionStorageItem(sessionStorageKeys.mixpanelInit);\n\n if (mixpanelInit === true) {\n mixpanel?.reset();\n }\n};\n\nexport const events = {\n properties: {\n llm: {\n tabView: 'LLM Properties Tab View',\n propertyDialog: {\n open: 'Open LLM Property Dialog',\n test: 'Test LLM Property',\n save: 'Save LLM Property'\n },\n recalculate: {\n openDialog: 'Recalculate LLM Prop - Open Dialog',\n run: 'Recalculate LLM Prop - Run'\n },\n deleteProperty: 'Delete LLM Property'\n }\n },\n annotation: {\n rerun: 'Recalculate Annotations'\n }\n};\n","export interface resError {\n error_message: string;\n additional_information?: { [key: string]: string };\n}\n\nexport const openResPopup = (message: string, message_type?: 'success' | 'error') => {\n const currentQuery = typeof window !== 'undefined' ? window.location.search : '';\n\n if (currentQuery) {\n const params = new URLSearchParams(currentQuery);\n\n // Remove existing message and message_type if they exist\n params?.delete('message');\n params?.delete('message_type');\n\n // Add new message and message_type\n params?.append('message', encodeURIComponent(message));\n params?.append('message_type', message_type ?? 'info');\n\n return `?${params.toString()}`;\n }\n\n return `?message=${encodeURIComponent(message)}&message_type=${message_type ?? 'info'}`;\n};\n","export const downloadFile = async (filePath: string, downloadedName: string) => {\n const response = await fetch(filePath, { method: 'GET' });\n\n if (response.status === 200) {\n const contentDisposition = response.headers.get('Content-Disposition');\n const filename = contentDisposition ? contentDisposition.split('filename=')[1] : downloadedName;\n const blob = await response.blob();\n const url = window.URL.createObjectURL(blob);\n const a = document.createElement('a');\n\n a.href = url;\n a.download = filename;\n document.body.appendChild(a);\n a.click();\n\n document.body.removeChild(a);\n window.URL.revokeObjectURL(url);\n }\n};\n\nexport const downloadServerFile = async (res: unknown, downloadedName: string) => {\n const blob = new Blob([res as BlobPart], { type: 'text/csv' });\n const downloadUrl = URL.createObjectURL(blob);\n const anchor = document.createElement('a');\n\n anchor.href = downloadUrl;\n anchor.download = downloadedName;\n document.body.appendChild(anchor);\n anchor.click();\n document.body.removeChild(anchor);\n URL.revokeObjectURL(downloadUrl);\n};\n","import { getUserStorage } from './localStorage';\n\nexport const isHadron = () => {\n const isDeploymentTypeHadron = getUserStorage()?.deploymentType === 'hadron';\n\n return isDeploymentTypeHadron;\n};\n","import { EnvType, Permission, ReadInteractionTypeSchema, UserSchema } from '../services/api';\n\nexport const storageKeys = {\n app: 'app',\n user: 'user',\n generationTask: 'generation_task',\n userPreferences: 'user_preferences',\n appPageNotifications: 'app_page_notification'\n};\n\nexport const getStorageItem = (key: string) => {\n if (typeof window !== 'undefined') {\n const item = window.localStorage.getItem(key);\n\n try {\n return item ? JSON.parse(item) : null;\n } catch {\n return null;\n }\n }\n};\n\nexport const setStorageItem = (key: string, value: T) => {\n if (typeof window !== 'undefined') {\n window.localStorage.setItem(key, JSON.stringify(value));\n }\n};\n\nexport const removeStorageItem = (key: string) => {\n if (typeof window !== 'undefined') {\n window.localStorage.removeItem(key);\n }\n};\n\nexport const clearLocalStorage = () => {\n if (typeof window !== 'undefined') {\n window.localStorage.clear();\n }\n};\n\nexport const getAppStorage = () => {\n const appStorage = getStorageItem(storageKeys.app);\n\n return {\n appId: appStorage?.appId || 0,\n appName: appStorage?.appName || '',\n versionId: appStorage?.versionId || 0,\n versionName: appStorage?.versionName || '',\n type: (appStorage?.type as EnvType) || EnvType['EVAL'],\n timestamp: appStorage?.timestamp || { start: NaN, end: NaN },\n interactionType: {\n value: appStorage?.interactionType?.value || '',\n options: (appStorage?.interactionType?.options || []) as ReadInteractionTypeSchema[]\n }\n };\n};\n\nexport const getUserStorage = () => {\n const userStorage: UserSchema = getStorageItem(storageKeys.user);\n\n const permissionsList = userStorage?.role?.permissions as Permission[];\n\n return {\n name: userStorage?.name || '',\n email: userStorage?.email || '',\n deploymentType: userStorage?.deployment_type || '',\n organization_name: userStorage?.organization_name || '',\n role: {\n name: userStorage?.role?.name || '',\n permissions: Array?.isArray(permissionsList)\n ? permissionsList\n : [Permission['USERS_WRITE'], Permission['ORG_WRITE']]\n }\n };\n};\n\nexport const getUserPreferences = () => {\n const userPreferencesStorage = getStorageItem(storageKeys.userPreferences);\n\n return {\n lightBar: userPreferencesStorage?.lightBar || false,\n darkMode: userPreferencesStorage?.darkMode || false,\n activeEnvs: userPreferencesStorage?.activeEnvs || [EnvType['EVAL'], EnvType['PROD']]\n };\n};\n","export const sessionStorageKeys = {\n propFilters: 'prop_filters',\n mixpanelInit: 'mixpanel_init'\n};\n\nexport const getSessionStorageItem = (key: string) => {\n if (typeof window !== 'undefined') {\n const item = window.sessionStorage.getItem(key);\n\n try {\n return item ? JSON.parse(item) : null;\n } catch {\n return null;\n }\n }\n};\n\nexport const setSessionStorageItem = (key: string, value: T) => {\n if (typeof window !== 'undefined') {\n window.sessionStorage.setItem(key, JSON.stringify(value));\n }\n};\n\nexport const removeSessionStorageItem = (key: string) => {\n if (typeof window !== 'undefined') {\n window.sessionStorage.removeItem(key);\n }\n};\n\nexport const clearSessionStorage = () => {\n if (typeof window !== 'undefined') {\n window.sessionStorage.clear();\n }\n};\n","var Et=Object.create;var Ye=Object.defineProperty;var bt=Object.getOwnPropertyDescriptor;var gt=Object.getOwnPropertyNames;var yt=Object.getPrototypeOf,wt=Object.prototype.hasOwnProperty;var Lt=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports);var Pt=(n,e,r,i)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let o of gt(e))!wt.call(n,o)&&o!==r&&Ye(n,o,{get:()=>e[o],enumerable:!(i=bt(e,o))||i.enumerable});return n};var St=(n,e,r)=>(r=n!=null?Et(yt(n)):{},Pt(e||!n||!n.__esModule?Ye(r,\"default\",{value:n,enumerable:!0}):r,n));var je=Lt((he,Je)=>{(function(n,e){typeof he==\"object\"&&typeof Je<\"u\"?e(he):typeof define==\"function\"&&define.amd?define([\"exports\"],e):(n=typeof globalThis<\"u\"?globalThis:n||self,e(n.fastUniqueNumbers={}))})(he,function(n){\"use strict\";var e=function(l){return function(p){var f=l(p);return p.add(f),f}},r=function(l){return function(p,f){return l.set(p,f),f}},i=Number.MAX_SAFE_INTEGER===void 0?9007199254740991:Number.MAX_SAFE_INTEGER,o=536870912,u=o*2,g=function(l,p){return function(f){var B=p.get(f),y=B===void 0?f.size:Bi)throw new Error(\"Congratulations, you created a collection of unique numbers which uses all available integers!\");for(;f.has(y);)y=Math.floor(Math.random()*i);return l(f,y)}},O=new WeakMap,W=r(O),m=g(W,O),a=e(m);n.addUniqueNumber=a,n.generateUniqueNumber=m})});import{Component as Mt,forwardRef as Rt}from\"react\";import{jsx as At}from\"react/jsx-runtime\";function kt(n){return Rt(function(r,i){let o={...r},u=se(o);return typeof i==\"function\"?i(u):i&&(i.current=u),At(n,{...r,...u})})}var Re=class extends Mt{},ke=class extends Re{constructor(e){super(e),this.onPresenceChange&&e.setOnPresenceChange(this.onPresenceChange.bind(this)),this.onPrompt&&e.setOnPrompt(this.onPrompt.bind(this)),this.onIdle&&e.setOnIdle(this.onIdle.bind(this)),this.onActive&&e.setOnActive(this.onActive.bind(this)),this.onAction&&e.setOnAction(this.onAction.bind(this)),this.onMessage&&e.setOnMessage(this.onMessage.bind(this))}};import{useEffect as b,useRef as c,useCallback as T,useMemo as Dt}from\"react\";var oe=St(je());var Xe=n=>n.method!==void 0&&n.method===\"call\";var ze=n=>n.error===null&&typeof n.id==\"number\";var Ke=n=>{let e=new Map([[0,()=>{}]]),r=new Map([[0,()=>{}]]),i=new Map,o=new Worker(n);return o.addEventListener(\"message\",({data:m})=>{if(Xe(m)){let{params:{timerId:a,timerType:d}}=m;if(d===\"interval\"){let l=e.get(a);if(typeof l==\"number\"){let p=i.get(l);if(p===void 0||p.timerId!==a||p.timerType!==d)throw new Error(\"The timer is in an undefined state.\")}else if(typeof l<\"u\")l();else throw new Error(\"The timer is in an undefined state.\")}else if(d===\"timeout\"){let l=r.get(a);if(typeof l==\"number\"){let p=i.get(l);if(p===void 0||p.timerId!==a||p.timerType!==d)throw new Error(\"The timer is in an undefined state.\")}else if(typeof l<\"u\")l(),r.delete(a);else throw new Error(\"The timer is in an undefined state.\")}}else if(ze(m)){let{id:a}=m,d=i.get(a);if(d===void 0)throw new Error(\"The timer is in an undefined state.\");let{timerId:l,timerType:p}=d;i.delete(a),p===\"interval\"?e.delete(l):r.delete(l)}else{let{error:{message:a}}=m;throw new Error(a)}}),{clearInterval:m=>{let a=(0,oe.generateUniqueNumber)(i);i.set(a,{timerId:m,timerType:\"interval\"}),e.set(m,a),o.postMessage({id:a,method:\"clear\",params:{timerId:m,timerType:\"interval\"}})},clearTimeout:m=>{let a=(0,oe.generateUniqueNumber)(i);i.set(a,{timerId:m,timerType:\"timeout\"}),r.set(m,a),o.postMessage({id:a,method:\"clear\",params:{timerId:m,timerType:\"timeout\"}})},setInterval:(m,a)=>{let d=(0,oe.generateUniqueNumber)(e);return e.set(d,()=>{m(),typeof e.get(d)==\"function\"&&o.postMessage({id:null,method:\"set\",params:{delay:a,now:performance.now(),timerId:d,timerType:\"interval\"}})}),o.postMessage({id:null,method:\"set\",params:{delay:a,now:performance.now(),timerId:d,timerType:\"interval\"}}),d},setTimeout:(m,a)=>{let d=(0,oe.generateUniqueNumber)(r);return r.set(d,m),o.postMessage({id:null,method:\"set\",params:{delay:a,now:performance.now(),timerId:d,timerType:\"timeout\"}}),d}}};var Qe=(n,e)=>{let r=null;return()=>{if(r!==null)return r;let i=new Blob([e],{type:\"application/javascript; charset=utf-8\"}),o=URL.createObjectURL(i);return r=n(o),setTimeout(()=>URL.revokeObjectURL(o)),r}};var Ze=`(()=>{\"use strict\";const e=new Map,t=new Map,r=(e,t)=>{let r,o;const i=performance.now();r=i,o=e-Math.max(0,i-t);return{expected:r+o,remainingDelay:o}},o=(e,t,r,i)=>{const s=performance.now();s>r?postMessage({id:null,method:\"call\",params:{timerId:t,timerType:i}}):e.set(t,setTimeout(o,r-s,e,t,r,i))};addEventListener(\"message\",(i=>{let{data:s}=i;try{if(\"clear\"===s.method){const{id:r,params:{timerId:o,timerType:i}}=s;if(\"interval\"===i)(t=>{const r=e.get(t);if(void 0===r)throw new Error('There is no interval scheduled with the given id \"'.concat(t,'\".'));clearTimeout(r),e.delete(t)})(o),postMessage({error:null,id:r});else{if(\"timeout\"!==i)throw new Error('The given type \"'.concat(i,'\" is not supported'));(e=>{const r=t.get(e);if(void 0===r)throw new Error('There is no timeout scheduled with the given id \"'.concat(e,'\".'));clearTimeout(r),t.delete(e)})(o),postMessage({error:null,id:r})}}else{if(\"set\"!==s.method)throw new Error('The given method \"'.concat(s.method,'\" is not supported'));{const{params:{delay:i,now:n,timerId:a,timerType:d}}=s;if(\"interval\"===d)((t,i,s)=>{const{expected:n,remainingDelay:a}=r(t,s);e.set(i,setTimeout(o,a,e,i,n,\"interval\"))})(i,a,n);else{if(\"timeout\"!==d)throw new Error('The given type \"'.concat(d,'\" is not supported'));((e,i,s)=>{const{expected:n,remainingDelay:a}=r(e,s);t.set(i,setTimeout(o,a,t,i,n,\"timeout\"))})(i,a,n)}}}}catch(e){postMessage({error:{message:e.message},id:s.id,result:null})}}))})();`;var ve=Qe(Ke,Ze),et=n=>ve().clearInterval(n),tt=n=>ve().clearTimeout(n),rt=(n,e)=>ve().setInterval(n,e),nt=(n,e)=>ve().setTimeout(n,e);var M=(typeof window>\"u\"?\"undefined\":typeof window)==\"object\";var I={setTimeout:M?setTimeout.bind(window):setTimeout,clearTimeout:M?clearTimeout.bind(window):clearTimeout,setInterval:M?setInterval.bind(window):setInterval,clearInterval:M?clearInterval.bind(window):clearInterval},ae={setTimeout:nt,clearTimeout:tt,setInterval:rt,clearInterval:et};function Ot(){I.setTimeout=setTimeout,I.clearTimeout=clearTimeout,I.setInterval=setInterval,I.clearInterval=clearInterval,ae.setTimeout=setTimeout,ae.clearTimeout=clearTimeout,ae.setInterval=setInterval,ae.clearInterval=clearInterval}function it(n){I.setTimeout=n.setTimeout,I.clearTimeout=n.clearTimeout,I.setInterval=n.setInterval,I.clearInterval=n.clearInterval}var Q={},Ae=class{name;closed=!1;mc=new MessageChannel;constructor(e){this.name=e,Q[e]=Q[e]||[],Q[e].push(this),this.mc.port1.start(),this.mc.port2.start(),this.onStorage=this.onStorage.bind(this),window.addEventListener(\"storage\",this.onStorage)}onStorage(e){if(e.storageArea!==window.localStorage||e.key.substring(0,this.name.length)!==this.name||e.newValue===null)return;let r=JSON.parse(e.newValue);this.mc.port2.postMessage(r)}postMessage(e){if(this.closed)throw new Error(\"InvalidStateError\");let r=JSON.stringify(e),i=`${this.name}:${String(Date.now())}${String(Math.random())}`;window.localStorage.setItem(i,r),I.setTimeout(()=>{window.localStorage.removeItem(i)},500),Q[this.name].forEach(o=>{o!==this&&o.mc.port2.postMessage(JSON.parse(r))})}close(){if(this.closed)return;this.closed=!0,this.mc.port1.close(),this.mc.port2.close(),window.removeEventListener(\"storage\",this.onStorage);let e=Q[this.name].indexOf(this);Q[this.name].splice(e,1)}get onmessage(){return this.mc.port1.onmessage}set onmessage(e){this.mc.port1.onmessage=e}get onmessageerror(){return this.mc.port1.onmessageerror}set onmessageerror(e){this.mc.port1.onmessageerror=e}addEventListener(e,r){return this.mc.port1.addEventListener(e,r)}removeEventListener(e,r){return this.mc.port1.removeEventListener(e,r)}dispatchEvent(e){return this.mc.port1.dispatchEvent(e)}},st=typeof window>\"u\"?void 0:typeof window.BroadcastChannel==\"function\"?window.BroadcastChannel:Ae;function ot(n=0){return new Promise(e=>I.setTimeout(e,n))}function Te(){return Math.random().toString(36).substring(2)}var Ie=class{options;channel;token=Te();isLeader=!1;isDead=!1;isApplying=!1;reApply=!1;intervals=[];listeners=[];deferred;constructor(e,r){this.channel=e,this.options=r,this.apply=this.apply.bind(this),this.awaitLeadership=this.awaitLeadership.bind(this),this.sendAction=this.sendAction.bind(this)}async apply(){if(this.isLeader||this.isDead)return!1;if(this.isApplying)return this.reApply=!0,!1;this.isApplying=!0;let e=!1,r=i=>{let{token:o,action:u}=i.data;o!==this.token&&(u===0&&o>this.token&&(e=!0),u===1&&(e=!0))};this.channel.addEventListener(\"message\",r);try{return this.sendAction(0),await ot(this.options.responseTime),this.channel.removeEventListener(\"message\",r),this.isApplying=!1,e?this.reApply?this.apply():!1:(this.assumeLead(),!0)}catch{return!1}}awaitLeadership(){if(this.isLeader)return Promise.resolve();let e=!1,r=null;return new Promise(i=>{let o=()=>{if(e)return;e=!0;try{I.clearInterval(r)}catch{}let g=this.intervals.indexOf(r);g>=0&&this.intervals.splice(g,1),this.channel.removeEventListener(\"message\",u),i()};r=I.setInterval(()=>{this.apply().then(()=>{this.isLeader&&o()})},this.options.fallbackInterval),this.intervals.push(r);let u=g=>{let{action:O}=g.data;O===2&&this.apply().then(()=>{this.isLeader&&o()})};this.channel.addEventListener(\"message\",u)})}sendAction(e){this.channel.postMessage({action:e,token:this.token})}assumeLead(){this.isLeader=!0;let e=r=>{let{action:i}=r.data;i===0&&this.sendAction(1)};return this.channel.addEventListener(\"message\",e),this.listeners.push(e),this.sendAction(1)}waitForLeadership(){return this.deferred?this.deferred:(this.deferred=this.awaitLeadership(),this.deferred)}close(){if(!this.isDead){this.isDead=!0,this.isLeader=!1,this.sendAction(2);try{this.listeners.forEach(e=>this.channel.removeEventListener(\"message\",e)),this.intervals.forEach(e=>I.clearInterval(e))}catch{}}}};var Ee=class{channel;options;elector;token=Te();registry=new Map;allIdle=!1;isLastActive=!1;constructor(e){let{channelName:r}=e;if(this.options=e,this.channel=new st(r),this.registry.set(this.token,1),e.leaderElection){let i={fallbackInterval:2e3,responseTime:100};this.elector=new Ie(this.channel,i),this.elector.waitForLeadership()}this.channel.addEventListener(\"message\",i=>{let{action:o,token:u,data:g}=i.data;switch(o){case 3:this.registry.set(u,2);break;case 4:this.registry.delete(u);break;case 5:this.idle(u);break;case 6:this.active(u);break;case 7:this.prompt(u);break;case 8:this.start(u);break;case 9:this.reset(u);break;case 10:this.activate(u);break;case 11:this.pause(u);break;case 12:this.resume(u);break;case 13:this.options.onMessage(g);break}}),this.send(3)}get isLeader(){if(!this.elector)throw new Error('\\u274C Leader election is not enabled. To Enable it set the \"leaderElection\" property to true.');return this.elector.isLeader}prompt(e=this.token){this.registry.set(e,0);let r=[...this.registry.values()].every(i=>i===0);e===this.token&&this.send(7),r&&this.options.onPrompt()}idle(e=this.token){this.registry.set(e,2);let r=[...this.registry.values()].every(i=>i===2);e===this.token&&this.send(5),!this.allIdle&&r&&(this.allIdle=!0,this.options.onIdle())}active(e=this.token){this.allIdle=!1,this.registry.set(e,1);let r=[...this.registry.values()].some(i=>i===1);e===this.token&&this.send(6),r&&this.options.onActive(),this.isLastActive=e===this.token}start(e=this.token){this.allIdle=!1,this.registry.set(e,1),e===this.token?this.send(8):this.options.start(!0),this.isLastActive=e===this.token}reset(e=this.token){this.allIdle=!1,this.registry.set(e,1),e===this.token?this.send(9):this.options.reset(!0),this.isLastActive=e===this.token}activate(e=this.token){this.allIdle=!1,this.registry.set(e,1),e===this.token?this.send(10):this.options.activate(!0),this.isLastActive=e===this.token}pause(e=this.token){e===this.token?this.send(11):this.options.pause(!0)}resume(e=this.token){e===this.token?this.send(12):this.options.resume(!0)}message(e){try{this.channel.postMessage({action:13,token:this.token,data:e})}catch{}}send(e){try{this.channel.postMessage({action:e,token:this.token})}catch{}}close(){this.options.leaderElection&&this.elector.close(),this.send(4),this.channel.close()}};var at=M?document:null,xe=[\"mousemove\",\"keydown\",\"wheel\",\"DOMMouseScroll\",\"mousewheel\",\"mousedown\",\"touchstart\",\"touchmove\",\"MSPointerDown\",\"MSPointerMove\",\"visibilitychange\",\"focus\"];function ct(n,e){let r;function i(...o){r&&clearTimeout(r),r=setTimeout(()=>{n(...o),r=null},e)}return i.cancel=function(){clearTimeout(r)},i}function be(n,e){let r=0;return function(...i){let o=new Date().getTime();if(!(o-rDate.now();var Z=2147483647;function se({timeout:n=1e3*60*20,promptTimeout:e=0,promptBeforeIdle:r=0,element:i=at,events:o=xe,timers:u=void 0,immediateEvents:g=[],onPresenceChange:O=()=>{},onPrompt:W=()=>{},onIdle:m=()=>{},onActive:a=()=>{},onAction:d=()=>{},onMessage:l=()=>{},debounce:p=0,throttle:f=0,eventsThrottle:B=200,startOnMount:y=!0,startManually:D=!1,stopOnIdle:ce=!1,crossTab:j=!1,name:Oe=\"idle-timer\",syncTimers:ee=0,leaderElection:Ce=!1,disabled:C=!1}={}){let De=c(v()),ue=c(v()),w=c(null),R=c(null),F=c(0),te=c(0),N=c(0),S=c(0),h=c(!1),E=c(!1),H=c(!1),_=c(!0),re=c(!1),U=c(null),s=c(null),k=c(n),G=c(0);b(()=>{if(e&&console.warn(\"\\u26A0\\uFE0F IdleTimer -- The `promptTimeout` property has been deprecated in favor of `promptBeforeIdle`. It will be removed in the next major release.\"),r&&e)throw new Error(\"\\u274C Both promptTimeout and promptBeforeIdle can not be set. The promptTimeout property will be deprecated in a future version.\");if(n>=Z)throw new Error(`\\u274C The value for the timeout property must fit in a 32 bit signed integer, ${Z}.`);if(e>=Z)throw new Error(`\\u274C The value for the promptTimeout property must fit in a 32 bit signed integer, ${Z}.`);if(r>=Z)throw new Error(`\\u274C The value for the promptBeforeIdle property must fit in a 32 bit signed integer, ${Z}.`);if(r>=n)throw new Error(`\\u274C The value for the promptBeforeIdle property must be less than the timeout property, ${n}.`);if(r?(k.current=n-r,G.current=r):(k.current=n,G.current=e),!_.current){if(D||C)return;h.current&&(X.current(null,L),s.current&&s.current.active()),J()}},[n,e,r,D,C]);let Ne=c(ce);b(()=>{Ne.current=ce},[ce]);let He=c(g),ne=c(i),ye=c([...new Set([...o,...g]).values()]),A=c(C);b(()=>{A.current=C,!_.current&&(C?fe():D||J())},[C]);let ie=c(O);b(()=>{ie.current=O},[O]);let le=c(W);b(()=>{le.current=W},[W]);let me=c(m);b(()=>{me.current=m},[m]);let X=c(a);b(()=>{X.current=a},[a]);let de=c(d);b(()=>{de.current=d},[d]);let z=c(l);b(()=>{z.current=l},[l]);let q=Dt(()=>{let t=(P,K)=>de.current(P,K);return p>0?ct(t,p):f>0?be(t,f):t},[f,p]),_e=c();b(()=>{j&&ee&&(_e.current=be(()=>{s.current.active()},ee))},[j,ee]);let x=()=>{U.current!==null&&(I.clearTimeout(U.current),U.current=null)},$=(t,P=!0)=>{x(),U.current=I.setTimeout(Le,t||k.current),P&&(R.current=v())},Ue=t=>{!E.current&&!h.current&&(le.current(t,L),ie.current({type:\"active\",prompted:!0},L)),S.current=0,N.current=v(),E.current=!0,$(G.current,!1)},Fe=()=>{x(),h.current||(me.current(null,L),ie.current({type:\"idle\"},L)),h.current=!0,w.current=v(),Ne.current?Y():E.current&&(N.current=0,E.current=!1)},we=t=>{x(),(h.current||E.current)&&(X.current(t,L),ie.current({type:\"active\",prompted:!1},L)),E.current=!1,N.current=0,h.current=!1,F.current+=v()-w.current,te.current+=v()-w.current,V(),$()},Le=t=>{if(!h.current){q.cancel&&q.cancel();let K=v()-R.current;if(!(k.current+G.current0&&!E.current){s.current?s.current.prompt():Ue(t);return}s.current?s.current.idle():Fe();return}s.current?s.current.active():we(t)},Pe=t=>{if(!y&&!R.current&&(R.current=v(),X.current(null,L)),q(t,L),E.current)return;if(x(),!h.current&&He.current.includes(t.type)){Le(t);return}let P=v()-R.current;if(h.current&&!ce||!h.current&&P>=k.current){Le(t);return}H.current=!1,S.current=0,N.current=0,$(),j&&ee&&_e.current()},pe=c(Pe);b(()=>{let t=re.current;t&&Y(),B>0?pe.current=be(Pe,B):pe.current=Pe,t&&V()},[B,f,p,de,j,ee]);let V=()=>{M&&ne.current&&(re.current||(ye.current.forEach(t=>{ne.current.addEventListener(t,pe.current,{capture:!0,passive:!0})}),re.current=!0))},Y=(t=!1)=>{M&&ne.current&&(re.current||t)&&(ye.current.forEach(P=>{ne.current.removeEventListener(P,pe.current,{capture:!0})}),re.current=!1)},J=T(t=>A.current?!1:(x(),V(),h.current=!1,E.current=!1,H.current=!1,S.current=0,N.current=0,s.current&&!t&&s.current.start(),$(),!0),[U,h,A,k,s]),Se=T(t=>A.current?!1:(x(),V(),ue.current=v(),F.current+=v()-w.current,te.current+=v()-w.current,F.current=0,h.current=!1,E.current=!1,H.current=!1,S.current=0,N.current=0,s.current&&!t&&s.current.reset(),D||$(),!0),[U,h,k,D,A,s]),Ve=T(t=>A.current?!1:(x(),V(),(h.current||E.current)&&we(),h.current=!1,E.current=!1,H.current=!1,S.current=0,N.current=0,ue.current=v(),s.current&&!t&&s.current.activate(),$(),!0),[U,h,E,A,k,s]),fe=T((t=!1)=>A.current||H.current?!1:(S.current=We(),H.current=!0,Y(),x(),s.current&&!t&&s.current.pause(),!0),[U,A,s]),Me=T((t=!1)=>A.current||!H.current?!1:(H.current=!1,E.current||V(),h.current||$(S.current),N.current&&(N.current=v()),s.current&&!t&&s.current.resume(),!0),[U,k,A,S,s]),ut=T((t,P)=>(s.current?(P&&z.current(t,L),s.current.message(t)):P&&z.current(t,L),!0),[l]),lt=T(()=>h.current,[h]),mt=T(()=>E.current,[E]),dt=T(()=>s.current?s.current.isLeader:null,[s]),pt=T(()=>s.current?s.current.isLastActive:null,[s]),ft=T(()=>s.current?s.current.token:null,[s]),We=T(()=>{if(H.current)return S.current;let t=S.current?S.current:G.current+k.current,P=R.current?v()-R.current:0,K=Math.floor(t-P);return K<0?0:Math.abs(K)},[k,G,E,S,R]),Be=T(()=>Math.round(v()-ue.current),[ue]),Ge=T(()=>Math.round(v()-De.current),[De]),ht=T(()=>w.current?new Date(w.current):null,[w]),vt=T(()=>R.current?new Date(R.current):null,[R]),qe=T(()=>h.current?Math.round(v()-w.current+F.current):Math.round(F.current),[w,F]),$e=T(()=>h.current?Math.round(v()-w.current+te.current):Math.round(te.current),[w,te]),Tt=T(()=>{let t=Math.round(Be()-qe());return t>=0?t:0},[w,F]),It=T(()=>{let t=Math.round(Ge()-$e());return t>=0?t:0},[w,F]);b(()=>{if(p>0&&f>0)throw new Error(\"\\u274C onAction can either be throttled or debounced, not both.\");u&&it(u);let t=()=>{s.current&&s.current.close(),q.cancel&&q.cancel(),x(),Y(!0)};return M&&window.addEventListener(\"beforeunload\",t),()=>{M&&window.removeEventListener(\"beforeunload\",t),s.current&&s.current.close(),q.cancel&&q.cancel(),x(),Y(!0)}},[]),b(()=>{s.current&&s.current.close(),j?s.current=new Ee({channelName:Oe,leaderElection:Ce,onPrompt:()=>{Ue()},onIdle:()=>{Fe()},onActive:()=>{we()},onMessage:t=>{z.current(t,L)},start:J,reset:Se,activate:Ve,pause:fe,resume:Me}):s.current=null},[j,Oe,Ce,le,me,X,z,J,Se,fe,Me]),b(()=>{_.current||(x(),Y(!0)),!(D||C)&&(y?J():V())},[D,y,C,_]),b(()=>{if(!_.current){let t=[...new Set([...o,...g]).values()];if(Y(),ye.current=t,ne.current=i,He.current=g,D||C)return;y?J():V()}},[i,JSON.stringify(o),JSON.stringify(g),_,C,D,y]),b(()=>{_.current&&(_.current=!1)},[_]);let L={message:ut,start:J,reset:Se,activate:Ve,pause:fe,resume:Me,isIdle:lt,isPrompted:mt,isLeader:dt,isLastActiveTab:pt,getTabId:ft,getRemainingTime:We,getElapsedTime:Be,getTotalElapsedTime:Ge,getLastIdleTime:ht,getLastActiveTime:vt,getIdleTime:qe,getTotalIdleTime:$e,getActiveTime:Tt,getTotalActiveTime:It,setOnPresenceChange:t=>{O=t,ie.current=t},setOnPrompt:t=>{W=t,le.current=t},setOnIdle:t=>{m=t,me.current=t},setOnActive:t=>{a=t,X.current=t},setOnAction:t=>{d=t,de.current=t},setOnMessage:t=>{l=t,z.current=t}};return L}import{createContext as Nt,useContext as Ht}from\"react\";import{jsx as Vt}from\"react/jsx-runtime\";var ge=Nt(null);function _t(n){let e=se(n);return Vt(ge.Provider,{value:e,children:n.children})}var Ut=ge.Consumer;function Ft(){return Ht(ge)}export{xe as DEFAULT_EVENTS,ke as IdleTimerComponent,Ut as IdleTimerConsumer,ge as IdleTimerContext,_t as IdleTimerProvider,Ot as createMocks,se as useIdleTimer,Ft as useIdleTimerContext,kt as withIdleTimer,ae as workerTimers};\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: \"M18 13h-5v5c0 .55-.45 1-1 1s-1-.45-1-1v-5H6c-.55 0-1-.45-1-1s.45-1 1-1h5V6c0-.55.45-1 1-1s1 .45 1 1v5h5c.55 0 1 .45 1 1s-.45 1-1 1\"\n}), 'AddRounded');","export const constants = {\n buttonLabel: 'Generate Data',\n generatePentestData: 'Generate Pentest Data',\n title: 'There’s nothing here yet.',\n description: 'You can start your set by uploading a CSV file,\\n or we can help you generate it automatically.',\n uploadImgAlt: 'generate illustration',\n generateImgAlt: 'generate illustration',\n generateEvaluationData: 'Generate Evaluation Data',\n dialogDescription: 'Generate additional user inputs automatically to get to a meaningful evaluation.',\n submitButtonLabel: 'Generate',\n selectCategories: 'Select categories to proceed:',\n searchCategories: 'Search categories',\n selectAll: (count: number) => `Select All (${count})`,\n deselectAll: 'Deselect All',\n nextBtnLabel: (count: number) => `Next ${count > 0 ? `(${count})` : ''}`,\n generatePentestDescription:\n 'Each category includes one or more inputs to run your application on, each built to initiate a specific type of vulnerability. Once you’ve downloaded the desired data, run it through your pipeline, and upload it along with the outputs to the “Pentest” environment.',\n readMoreBtnLabel: 'Read more in our documentation',\n downloadCSVBtnLabel: 'Download as CSV',\n promptsText: 'Prompts',\n inText: 'IN',\n categoriesText: 'categories',\n inputs: {\n link: {\n label: 'Data Source Link'\n },\n description: {\n label: 'Application Description (required)',\n placeholder: 'Write your application description'\n },\n guideline: {\n name: 'Guidelines',\n label: 'Guidelines (required)',\n placeholder:\n 'Write me a set of complicated questions that are focused on the subjects of drift and token classification.'\n },\n dataContext: {\n label: 'Data Context',\n options: {\n link: 'Add Link',\n file: 'Add File'\n }\n }\n },\n viewSamples: {\n numberOfSamples: (samplesNumber: number) => (samplesNumber ? `${samplesNumber} Generated` : ''),\n exportCsv: 'Export To CSV',\n generateMore: 'Generate More',\n downloadedFileName: 'generated.csv'\n }\n};\n","import React, { useEffect, useState } from 'react';\n\nimport { ClearRounded } from '@mui/icons-material';\n\nimport { StyledButton, StyledInput, StyledLoader, StyledText } from '@/components/lib';\nimport { NoDataAvailable } from '@/components/shared/NoDataAvailable/NoDataAvailable';\nimport {\n ViewSamplesTableRow,\n ViewSamplesContainer,\n ViewSamplesTableContainer,\n DialogFlexRowGapContainer,\n ViewSamplesLoaderContainer,\n ViewSamplesButtonsContainer\n} from '../../SamplesGeneration.styes';\n\nimport { getAppStorage } from '@/helpers/utils/localStorage';\nimport { downloadServerFile } from '@/helpers/utils/downloadFile';\nimport {\n generateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePost,\n downloadSelectedGeneratedSamplesApiV1GoldensetGeneratorTaskTaskIdDownloadPost\n} from '@/helpers/services/api';\n\nimport { constants } from '../../samplesGeneration.constants';\n\ninterface ViewSamplesProps {\n taskId: string;\n guidelines: string;\n description?: string;\n}\n\nexport const ViewSamples = ({ taskId, guidelines, description }: ViewSamplesProps) => {\n const [table, setTable] = useState<{ id: number; sample: string }[]>([]);\n const [loading, setLoading] = useState(false);\n const [idsToExclude, setIdsToExclude] = useState([]);\n const [isDownloadLoading, setDownloadIsLoading] = useState(false);\n\n const filteredTable = table[0] ? table?.filter(sample => !idsToExclude.includes(sample?.id)) : [];\n\n const { appId, type } = getAppStorage();\n\n const handleDeleteSample = (sampleId: number) => setIdsToExclude([...idsToExclude, sampleId]);\n\n const handleCsvExport = async () => {\n setDownloadIsLoading(true);\n\n const samplesIds = filteredTable?.map(sample => sample?.id);\n\n await downloadSelectedGeneratedSamplesApiV1GoldensetGeneratorTaskTaskIdDownloadPost(taskId, samplesIds).then(res =>\n downloadServerFile(res, constants.viewSamples.downloadedFileName)\n );\n\n setDownloadIsLoading(false);\n };\n\n const handleGenerate = async () => {\n setLoading(true);\n\n const res = await generateSamplesApiV1GoldensetGeneratorTaskTaskIdGeneratePost(\n taskId,\n {\n guidelines: guidelines,\n description: description\n },\n { application_id: appId, env_type: type }\n );\n\n if (res && res[0]) {\n setTable(res as { id: number; sample: string }[]);\n setLoading(false);\n } else {\n setLoading(false);\n }\n };\n\n useEffect(() => void handleGenerate(), []);\n\n return (\n \n \n \n {!filteredTable?.length && !loading ? (\n \n ) : (\n <>\n {filteredTable?.map(sample => (\n \n \n handleDeleteSample(sample?.id)} />\n \n ))}\n {loading && !filteredTable?.length && (\n \n \n \n )}\n \n )}\n \n \n \n \n \n \n \n \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: \"M17 7h-4v2h4c1.65 0 3 1.35 3 3s-1.35 3-3 3h-4v2h4c2.76 0 5-2.24 5-5s-2.24-5-5-5m-6 8H7c-1.65 0-3-1.35-3-3s1.35-3 3-3h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4zm-3-4h8v2H8z\"\n}), 'LinkOutlined');","\"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: \"M17 7h-3c-.55 0-1 .45-1 1s.45 1 1 1h3c1.65 0 3 1.35 3 3s-1.35 3-3 3h-3c-.55 0-1 .45-1 1s.45 1 1 1h3c2.76 0 5-2.24 5-5s-2.24-5-5-5m-9 5c0 .55.45 1 1 1h6c.55 0 1-.45 1-1s-.45-1-1-1H9c-.55 0-1 .45-1 1m2 3H7c-1.65 0-3-1.35-3-3s1.35-3 3-3h3c.55 0 1-.45 1-1s-.45-1-1-1H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h3c.55 0 1-.45 1-1s-.45-1-1-1\"\n}), 'LinkRounded');","import React from 'react';\n\nimport { ClearRounded, InsertDriveFileOutlined, LinkRounded } from '@mui/icons-material';\nimport { CircularProgress, useTheme } from '@mui/material';\n\nimport { StyledToolTip } from '@/components/lib';\nimport { DataContextItemContainer, DataContextItemText } from '../../../SamplesGeneration.styes';\n\nexport interface DataContextItemProps {\n handleDeleteClick: (id: string) => void;\n context: {\n src?: File;\n id: number | string;\n type: string;\n status: string;\n };\n}\n\nexport const DataContextItem = ({ context, handleDeleteClick }: DataContextItemProps) => {\n const theme = useTheme();\n\n const color = () => {\n switch (context.status) {\n case 'failed':\n return theme.palette.error.main;\n case 'success':\n return theme.palette.success.main;\n default:\n return theme.palette.grey[400];\n }\n };\n\n return (\n \n \n {context?.type === 'link' ? : }\n \n {context.status === 'load' ? (\n \n ) : context.status === 'success' ? (\n handleDeleteClick(context?.id as string)} />\n ) : (\n <>\n )}\n \n \n );\n};\n","export const validateLink = (link: string): boolean => {\n const linkPattern = /^(https?|ftp):\\/\\/[^\\s/$.?#].[^\\s]*$/i;\n\n return linkPattern.test(link);\n};\n","export const sxStyles = { padding: '4px', minWidth: '28px' };\n","import React, { useState } from 'react';\n\nimport { Button } from '@mui/material';\nimport { InsertDriveFileOutlined, LinkOutlined } from '@mui/icons-material';\n\nimport { DataContextItem } from './DataContextItem/DataContextItem';\nimport { StyledButton, StyledInput, StyledText } from '@/components/lib';\nimport {\n SamplesGenerationDialogContentContainer,\n DialogButtonsContainer,\n GenerateSamplesSubmitBtn\n} from '../../SamplesGeneration.styes';\n\nimport {\n addSourceApiV1GoldensetGeneratorTaskTaskIdDataSourcePost,\n deleteSourceApiV1GoldensetGeneratorTaskTaskIdDataSourceSourceIdDelete\n} from '@/helpers/services/api';\nimport { validateLink } from '@/helpers/utils/validateLink';\n\nimport { sxStyles } from './GenerateSamples.styles';\n\nimport { constants } from '../../samplesGeneration.constants';\n\ninterface GenerateSamplesProps {\n taskId: string;\n payload: { description: string; guidelines: string };\n setPayload: (payload: { description: string; guidelines: string }) => void;\n handleChangeView: () => void;\n}\ninterface GenerateSamplesDataContext {\n src?: File;\n id: number | string;\n type: string;\n status: string;\n}\n\nexport const GenerateSamples = ({ taskId, payload, setPayload, handleChangeView }: GenerateSamplesProps) => {\n const [linkInput, setLinkInput] = useState({ show: false, input: '' });\n const [dataContext, setDataContext] = useState([]);\n const [failedDataContext, setFailedDataContext] = useState([]);\n\n const checkStatus = () => {\n for (let i = 0; i < dataContext.length; i++) {\n if (dataContext[i].status === 'load') {\n return true;\n }\n }\n return false;\n };\n\n const handlePayloadChange = (field: string, value: string) => setPayload({ ...payload, [field]: value });\n\n const handleAddDataContext = async (src: File | undefined, link?: boolean) => {\n const newId = dataContext.length + 1;\n const srcPayload = link ? { url_to_crawl: src?.name } : { file: src };\n\n setDataContext([...dataContext, { src: src, id: newId, type: link ? 'link' : 'file', status: 'load' }]);\n\n const addContext = (status: 'success' | 'failed') => {\n setDataContext(prevDataContext => {\n const updatedDataContext = prevDataContext.map(context => {\n if (context.id === newId) {\n return { ...context, status: status };\n } else {\n return context;\n }\n });\n\n return updatedDataContext;\n });\n };\n\n const handleFailedSrc = () => {\n setDataContext(dataContext.filter(context => context?.id !== newId));\n setFailedDataContext([\n ...failedDataContext,\n { src: src, id: newId, type: link ? 'link' : 'file', status: 'failed' }\n ]);\n };\n\n const res = await addSourceApiV1GoldensetGeneratorTaskTaskIdDataSourcePost(taskId, srcPayload);\n\n Array.isArray(res?.data_context) && res?.data_context?.[1] ? addContext('success') : handleFailedSrc();\n };\n\n const handleDeleteClick = (id: string) => {\n deleteSourceApiV1GoldensetGeneratorTaskTaskIdDataSourceSourceIdDelete(taskId, id).then(() =>\n setDataContext(dataContext.filter(context => context?.id !== id))\n );\n };\n\n const disabledSubmitButton = !payload.description || !payload.guidelines || checkStatus();\n const disabledAddLink =\n !!dataContext?.filter(c => linkInput?.input === c?.src?.name)[0] ||\n !linkInput?.input ||\n !!failedDataContext?.filter(c => linkInput?.input === c?.src?.name)[0] ||\n !validateLink(linkInput?.input);\n\n return (\n \n \n handlePayloadChange('guidelines', e.target.value)}\n placeholder={constants.inputs.guideline.placeholder}\n rows={4}\n multiline\n />\n handlePayloadChange('description', e.target.value)}\n placeholder={constants.inputs.description.placeholder}\n rows={4}\n multiline\n />\n \n \n \n \n \n {linkInput.show && (\n setLinkInput({ show: true, input: e.target.value })}\n fullWidth\n endAdornment={\n handleAddDataContext({ name: linkInput.input } as File, true)}\n sx={sxStyles}\n disabled={disabledAddLink}\n />\n }\n />\n )}\n {dataContext.map((context, i) => (\n handleDeleteClick(context?.id as string)} />\n ))}\n {failedDataContext.map((context, i) => (\n handleDeleteClick(context?.id as string)} />\n ))}\n \n \n );\n};\n","import React, { useEffect, useState } from 'react';\n\nimport { ClearRounded } from '@mui/icons-material';\n\nimport { StyledDialogBase, StyledText } from '@/components/lib';\nimport { ViewSamples } from './ViewSamples/ViewSamples';\nimport { GenerateSamples } from './GenerateSamples/GenerateSamples';\n\nimport { SamplesGenerationHeaderContainer } from '../SamplesGeneration.styes';\n\nimport { getStorageItem, removeStorageItem, setStorageItem, storageKeys } from '@/helpers/utils/localStorage';\nimport {\n destroyAllApiV1GoldensetGeneratorTaskTaskIdDestroyPost,\n createQuestionGenTaskForAppApiV1ApplicationsAppIdGoldensetGeneratorTaskPost\n} from '@/helpers/services/api';\n\nimport { constants } from '../samplesGeneration.constants';\n\ninterface GenerateSamplesDialogProps {\n open: boolean;\n appId: number;\n closeDialog: () => void;\n}\n\nexport const SamplesGenerationDialog = (props: GenerateSamplesDialogProps) => {\n const { open, appId, closeDialog } = props;\n\n const [taskId, setTaskId] = useState('');\n const [isViewSamples, setIsViewSamples] = useState(false);\n const [payload, setPayload] = useState({ description: '', guidelines: '' });\n\n const handleChangeView = () => setIsViewSamples(!isViewSamples);\n\n const handleClose = () => {\n destroyAllApiV1GoldensetGeneratorTaskTaskIdDestroyPost(taskId);\n removeStorageItem(storageKeys.generationTask);\n closeDialog();\n\n setTimeout(() => {\n setTaskId('');\n setIsViewSamples(false);\n setPayload({ description: '', guidelines: '' });\n }, 300);\n };\n\n useEffect(() => {\n const currentGenerationTask = getStorageItem(storageKeys.generationTask);\n\n if (currentGenerationTask) {\n handleClose();\n }\n }, []);\n\n useEffect(() => {\n if (open) {\n createQuestionGenTaskForAppApiV1ApplicationsAppIdGoldensetGeneratorTaskPost(appId).then(res => {\n setTaskId(`${res?.id}`);\n setStorageItem(storageKeys.generationTask, res?.id);\n });\n }\n }, [open]);\n\n return (\n \n \n \n \n \n {isViewSamples ? (\n \n ) : (\n \n )}\n \n );\n};\n","import { styled } from '@mui/material';\nimport { Close } from '@mui/icons-material';\n\nimport { StyledButton, StyledContainer, StyledText } from '@/components/lib';\n\nexport const StyledPromptsContainer = styled(StyledContainer)<{ is_prompts_loading: string }>(\n ({ is_prompts_loading }) => ({\n padding: 0,\n paddingTop: '8px',\n height: '420px',\n overflow: 'auto',\n borderRadius: 0,\n gap: '8px',\n width: is_prompts_loading === 'true' ? '765px' : '100%',\n\n ':after': {\n content: '\"\"',\n position: 'absolute',\n left: '0px',\n right: '0px',\n height: '10%',\n bottom: '110px',\n background:\n 'linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.0086472) 6.67%, rgba(255, 255, 255, 0.03551) 13.33%, rgba(255, 255, 255, 0.0816599) 20%, rgba(255, 255, 255, 0.147411) 26.67%, rgba(255, 255, 255, 0.231775) 33.33%, rgba(255, 255, 255, 0.331884) 40%, rgba(255, 255, 255, 0.442691) 46.67%, rgba(255, 255, 255, 0.557309) 53.33%, rgba(255, 255, 255, 0.668116) 60%, rgba(255, 255, 255, 0.768225) 66.67%, rgba(255, 255, 255, 0.852589) 73.33%, rgba(255, 255, 255, 0.91834) 80%, rgba(255, 255, 255, 0.96449) 86.67%, rgba(255, 255, 255, 0.991353) 93.33%, #FFFFFF 100%)'\n }\n })\n);\n\nexport const StyledPromptsFooter = styled(StyledContainer)({\n alignItems: 'center',\n flexDirection: 'row',\n padding: 0,\n marginTop: '16px'\n});\n\nexport const StyledPromptsListItem = styled(StyledContainer)(({ theme }) => ({\n alignItems: 'center',\n flexDirection: 'row',\n width: '100%',\n justifyContent: 'space-between',\n background: theme.palette.grey[100],\n height: '56px',\n borderRadius: '8px',\n paddingLeft: '24px',\n paddingRight: '19px'\n}));\n\nexport const StyledPromptsFooterTextContainer = styled(StyledContainer)({\n alignItems: 'flex-end',\n flexDirection: 'row',\n gap: '4px'\n});\n\nexport const StyledPromptsListItemRightContainer = styled(StyledContainer)({\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'flex-end',\n gap: '16px',\n width: '229px',\n marginLeft: 'auto',\n padding: 0\n});\n\nexport const StyledDownloadButton = styled(StyledButton)({\n marginLeft: 'auto',\n height: '42px',\n width: '242px'\n});\n\nexport const StyledFooterText = styled(StyledText)(({ theme }) => ({\n lineHeight: '20px',\n color: theme.palette.grey[300]\n}));\n\nexport const StyledInText = styled(StyledText)(({ theme }) => ({\n lineHeight: '20px',\n color: theme.palette.grey[500],\n margin: '0 4px'\n}));\n\nexport const StyledInputText = styled(StyledText)(({ theme }) => ({\n color: theme.palette.grey[600],\n maxWidth: '490px',\n WebkitLineClamp: '2',\n WebkitBoxOrient: 'vertical',\n display: '-webkit-box',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n}));\n\nexport const StyledCategoryText = styled(StyledText)(({ theme }) => ({\n color: theme.palette.common.white,\n maxWidth: '190px',\n padding: '5px 8px',\n background: theme.palette.grey[400],\n borderRadius: '40px'\n}));\n\nexport const StyledCloseIcon = styled(Close)(({ theme }) => ({\n color: theme.palette.grey[400],\n cursor: 'pointer'\n}));\n","import React, { useEffect, useState } from 'react';\n\nimport { StyledLoader, StyledText } from '@/components/lib';\n\nimport { SamplesGenerationContentContainer } from '../../SamplesGeneration.styes';\nimport {\n StyledPromptsContainer,\n StyledDownloadButton,\n StyledPromptsFooter,\n StyledPromptsFooterTextContainer,\n StyledFooterText,\n StyledPromptsListItem,\n StyledInputText,\n StyledCategoryText,\n StyledPromptsListItemRightContainer,\n StyledInText\n} from './PromptsList.styes';\n\nimport { downloadServerFile } from '@/helpers/utils/downloadFile';\nimport {\n PentestData,\n getPentestPromptsApiV1PentestPromptsGet,\n getPentestPromptsPerCategoryApiV1PentestInputsPerCategoryGet\n} from '@/helpers/services/api';\n\nimport { constants } from '../../samplesGeneration.constants';\n\ninterface PromptsListProps {\n selectedCategories: string[];\n appId: number;\n}\n\nconst { downloadCSVBtnLabel, promptsText, inText, categoriesText } = constants;\n\nexport const PromptsList = ({ selectedCategories, appId }: PromptsListProps) => {\n const [selectedPromptsList, setSelectedPromptsList] = useState([]);\n const [selectedPromptsCount, setSelectedPromptsCount] = useState(0);\n const [isLoading, setIsLoading] = useState(false);\n const [isPromptsLoading, setIsPromptsLoading] = useState(false);\n\n const handleDownload = async () => {\n setIsLoading(true);\n\n const rightVulnTypeList = Array?.isArray(selectedPromptsList)\n ? selectedPromptsList.reduce((acc, el) => {\n if (acc.includes(el.vuln_type)) {\n return acc;\n }\n\n return [...acc, el.vuln_type];\n }, [] as string[])\n : [];\n\n await getPentestPromptsApiV1PentestPromptsGet({\n app_id: appId,\n probes: rightVulnTypeList\n })\n .then(res => downloadServerFile(res, 'Prompts'))\n .finally(() => setIsLoading(false));\n };\n\n useEffect(() => {\n setIsPromptsLoading(true);\n getPentestPromptsPerCategoryApiV1PentestInputsPerCategoryGet({\n app_id: appId,\n categories: selectedCategories\n })\n .then(res => {\n setSelectedPromptsList(res.pentest_data);\n setSelectedPromptsCount(res.count);\n })\n .finally(() => setIsPromptsLoading(false));\n }, []);\n\n return (\n \n \n {isPromptsLoading ? (\n \n ) : (\n selectedPromptsList.map(el => (\n \n \n \n \n \n \n ))\n )}\n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","import { styled } from '@mui/material';\n\nimport { StyledButton, StyledContainer } from '@/components/lib';\n\nexport const StyledCategoriesContainer = styled(StyledContainer)({\n padding: 0,\n paddingTop: '16px',\n gap: '24px'\n});\n\nexport const StyledCategoriesSearchContainer = styled(StyledContainer)({\n width: '100%',\n justifyContent: 'space-between',\n flexDirection: 'row',\n alignItems: 'center',\n padding: 0,\n gap: '32px'\n});\n\nexport const StyledCategoriesButtonsContainer = styled(StyledContainer)({\n alignItems: 'center',\n flexDirection: 'row',\n gap: '8px',\n width: 'auto',\n padding: 0\n});\n\nexport const StyledNextButton = styled(StyledButton)({\n margin: '24px auto 0',\n height: '42px',\n width: '138px'\n});\n\nexport const StyledCategoriesListContainer = styled(StyledContainer)({\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fill, minmax(180px, 180px))',\n gridTemplateRows: 'repeat(auto-fill, minmax(56px, 56px))',\n gap: '8px',\n padding: '0',\n height: '350px',\n overflow: 'auto',\n borderRadius: 0\n});\n\nexport const StyledCategoriesListItem = styled(StyledContainer)<{ selected: boolean }>(({ theme, selected }) => ({\n flexDirection: 'row',\n height: '56px',\n maxWidth: '180px',\n padding: '13px 12px',\n alignItems: 'center',\n cursor: 'pointer',\n transition: '0.5s',\n borderRadius: '8px',\n backgroundColor: selected ? theme.palette.primary.light : 'transparent',\n border: `2px solid ${selected ? theme.palette.primary.main : theme.palette.grey[500]}`,\n\n '.MuiTypography-root': {\n color: selected ? theme.palette.primary.main : theme.palette.grey[500],\n WebkitLineClamp: '2',\n WebkitBoxOrient: 'vertical',\n display: '-webkit-box',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n },\n\n ':hover': {\n borderColor: theme.palette.primary.main,\n backgroundColor: theme.palette.primary.light\n },\n\n ':hover p': {\n color: theme.palette.primary.main\n }\n}));\n\nexport const sxStyles = { flex: 2 };\n","import React, { useState } from 'react';\n\nimport { OpenInNewRounded } from '@mui/icons-material';\n\nimport { StyledButton, StyledInput, StyledText } from '@/components/lib';\n\nimport {\n SamplesGenerationContentContainer,\n StyledDescriptionText,\n StyledLinkContainer\n} from '../../SamplesGeneration.styes';\nimport {\n StyledCategoriesButtonsContainer,\n StyledCategoriesContainer,\n StyledCategoriesListContainer,\n StyledCategoriesListItem,\n StyledCategoriesSearchContainer,\n StyledNextButton,\n sxStyles\n} from './CategoriesList.styes';\n\nimport { constants } from '../../samplesGeneration.constants';\n\ninterface CategoriesListProps {\n handleChangeView: () => void;\n selectedCategories: string[];\n setSelectedCategories: React.Dispatch>;\n initialCategoriesList: string[];\n}\n\nconst {\n generatePentestDescription,\n readMoreBtnLabel,\n selectCategories,\n searchCategories,\n selectAll,\n deselectAll,\n nextBtnLabel\n} = constants;\n\nexport const CategoriesList = (props: CategoriesListProps) => {\n const { handleChangeView, selectedCategories, setSelectedCategories, initialCategoriesList } = props;\n const [searchFieldValue, setSearchFieldValue] = useState('');\n\n const handleSearchFieldChange = (event: React.ChangeEvent) => {\n setSearchFieldValue(event.target.value);\n setSelectedCategories([...selectedCategories]);\n };\n\n const resetSearchField = () => setSearchFieldValue('');\n\n const handleGoToDocumentation = () =>\n window.open('https://llmdocs.deepchecks.com/docs/pentesting-your-llm-pipeline', '_blank');\n\n const curInitialCategoriesList = searchFieldValue.length\n ? initialCategoriesList.filter(el => el.toLowerCase().includes(searchFieldValue.toLowerCase()))\n : initialCategoriesList;\n\n const handleSelectAll = () => setSelectedCategories(initialCategoriesList);\n\n const handleDeselectAll = () => setSelectedCategories([]);\n\n const handleItemClick = (item: string) => {\n if (selectedCategories.includes(item)) {\n const filteredSelectedCategories = selectedCategories.filter(el => el !== item);\n setSelectedCategories(filteredSelectedCategories);\n } else {\n setSelectedCategories([...selectedCategories, item]);\n }\n };\n\n return (\n \n \n {generatePentestDescription}\n \n {readMoreBtnLabel}\n \n \n \n }\n component=\"span\"\n type=\"tiny\"\n />\n \n \n \n \n \n \n \n \n \n \n {curInitialCategoriesList.map(el => (\n \n \n \n ))}\n \n \n \n \n );\n};\n","import React, { useEffect, useState } from 'react';\n\nimport { ClearRounded } from '@mui/icons-material';\n\nimport { PromptsList } from './PromptsList/PromptsList';\nimport { CategoriesList } from './CategoriesList/CategoriesList';\n\nimport { StyledDialogBase, StyledText } from '@/components/lib';\nimport { SamplesGenerationHeaderContainer } from '../SamplesGeneration.styes';\n\nimport { getPentestCategoriesApiV1PentestCategoriesGet } from '@/helpers/services/api';\n\nimport { constants } from '../samplesGeneration.constants';\n\ninterface SamplesGenerationPentestDialogProps {\n open: boolean;\n appId: number;\n closeDialog: () => void;\n}\n\nexport const SamplesGenerationPentestDialog = (props: SamplesGenerationPentestDialogProps) => {\n const { open, appId, closeDialog } = props;\n\n const [isViewPrompts, setIsViewPrompts] = useState(false);\n const [selectedCategories, setSelectedCategories] = useState([]);\n const [initialCategoriesList, setInitialCategoriesList] = useState([]);\n\n const handleChangeView = () => setIsViewPrompts(!isViewPrompts);\n\n const handleClose = () => {\n closeDialog();\n\n setTimeout(() => {\n setIsViewPrompts(false);\n setSelectedCategories([]);\n setInitialCategoriesList([]);\n }, 300);\n };\n\n useEffect(() => {\n if (open) {\n getPentestCategoriesApiV1PentestCategoriesGet().then(res => setInitialCategoriesList(res));\n }\n }, [open]);\n\n return (\n \n \n \n \n \n {isViewPrompts ? (\n \n ) : (\n \n )}\n \n );\n};\n","import React, { useEffect, useState } from 'react';\n\nimport { useRouter } from 'next/router';\n\nimport { AddRounded } from '@mui/icons-material';\n\nimport { SamplesGenerationDialog } from './SamplesGenerationDialog/SamplesGeneration';\nimport { SamplesGenerationPentestDialog } from './SamplesGenerationPentestDialog/SamplesGenerationPentestDialog';\n\nimport { StyledText } from '@/components/lib';\nimport {\n SamplesGenerationNavButton,\n StyledList,\n StyledListItem,\n StyledListItemButton,\n StyledPopover\n} from './SamplesGeneration.styes';\n\nimport { listApps } from '@/helpers/services/api';\nimport { isHadron } from '@/helpers/utils/isHadron';\nimport { getAppStorage } from '@/helpers/utils/localStorage';\n\nimport { constants } from './samplesGeneration.constants';\n\ninterface SamplesGenerationProps {\n iconsOnly?: boolean;\n isPentestActive: boolean;\n}\n\nconst { buttonLabel, generatePentestData, generateEvaluationData } = constants;\n\nexport const SamplesGeneration = ({ iconsOnly, isPentestActive }: SamplesGenerationProps) => {\n const { appId } = getAppStorage();\n\n const [curAppId, setCurAppId] = useState(appId);\n const [isDialogOpen, setIsDialogOpen] = useState(false);\n const [anchorEl, setAnchorEl] = useState(null);\n const [isPentestDialogOpen, setIsPentestDialogOpen] = useState(false);\n\n const { query } = useRouter();\n\n const open = Boolean(anchorEl);\n const isNewAppCreated = query?.newAppCreated;\n\n const handleOpenDialog = (event: React.MouseEvent) => {\n if (isPentestActive) {\n setAnchorEl(event.currentTarget);\n } else {\n setIsDialogOpen(true);\n }\n };\n\n const handleClose = () => setAnchorEl(null);\n\n const handleGenerationOpen = (isPentest: boolean) => {\n handleClose();\n if (isPentest) {\n setIsPentestDialogOpen(true);\n } else {\n setIsDialogOpen(true);\n }\n };\n\n useEffect(() => {\n if (isNewAppCreated) {\n listApps().then(apps => Array.isArray(apps) && setCurAppId(apps[0].id));\n }\n }, [isNewAppCreated]);\n\n if (isHadron()) {\n return <>;\n }\n\n return (\n <>\n }\n label={iconsOnly ? : buttonLabel}\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setIsDialogOpen(false)}\n />\n setIsPentestDialogOpen(false)}\n />\n \n );\n};\n","export default {\"src\":\"/_next/static/media/logo.42a84ee0.svg\",\"height\":143,\"width\":653,\"blurWidth\":0,\"blurHeight\":0};","export default {\"src\":\"/_next/static/media/darkLogo.0bd96190.svg\",\"height\":143,\"width\":651,\"blurWidth\":0,\"blurHeight\":0};","\"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 8h4V4H4zm6 12h4v-4h-4zm-6 0h4v-4H4zm0-6h4v-4H4zm6 0h4v-4h-4zm6-10v4h4V4zm-6 4h4V4h-4zm6 6h4v-4h-4zm0 6h4v-4h-4z\"\n}), 'AppsRounded');","\"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 9c1.65 0 3 1.35 3 3s-1.35 3-3 3-3-1.35-3-3 1.35-3 3-3m0-2c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5M2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1m18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1M11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1m0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1M5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41zm1.06-10.96c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0zM7.05 18.36c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0z\"\n}), 'LightModeOutlined');","\"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.37 5.51c-.18.64-.27 1.31-.27 1.99 0 4.08 3.32 7.4 7.4 7.4.68 0 1.35-.09 1.99-.27C17.45 17.19 14.93 19 12 19c-3.86 0-7-3.14-7-7 0-2.93 1.81-5.45 4.37-6.49M12 3c-4.97 0-9 4.03-9 9s4.03 9 9 9 9-4.03 9-9c0-.46-.04-.92-.1-1.36-.98 1.37-2.58 2.26-4.4 2.26-2.98 0-5.4-2.42-5.4-5.4 0-1.81.89-3.42 2.26-4.4-.44-.06-.9-.1-1.36-.1\"\n}), 'DarkModeOutlined');","\"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: \"M8 16h8v2H8zm0-4h8v2H8zm6-10H6c-1.1 0-2 .9-2 2v16c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm4 18H6V4h7v5h5z\"\n}), 'DescriptionOutlined');","\"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: \"M21 10h-8.35C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H13l2 2 2-2 2 2 4-4.04zM7 15c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3\"\n}), 'KeyOutlined');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\"\n}), 'Person');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAvatarUtilityClass(slot) {\n return generateUtilityClass('MuiAvatar', slot);\n}\nconst avatarClasses = generateUtilityClasses('MuiAvatar', ['root', 'colorDefault', 'circular', 'rounded', 'square', 'img', 'fallback']);\nexport default avatarClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport Person from \"../internal/svg-icons/Person.js\";\nimport { getAvatarUtilityClass } from \"./avatarClasses.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n colorDefault\n } = ownerState;\n const slots = {\n root: ['root', variant, colorDefault && 'colorDefault'],\n img: ['img'],\n fallback: ['fallback']\n };\n return composeClasses(slots, getAvatarUtilityClass, classes);\n};\nconst AvatarRoot = styled('div', {\n name: 'MuiAvatar',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], ownerState.colorDefault && styles.colorDefault];\n }\n})(memoTheme(({\n theme\n}) => ({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n width: 40,\n height: 40,\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.pxToRem(20),\n lineHeight: 1,\n borderRadius: '50%',\n overflow: 'hidden',\n userSelect: 'none',\n variants: [{\n props: {\n variant: 'rounded'\n },\n style: {\n borderRadius: (theme.vars || theme).shape.borderRadius\n }\n }, {\n props: {\n variant: 'square'\n },\n style: {\n borderRadius: 0\n }\n }, {\n props: {\n colorDefault: true\n },\n style: {\n color: (theme.vars || theme).palette.background.default,\n ...(theme.vars ? {\n backgroundColor: theme.vars.palette.Avatar.defaultBg\n } : {\n backgroundColor: theme.palette.grey[400],\n ...theme.applyStyles('dark', {\n backgroundColor: theme.palette.grey[600]\n })\n })\n }\n }]\n})));\nconst AvatarImg = styled('img', {\n name: 'MuiAvatar',\n slot: 'Img',\n overridesResolver: (props, styles) => styles.img\n})({\n width: '100%',\n height: '100%',\n textAlign: 'center',\n // Handle non-square image.\n objectFit: 'cover',\n // Hide alt text.\n color: 'transparent',\n // Hide the image broken icon, only works on Chrome.\n textIndent: 10000\n});\nconst AvatarFallback = styled(Person, {\n name: 'MuiAvatar',\n slot: 'Fallback',\n overridesResolver: (props, styles) => styles.fallback\n})({\n width: '75%',\n height: '75%'\n});\nfunction useLoaded({\n crossOrigin,\n referrerPolicy,\n src,\n srcSet\n}) {\n const [loaded, setLoaded] = React.useState(false);\n React.useEffect(() => {\n if (!src && !srcSet) {\n return undefined;\n }\n setLoaded(false);\n let active = true;\n const image = new Image();\n image.onload = () => {\n if (!active) {\n return;\n }\n setLoaded('loaded');\n };\n image.onerror = () => {\n if (!active) {\n return;\n }\n setLoaded('error');\n };\n image.crossOrigin = crossOrigin;\n image.referrerPolicy = referrerPolicy;\n image.src = src;\n if (srcSet) {\n image.srcset = srcSet;\n }\n return () => {\n active = false;\n };\n }, [crossOrigin, referrerPolicy, src, srcSet]);\n return loaded;\n}\nconst Avatar = /*#__PURE__*/React.forwardRef(function Avatar(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiAvatar'\n });\n const {\n alt,\n children: childrenProp,\n className,\n component = 'div',\n slots = {},\n slotProps = {},\n imgProps,\n sizes,\n src,\n srcSet,\n variant = 'circular',\n ...other\n } = props;\n let children = null;\n const ownerState = {\n ...props,\n component,\n variant\n };\n\n // Use a hook instead of onError on the img element to support server-side rendering.\n const loaded = useLoaded({\n ...imgProps,\n ...(typeof slotProps.img === 'function' ? slotProps.img(ownerState) : slotProps.img),\n src,\n srcSet\n });\n const hasImg = src || srcSet;\n const hasImgNotFailing = hasImg && loaded !== 'error';\n ownerState.colorDefault = !hasImgNotFailing;\n // This issue explains why this is required: https://github.com/mui/material-ui/issues/42184\n delete ownerState.ownerState;\n const classes = useUtilityClasses(ownerState);\n const [ImgSlot, imgSlotProps] = useSlot('img', {\n className: classes.img,\n elementType: AvatarImg,\n externalForwardedProps: {\n slots,\n slotProps: {\n img: {\n ...imgProps,\n ...slotProps.img\n }\n }\n },\n additionalProps: {\n alt,\n src,\n srcSet,\n sizes\n },\n ownerState\n });\n if (hasImgNotFailing) {\n children = /*#__PURE__*/_jsx(ImgSlot, {\n ...imgSlotProps\n });\n // We only render valid children, non valid children are rendered with a fallback\n // We consider that invalid children are all falsy values, except 0, which is valid.\n } else if (!!childrenProp || childrenProp === 0) {\n children = childrenProp;\n } else if (hasImg && alt) {\n children = alt[0];\n } else {\n children = /*#__PURE__*/_jsx(AvatarFallback, {\n ownerState: ownerState,\n className: classes.fallback\n });\n }\n return /*#__PURE__*/_jsx(AvatarRoot, {\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n ...other,\n ownerState: ownerState,\n children: children\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Avatar.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 * Used in combination with `src` or `srcSet` to\n * provide an alt attribute for the rendered `img` element.\n */\n alt: PropTypes.string,\n /**\n * Used to render icon or text elements inside the Avatar if `src` is not set.\n * This can be an element, or just a string.\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 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 * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attributes) applied to the `img` element if the component is used to display an image.\n * It can be used to listen for the loading error event.\n * @deprecated Use `slotProps.img` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n imgProps: PropTypes.object,\n /**\n * The `sizes` attribute for the `img` element.\n */\n sizes: PropTypes.string,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n img: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n img: PropTypes.elementType\n }),\n /**\n * The `src` attribute for the `img` element.\n */\n src: PropTypes.string,\n /**\n * The `srcSet` attribute for the `img` element.\n * Use this attribute for responsive image display.\n */\n srcSet: 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 * The shape of the avatar.\n * @default 'circular'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['circular', 'rounded', 'square']), PropTypes.string])\n} : void 0;\nexport default Avatar;","import React from 'react';\n\nimport { styled, alpha, Avatar, Box, Divider, Stack, PopoverProps, Popover } from '@mui/material';\n\nimport { StyledContainer, StyledText } from '@/components/lib';\n\nexport const UserInfoContainer = styled(Box)(() => ({\n margin: '-8px 4px'\n}));\n\nexport const UserInfoAvatar = styled(Avatar)(({ theme }) => ({\n width: '36px',\n height: '36px',\n border: `2px solid ${alpha(theme.palette.common.white, 0.2)}`\n}));\n\nexport const UserInfoAvatarContainer = styled(Box)(() => ({\n display: 'flex',\n flexDirection: 'row',\n cursor: 'pointer',\n alignItems: 'center',\n gap: '8px',\n margin: '16px 0'\n}));\n\nexport const UserInfoText = styled(StyledText)(() => ({\n width: '160px',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n}));\n\nexport const CompleteDetailsDialogContainer = styled(StyledContainer)(() => ({\n padding: '16px',\n justifyContent: 'center',\n gap: '36px',\n\n '.MuiButtonBase-root': {\n width: '200px',\n margin: '0 auto'\n }\n}));\n\nexport const UserInfoMenuContainer = styled((props: PopoverProps) => (\n \n))(({ theme }) => ({\n '.MuiPaper-root': {\n background: theme.palette.grey[200],\n border: `2px solid ${theme.palette.grey[300]}`\n },\n\n a: { textDecoration: 'none' }\n}));\n\nexport const UserInfoMenuDivider = styled(Divider)(({ theme }) => ({\n width: '100%',\n margin: '16px 0',\n height: '2px',\n background: theme.palette.grey[300]\n}));\n\nexport const UserInfoMenuClickableContainer = styled(Stack)(({ theme }) => ({\n flexDirection: 'row',\n alignItems: 'center',\n gap: '8px',\n padding: '8px 0',\n height: '45px',\n cursor: 'pointer',\n\n '.MuiSvgIcon-root': { fill: theme.palette.grey[400] },\n\n '&:hover': {\n '.MuiTypography-root': { color: theme.palette.primary.main },\n '.MuiSvgIcon-root': { fill: theme.palette.primary.main }\n }\n}));\n\nexport const UserInfoMenuLogout = styled(StyledText)(({ theme }) => ({\n cursor: 'pointer',\n color: theme.palette.grey[600]\n}));\n\nexport const UserInfoMenuHeaderContainer = styled(Stack)({\n gap: '8px',\n flexDirection: 'row',\n alignItems: 'center',\n\n '.MuiTypography-root': { whiteSpace: 'nowrap', width: '150px' }\n});\n","import React from 'react';\n\nimport { Stack } from '@mui/material';\nimport {\n AppsRounded,\n DarkModeOutlined,\n DescriptionOutlined,\n KeyOutlined,\n LightModeOutlined,\n OpenInNewRounded,\n SettingsOutlined\n} from '@mui/icons-material';\n\nimport { StyledText } from '@/components/lib';\n\nimport { routes } from '@/helpers/routes';\nimport { UserSchema } from '@/helpers/services/api';\n\nimport {\n UserInfoAvatar,\n UserInfoMenuClickableContainer,\n UserInfoMenuContainer,\n UserInfoMenuDivider,\n UserInfoMenuHeaderContainer,\n UserInfoMenuLogout\n} from '../UserInfo.styles';\n\nconst constants = {\n apiKey: 'API Key',\n logout: 'Log out',\n docs: 'Documentation',\n applications: 'Manage Applications',\n workspaceSettings: 'Workspace Settings',\n llmDocsLink: 'https://llmdocs.deepchecks.com/docs/getting-started-with-deepchecks',\n darkModeLabel: (darkMode: boolean) => `Switch To ${darkMode ? 'Light Mode' : 'Dark Mode'}`\n};\n\ninterface UserInfoMenuProps {\n darkMode: boolean;\n user?: UserSchema;\n anchorEl: null | HTMLElement;\n handleClose: () => void;\n handleLogout: () => void;\n handleNavigate: (route: string) => void;\n setDarkMode: (darkMode: boolean) => void;\n}\n\nconst { workspaceSettings, applications, docs, apiKey, logout, llmDocsLink, darkModeLabel } = constants;\n\nexport const UserInfoMenu = (props: UserInfoMenuProps) => {\n const { anchorEl, darkMode, user, handleNavigate, setDarkMode, handleClose, handleLogout } = props;\n\n const handleClick = (route: string) => {\n handleNavigate(route);\n handleClose();\n };\n\n const handleDarkModeChange = () => {\n setDarkMode(!darkMode);\n handleClose();\n };\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {darkMode ? : }\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","import React, { useState } from 'react';\n\nimport { UserInfoMenu } from './UserInfoMenu/UserInfoMenu';\n\nimport { UserInfoAvatar, UserInfoAvatarContainer, UserInfoContainer, UserInfoText } from './UserInfo.styles';\n\nimport { UserSchema } from '@/helpers/services/api';\nimport { resetMixpanel } from '@/helpers/services/mixPanel';\nimport { getAuthUrl, getCustomLogout } from '@/helpers/services/auth';\n\ninterface UserInfoProps {\n darkMode: boolean;\n user?: UserSchema;\n iconsOnly?: boolean;\n handleNavigate: (route: string) => void;\n setDarkMode: (darkMode: boolean) => void;\n setUser: (user: UserSchema | undefined) => void;\n}\n\nexport const UserinfoSection = (props: UserInfoProps) => {\n const { iconsOnly, darkMode, user, handleNavigate, setDarkMode, setUser } = props;\n\n const [anchorEl, setAnchorEl] = useState(null);\n\n const handleClick = (event: React.MouseEvent) => {\n event.stopPropagation();\n setAnchorEl(event.currentTarget);\n };\n\n const handleLogout = () => {\n getCustomLogout()?.then(() => {\n setUser(undefined);\n resetMixpanel();\n window?.location?.replace(getAuthUrl());\n });\n };\n\n const handleClose = () => setAnchorEl(null);\n\n return (\n \n \n \n {!iconsOnly && }\n \n \n \n );\n};\n","import { Box, styled } from '@mui/material';\n\nexport const SidebarIconLogoContainer = styled(Box)({\n width: 30,\n height: 80\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: \"M14.71 15.88 10.83 12l3.88-3.88c.39-.39.39-1.02 0-1.41a.996.996 0 0 0-1.41 0L8.71 11.3c-.39.39-.39 1.02 0 1.41l4.59 4.59c.39.39 1.02.39 1.41 0 .38-.39.39-1.03 0-1.42\"\n}), 'KeyboardArrowLeftRounded');","\"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.29 15.88 13.17 12 9.29 8.12a.996.996 0 0 1 0-1.41c.39-.39 1.02-.39 1.41 0l4.59 4.59c.39.39.39 1.02 0 1.41L10.7 17.3c-.39.39-1.02.39-1.41 0-.38-.39-.39-1.03 0-1.42\"\n}), 'KeyboardArrowRightRounded');","import { CircularProgress, Stack, styled } from '@mui/material';\nimport { KeyboardArrowLeftRounded, KeyboardArrowRightRounded } from '@mui/icons-material';\n\nimport { StyledButton, StyledContainer } from '../lib';\n\nexport const DesktopContainer = styled(StyledContainer)(() => ({\n gap: 0,\n padding: 0,\n width: '100%',\n height: '100vh',\n borderRadius: 0,\n minHeight: '700px',\n minWidth: '1200px',\n flexDirection: 'row'\n}));\n\nexport const SidebarContainer = styled(StyledContainer, {\n shouldForwardProp: prop => prop !== 'iconsOnly'\n})<{ iconsOnly?: boolean }>(({ iconsOnly }) => ({\n gap: '16px',\n height: '100%',\n borderRadius: 0,\n padding: '16px',\n minHeight: '100vh',\n transition: '0.1s',\n width: iconsOnly ? '80px' : '240px',\n textAlign: iconsOnly ? 'center' : 'left',\n alignItems: iconsOnly ? 'center' : 'left',\n\n img: { margin: iconsOnly ? '18px auto 30px' : '0 auto' }\n}));\n\nexport const SidebarCloseIcon = styled(KeyboardArrowLeftRounded)(({ theme }) => ({\n zIndex: 2,\n cursor: 'pointer',\n borderRadius: '50%',\n margin: '15px -28px -62px auto',\n fill: theme.palette.common.white,\n background: theme.palette.grey[500]\n}));\n\nexport const SidebarOpenIcon = styled(KeyboardArrowRightRounded)(({ theme }) => ({\n zIndex: 2,\n cursor: 'pointer',\n borderRadius: '50%',\n margin: '15px -28px -62px auto',\n fill: theme.palette.common.white,\n background: theme.palette.grey[500]\n}));\n\nexport const DesktopChildrenContainer = styled(StyledContainer)({\n height: '100%',\n borderRadius: 0,\n overflow: 'auto',\n padding: '0 16px',\n minHeight: '100vh',\n maxWidth: '2400px'\n});\n\nexport const SidebarButton = styled(StyledButton)({\n gap: '8px',\n height: '40px',\n minWidth: '24px',\n marginTop: 'auto'\n});\n\nexport const SidebarSeparator = styled(Stack)(({ theme }) => ({\n width: '100%',\n height: '1.5px',\n marginTop: '16px',\n background: theme.palette.grey[300]\n}));\n\nexport const LayoutLoader = styled(CircularProgress)({\n margin: '30vh auto'\n});\n","import React, { useEffect } from 'react';\n\nimport Image from 'next/image';\nimport { useRouter } from 'next/router';\n\nimport { CloudUploadOutlined } from '@mui/icons-material';\nimport { Stack, useMediaQuery, useTheme } from '@mui/material';\n\nimport { SamplesGeneration } from '@/components/shared/SamplesGeneration/SamplesGeneration';\nimport { StyledNavLink } from '@/components/lib';\n\nimport { EnvType, UserSchema, useListApps } from '@/helpers/services/api';\nimport { routes, sidebarRoutes } from '@/helpers/routes';\nimport { getUserPreferences, setStorageItem, storageKeys } from '@/helpers/utils/localStorage';\n\nimport logoImg from '@/public/assets/logo.svg';\nimport darkLogoImg from '@/public/assets/darkLogo.svg';\nimport iconLogoImg from '@/public/favicon.ico';\n\nimport { UserinfoSection } from './UserInfo/UserinfoSection';\n\nimport { SidebarIconLogoContainer } from './Sidebar.styles';\nimport {\n SidebarButton,\n SidebarContainer,\n SidebarSeparator /* SidebarOpenIcon, SidebarCloseIcon,*/\n} from '../Layout.styles';\n\nconst constants = { imgAlt: 'logo illustration', uploadSamplesLabel: 'Upload Data' };\n\ninterface SidebarProps {\n darkMode: boolean;\n iconsOnly: boolean;\n user?: UserSchema;\n setIconsOnly: React.Dispatch>;\n setDarkMode: (darkMode: boolean) => void;\n setUser: (user: UserSchema | undefined) => void;\n}\n\nexport const Sidebar = ({ user, setUser, darkMode, setDarkMode, iconsOnly, setIconsOnly }: SidebarProps) => {\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('md'));\n\n const { pathname, push } = useRouter();\n\n const { darkMode: darkModeStorage, activeEnvs } = getUserPreferences();\n const { data, isLoading } = useListApps();\n\n const isActiveRoute = (currentRoute: string) => pathname === currentRoute;\n\n const handleLinkClick = (route: string) => push(route);\n\n const handleNavigate = (route: string) => {\n if (!isLoading && !data?.length) {\n window?.location?.replace(route);\n } else {\n push(route);\n }\n };\n\n // const handleChangeBar = () => {\n // setIconsOnly(!iconsOnly);\n // setStorageItem(storageKeys?.userPreferences, {\n // lightBar: !iconsOnly,\n // darkMode: darkModeStorage,\n // activeEnvs: activeEnvs\n // });\n // };\n\n useEffect(() => {\n if (isMobile) {\n setIconsOnly(true);\n setStorageItem(storageKeys?.userPreferences, {\n lightBar: true,\n darkMode: darkModeStorage,\n activeEnvs: activeEnvs\n });\n }\n }, [isMobile]);\n\n return (\n \n {/* !isMobile &&\n (iconsOnly ? : ) */}\n {iconsOnly ? (\n \n {constants.imgAlt}\n \n ) : (\n \n )}\n {sidebarRoutes.map((route, i) => (\n \n handleLinkClick(route.route)}\n iconsOnly={iconsOnly}\n disabled={!isLoading && !data?.length}\n />\n {i === 1 ? : <>}\n \n ))}\n }\n label={iconsOnly ? : constants.uploadSamplesLabel}\n width={iconsOnly ? '24px' : 'auto'}\n onClick={() => handleNavigate(routes.onboarding)}\n />\n \n \n \n );\n};\n","import React, { useState } from 'react';\n\nimport { useRouter } from 'next/router';\n\nimport { StyledButton, StyledDialogBase, StyledInput, StyledText } from '@/components/lib';\nimport { CompleteDetailsDialogContainer } from '../Sidebar/UserInfo/UserInfo.styles';\n\nimport { getCompleteDetailsApiV1UsersCompleteDetailsGet } from '@/helpers/services/api';\n\ninterface CompleteDetailsDialogProps {\n open: boolean;\n}\n\nconst constants = {\n title: 'Complete Organization Details',\n submitButtonLabel: 'Submit',\n placeholder: 'Inset your org name...'\n};\n\nexport const CompleteDetailsDialog = ({ open }: CompleteDetailsDialogProps) => {\n const { reload } = useRouter();\n\n const [orgName, setOrgName] = useState('');\n\n const handleSubmit = async () => {\n const payload = { organization_name: orgName };\n\n await getCompleteDetailsApiV1UsersCompleteDetailsGet(payload).then(() => reload());\n };\n\n return (\n \n \n \n setOrgName(e.target.value)} placeholder={constants.placeholder} />\n \n \n \n );\n};\n","const r=()=>\"undefined\"!=typeof window,t=()=>!(!r()||!window.hj),e=(t,...e)=>{if(r()&&window.hj)return window.hj(t,...e);throw Error(\"Hotjar is not available, make sure init has been called.\")},n=(r,e,n)=>{if(!((r,t,e)=>{try{const n=document.getElementById(t)||document.createElement(\"script\");return n.id=t,n.nonce=e,n.innerText=r,n.crossOrigin=\"anonymous\",document.head.appendChild(n),!0}catch(r){return!1}})(`(function(h,o,t,j,a,r){h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};h._hjSettings={hjid:${r},hjsv:${e},hjdebug:${(null==n?void 0:n.debug)||!1}};a=o.getElementsByTagName('head')[0];r=o.createElement('script');r.async=1;r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;a.appendChild(r);})(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');`,\"hotjar-init-script\",null==n?void 0:n.nonce)||!t())throw Error(\"Failed to initialize Hotjar tracking script.\")},o={init:(r,t,e)=>{try{return n(r,t,e),!0}catch(r){return console.error(\"Error:\",r),!1}},event:r=>{try{return e(\"event\",r),!0}catch(r){return console.error(\"Error:\",r),!1}},identify:(r,t)=>{try{return e(\"identify\",r,t),!0}catch(r){return console.error(\"Error:\",r),!1}},stateChange:r=>{try{return e(\"stateChange\",r),!0}catch(r){return console.error(\"Error:\",r),!1}},isReady:t};export default o;\n//# sourceMappingURL=index.esm.js.map\n","/* eslint-disable local-rules/disallow-side-effects */\n/**\n * Keep references on console methods to avoid triggering patched behaviors\n *\n * NB: in some setup, console could already be patched by another SDK.\n * In this case, some display messages can be sent by the other SDK\n * but we should be safe from infinite loop nonetheless.\n */\nexport var ConsoleApiName = {\n log: 'log',\n debug: 'debug',\n info: 'info',\n warn: 'warn',\n error: 'error',\n};\n/**\n * When building JS bundles, some users might use a plugin[1] or configuration[2] to remove\n * \"console.*\" references. This causes some issue as we expect `console.*` to be defined.\n * As a workaround, let's use a variable alias, so those expressions won't be taken into account by\n * simple static analysis.\n *\n * [1]: https://babeljs.io/docs/babel-plugin-transform-remove-console/\n * [2]: https://github.com/terser/terser#compress-options (look for drop_console)\n */\nexport var globalConsole = console;\nexport var originalConsoleMethods = {};\nObject.keys(ConsoleApiName).forEach(function (name) {\n originalConsoleMethods[name] = globalConsole[name];\n});\nvar PREFIX = 'Datadog Browser SDK:';\nexport var display = {\n debug: originalConsoleMethods.debug.bind(globalConsole, PREFIX),\n log: originalConsoleMethods.log.bind(globalConsole, PREFIX),\n info: originalConsoleMethods.info.bind(globalConsole, PREFIX),\n warn: originalConsoleMethods.warn.bind(globalConsole, PREFIX),\n error: originalConsoleMethods.error.bind(globalConsole, PREFIX),\n};\nexport var DOCS_ORIGIN = 'https://docs.datadoghq.com';\nexport var DOCS_TROUBLESHOOTING = \"\".concat(DOCS_ORIGIN, \"/real_user_monitoring/browser/troubleshooting\");\nexport var MORE_DETAILS = 'More details:';\n//# sourceMappingURL=display.js.map","import { display } from './display';\nexport function catchUserErrors(fn, errorMsg) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n try {\n return fn.apply(void 0, args);\n }\n catch (err) {\n display.error(errorMsg, err);\n }\n };\n}\n//# sourceMappingURL=catchUserErrors.js.map","var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport { display } from './display';\nvar onMonitorErrorCollected;\nvar debugMode = false;\nexport function startMonitorErrorCollection(newOnMonitorErrorCollected) {\n onMonitorErrorCollected = newOnMonitorErrorCollected;\n}\nexport function setDebugMode(newDebugMode) {\n debugMode = newDebugMode;\n}\nexport function resetMonitor() {\n onMonitorErrorCollected = undefined;\n debugMode = false;\n}\nexport function monitored(_, __, descriptor) {\n var originalMethod = descriptor.value;\n descriptor.value = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var decorated = onMonitorErrorCollected ? monitor(originalMethod) : originalMethod;\n return decorated.apply(this, args);\n };\n}\nexport function monitor(fn) {\n return function () {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return callMonitored(fn, this, arguments);\n }; // consider output type has input type\n}\nexport function callMonitored(fn, context, args) {\n try {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return fn.apply(context, args);\n }\n catch (e) {\n displayIfDebugEnabled(e);\n if (onMonitorErrorCollected) {\n try {\n onMonitorErrorCollected(e);\n }\n catch (e) {\n displayIfDebugEnabled(e);\n }\n }\n }\n}\nexport function displayIfDebugEnabled() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (debugMode) {\n display.error.apply(display, __spreadArray(['[MONITOR]'], args, false));\n }\n}\n//# sourceMappingURL=monitor.js.map","export function includes(candidate, search) {\n return candidate.indexOf(search) !== -1;\n}\nexport function arrayFrom(arrayLike) {\n if (Array.from) {\n return Array.from(arrayLike);\n }\n var array = [];\n if (arrayLike instanceof Set) {\n arrayLike.forEach(function (item) { return array.push(item); });\n }\n else {\n for (var i = 0; i < arrayLike.length; i++) {\n array.push(arrayLike[i]);\n }\n }\n return array;\n}\nexport function find(array, predicate) {\n for (var i = 0; i < array.length; i += 1) {\n var item = array[i];\n if (predicate(item, i)) {\n return item;\n }\n }\n return undefined;\n}\nexport function findLast(array, predicate) {\n for (var i = array.length - 1; i >= 0; i -= 1) {\n var item = array[i];\n if (predicate(item, i, array)) {\n return item;\n }\n }\n return undefined;\n}\nexport function forEach(list, callback) {\n Array.prototype.forEach.call(list, callback);\n}\nexport function objectValues(object) {\n return Object.keys(object).map(function (key) { return object[key]; });\n}\nexport function objectEntries(object) {\n return Object.keys(object).map(function (key) { return [key, object[key]]; });\n}\nexport function startsWith(candidate, search) {\n return candidate.slice(0, search.length) === search;\n}\nexport function endsWith(candidate, search) {\n return candidate.slice(-search.length) === search;\n}\nexport function assign(target) {\n var toAssign = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n toAssign[_i - 1] = arguments[_i];\n }\n toAssign.forEach(function (source) {\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//# sourceMappingURL=polyfills.js.map","import { catchUserErrors } from '../tools/catchUserErrors';\nimport { setDebugMode } from '../tools/monitor';\nimport { assign } from '../tools/utils/polyfills';\nimport { display } from '../tools/display';\nexport function makePublicApi(stub) {\n var publicApi = assign({\n version: \"5.35.1\",\n // This API method is intentionally not monitored, since the only thing executed is the\n // user-provided 'callback'. All SDK usages executed in the callback should be monitored, and\n // we don't want to interfere with the user uncaught exceptions.\n onReady: function (callback) {\n callback();\n },\n }, stub);\n // Add a \"hidden\" property to set debug mode. We define it that way to hide it\n // as much as possible but of course it's not a real protection.\n Object.defineProperty(publicApi, '_setDebug', {\n get: function () {\n return setDebugMode;\n },\n enumerable: false,\n });\n return publicApi;\n}\nexport function defineGlobal(global, name, api) {\n var existingGlobalVariable = global[name];\n if (existingGlobalVariable && !existingGlobalVariable.q && existingGlobalVariable.version) {\n display.warn('SDK is loaded more than once. This is unsupported and might have unexpected behavior.');\n }\n global[name] = api;\n if (existingGlobalVariable && existingGlobalVariable.q) {\n existingGlobalVariable.q.forEach(function (fn) { return catchUserErrors(fn, 'onReady callback threw an error:')(); });\n }\n}\n//# sourceMappingURL=init.js.map","/**\n * inspired by https://mathiasbynens.be/notes/globalthis\n */\nexport function getGlobalObject() {\n if (typeof globalThis === 'object') {\n return globalThis;\n }\n Object.defineProperty(Object.prototype, '_dd_temp_', {\n get: function () {\n return this;\n },\n configurable: true,\n });\n // @ts-ignore _dd_temp is defined using defineProperty\n var globalObject = _dd_temp_;\n // @ts-ignore _dd_temp is defined using defineProperty\n delete Object.prototype._dd_temp_;\n if (typeof globalObject !== 'object') {\n // on safari _dd_temp_ is available on window but not globally\n // fallback on other browser globals check\n if (typeof self === 'object') {\n globalObject = self;\n }\n else if (typeof window === 'object') {\n globalObject = window;\n }\n else {\n globalObject = {};\n }\n }\n return globalObject;\n}\n//# sourceMappingURL=getGlobalObject.js.map","export var ONE_KIBI_BYTE = 1024;\nexport var ONE_MEBI_BYTE = 1024 * ONE_KIBI_BYTE;\n// eslint-disable-next-line no-control-regex\nvar HAS_MULTI_BYTES_CHARACTERS = /[^\\u0000-\\u007F]/;\nexport function computeBytesCount(candidate) {\n // Accurate bytes count computations can degrade performances when there is a lot of events to process\n if (!HAS_MULTI_BYTES_CHARACTERS.test(candidate)) {\n return candidate.length;\n }\n if (window.TextEncoder !== undefined) {\n return new TextEncoder().encode(candidate).length;\n }\n return new Blob([candidate]).size;\n}\nexport function concatBuffers(buffers) {\n var length = buffers.reduce(function (total, buffer) { return total + buffer.length; }, 0);\n var result = new Uint8Array(length);\n var offset = 0;\n for (var _i = 0, buffers_1 = buffers; _i < buffers_1.length; _i++) {\n var buffer = buffers_1[_i];\n result.set(buffer, offset);\n offset += buffer.length;\n }\n return result;\n}\n//# sourceMappingURL=byteUtils.js.map","import { getGlobalObject } from './getGlobalObject';\n/**\n * Gets the original value for a DOM API that was potentially patched by Zone.js.\n *\n * Zone.js[1] is a library that patches a bunch of JS and DOM APIs. It usually stores the original\n * value of the patched functions/constructors/methods in a hidden property prefixed by\n * __zone_symbol__.\n *\n * In multiple occasions, we observed that Zone.js is the culprit of important issues leading to\n * browser resource exhaustion (memory leak, high CPU usage). This method is used as a workaround to\n * use the original DOM API instead of the one patched by Zone.js.\n *\n * [1]: https://github.com/angular/angular/tree/main/packages/zone.js\n */\nexport function getZoneJsOriginalValue(target, name) {\n var browserWindow = getGlobalObject();\n var original;\n if (browserWindow.Zone && typeof browserWindow.Zone.__symbol__ === 'function') {\n original = target[browserWindow.Zone.__symbol__(name)];\n }\n if (!original) {\n original = target[name];\n }\n return original;\n}\n//# sourceMappingURL=getZoneJsOriginalValue.js.map","import { getZoneJsOriginalValue } from './getZoneJsOriginalValue';\nimport { monitor } from './monitor';\nimport { getGlobalObject } from './getGlobalObject';\nexport function setTimeout(callback, delay) {\n return getZoneJsOriginalValue(getGlobalObject(), 'setTimeout')(monitor(callback), delay);\n}\nexport function clearTimeout(timeoutId) {\n getZoneJsOriginalValue(getGlobalObject(), 'clearTimeout')(timeoutId);\n}\nexport function setInterval(callback, delay) {\n return getZoneJsOriginalValue(getGlobalObject(), 'setInterval')(monitor(callback), delay);\n}\nexport function clearInterval(timeoutId) {\n getZoneJsOriginalValue(getGlobalObject(), 'clearInterval')(timeoutId);\n}\n//# sourceMappingURL=timer.js.map","import { setTimeout, clearTimeout } from '../timer';\n// use lodash API\nexport function throttle(fn, wait, options) {\n var needLeadingExecution = options && options.leading !== undefined ? options.leading : true;\n var needTrailingExecution = options && options.trailing !== undefined ? options.trailing : true;\n var inWaitPeriod = false;\n var pendingExecutionWithParameters;\n var pendingTimeoutId;\n return {\n throttled: function () {\n var parameters = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n parameters[_i] = arguments[_i];\n }\n if (inWaitPeriod) {\n pendingExecutionWithParameters = parameters;\n return;\n }\n if (needLeadingExecution) {\n fn.apply(void 0, parameters);\n }\n else {\n pendingExecutionWithParameters = parameters;\n }\n inWaitPeriod = true;\n pendingTimeoutId = setTimeout(function () {\n if (needTrailingExecution && pendingExecutionWithParameters) {\n fn.apply(void 0, pendingExecutionWithParameters);\n }\n inWaitPeriod = false;\n pendingExecutionWithParameters = undefined;\n }, wait);\n },\n cancel: function () {\n clearTimeout(pendingTimeoutId);\n inWaitPeriod = false;\n pendingExecutionWithParameters = undefined;\n },\n };\n}\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() { }\n//# sourceMappingURL=functionUtils.js.map","import { noop } from '../utils/functionUtils';\n/**\n * Custom implementation of JSON.stringify that ignores some toJSON methods. We need to do that\n * because some sites badly override toJSON on certain objects. Removing all toJSON methods from\n * nested values would be too costly, so we just detach them from the root value, and native classes\n * used to build JSON values (Array and Object).\n *\n * Note: this still assumes that JSON.stringify is correct.\n */\nexport function jsonStringify(value, replacer, space) {\n if (typeof value !== 'object' || value === null) {\n return JSON.stringify(value);\n }\n // Note: The order matter here. We need to detach toJSON methods on parent classes before their\n // subclasses.\n var restoreObjectPrototypeToJson = detachToJsonMethod(Object.prototype);\n var restoreArrayPrototypeToJson = detachToJsonMethod(Array.prototype);\n var restoreValuePrototypeToJson = detachToJsonMethod(Object.getPrototypeOf(value));\n var restoreValueToJson = detachToJsonMethod(value);\n try {\n return JSON.stringify(value, replacer, space);\n }\n catch (_a) {\n return '';\n }\n finally {\n restoreObjectPrototypeToJson();\n restoreArrayPrototypeToJson();\n restoreValuePrototypeToJson();\n restoreValueToJson();\n }\n}\nexport function detachToJsonMethod(value) {\n var object = value;\n var objectToJson = object.toJSON;\n if (objectToJson) {\n delete object.toJSON;\n return function () {\n object.toJSON = objectToJson;\n };\n }\n return noop;\n}\n//# sourceMappingURL=jsonStringify.js.map","import { assign } from './polyfills';\nexport function shallowClone(object) {\n return assign({}, object);\n}\nexport function objectHasValue(object, value) {\n return Object.keys(object).some(function (key) { return object[key] === value; });\n}\nexport function isEmptyObject(object) {\n return Object.keys(object).length === 0;\n}\nexport function mapValues(object, fn) {\n var newObject = {};\n for (var _i = 0, _a = Object.keys(object); _i < _a.length; _i++) {\n var key = _a[_i];\n newObject[key] = fn(object[key]);\n }\n return newObject;\n}\n//# sourceMappingURL=objectUtils.js.map","import { ONE_KIBI_BYTE, computeBytesCount } from '../../tools/utils/byteUtils';\nimport { throttle } from '../../tools/utils/functionUtils';\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify';\nimport { DOCS_TROUBLESHOOTING, MORE_DETAILS, display } from '../../tools/display';\nimport { isEmptyObject } from '../../tools/utils/objectUtils';\n// RUM and logs batch bytes limit is 16KB\n// ensure that we leave room for other event attributes and maintain a decent amount of event per batch\n// (3KB (customer data) + 1KB (other attributes)) * 4 (events per batch) = 16KB\nexport var CUSTOMER_DATA_BYTES_LIMIT = 3 * ONE_KIBI_BYTE;\n// We observed that the compression ratio is around 8 in general, but we also want to keep a margin\n// because some data might not be compressed (ex: last view update on page exit). We chose 16KiB\n// because it is also the limit of the 'batchBytesCount' that we use for RUM and Logs data, but this\n// is a bit arbitrary.\nexport var CUSTOMER_COMPRESSED_DATA_BYTES_LIMIT = 16 * ONE_KIBI_BYTE;\nexport var BYTES_COMPUTATION_THROTTLING_DELAY = 200;\nexport function createCustomerDataTrackerManager(compressionStatus) {\n if (compressionStatus === void 0) { compressionStatus = 2 /* CustomerDataCompressionStatus.Disabled */; }\n var customerDataTrackers = new Map();\n var alreadyWarned = false;\n function checkCustomerDataLimit(initialBytesCount) {\n if (initialBytesCount === void 0) { initialBytesCount = 0; }\n if (alreadyWarned || compressionStatus === 0 /* CustomerDataCompressionStatus.Unknown */) {\n return;\n }\n var bytesCountLimit = compressionStatus === 2 /* CustomerDataCompressionStatus.Disabled */\n ? CUSTOMER_DATA_BYTES_LIMIT\n : CUSTOMER_COMPRESSED_DATA_BYTES_LIMIT;\n var bytesCount = initialBytesCount;\n customerDataTrackers.forEach(function (tracker) {\n bytesCount += tracker.getBytesCount();\n });\n if (bytesCount > bytesCountLimit) {\n displayCustomerDataLimitReachedWarning(bytesCountLimit);\n alreadyWarned = true;\n }\n }\n return {\n /**\n * Creates a detached tracker. The manager will not store a reference to that tracker, and the\n * bytes count will be counted independently from other detached trackers.\n *\n * This is particularly useful when we don't know when the tracker will be unused, so we don't\n * leak memory (ex: when used in Logger instances).\n */\n createDetachedTracker: function () {\n var tracker = createCustomerDataTracker(function () { return checkCustomerDataLimit(tracker.getBytesCount()); });\n return tracker;\n },\n /**\n * Creates a tracker if it doesn't exist, and returns it.\n */\n getOrCreateTracker: function (type) {\n if (!customerDataTrackers.has(type)) {\n customerDataTrackers.set(type, createCustomerDataTracker(checkCustomerDataLimit));\n }\n return customerDataTrackers.get(type);\n },\n setCompressionStatus: function (newCompressionStatus) {\n if (compressionStatus === 0 /* CustomerDataCompressionStatus.Unknown */) {\n compressionStatus = newCompressionStatus;\n checkCustomerDataLimit();\n }\n },\n getCompressionStatus: function () { return compressionStatus; },\n stop: function () {\n customerDataTrackers.forEach(function (tracker) { return tracker.stop(); });\n customerDataTrackers.clear();\n },\n };\n}\nexport function createCustomerDataTracker(checkCustomerDataLimit) {\n var bytesCountCache = 0;\n // Throttle the bytes computation to minimize the impact on performance.\n // Especially useful if the user call context APIs synchronously multiple times in a row\n var _a = throttle(function (context) {\n bytesCountCache = computeBytesCount(jsonStringify(context));\n checkCustomerDataLimit();\n }, BYTES_COMPUTATION_THROTTLING_DELAY), computeBytesCountThrottled = _a.throttled, cancelComputeBytesCount = _a.cancel;\n var resetBytesCount = function () {\n cancelComputeBytesCount();\n bytesCountCache = 0;\n };\n return {\n updateCustomerData: function (context) {\n if (isEmptyObject(context)) {\n resetBytesCount();\n }\n else {\n computeBytesCountThrottled(context);\n }\n },\n resetCustomerData: resetBytesCount,\n getBytesCount: function () { return bytesCountCache; },\n stop: function () {\n cancelComputeBytesCount();\n },\n };\n}\nfunction displayCustomerDataLimitReachedWarning(bytesCountLimit) {\n display.warn(\"Customer data exceeds the recommended \".concat(bytesCountLimit / ONE_KIBI_BYTE, \"KiB threshold. \").concat(MORE_DETAILS, \" \").concat(DOCS_TROUBLESHOOTING, \"/#customer-data-exceeds-the-recommended-threshold-warning\"));\n}\n//# sourceMappingURL=customerDataTracker.js.map","/**\n * Similar to `typeof`, but distinguish plain objects from `null` and arrays\n */\nexport function getType(value) {\n if (value === null) {\n return 'null';\n }\n if (Array.isArray(value)) {\n return 'array';\n }\n return typeof value;\n}\n//# sourceMappingURL=typeUtils.js.map","import { getType } from './utils/typeUtils';\n/**\n * Iterate over source and affect its sub values into destination, recursively.\n * If the source and destination can't be merged, return source.\n */\nexport function mergeInto(destination, source, circularReferenceChecker) {\n if (circularReferenceChecker === void 0) { circularReferenceChecker = createCircularReferenceChecker(); }\n // ignore the source if it is undefined\n if (source === undefined) {\n return destination;\n }\n if (typeof source !== 'object' || source === null) {\n // primitive values - just return source\n return source;\n }\n else if (source instanceof Date) {\n return new Date(source.getTime());\n }\n else if (source instanceof RegExp) {\n var flags = source.flags ||\n // old browsers compatibility\n [\n source.global ? 'g' : '',\n source.ignoreCase ? 'i' : '',\n source.multiline ? 'm' : '',\n source.sticky ? 'y' : '',\n source.unicode ? 'u' : '',\n ].join('');\n return new RegExp(source.source, flags);\n }\n if (circularReferenceChecker.hasAlreadyBeenSeen(source)) {\n // remove circular references\n return undefined;\n }\n else if (Array.isArray(source)) {\n var merged_1 = Array.isArray(destination) ? destination : [];\n for (var i = 0; i < source.length; ++i) {\n merged_1[i] = mergeInto(merged_1[i], source[i], circularReferenceChecker);\n }\n return merged_1;\n }\n var merged = getType(destination) === 'object' ? destination : {};\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n merged[key] = mergeInto(merged[key], source[key], circularReferenceChecker);\n }\n }\n return merged;\n}\n/**\n * A simplistic implementation of a deep clone algorithm.\n * Caveats:\n * - It doesn't maintain prototype chains - don't use with instances of custom classes.\n * - It doesn't handle Map and Set\n */\nexport function deepClone(value) {\n return mergeInto(undefined, value);\n}\nexport function combine() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n var destination;\n for (var _a = 0, sources_1 = sources; _a < sources_1.length; _a++) {\n var source = sources_1[_a];\n // Ignore any undefined or null sources.\n if (source === undefined || source === null) {\n continue;\n }\n destination = mergeInto(destination, source);\n }\n return destination;\n}\nfunction createCircularReferenceChecker() {\n if (typeof WeakSet !== 'undefined') {\n var set_1 = new WeakSet();\n return {\n hasAlreadyBeenSeen: function (value) {\n var has = set_1.has(value);\n if (!has) {\n set_1.add(value);\n }\n return has;\n },\n };\n }\n var array = [];\n return {\n hasAlreadyBeenSeen: function (value) {\n var has = array.indexOf(value) >= 0;\n if (!has) {\n array.push(value);\n }\n return has;\n },\n };\n}\n//# sourceMappingURL=mergeInto.js.map","import { display } from '../display';\nimport { ONE_KIBI_BYTE } from '../utils/byteUtils';\nimport { detachToJsonMethod } from './jsonStringify';\n// The maximum size of a single event is 256KiB. By default, we ensure that user-provided data\n// going through sanitize fits inside our events, while leaving room for other contexts, metadata, ...\nvar SANITIZE_DEFAULT_MAX_CHARACTER_COUNT = 220 * ONE_KIBI_BYTE;\n// Symbol for the root element of the JSONPath used for visited objects\nvar JSON_PATH_ROOT_ELEMENT = '$';\n// When serializing (using JSON.stringify) a key of an object, { key: 42 } gets wrapped in quotes as \"key\".\n// With the separator (:), we need to add 3 characters to the count.\nvar KEY_DECORATION_LENGTH = 3;\nexport function sanitize(source, maxCharacterCount) {\n if (maxCharacterCount === void 0) { maxCharacterCount = SANITIZE_DEFAULT_MAX_CHARACTER_COUNT; }\n // Unbind any toJSON function we may have on [] or {} prototypes\n var restoreObjectPrototypeToJson = detachToJsonMethod(Object.prototype);\n var restoreArrayPrototypeToJson = detachToJsonMethod(Array.prototype);\n // Initial call to sanitizeProcessor - will populate containerQueue if source is an Array or a plain Object\n var containerQueue = [];\n var visitedObjectsWithPath = new WeakMap();\n var sanitizedData = sanitizeProcessor(source, JSON_PATH_ROOT_ELEMENT, undefined, containerQueue, visitedObjectsWithPath);\n var serializedSanitizedData = JSON.stringify(sanitizedData);\n var accumulatedCharacterCount = serializedSanitizedData ? serializedSanitizedData.length : 0;\n if (accumulatedCharacterCount > maxCharacterCount) {\n warnOverCharacterLimit(maxCharacterCount, 'discarded', source);\n return undefined;\n }\n while (containerQueue.length > 0 && accumulatedCharacterCount < maxCharacterCount) {\n var containerToProcess = containerQueue.shift();\n var separatorLength = 0; // 0 for the first element, 1 for subsequent elements\n // Arrays and Objects have to be handled distinctly to ensure\n // we do not pick up non-numerical properties from Arrays\n if (Array.isArray(containerToProcess.source)) {\n for (var key = 0; key < containerToProcess.source.length; key++) {\n var targetData = sanitizeProcessor(containerToProcess.source[key], containerToProcess.path, key, containerQueue, visitedObjectsWithPath);\n if (targetData !== undefined) {\n accumulatedCharacterCount += JSON.stringify(targetData).length;\n }\n else {\n // When an element of an Array (targetData) is undefined, it is serialized as null:\n // JSON.stringify([undefined]) => '[null]' - This accounts for 4 characters\n accumulatedCharacterCount += 4;\n }\n accumulatedCharacterCount += separatorLength;\n separatorLength = 1;\n if (accumulatedCharacterCount > maxCharacterCount) {\n warnOverCharacterLimit(maxCharacterCount, 'truncated', source);\n break;\n }\n ;\n containerToProcess.target[key] = targetData;\n }\n }\n else {\n for (var key in containerToProcess.source) {\n if (Object.prototype.hasOwnProperty.call(containerToProcess.source, key)) {\n var targetData = sanitizeProcessor(containerToProcess.source[key], containerToProcess.path, key, containerQueue, visitedObjectsWithPath);\n // When a property of an object has an undefined value, it will be dropped during serialization:\n // JSON.stringify({a:undefined}) => '{}'\n if (targetData !== undefined) {\n accumulatedCharacterCount +=\n JSON.stringify(targetData).length + separatorLength + key.length + KEY_DECORATION_LENGTH;\n separatorLength = 1;\n }\n if (accumulatedCharacterCount > maxCharacterCount) {\n warnOverCharacterLimit(maxCharacterCount, 'truncated', source);\n break;\n }\n ;\n containerToProcess.target[key] = targetData;\n }\n }\n }\n }\n // Rebind detached toJSON functions\n restoreObjectPrototypeToJson();\n restoreArrayPrototypeToJson();\n return sanitizedData;\n}\n/**\n * Internal function to factorize the process common to the\n * initial call to sanitize, and iterations for Arrays and Objects\n *\n */\nfunction sanitizeProcessor(source, parentPath, key, queue, visitedObjectsWithPath) {\n // Start by handling toJSON, as we want to sanitize its output\n var sourceToSanitize = tryToApplyToJSON(source);\n if (!sourceToSanitize || typeof sourceToSanitize !== 'object') {\n return sanitizePrimitivesAndFunctions(sourceToSanitize);\n }\n var sanitizedSource = sanitizeObjects(sourceToSanitize);\n if (sanitizedSource !== '[Object]' && sanitizedSource !== '[Array]' && sanitizedSource !== '[Error]') {\n return sanitizedSource;\n }\n // Handle potential cyclic references\n // We need to use source as sourceToSanitize could be a reference to a new object\n // At this stage, we know the source is an object type\n var sourceAsObject = source;\n if (visitedObjectsWithPath.has(sourceAsObject)) {\n return \"[Reference seen at \".concat(visitedObjectsWithPath.get(sourceAsObject), \"]\");\n }\n // Add processed source to queue\n var currentPath = key !== undefined ? \"\".concat(parentPath, \".\").concat(key) : parentPath;\n var target = Array.isArray(sourceToSanitize) ? [] : {};\n visitedObjectsWithPath.set(sourceAsObject, currentPath);\n queue.push({ source: sourceToSanitize, target: target, path: currentPath });\n return target;\n}\n/**\n * Handles sanitization of simple, non-object types\n *\n */\nfunction sanitizePrimitivesAndFunctions(value) {\n // BigInt cannot be serialized by JSON.stringify(), convert it to a string representation\n if (typeof value === 'bigint') {\n return \"[BigInt] \".concat(value.toString());\n }\n // Functions cannot be serialized by JSON.stringify(). Moreover, if a faulty toJSON is present, it needs to be converted\n // so it won't prevent stringify from serializing later\n if (typeof value === 'function') {\n return \"[Function] \".concat(value.name || 'unknown');\n }\n // JSON.stringify() does not serialize symbols.\n if (typeof value === 'symbol') {\n return \"[Symbol] \".concat(value.description || value.toString());\n }\n return value;\n}\n/**\n * Handles sanitization of object types\n *\n * LIMITATIONS\n * - If a class defines a toStringTag Symbol, it will fall in the catch-all method and prevent enumeration of properties.\n * To avoid this, a toJSON method can be defined.\n * - IE11 does not return a distinct type for objects such as Map, WeakMap, ... These objects will pass through and their\n * properties enumerated if any.\n *\n */\nfunction sanitizeObjects(value) {\n try {\n // Handle events - Keep a simple implementation to avoid breaking changes\n if (value instanceof Event) {\n return {\n isTrusted: value.isTrusted,\n };\n }\n // Handle all remaining object types in a generic way\n var result = Object.prototype.toString.call(value);\n var match = result.match(/\\[object (.*)\\]/);\n if (match && match[1]) {\n return \"[\".concat(match[1], \"]\");\n }\n }\n catch (_a) {\n // If the previous serialization attempts failed, and we cannot convert using\n // Object.prototype.toString, declare the value unserializable\n }\n return '[Unserializable]';\n}\n/**\n * Checks if a toJSON function exists and tries to execute it\n *\n */\nfunction tryToApplyToJSON(value) {\n var object = value;\n if (object && typeof object.toJSON === 'function') {\n try {\n return object.toJSON();\n }\n catch (_a) {\n // If toJSON fails, we continue by trying to serialize the value manually\n }\n }\n return value;\n}\n/**\n * Helper function to display the warning when the accumulated character count is over the limit\n */\nfunction warnOverCharacterLimit(maxCharacterCount, changeType, source) {\n display.warn(\"The data provided has been \".concat(changeType, \" as it is over the limit of \").concat(maxCharacterCount, \" characters:\"), source);\n}\n//# sourceMappingURL=sanitize.js.map","// eslint-disable-next-line no-restricted-syntax\nvar Observable = /** @class */ (function () {\n function Observable(onFirstSubscribe) {\n this.onFirstSubscribe = onFirstSubscribe;\n this.observers = [];\n }\n Observable.prototype.subscribe = function (f) {\n var _this = this;\n this.observers.push(f);\n if (this.observers.length === 1 && this.onFirstSubscribe) {\n this.onLastUnsubscribe = this.onFirstSubscribe(this) || undefined;\n }\n return {\n unsubscribe: function () {\n _this.observers = _this.observers.filter(function (other) { return f !== other; });\n if (!_this.observers.length && _this.onLastUnsubscribe) {\n _this.onLastUnsubscribe();\n }\n },\n };\n };\n Observable.prototype.notify = function (data) {\n this.observers.forEach(function (observer) { return observer(data); });\n };\n return Observable;\n}());\nexport { Observable };\nexport function mergeObservables() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n return new Observable(function (globalObservable) {\n var subscriptions = observables.map(function (observable) {\n return observable.subscribe(function (data) { return globalObservable.notify(data); });\n });\n return function () { return subscriptions.forEach(function (subscription) { return subscription.unsubscribe(); }); };\n });\n}\n//# sourceMappingURL=observable.js.map","import { deepClone } from '../../tools/mergeInto';\nimport { getType } from '../../tools/utils/typeUtils';\nimport { sanitize } from '../../tools/serialisation/sanitize';\nimport { Observable } from '../../tools/observable';\nexport function createContextManager(customerDataTracker) {\n var context = {};\n var changeObservable = new Observable();\n var contextManager = {\n getContext: function () { return deepClone(context); },\n setContext: function (newContext) {\n if (getType(newContext) === 'object') {\n context = sanitize(newContext);\n customerDataTracker === null || customerDataTracker === void 0 ? void 0 : customerDataTracker.updateCustomerData(context);\n }\n else {\n contextManager.clearContext();\n }\n changeObservable.notify();\n },\n setContextProperty: function (key, property) {\n context[key] = sanitize(property);\n customerDataTracker === null || customerDataTracker === void 0 ? void 0 : customerDataTracker.updateCustomerData(context);\n changeObservable.notify();\n },\n removeContextProperty: function (key) {\n delete context[key];\n customerDataTracker === null || customerDataTracker === void 0 ? void 0 : customerDataTracker.updateCustomerData(context);\n changeObservable.notify();\n },\n clearContext: function () {\n context = {};\n customerDataTracker === null || customerDataTracker === void 0 ? void 0 : customerDataTracker.resetCustomerData();\n changeObservable.notify();\n },\n changeObservable: changeObservable,\n };\n return contextManager;\n}\n//# sourceMappingURL=contextManager.js.map","import { Observable } from '../tools/observable';\nexport var TrackingConsent = {\n GRANTED: 'granted',\n NOT_GRANTED: 'not-granted',\n};\nexport function createTrackingConsentState(currentConsent) {\n var observable = new Observable();\n return {\n tryToInit: function (trackingConsent) {\n if (!currentConsent) {\n currentConsent = trackingConsent;\n }\n },\n update: function (trackingConsent) {\n currentConsent = trackingConsent;\n observable.notify();\n },\n isGranted: function () {\n return currentConsent === TrackingConsent.GRANTED;\n },\n observable: observable,\n };\n}\n//# sourceMappingURL=trackingConsent.js.map","import { monitor } from '../tools/monitor';\nimport { getZoneJsOriginalValue } from '../tools/getZoneJsOriginalValue';\n/**\n * Add an event listener to an event target object (Window, Element, mock object...). This provides\n * a few conveniences compared to using `element.addEventListener` directly:\n *\n * * supports IE11 by: using an option object only if needed and emulating the `once` option\n *\n * * wraps the listener with a `monitor` function\n *\n * * returns a `stop` function to remove the listener\n */\nexport function addEventListener(configuration, eventTarget, eventName, listener, options) {\n return addEventListeners(configuration, eventTarget, [eventName], listener, options);\n}\n/**\n * Add event listeners to an event target object (Window, Element, mock object...). This provides\n * a few conveniences compared to using `element.addEventListener` directly:\n *\n * * supports IE11 by: using an option object only if needed and emulating the `once` option\n *\n * * wraps the listener with a `monitor` function\n *\n * * returns a `stop` function to remove the listener\n *\n * * with `once: true`, the listener will be called at most once, even if different events are listened\n */\nexport function addEventListeners(configuration, eventTarget, eventNames, listener, _a) {\n var _b = _a === void 0 ? {} : _a, once = _b.once, capture = _b.capture, passive = _b.passive;\n var listenerWithMonitor = monitor(function (event) {\n if (!event.isTrusted && !event.__ddIsTrusted && !configuration.allowUntrustedEvents) {\n return;\n }\n if (once) {\n stop();\n }\n listener(event);\n });\n var options = passive ? { capture: capture, passive: passive } : capture;\n // Use the window.EventTarget.prototype when possible to avoid wrong overrides (e.g: https://github.com/salesforce/lwc/issues/1824)\n var listenerTarget = window.EventTarget && eventTarget instanceof EventTarget ? window.EventTarget.prototype : eventTarget;\n var add = getZoneJsOriginalValue(listenerTarget, 'addEventListener');\n eventNames.forEach(function (eventName) { return add.call(eventTarget, eventName, listenerWithMonitor, options); });\n function stop() {\n var remove = getZoneJsOriginalValue(listenerTarget, 'removeEventListener');\n eventNames.forEach(function (eventName) { return remove.call(eventTarget, eventName, listenerWithMonitor, options); });\n }\n return {\n stop: stop,\n };\n}\n//# sourceMappingURL=addEventListener.js.map","import { addEventListener } from '../../browser/addEventListener';\nimport { combine } from '../../tools/mergeInto';\nvar CONTEXT_STORE_KEY_PREFIX = '_dd_c';\nvar storageListeners = [];\nexport function storeContextManager(configuration, contextManager, productKey, customerDataType) {\n var storageKey = buildStorageKey(productKey, customerDataType);\n storageListeners.push(addEventListener(configuration, window, \"storage\" /* DOM_EVENT.STORAGE */, function (_a) {\n var key = _a.key;\n if (storageKey === key) {\n synchronizeWithStorage();\n }\n }));\n contextManager.changeObservable.subscribe(dumpToStorage);\n contextManager.setContext(combine(getFromStorage(), contextManager.getContext()));\n function synchronizeWithStorage() {\n contextManager.setContext(getFromStorage());\n }\n function dumpToStorage() {\n localStorage.setItem(storageKey, JSON.stringify(contextManager.getContext()));\n }\n function getFromStorage() {\n var rawContext = localStorage.getItem(storageKey);\n return rawContext !== null ? JSON.parse(rawContext) : {};\n }\n}\nexport function buildStorageKey(productKey, customerDataType) {\n return \"\".concat(CONTEXT_STORE_KEY_PREFIX, \"_\").concat(productKey, \"_\").concat(customerDataType);\n}\nexport function removeStorageListeners() {\n storageListeners.map(function (listener) { return listener.stop(); });\n}\n//# sourceMappingURL=storeContextManager.js.map","import { computeBytesCount } from './utils/byteUtils';\nexport function createIdentityEncoder() {\n var output = '';\n var outputBytesCount = 0;\n return {\n isAsync: false,\n get isEmpty() {\n return !output;\n },\n write: function (data, callback) {\n var additionalEncodedBytesCount = computeBytesCount(data);\n outputBytesCount += additionalEncodedBytesCount;\n output += data;\n if (callback) {\n callback(additionalEncodedBytesCount);\n }\n },\n finish: function (callback) {\n callback(this.finishSync());\n },\n finishSync: function () {\n var result = {\n output: output,\n outputBytesCount: outputBytesCount,\n rawBytesCount: outputBytesCount,\n pendingData: '',\n };\n output = '';\n outputBytesCount = 0;\n return result;\n },\n estimateEncodedBytesCount: function (data) {\n return data.length;\n },\n };\n}\n//# sourceMappingURL=encoder.js.map","/**\n * Cross-browser stack trace computation.\n *\n * Reference implementation: https://github.com/csnover/TraceKit/blob/04530298073c3823de72deb0b97e7b38ca7bcb59/tracekit.js\n */\nimport { startsWith } from '../utils/polyfills';\nvar UNKNOWN_FUNCTION = '?';\nexport function computeStackTrace(ex) {\n var stack = [];\n var stackProperty = tryToGetString(ex, 'stack');\n var exString = String(ex);\n if (stackProperty && startsWith(stackProperty, exString)) {\n stackProperty = stackProperty.slice(exString.length);\n }\n if (stackProperty) {\n stackProperty.split('\\n').forEach(function (line) {\n var stackFrame = parseChromeLine(line) || parseChromeAnonymousLine(line) || parseWinLine(line) || parseGeckoLine(line);\n if (stackFrame) {\n if (!stackFrame.func && stackFrame.line) {\n stackFrame.func = UNKNOWN_FUNCTION;\n }\n stack.push(stackFrame);\n }\n });\n }\n return {\n message: tryToGetString(ex, 'message'),\n name: tryToGetString(ex, 'name'),\n stack: stack,\n };\n}\nvar fileUrl = '((?:file|https?|blob|chrome-extension|electron|native|eval|webpack|snippet||\\\\w+\\\\.|\\\\/).*?)';\nvar filePosition = '(?::(\\\\d+))';\nvar CHROME_LINE_RE = new RegExp(\"^\\\\s*at (.*?) ?\\\\(\".concat(fileUrl).concat(filePosition, \"?\").concat(filePosition, \"?\\\\)?\\\\s*$\"), 'i');\nvar CHROME_EVAL_RE = new RegExp(\"\\\\((\\\\S*)\".concat(filePosition).concat(filePosition, \"\\\\)\"));\nfunction parseChromeLine(line) {\n var parts = CHROME_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n var isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n var submatch = CHROME_EVAL_RE.exec(parts[2]);\n if (isEval && submatch) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1]; // url\n parts[3] = submatch[2]; // line\n parts[4] = submatch[3]; // column\n }\n return {\n args: isNative ? [parts[2]] : [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[3] ? +parts[3] : undefined,\n url: !isNative ? parts[2] : undefined,\n };\n}\nvar CHROME_ANONYMOUS_FUNCTION_RE = new RegExp(\"^\\\\s*at ?\".concat(fileUrl).concat(filePosition, \"?\").concat(filePosition, \"??\\\\s*$\"), 'i');\nfunction parseChromeAnonymousLine(line) {\n var parts = CHROME_ANONYMOUS_FUNCTION_RE.exec(line);\n if (!parts) {\n return;\n }\n return {\n args: [],\n column: parts[3] ? +parts[3] : undefined,\n func: UNKNOWN_FUNCTION,\n line: parts[2] ? +parts[2] : undefined,\n url: parts[1],\n };\n}\nvar WINJS_LINE_RE = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\nfunction parseWinLine(line) {\n var parts = WINJS_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n return {\n args: [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: +parts[3],\n url: parts[2],\n };\n}\nvar GECKO_LINE_RE = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|capacitor|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nvar GECKO_EVAL_RE = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\nfunction parseGeckoLine(line) {\n var parts = GECKO_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n var isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n var submatch = GECKO_EVAL_RE.exec(parts[3]);\n if (isEval && submatch) {\n // throw out eval line/column and use top-most line number\n parts[3] = submatch[1];\n parts[4] = submatch[2];\n parts[5] = undefined; // no column when eval\n }\n return {\n args: parts[2] ? parts[2].split(',') : [],\n column: parts[5] ? +parts[5] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[4] ? +parts[4] : undefined,\n url: parts[3],\n };\n}\nfunction tryToGetString(candidate, property) {\n if (typeof candidate !== 'object' || !candidate || !(property in candidate)) {\n return undefined;\n }\n var value = candidate[property];\n return typeof value === 'string' ? value : undefined;\n}\nexport function computeStackTraceFromOnErrorMessage(messageObj, url, line, column) {\n var stack = [{ url: url, column: column, line: line }];\n var _a = tryToParseMessage(messageObj), name = _a.name, message = _a.message;\n return {\n name: name,\n message: message,\n stack: stack,\n };\n}\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Error_types\nvar ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?([\\s\\S]*)$/;\nfunction tryToParseMessage(messageObj) {\n var _a;\n var name;\n var message;\n if ({}.toString.call(messageObj) === '[object String]') {\n ;\n _a = ERROR_TYPES_RE.exec(messageObj), name = _a[1], message = _a[2];\n }\n return { name: name, message: message };\n}\n//# sourceMappingURL=computeStackTrace.js.map","import { callMonitored } from '../monitor';\nimport { noop } from '../utils/functionUtils';\nimport { computeStackTrace } from './computeStackTrace';\n/**\n * Creates a stacktrace without SDK internal frames.\n * Constraints:\n * - Has to be called at the utmost position of the call stack.\n * - No monitored function should encapsulate it, that is why we need to use callMonitored inside it.\n */\nexport function createHandlingStack() {\n /**\n * Skip the two internal frames:\n * - SDK API (console.error, ...)\n * - this function\n * in order to keep only the user calls\n */\n var internalFramesToSkip = 2;\n var error = new Error();\n var formattedStack;\n // IE needs to throw the error to fill in the stack trace\n if (!error.stack) {\n try {\n throw error;\n }\n catch (_a) {\n noop();\n }\n }\n callMonitored(function () {\n var stackTrace = computeStackTrace(error);\n stackTrace.stack = stackTrace.stack.slice(internalFramesToSkip);\n formattedStack = toStackTraceString(stackTrace);\n });\n return formattedStack;\n}\nexport function toStackTraceString(stack) {\n var result = formatErrorMessage(stack);\n stack.stack.forEach(function (frame) {\n var func = frame.func === '?' ? '' : frame.func;\n var args = frame.args && frame.args.length > 0 ? \"(\".concat(frame.args.join(', '), \")\") : '';\n var line = frame.line ? \":\".concat(frame.line) : '';\n var column = frame.line && frame.column ? \":\".concat(frame.column) : '';\n result += \"\\n at \".concat(func).concat(args, \" @ \").concat(frame.url).concat(line).concat(column);\n });\n return result;\n}\nexport function formatErrorMessage(stack) {\n return \"\".concat(stack.name || 'Error', \": \").concat(stack.message);\n}\n//# sourceMappingURL=handlingStack.js.map","import { sanitize } from '../../tools/serialisation/sanitize';\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify';\nimport { computeStackTrace } from '../../tools/stackTrace/computeStackTrace';\nimport { toStackTraceString } from '../../tools/stackTrace/handlingStack';\nexport var NO_ERROR_STACK_PRESENT_MESSAGE = 'No stack, consider using an instance of Error';\nexport function computeRawError(_a) {\n var stackTrace = _a.stackTrace, originalError = _a.originalError, handlingStack = _a.handlingStack, startClocks = _a.startClocks, nonErrorPrefix = _a.nonErrorPrefix, source = _a.source, handling = _a.handling;\n var isErrorInstance = isError(originalError);\n var message = computeMessage(stackTrace, isErrorInstance, nonErrorPrefix, originalError);\n var stack = hasUsableStack(isErrorInstance, stackTrace)\n ? toStackTraceString(stackTrace)\n : NO_ERROR_STACK_PRESENT_MESSAGE;\n var causes = isErrorInstance ? flattenErrorCauses(originalError, source) : undefined;\n var type = stackTrace ? stackTrace.name : undefined;\n var fingerprint = tryToGetFingerprint(originalError);\n return {\n startClocks: startClocks,\n source: source,\n handling: handling,\n handlingStack: handlingStack,\n originalError: originalError,\n type: type,\n message: message,\n stack: stack,\n causes: causes,\n fingerprint: fingerprint,\n };\n}\nfunction computeMessage(stackTrace, isErrorInstance, nonErrorPrefix, originalError) {\n // Favor stackTrace message only if tracekit has really been able to extract something meaningful (message + name)\n // TODO rework tracekit integration to avoid scattering error building logic\n return (stackTrace === null || stackTrace === void 0 ? void 0 : stackTrace.message) && (stackTrace === null || stackTrace === void 0 ? void 0 : stackTrace.name)\n ? stackTrace.message\n : !isErrorInstance\n ? \"\".concat(nonErrorPrefix, \" \").concat(jsonStringify(sanitize(originalError)))\n : 'Empty message';\n}\nfunction hasUsableStack(isErrorInstance, stackTrace) {\n if (stackTrace === undefined) {\n return false;\n }\n if (isErrorInstance) {\n return true;\n }\n // handle cases where tracekit return stack = [] or stack = [{url: undefined, line: undefined, column: undefined}]\n // TODO rework tracekit integration to avoid generating those unusable stack\n return stackTrace.stack.length > 0 && (stackTrace.stack.length > 1 || stackTrace.stack[0].url !== undefined);\n}\nexport function tryToGetFingerprint(originalError) {\n return isError(originalError) && 'dd_fingerprint' in originalError ? String(originalError.dd_fingerprint) : undefined;\n}\nexport function getFileFromStackTraceString(stack) {\n var _a;\n return (_a = /@ (.+)/.exec(stack)) === null || _a === void 0 ? void 0 : _a[1];\n}\nexport function isError(error) {\n return error instanceof Error || Object.prototype.toString.call(error) === '[object Error]';\n}\nexport function flattenErrorCauses(error, parentSource) {\n var currentError = error;\n var causes = [];\n while (isError(currentError === null || currentError === void 0 ? void 0 : currentError.cause) && causes.length < 10) {\n var stackTrace = computeStackTrace(currentError.cause);\n causes.push({\n message: currentError.cause.message,\n source: parentSource,\n type: stackTrace === null || stackTrace === void 0 ? void 0 : stackTrace.name,\n stack: stackTrace && toStackTraceString(stackTrace),\n });\n currentError = currentError.cause;\n }\n return causes.length ? causes : undefined;\n}\n//# sourceMappingURL=error.js.map","/**\n * LIMITATION:\n * For NPM setup, this feature flag singleton is shared between RUM and Logs product.\n * This means that an experimental flag set on the RUM product will be set on the Logs product.\n * So keep in mind that in certain configurations, your experimental feature flag may affect other products.\n *\n * FORMAT:\n * All feature flags should be snake_cased\n */\n// We want to use a real enum (i.e. not a const enum) here, to be able to check whether an arbitrary\n// string is an expected feature flag\nimport { objectHasValue } from './utils/objectUtils';\n// eslint-disable-next-line no-restricted-syntax\nexport var ExperimentalFeature;\n(function (ExperimentalFeature) {\n ExperimentalFeature[\"WRITABLE_RESOURCE_GRAPHQL\"] = \"writable_resource_graphql\";\n ExperimentalFeature[\"REMOTE_CONFIGURATION\"] = \"remote_configuration\";\n ExperimentalFeature[\"LONG_ANIMATION_FRAME\"] = \"long_animation_frame\";\n ExperimentalFeature[\"ANONYMOUS_USER_TRACKING\"] = \"anonymous_user_tracking\";\n ExperimentalFeature[\"ACTION_NAME_MASKING\"] = \"action_name_masking\";\n ExperimentalFeature[\"CONSISTENT_TRACE_SAMPLING\"] = \"consistent_trace_sampling\";\n ExperimentalFeature[\"DELAY_VIEWPORT_COLLECTION\"] = \"delay_viewport_collection\";\n})(ExperimentalFeature || (ExperimentalFeature = {}));\nvar enabledExperimentalFeatures = new Set();\nexport function initFeatureFlags(enableExperimentalFeatures) {\n if (Array.isArray(enableExperimentalFeatures)) {\n addExperimentalFeatures(enableExperimentalFeatures.filter(function (flag) {\n return objectHasValue(ExperimentalFeature, flag);\n }));\n }\n}\nexport function addExperimentalFeatures(enabledFeatures) {\n enabledFeatures.forEach(function (flag) {\n enabledExperimentalFeatures.add(flag);\n });\n}\nexport function isExperimentalFeatureEnabled(featureName) {\n return enabledExperimentalFeatures.has(featureName);\n}\nexport function resetExperimentalFeatures() {\n enabledExperimentalFeatures.clear();\n}\nexport function getExperimentalFeatures() {\n return enabledExperimentalFeatures;\n}\n//# sourceMappingURL=experimentalFeatures.js.map","export var INTAKE_SITE_STAGING = 'datad0g.com';\nexport var INTAKE_SITE_FED_STAGING = 'dd0g-gov.com';\nexport var INTAKE_SITE_US1 = 'datadoghq.com';\nexport var INTAKE_SITE_EU1 = 'datadoghq.eu';\nexport var INTAKE_SITE_US1_FED = 'ddog-gov.com';\nexport var PCI_INTAKE_HOST_US1 = 'pci.browser-intake-datadoghq.com';\nexport var INTAKE_URL_PARAMETERS = ['ddsource', 'ddtags'];\n//# sourceMappingURL=intakeSites.js.map","/**\n * Return true if the draw is successful\n * @param threshold between 0 and 100\n */\nexport function performDraw(threshold) {\n return threshold !== 0 && Math.random() * 100 <= threshold;\n}\nexport function round(num, decimals) {\n return +num.toFixed(decimals);\n}\nexport function isPercentage(value) {\n return isNumber(value) && value >= 0 && value <= 100;\n}\nexport function isNumber(value) {\n return typeof value === 'number';\n}\n//# sourceMappingURL=numberUtils.js.map","import { isNumber, round } from './numberUtils';\nexport var ONE_SECOND = 1000;\nexport var ONE_MINUTE = 60 * ONE_SECOND;\nexport var ONE_HOUR = 60 * ONE_MINUTE;\nexport var ONE_DAY = 24 * ONE_HOUR;\nexport var ONE_YEAR = 365 * ONE_DAY;\nexport function relativeToClocks(relative) {\n return { relative: relative, timeStamp: getCorrectedTimeStamp(relative) };\n}\nexport function timeStampToClocks(timeStamp) {\n return { relative: getRelativeTime(timeStamp), timeStamp: timeStamp };\n}\nfunction getCorrectedTimeStamp(relativeTime) {\n var correctedOrigin = (dateNow() - performance.now());\n // apply correction only for positive drift\n if (correctedOrigin > getNavigationStart()) {\n return Math.round(addDuration(correctedOrigin, relativeTime));\n }\n return getTimeStamp(relativeTime);\n}\nexport function currentDrift() {\n return Math.round(dateNow() - addDuration(getNavigationStart(), performance.now()));\n}\nexport function toServerDuration(duration) {\n if (!isNumber(duration)) {\n return duration;\n }\n return round(duration * 1e6, 0);\n}\nexport function dateNow() {\n // Do not use `Date.now` because sometimes websites are wrongly \"polyfilling\" it. For example, we\n // had some users using a very old version of `datejs`, which patched `Date.now` to return a Date\n // instance instead of a timestamp[1]. Those users are unlikely to fix this, so let's handle this\n // case ourselves.\n // [1]: https://github.com/datejs/Datejs/blob/97f5c7c58c5bc5accdab8aa7602b6ac56462d778/src/core-debug.js#L14-L16\n return new Date().getTime();\n}\nexport function timeStampNow() {\n return dateNow();\n}\nexport function relativeNow() {\n return performance.now();\n}\nexport function clocksNow() {\n return { relative: relativeNow(), timeStamp: timeStampNow() };\n}\nexport function clocksOrigin() {\n return { relative: 0, timeStamp: getNavigationStart() };\n}\nexport function elapsed(start, end) {\n return (end - start);\n}\nexport function addDuration(a, b) {\n return a + b;\n}\n/**\n * Get the time since the navigation was started.\n *\n * Note: this does not use `performance.timeOrigin` because it doesn't seem to reflect the actual\n * time on which the navigation has started: it may be much farther in the past, at least in Firefox 71.\n * Related issue in Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1429926\n */\nexport function getRelativeTime(timestamp) {\n return (timestamp - getNavigationStart());\n}\nexport function getTimeStamp(relativeTime) {\n return Math.round(addDuration(getNavigationStart(), relativeTime));\n}\nexport function looksLikeRelativeTime(time) {\n return time < ONE_YEAR;\n}\n/**\n * Navigation start slightly change on some rare cases\n */\nvar navigationStart;\nfunction getNavigationStart() {\n if (navigationStart === undefined) {\n navigationStart = performance.timing.navigationStart;\n }\n return navigationStart;\n}\n//# sourceMappingURL=timeUtils.js.map","export function sendToExtension(type, payload) {\n var callback = window.__ddBrowserSdkExtensionCallback;\n if (callback) {\n callback({ type: type, payload: payload });\n }\n}\n//# sourceMappingURL=sendToExtension.js.map","export function getConnectivity() {\n var _a;\n var navigator = window.navigator;\n return {\n status: navigator.onLine ? 'connected' : 'not_connected',\n interfaces: navigator.connection && navigator.connection.type ? [navigator.connection.type] : undefined,\n effective_type: (_a = navigator.connection) === null || _a === void 0 ? void 0 : _a.effectiveType,\n };\n}\n//# sourceMappingURL=connectivity.js.map","import { arrayFrom } from './polyfills';\nexport function removeDuplicates(array) {\n var set = new Set();\n array.forEach(function (item) { return set.add(item); });\n return arrayFrom(set);\n}\nexport function removeItem(array, item) {\n var index = array.indexOf(item);\n if (index >= 0) {\n array.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrayUtils.js.map","import { removeItem } from './utils/arrayUtils';\nvar BUFFER_LIMIT = 500;\nexport function createBoundedBuffer() {\n var buffer = [];\n var add = function (callback) {\n var length = buffer.push(callback);\n if (length > BUFFER_LIMIT) {\n buffer.splice(0, 1);\n }\n };\n var remove = function (callback) {\n removeItem(buffer, callback);\n };\n var drain = function (arg) {\n buffer.forEach(function (callback) { return callback(arg); });\n buffer.length = 0;\n };\n return {\n add: add,\n remove: remove,\n drain: drain,\n };\n}\n//# sourceMappingURL=boundedBuffer.js.map","export var TelemetryType = {\n log: 'log',\n configuration: 'configuration',\n usage: 'usage',\n};\n//# sourceMappingURL=rawTelemetryEvent.types.js.map","import { ConsoleApiName } from '../../tools/display';\nimport { NO_ERROR_STACK_PRESENT_MESSAGE, isError } from '../error/error';\nimport { toStackTraceString } from '../../tools/stackTrace/handlingStack';\nimport { getExperimentalFeatures } from '../../tools/experimentalFeatures';\nimport { INTAKE_SITE_STAGING, INTAKE_SITE_US1_FED } from '../configuration';\nimport { Observable } from '../../tools/observable';\nimport { timeStampNow } from '../../tools/utils/timeUtils';\nimport { displayIfDebugEnabled, startMonitorErrorCollection } from '../../tools/monitor';\nimport { sendToExtension } from '../../tools/sendToExtension';\nimport { startsWith, arrayFrom, includes, assign } from '../../tools/utils/polyfills';\nimport { performDraw } from '../../tools/utils/numberUtils';\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify';\nimport { combine } from '../../tools/mergeInto';\nimport { computeStackTrace } from '../../tools/stackTrace/computeStackTrace';\nimport { getConnectivity } from '../connectivity';\nimport { createBoundedBuffer } from '../../tools/boundedBuffer';\nimport { TelemetryType } from './rawTelemetryEvent.types';\nvar ALLOWED_FRAME_URLS = [\n 'https://www.datadoghq-browser-agent.com',\n 'https://www.datad0g-browser-agent.com',\n 'https://d3uc069fcn7uxw.cloudfront.net',\n 'https://d20xtzwzcl0ceb.cloudfront.net',\n 'http://localhost',\n '',\n];\nvar TELEMETRY_EXCLUDED_SITES = [INTAKE_SITE_US1_FED];\n// eslint-disable-next-line local-rules/disallow-side-effects\nvar preStartTelemetryBuffer = createBoundedBuffer();\nvar onRawTelemetryEventCollected = function (event) {\n preStartTelemetryBuffer.add(function () { return onRawTelemetryEventCollected(event); });\n};\nexport function startTelemetry(telemetryService, configuration) {\n var _a;\n var contextProvider;\n var observable = new Observable();\n var alreadySentEvents = new Set();\n var telemetryEnabled = !includes(TELEMETRY_EXCLUDED_SITES, configuration.site) && performDraw(configuration.telemetrySampleRate);\n var telemetryEnabledPerType = (_a = {},\n _a[TelemetryType.log] = telemetryEnabled,\n _a[TelemetryType.configuration] = telemetryEnabled && performDraw(configuration.telemetryConfigurationSampleRate),\n _a[TelemetryType.usage] = telemetryEnabled && performDraw(configuration.telemetryUsageSampleRate),\n _a);\n var runtimeEnvInfo = getRuntimeEnvInfo();\n onRawTelemetryEventCollected = function (rawEvent) {\n var stringifiedEvent = jsonStringify(rawEvent);\n if (telemetryEnabledPerType[rawEvent.type] &&\n alreadySentEvents.size < configuration.maxTelemetryEventsPerPage &&\n !alreadySentEvents.has(stringifiedEvent)) {\n var event_1 = toTelemetryEvent(telemetryService, rawEvent, runtimeEnvInfo);\n observable.notify(event_1);\n sendToExtension('telemetry', event_1);\n alreadySentEvents.add(stringifiedEvent);\n }\n };\n startMonitorErrorCollection(addTelemetryError);\n function toTelemetryEvent(telemetryService, event, runtimeEnvInfo) {\n return combine({\n type: 'telemetry',\n date: timeStampNow(),\n service: telemetryService,\n version: \"5.35.1\",\n source: 'browser',\n _dd: {\n format_version: 2,\n },\n telemetry: combine(event, {\n runtime_env: runtimeEnvInfo,\n connectivity: getConnectivity(),\n sdk_setup: \"npm\",\n }),\n experimental_features: arrayFrom(getExperimentalFeatures()),\n }, contextProvider !== undefined ? contextProvider() : {});\n }\n return {\n setContextProvider: function (provider) {\n contextProvider = provider;\n },\n observable: observable,\n enabled: telemetryEnabled,\n };\n}\nfunction getRuntimeEnvInfo() {\n return {\n is_local_file: window.location.protocol === 'file:',\n is_worker: 'WorkerGlobalScope' in self,\n };\n}\nexport function startFakeTelemetry() {\n var events = [];\n onRawTelemetryEventCollected = function (event) {\n events.push(event);\n };\n return events;\n}\n// need to be called after telemetry context is provided and observers are registered\nexport function drainPreStartTelemetry() {\n preStartTelemetryBuffer.drain();\n}\nexport function resetTelemetry() {\n preStartTelemetryBuffer = createBoundedBuffer();\n onRawTelemetryEventCollected = function (event) {\n preStartTelemetryBuffer.add(function () { return onRawTelemetryEventCollected(event); });\n };\n}\n/**\n * Avoid mixing telemetry events from different data centers\n * but keep replicating staging events for reliability\n */\nexport function isTelemetryReplicationAllowed(configuration) {\n return configuration.site === INTAKE_SITE_STAGING;\n}\nexport function addTelemetryDebug(message, context) {\n displayIfDebugEnabled(ConsoleApiName.debug, message, context);\n onRawTelemetryEventCollected(assign({\n type: TelemetryType.log,\n message: message,\n status: \"debug\" /* StatusType.debug */,\n }, context));\n}\nexport function addTelemetryError(e, context) {\n onRawTelemetryEventCollected(assign({\n type: TelemetryType.log,\n status: \"error\" /* StatusType.error */,\n }, formatError(e), context));\n}\nexport function addTelemetryConfiguration(configuration) {\n onRawTelemetryEventCollected({\n type: TelemetryType.configuration,\n configuration: configuration,\n });\n}\nexport function addTelemetryUsage(usage) {\n onRawTelemetryEventCollected({\n type: TelemetryType.usage,\n usage: usage,\n });\n}\nexport function formatError(e) {\n if (isError(e)) {\n var stackTrace = computeStackTrace(e);\n return {\n error: {\n kind: stackTrace.name,\n stack: toStackTraceString(scrubCustomerFrames(stackTrace)),\n },\n message: stackTrace.message,\n };\n }\n return {\n error: {\n stack: NO_ERROR_STACK_PRESENT_MESSAGE,\n },\n message: \"\".concat(\"Uncaught\" /* NonErrorPrefix.UNCAUGHT */, \" \").concat(jsonStringify(e)),\n };\n}\nexport function scrubCustomerFrames(stackTrace) {\n stackTrace.stack = stackTrace.stack.filter(function (frame) { return !frame.url || ALLOWED_FRAME_URLS.some(function (allowedFrameUrl) { return startsWith(frame.url, allowedFrameUrl); }); });\n return stackTrace;\n}\n//# sourceMappingURL=telemetry.js.map","import { display } from '../../tools/display';\nimport { getType } from '../../tools/utils/typeUtils';\nimport { assign } from '../../tools/utils/polyfills';\n/**\n * Clone input data and ensure known user properties (id, name, email)\n * are strings, as defined here:\n * https://docs.datadoghq.com/logs/log_configuration/attributes_naming_convention/#user-related-attributes\n */\nexport function sanitizeUser(newUser) {\n // We shallow clone only to prevent mutation of user data.\n var user = assign({}, newUser);\n var keys = ['id', 'name', 'email'];\n keys.forEach(function (key) {\n if (key in user) {\n /* eslint-disable @typescript-eslint/no-base-to-string */\n user[key] = String(user[key]);\n }\n });\n return user;\n}\n/**\n * Simple check to ensure user is valid\n */\nexport function checkUser(newUser) {\n var isValid = getType(newUser) === 'object';\n if (!isValid) {\n display.error('Unsupported user:', newUser);\n }\n return isValid;\n}\nexport function generateAnonymousId() {\n return Math.floor(Math.random() * Math.pow(2, 53)).toString(36);\n}\n//# sourceMappingURL=user.js.map","import { display } from '../tools/display';\nexport function displayAlreadyInitializedError(sdkName, initConfiguration) {\n if (!initConfiguration.silentMultipleInit) {\n display.error(\"\".concat(sdkName, \" is already initialized.\"));\n }\n}\n//# sourceMappingURL=displayAlreadyInitializedError.js.map","export function buildCommonContext(globalContextManager, userContextManager, recorderApi) {\n return {\n context: globalContextManager.getContext(),\n user: userContextManager.getContext(),\n hasReplay: recorderApi.isRecording() ? true : undefined,\n };\n}\n//# sourceMappingURL=commonContext.js.map","/**\n * UUID v4\n * from https://gist.github.com/jed/982883\n */\nexport function generateUUID(placeholder) {\n return placeholder\n ? // eslint-disable-next-line no-bitwise\n (parseInt(placeholder, 10) ^ ((Math.random() * 16) >> (parseInt(placeholder, 10) / 4))).toString(16)\n : \"\".concat(1e7, \"-\").concat(1e3, \"-\").concat(4e3, \"-\").concat(8e3, \"-\").concat(1e11).replace(/[018]/g, generateUUID);\n}\nvar COMMA_SEPARATED_KEY_VALUE = /([\\w-]+)\\s*=\\s*([^;]+)/g;\nexport function findCommaSeparatedValue(rawString, name) {\n COMMA_SEPARATED_KEY_VALUE.lastIndex = 0;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n var match = COMMA_SEPARATED_KEY_VALUE.exec(rawString);\n if (match) {\n if (match[1] === name) {\n return match[2];\n }\n }\n else {\n break;\n }\n }\n}\nexport function findCommaSeparatedValues(rawString) {\n var result = new Map();\n COMMA_SEPARATED_KEY_VALUE.lastIndex = 0;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n var match = COMMA_SEPARATED_KEY_VALUE.exec(rawString);\n if (match) {\n result.set(match[1], match[2]);\n }\n else {\n break;\n }\n }\n return result;\n}\nexport function safeTruncate(candidate, length, suffix) {\n if (suffix === void 0) { suffix = ''; }\n var lastChar = candidate.charCodeAt(length - 1);\n var isLastCharSurrogatePair = lastChar >= 0xd800 && lastChar <= 0xdbff;\n var correctedLength = isLastCharSurrogatePair ? length + 1 : length;\n if (candidate.length <= correctedLength) {\n return candidate;\n }\n return \"\".concat(candidate.slice(0, correctedLength)).concat(suffix);\n}\n//# sourceMappingURL=stringUtils.js.map","import { clocksNow, combine, elapsed, generateUUID, toServerDuration } from '@datadog/browser-core';\nexport function createCustomVitalsState() {\n var vitalsByName = new Map();\n var vitalsByReference = new WeakMap();\n return { vitalsByName: vitalsByName, vitalsByReference: vitalsByReference };\n}\nexport function startVitalCollection(lifeCycle, pageStateHistory, customVitalsState) {\n function isValid(vital) {\n return !pageStateHistory.wasInPageStateDuringPeriod(\"frozen\" /* PageState.FROZEN */, vital.startClocks.relative, vital.duration);\n }\n function addDurationVital(vital) {\n if (isValid(vital)) {\n lifeCycle.notify(12 /* LifeCycleEventType.RAW_RUM_EVENT_COLLECTED */, processVital(vital, true));\n }\n }\n return {\n addDurationVital: addDurationVital,\n startDurationVital: function (name, options) {\n if (options === void 0) { options = {}; }\n return startDurationVital(customVitalsState, name, options);\n },\n stopDurationVital: function (nameOrRef, options) {\n if (options === void 0) { options = {}; }\n stopDurationVital(addDurationVital, customVitalsState, nameOrRef, options);\n },\n };\n}\nexport function startDurationVital(_a, name, options) {\n var vitalsByName = _a.vitalsByName, vitalsByReference = _a.vitalsByReference;\n if (options === void 0) { options = {}; }\n var vital = {\n name: name,\n startClocks: clocksNow(),\n context: options.context,\n description: options.description,\n };\n // To avoid leaking implementation details of the vital, we return a reference to it.\n var reference = { __dd_vital_reference: true };\n vitalsByName.set(name, vital);\n // To avoid memory leaks caused by the creation of numerous references (e.g., from improper useEffect implementations), we use a WeakMap.\n vitalsByReference.set(reference, vital);\n return reference;\n}\nexport function stopDurationVital(stopCallback, _a, nameOrRef, options) {\n var vitalsByName = _a.vitalsByName, vitalsByReference = _a.vitalsByReference;\n if (options === void 0) { options = {}; }\n var vitalStart = typeof nameOrRef === 'string' ? vitalsByName.get(nameOrRef) : vitalsByReference.get(nameOrRef);\n if (!vitalStart) {\n return;\n }\n stopCallback(buildDurationVital(vitalStart, vitalStart.startClocks, options, clocksNow()));\n if (typeof nameOrRef === 'string') {\n vitalsByName.delete(nameOrRef);\n }\n else {\n vitalsByReference.delete(nameOrRef);\n }\n}\nfunction buildDurationVital(vitalStart, startClocks, stopOptions, stopClocks) {\n var _a;\n return {\n name: vitalStart.name,\n type: \"duration\" /* VitalType.DURATION */,\n startClocks: startClocks,\n duration: elapsed(startClocks.timeStamp, stopClocks.timeStamp),\n context: combine(vitalStart.context, stopOptions.context),\n description: (_a = stopOptions.description) !== null && _a !== void 0 ? _a : vitalStart.description,\n };\n}\nfunction processVital(vital, valueComputedBySdk) {\n var rawRumEvent = {\n date: vital.startClocks.timeStamp,\n vital: {\n id: generateUUID(),\n type: vital.type,\n name: vital.name,\n duration: toServerDuration(vital.duration),\n description: vital.description,\n },\n type: \"vital\" /* RumEventType.VITAL */,\n };\n if (valueComputedBySdk) {\n rawRumEvent._dd = {\n vital: {\n computed_value: true,\n },\n };\n }\n return {\n rawRumEvent: rawRumEvent,\n startTime: vital.startClocks.relative,\n customerContext: vital.context,\n domainContext: {},\n };\n}\n//# sourceMappingURL=vitalCollection.js.map","import { endsWith, includes } from '../tools/utils/polyfills';\nimport { getGlobalObject } from '../tools/getGlobalObject';\nexport function getEventBridge() {\n var eventBridgeGlobal = getEventBridgeGlobal();\n if (!eventBridgeGlobal) {\n return;\n }\n return {\n getCapabilities: function () {\n var _a;\n return JSON.parse(((_a = eventBridgeGlobal.getCapabilities) === null || _a === void 0 ? void 0 : _a.call(eventBridgeGlobal)) || '[]');\n },\n getPrivacyLevel: function () {\n var _a;\n return (_a = eventBridgeGlobal.getPrivacyLevel) === null || _a === void 0 ? void 0 : _a.call(eventBridgeGlobal);\n },\n getAllowedWebViewHosts: function () {\n return JSON.parse(eventBridgeGlobal.getAllowedWebViewHosts());\n },\n send: function (eventType, event, viewId) {\n var view = viewId ? { id: viewId } : undefined;\n eventBridgeGlobal.send(JSON.stringify({ eventType: eventType, event: event, view: view }));\n },\n };\n}\nexport function bridgeSupports(capability) {\n var bridge = getEventBridge();\n return !!bridge && includes(bridge.getCapabilities(), capability);\n}\nexport function canUseEventBridge(currentHost) {\n var _a;\n if (currentHost === void 0) { currentHost = (_a = getGlobalObject().location) === null || _a === void 0 ? void 0 : _a.hostname; }\n var bridge = getEventBridge();\n return (!!bridge &&\n bridge\n .getAllowedWebViewHosts()\n .some(function (allowedHost) { return currentHost === allowedHost || endsWith(currentHost, \".\".concat(allowedHost)); }));\n}\nfunction getEventBridgeGlobal() {\n return getGlobalObject().DatadogEventBridge;\n}\n//# sourceMappingURL=eventBridge.js.map","import { setTimeout } from './timer';\nimport { callMonitored } from './monitor';\nimport { noop } from './utils/functionUtils';\nimport { arrayFrom, startsWith } from './utils/polyfills';\nimport { createHandlingStack } from './stackTrace/handlingStack';\n/**\n * Instruments a method on a object, calling the given callback before the original method is\n * invoked. The callback receives an object with information about the method call.\n *\n * This function makes sure that we are \"good citizens\" regarding third party instrumentations: when\n * removing the instrumentation, the original method is usually restored, but if a third party\n * instrumentation was set after ours, we keep it in place and just replace our instrumentation with\n * a noop.\n *\n * Note: it is generally better to instrument methods that are \"owned\" by the object instead of ones\n * that are inherited from the prototype chain. Example:\n * * do: `instrumentMethod(Array.prototype, 'push', ...)`\n * * don't: `instrumentMethod([], 'push', ...)`\n *\n * This method is also used to set event handler properties (ex: window.onerror = ...), as it has\n * the same requirements as instrumenting a method:\n * * if the event handler is already set by a third party, we need to call it and not just blindly\n * override it.\n * * if the event handler is set by a third party after us, we need to keep it in place when\n * removing ours.\n *\n * @example\n *\n * instrumentMethod(window, 'fetch', ({ target, parameters, onPostCall }) => {\n * console.log('Before calling fetch on', target, 'with parameters', parameters)\n *\n * onPostCall((result) => {\n * console.log('After fetch calling on', target, 'with parameters', parameters, 'and result', result)\n * })\n * })\n */\nexport function instrumentMethod(targetPrototype, method, onPreCall, _a) {\n var _b = _a === void 0 ? {} : _a, computeHandlingStack = _b.computeHandlingStack;\n var original = targetPrototype[method];\n if (typeof original !== 'function') {\n if (method in targetPrototype && startsWith(method, 'on')) {\n original = noop;\n }\n else {\n return { stop: noop };\n }\n }\n var stopped = false;\n var instrumentation = function () {\n if (stopped) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call\n return original.apply(this, arguments);\n }\n var parameters = arrayFrom(arguments);\n var postCallCallback;\n callMonitored(onPreCall, null, [\n {\n target: this,\n parameters: parameters,\n onPostCall: function (callback) {\n postCallCallback = callback;\n },\n handlingStack: computeHandlingStack ? createHandlingStack() : undefined,\n },\n ]);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n var result = original.apply(this, parameters);\n if (postCallCallback) {\n callMonitored(postCallCallback, null, [result]);\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return result;\n };\n targetPrototype[method] = instrumentation;\n return {\n stop: function () {\n stopped = true;\n // If the instrumentation has been removed by a third party, keep the last one\n if (targetPrototype[method] === instrumentation) {\n targetPrototype[method] = original;\n }\n },\n };\n}\nexport function instrumentSetter(targetPrototype, property, after) {\n var originalDescriptor = Object.getOwnPropertyDescriptor(targetPrototype, property);\n if (!originalDescriptor || !originalDescriptor.set || !originalDescriptor.configurable) {\n return { stop: noop };\n }\n var stoppedInstrumentation = noop;\n var instrumentation = function (target, value) {\n // put hooked setter into event loop to avoid of set latency\n setTimeout(function () {\n if (instrumentation !== stoppedInstrumentation) {\n after(target, value);\n }\n }, 0);\n };\n var instrumentationWrapper = function (value) {\n originalDescriptor.set.call(this, value);\n instrumentation(this, value);\n };\n Object.defineProperty(targetPrototype, property, {\n set: instrumentationWrapper,\n });\n return {\n stop: function () {\n var _a;\n if (((_a = Object.getOwnPropertyDescriptor(targetPrototype, property)) === null || _a === void 0 ? void 0 : _a.set) === instrumentationWrapper) {\n Object.defineProperty(targetPrototype, property, originalDescriptor);\n }\n instrumentation = stoppedInstrumentation;\n },\n };\n}\n//# sourceMappingURL=instrumentMethod.js.map","import { jsonStringify } from '../serialisation/jsonStringify';\nexport function normalizeUrl(url) {\n return buildUrl(url, location.href).href;\n}\nexport function isValidUrl(url) {\n try {\n return !!buildUrl(url);\n }\n catch (_a) {\n return false;\n }\n}\nexport function getPathName(url) {\n var pathname = buildUrl(url).pathname;\n return pathname[0] === '/' ? pathname : \"/\".concat(pathname);\n}\nexport function buildUrl(url, base) {\n var supportedURL = getSupportedUrl();\n if (supportedURL) {\n try {\n return base !== undefined ? new supportedURL(url, base) : new supportedURL(url);\n }\n catch (error) {\n throw new Error(\"Failed to construct URL: \".concat(String(error), \" \").concat(jsonStringify({ url: url, base: base })));\n }\n }\n if (base === undefined && !/:/.test(url)) {\n throw new Error(\"Invalid URL: '\".concat(url, \"'\"));\n }\n var doc = document;\n var anchorElement = doc.createElement('a');\n if (base !== undefined) {\n doc = document.implementation.createHTMLDocument('');\n var baseElement = doc.createElement('base');\n baseElement.href = base;\n doc.head.appendChild(baseElement);\n doc.body.appendChild(anchorElement);\n }\n anchorElement.href = url;\n return anchorElement;\n}\nvar originalURL = URL;\nvar isURLSupported;\nfunction getSupportedUrl() {\n if (isURLSupported === undefined) {\n try {\n var url = new originalURL('http://test/path');\n isURLSupported = url.href === 'http://test/path';\n }\n catch (_a) {\n isURLSupported = false;\n }\n }\n return isURLSupported ? originalURL : undefined;\n}\n//# sourceMappingURL=urlPolyfill.js.map","import { instrumentMethod } from '../tools/instrumentMethod';\nimport { monitor } from '../tools/monitor';\nimport { Observable } from '../tools/observable';\nimport { assign } from '../tools/utils/polyfills';\nimport { clocksNow } from '../tools/utils/timeUtils';\nimport { normalizeUrl } from '../tools/utils/urlPolyfill';\nvar fetchObservable;\nexport function initFetchObservable() {\n if (!fetchObservable) {\n fetchObservable = createFetchObservable();\n }\n return fetchObservable;\n}\nexport function resetFetchObservable() {\n fetchObservable = undefined;\n}\nfunction createFetchObservable() {\n return new Observable(function (observable) {\n if (!window.fetch) {\n return;\n }\n var stop = instrumentMethod(window, 'fetch', function (call) { return beforeSend(call, observable); }, {\n computeHandlingStack: true,\n }).stop;\n return stop;\n });\n}\nfunction beforeSend(_a, observable) {\n var parameters = _a.parameters, onPostCall = _a.onPostCall, handlingStack = _a.handlingStack;\n var input = parameters[0], init = parameters[1];\n var methodFromParams = init && init.method;\n if (methodFromParams === undefined && input instanceof Request) {\n methodFromParams = input.method;\n }\n var method = methodFromParams !== undefined ? String(methodFromParams).toUpperCase() : 'GET';\n var url = input instanceof Request ? input.url : normalizeUrl(String(input));\n var startClocks = clocksNow();\n var context = {\n state: 'start',\n init: init,\n input: input,\n method: method,\n startClocks: startClocks,\n url: url,\n handlingStack: handlingStack,\n };\n observable.notify(context);\n // Those properties can be changed by observable subscribers\n parameters[0] = context.input;\n parameters[1] = context.init;\n onPostCall(function (responsePromise) { return afterSend(observable, responsePromise, context); });\n}\nfunction afterSend(observable, responsePromise, startContext) {\n var context = startContext;\n function reportFetch(partialContext) {\n context.state = 'resolve';\n assign(context, partialContext);\n observable.notify(context);\n }\n responsePromise.then(monitor(function (response) {\n reportFetch({\n response: response,\n responseType: response.type,\n status: response.status,\n isAborted: false,\n });\n }), monitor(function (error) {\n var _a, _b;\n reportFetch({\n status: 0,\n isAborted: ((_b = (_a = context.init) === null || _a === void 0 ? void 0 : _a.signal) === null || _b === void 0 ? void 0 : _b.aborted) || (error instanceof DOMException && error.code === DOMException.ABORT_ERR),\n error: error,\n });\n }));\n}\n//# sourceMappingURL=fetchObservable.js.map","import { display } from '../tools/display';\nimport { ONE_MINUTE, ONE_SECOND } from '../tools/utils/timeUtils';\nimport { findCommaSeparatedValue, findCommaSeparatedValues, generateUUID } from '../tools/utils/stringUtils';\nexport function setCookie(name, value, expireDelay, options) {\n if (expireDelay === void 0) { expireDelay = 0; }\n var date = new Date();\n date.setTime(date.getTime() + expireDelay);\n var expires = \"expires=\".concat(date.toUTCString());\n var sameSite = options && options.crossSite ? 'none' : 'strict';\n var domain = options && options.domain ? \";domain=\".concat(options.domain) : '';\n var secure = options && options.secure ? ';secure' : '';\n var partitioned = options && options.partitioned ? ';partitioned' : '';\n document.cookie = \"\".concat(name, \"=\").concat(value, \";\").concat(expires, \";path=/;samesite=\").concat(sameSite).concat(domain).concat(secure).concat(partitioned);\n}\nexport function getCookie(name) {\n return findCommaSeparatedValue(document.cookie, name);\n}\nvar initCookieParsed;\n/**\n * Returns a cached value of the cookie. Use this during SDK initialization (and whenever possible)\n * to avoid accessing document.cookie multiple times.\n */\nexport function getInitCookie(name) {\n if (!initCookieParsed) {\n initCookieParsed = findCommaSeparatedValues(document.cookie);\n }\n return initCookieParsed.get(name);\n}\nexport function resetInitCookies() {\n initCookieParsed = undefined;\n}\nexport function deleteCookie(name, options) {\n setCookie(name, '', 0, options);\n}\nexport function areCookiesAuthorized(options) {\n if (document.cookie === undefined || document.cookie === null) {\n return false;\n }\n try {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n var testCookieName = \"dd_cookie_test_\".concat(generateUUID());\n var testCookieValue = 'test';\n setCookie(testCookieName, testCookieValue, ONE_MINUTE, options);\n var isCookieCorrectlySet = getCookie(testCookieName) === testCookieValue;\n deleteCookie(testCookieName, options);\n return isCookieCorrectlySet;\n }\n catch (error) {\n display.error(error);\n return false;\n }\n}\n/**\n * No API to retrieve it, number of levels for subdomain and suffix are unknown\n * strategy: find the minimal domain on which cookies are allowed to be set\n * https://web.dev/same-site-same-origin/#site\n */\nvar getCurrentSiteCache;\nexport function getCurrentSite() {\n if (getCurrentSiteCache === undefined) {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n var testCookieName = \"dd_site_test_\".concat(generateUUID());\n var testCookieValue = 'test';\n var domainLevels = window.location.hostname.split('.');\n var candidateDomain = domainLevels.pop();\n while (domainLevels.length && !getCookie(testCookieName)) {\n candidateDomain = \"\".concat(domainLevels.pop(), \".\").concat(candidateDomain);\n setCookie(testCookieName, testCookieValue, ONE_SECOND, { domain: candidateDomain });\n }\n deleteCookie(testCookieName, { domain: candidateDomain });\n getCurrentSiteCache = candidateDomain;\n }\n return getCurrentSiteCache;\n}\n//# sourceMappingURL=cookie.js.map","import { getInitCookie } from '../../browser/cookie';\nexport var SYNTHETICS_TEST_ID_COOKIE_NAME = 'datadog-synthetics-public-id';\nexport var SYNTHETICS_RESULT_ID_COOKIE_NAME = 'datadog-synthetics-result-id';\nexport var SYNTHETICS_INJECTS_RUM_COOKIE_NAME = 'datadog-synthetics-injects-rum';\nexport function willSyntheticsInjectRum() {\n return Boolean(window._DATADOG_SYNTHETICS_INJECTS_RUM || getInitCookie(SYNTHETICS_INJECTS_RUM_COOKIE_NAME));\n}\nexport function getSyntheticsTestId() {\n var value = window._DATADOG_SYNTHETICS_PUBLIC_ID || getInitCookie(SYNTHETICS_TEST_ID_COOKIE_NAME);\n return typeof value === 'string' ? value : undefined;\n}\nexport function getSyntheticsResultId() {\n var value = window._DATADOG_SYNTHETICS_RESULT_ID || getInitCookie(SYNTHETICS_RESULT_ID_COOKIE_NAME);\n return typeof value === 'string' ? value : undefined;\n}\n//# sourceMappingURL=syntheticsWorkerValues.js.map","export function isIE() {\n return detectBrowserCached() === 0 /* Browser.IE */;\n}\nexport function isChromium() {\n return detectBrowserCached() === 1 /* Browser.CHROMIUM */;\n}\nexport function isSafari() {\n return detectBrowserCached() === 2 /* Browser.SAFARI */;\n}\nvar browserCache;\nfunction detectBrowserCached() {\n return browserCache !== null && browserCache !== void 0 ? browserCache : (browserCache = detectBrowser());\n}\n// Exported only for tests\nexport function detectBrowser(browserWindow) {\n var _a;\n if (browserWindow === void 0) { browserWindow = window; }\n var userAgent = browserWindow.navigator.userAgent;\n if (browserWindow.chrome || /HeadlessChrome/.test(userAgent)) {\n return 1 /* Browser.CHROMIUM */;\n }\n if (\n // navigator.vendor is deprecated, but it is the most resilient way we found to detect\n // \"Apple maintained browsers\" (AKA Safari). If one day it gets removed, we still have the\n // useragent test as a semi-working fallback.\n ((_a = browserWindow.navigator.vendor) === null || _a === void 0 ? void 0 : _a.indexOf('Apple')) === 0 ||\n (/safari/i.test(userAgent) && !/chrome|android/i.test(userAgent))) {\n return 2 /* Browser.SAFARI */;\n }\n if (browserWindow.document.documentMode) {\n return 0 /* Browser.IE */;\n }\n return 3 /* Browser.OTHER */;\n}\n//# sourceMappingURL=browserDetection.js.map","export var SESSION_STORE_KEY = '_dd_s';\n//# sourceMappingURL=sessionStoreStrategy.js.map","import { ONE_HOUR, ONE_MINUTE, ONE_YEAR } from '../../tools/utils/timeUtils';\nexport var SESSION_TIME_OUT_DELAY = 4 * ONE_HOUR;\nexport var SESSION_EXPIRATION_DELAY = 15 * ONE_MINUTE;\nexport var SESSION_COOKIE_EXPIRATION_DELAY = ONE_YEAR;\nexport var SessionPersistence = {\n COOKIE: 'cookie',\n LOCAL_STORAGE: 'local-storage',\n};\n//# sourceMappingURL=sessionConstants.js.map","export var SESSION_ENTRY_REGEXP = /^([a-zA-Z]+)=([a-z0-9-]+)$/;\nexport var SESSION_ENTRY_SEPARATOR = '&';\nexport function isValidSessionString(sessionString) {\n return (!!sessionString &&\n (sessionString.indexOf(SESSION_ENTRY_SEPARATOR) !== -1 || SESSION_ENTRY_REGEXP.test(sessionString)));\n}\n//# sourceMappingURL=sessionStateValidation.js.map","import { ExperimentalFeature, isExperimentalFeatureEnabled } from '../../tools/experimentalFeatures';\nimport { isEmptyObject } from '../../tools/utils/objectUtils';\nimport { objectEntries } from '../../tools/utils/polyfills';\nimport { dateNow } from '../../tools/utils/timeUtils';\nimport { generateAnonymousId } from '../user';\nimport { SESSION_EXPIRATION_DELAY, SESSION_TIME_OUT_DELAY } from './sessionConstants';\nimport { isValidSessionString, SESSION_ENTRY_REGEXP, SESSION_ENTRY_SEPARATOR } from './sessionStateValidation';\nexport var EXPIRED = '1';\nexport function getExpiredSessionState(previousSessionState) {\n var expiredSessionState = {\n isExpired: EXPIRED,\n };\n if (isExperimentalFeatureEnabled(ExperimentalFeature.ANONYMOUS_USER_TRACKING)) {\n if (previousSessionState === null || previousSessionState === void 0 ? void 0 : previousSessionState.anonymousId) {\n expiredSessionState.anonymousId = previousSessionState === null || previousSessionState === void 0 ? void 0 : previousSessionState.anonymousId;\n }\n else {\n expiredSessionState.anonymousId = generateAnonymousId();\n }\n }\n return expiredSessionState;\n}\nexport function isSessionInNotStartedState(session) {\n return isEmptyObject(session);\n}\nexport function isSessionStarted(session) {\n return !isSessionInNotStartedState(session);\n}\nexport function isSessionInExpiredState(session) {\n return session.isExpired !== undefined || !isActiveSession(session);\n}\n// An active session is a session in either `Tracked` or `NotTracked` state\nfunction isActiveSession(sessionState) {\n // created and expire can be undefined for versions which was not storing them\n // these checks could be removed when older versions will not be available/live anymore\n return ((sessionState.created === undefined || dateNow() - Number(sessionState.created) < SESSION_TIME_OUT_DELAY) &&\n (sessionState.expire === undefined || dateNow() < Number(sessionState.expire)));\n}\nexport function expandSessionState(session) {\n session.expire = String(dateNow() + SESSION_EXPIRATION_DELAY);\n}\nexport function toSessionString(session) {\n return (objectEntries(session)\n // we use `aid` as a key for anonymousId\n .map(function (_a) {\n var key = _a[0], value = _a[1];\n return (key === 'anonymousId' ? \"aid=\".concat(value) : \"\".concat(key, \"=\").concat(value));\n })\n .join(SESSION_ENTRY_SEPARATOR));\n}\nexport function toSessionState(sessionString) {\n var session = {};\n if (isValidSessionString(sessionString)) {\n sessionString.split(SESSION_ENTRY_SEPARATOR).forEach(function (entry) {\n var matches = SESSION_ENTRY_REGEXP.exec(entry);\n if (matches !== null) {\n var key = matches[1], value = matches[2];\n if (key === 'aid') {\n // we use `aid` as a key for anonymousId\n session.anonymousId = value;\n }\n else {\n session[key] = value;\n }\n }\n });\n }\n return session;\n}\n//# sourceMappingURL=sessionState.js.map","import { getInitCookie } from '../../browser/cookie';\nimport { SESSION_STORE_KEY } from './storeStrategies/sessionStoreStrategy';\nimport { expandSessionState, isSessionStarted } from './sessionState';\nexport var OLD_SESSION_COOKIE_NAME = '_dd';\nexport var OLD_RUM_COOKIE_NAME = '_dd_r';\nexport var OLD_LOGS_COOKIE_NAME = '_dd_l';\n// duplicate values to avoid dependency issues\nexport var RUM_SESSION_KEY = 'rum';\nexport var LOGS_SESSION_KEY = 'logs';\n/**\n * This migration should remain in the codebase as long as older versions are available/live\n * to allow older sdk versions to be upgraded to newer versions without compatibility issues.\n */\nexport function tryOldCookiesMigration(cookieStoreStrategy) {\n var sessionString = getInitCookie(SESSION_STORE_KEY);\n if (!sessionString) {\n var oldSessionId = getInitCookie(OLD_SESSION_COOKIE_NAME);\n var oldRumType = getInitCookie(OLD_RUM_COOKIE_NAME);\n var oldLogsType = getInitCookie(OLD_LOGS_COOKIE_NAME);\n var session = {};\n if (oldSessionId) {\n session.id = oldSessionId;\n }\n if (oldLogsType && /^[01]$/.test(oldLogsType)) {\n session[LOGS_SESSION_KEY] = oldLogsType;\n }\n if (oldRumType && /^[012]$/.test(oldRumType)) {\n session[RUM_SESSION_KEY] = oldRumType;\n }\n if (isSessionStarted(session)) {\n expandSessionState(session);\n cookieStoreStrategy.persistSession(session);\n }\n }\n}\n//# sourceMappingURL=oldCookiesMigration.js.map","import { isChromium } from '../../../tools/utils/browserDetection';\nimport { ExperimentalFeature, isExperimentalFeatureEnabled } from '../../../tools/experimentalFeatures';\nimport { getCurrentSite, areCookiesAuthorized, getCookie, setCookie } from '../../../browser/cookie';\nimport { tryOldCookiesMigration } from '../oldCookiesMigration';\nimport { SESSION_COOKIE_EXPIRATION_DELAY, SESSION_EXPIRATION_DELAY, SESSION_TIME_OUT_DELAY, SessionPersistence, } from '../sessionConstants';\nimport { toSessionString, toSessionState, getExpiredSessionState } from '../sessionState';\nimport { SESSION_STORE_KEY } from './sessionStoreStrategy';\nexport function selectCookieStrategy(initConfiguration) {\n var cookieOptions = buildCookieOptions(initConfiguration);\n return areCookiesAuthorized(cookieOptions) ? { type: SessionPersistence.COOKIE, cookieOptions: cookieOptions } : undefined;\n}\nexport function initCookieStrategy(cookieOptions) {\n var cookieStore = {\n /**\n * Lock strategy allows mitigating issues due to concurrent access to cookie.\n * This issue concerns only chromium browsers and enabling this on firefox increases cookie write failures.\n */\n isLockEnabled: isChromium(),\n persistSession: persistSessionCookie(cookieOptions),\n retrieveSession: retrieveSessionCookie,\n expireSession: function (sessionState) { return expireSessionCookie(cookieOptions, sessionState); },\n };\n tryOldCookiesMigration(cookieStore);\n return cookieStore;\n}\nfunction persistSessionCookie(options) {\n return function (session) {\n setCookie(SESSION_STORE_KEY, toSessionString(session), SESSION_EXPIRATION_DELAY, options);\n };\n}\nfunction expireSessionCookie(options, sessionState) {\n var expiredSessionState = getExpiredSessionState(sessionState);\n setCookie(SESSION_STORE_KEY, toSessionString(expiredSessionState), isExperimentalFeatureEnabled(ExperimentalFeature.ANONYMOUS_USER_TRACKING)\n ? SESSION_COOKIE_EXPIRATION_DELAY\n : SESSION_TIME_OUT_DELAY, options);\n}\nfunction retrieveSessionCookie() {\n var sessionString = getCookie(SESSION_STORE_KEY);\n var sessionState = toSessionState(sessionString);\n return sessionState;\n}\nexport function buildCookieOptions(initConfiguration) {\n var cookieOptions = {};\n cookieOptions.secure =\n !!initConfiguration.useSecureSessionCookie ||\n !!initConfiguration.usePartitionedCrossSiteSessionCookie ||\n !!initConfiguration.useCrossSiteSessionCookie;\n cookieOptions.crossSite =\n !!initConfiguration.usePartitionedCrossSiteSessionCookie || !!initConfiguration.useCrossSiteSessionCookie;\n cookieOptions.partitioned = !!initConfiguration.usePartitionedCrossSiteSessionCookie;\n if (initConfiguration.trackSessionAcrossSubdomains) {\n cookieOptions.domain = getCurrentSite();\n }\n return cookieOptions;\n}\n//# sourceMappingURL=sessionInCookie.js.map","import { generateUUID } from '../../../tools/utils/stringUtils';\nimport { SessionPersistence } from '../sessionConstants';\nimport { toSessionString, toSessionState, getExpiredSessionState } from '../sessionState';\nimport { SESSION_STORE_KEY } from './sessionStoreStrategy';\nvar LOCAL_STORAGE_TEST_KEY = '_dd_test_';\nexport function selectLocalStorageStrategy() {\n try {\n var id = generateUUID();\n var testKey = \"\".concat(LOCAL_STORAGE_TEST_KEY).concat(id);\n localStorage.setItem(testKey, id);\n var retrievedId = localStorage.getItem(testKey);\n localStorage.removeItem(testKey);\n return id === retrievedId ? { type: SessionPersistence.LOCAL_STORAGE } : undefined;\n }\n catch (_a) {\n return undefined;\n }\n}\nexport function initLocalStorageStrategy() {\n return {\n isLockEnabled: false,\n persistSession: persistInLocalStorage,\n retrieveSession: retrieveSessionFromLocalStorage,\n expireSession: expireSessionFromLocalStorage,\n };\n}\nfunction persistInLocalStorage(sessionState) {\n localStorage.setItem(SESSION_STORE_KEY, toSessionString(sessionState));\n}\nfunction retrieveSessionFromLocalStorage() {\n var sessionString = localStorage.getItem(SESSION_STORE_KEY);\n return toSessionState(sessionString);\n}\nfunction expireSessionFromLocalStorage(previousSessionState) {\n persistInLocalStorage(getExpiredSessionState(previousSessionState));\n}\n//# sourceMappingURL=sessionInLocalStorage.js.map","import { setTimeout } from '../../tools/timer';\nimport { generateUUID } from '../../tools/utils/stringUtils';\nimport { assign } from '../../tools/utils/polyfills';\nimport { expandSessionState, isSessionInExpiredState } from './sessionState';\nexport var LOCK_RETRY_DELAY = 10;\nexport var LOCK_MAX_TRIES = 100;\nvar bufferedOperations = [];\nvar ongoingOperations;\nexport function processSessionStoreOperations(operations, sessionStoreStrategy, numberOfRetries) {\n var _a;\n if (numberOfRetries === void 0) { numberOfRetries = 0; }\n var isLockEnabled = sessionStoreStrategy.isLockEnabled, persistSession = sessionStoreStrategy.persistSession, expireSession = sessionStoreStrategy.expireSession;\n var persistWithLock = function (session) { return persistSession(assign({}, session, { lock: currentLock })); };\n var retrieveStore = function () {\n var session = sessionStoreStrategy.retrieveSession();\n var lock = session.lock;\n if (session.lock) {\n delete session.lock;\n }\n return {\n session: session,\n lock: lock,\n };\n };\n if (!ongoingOperations) {\n ongoingOperations = operations;\n }\n if (operations !== ongoingOperations) {\n bufferedOperations.push(operations);\n return;\n }\n if (isLockEnabled && numberOfRetries >= LOCK_MAX_TRIES) {\n next(sessionStoreStrategy);\n return;\n }\n var currentLock;\n var currentStore = retrieveStore();\n if (isLockEnabled) {\n // if someone has lock, retry later\n if (currentStore.lock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries);\n return;\n }\n // acquire lock\n currentLock = generateUUID();\n persistWithLock(currentStore.session);\n // if lock is not acquired, retry later\n currentStore = retrieveStore();\n if (currentStore.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries);\n return;\n }\n }\n var processedSession = operations.process(currentStore.session);\n if (isLockEnabled) {\n // if lock corrupted after process, retry later\n currentStore = retrieveStore();\n if (currentStore.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries);\n return;\n }\n }\n if (processedSession) {\n if (isSessionInExpiredState(processedSession)) {\n expireSession(processedSession);\n }\n else {\n expandSessionState(processedSession);\n if (isLockEnabled) {\n persistWithLock(processedSession);\n }\n else {\n persistSession(processedSession);\n }\n }\n }\n if (isLockEnabled) {\n // correctly handle lock around expiration would require to handle this case properly at several levels\n // since we don't have evidence of lock issues around expiration, let's just not do the corruption check for it\n if (!(processedSession && isSessionInExpiredState(processedSession))) {\n // if lock corrupted after persist, retry later\n currentStore = retrieveStore();\n if (currentStore.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries);\n return;\n }\n persistSession(currentStore.session);\n processedSession = currentStore.session;\n }\n }\n // call after even if session is not persisted in order to perform operations on\n // up-to-date session state value => the value could have been modified by another tab\n (_a = operations.after) === null || _a === void 0 ? void 0 : _a.call(operations, processedSession || currentStore.session);\n next(sessionStoreStrategy);\n}\nfunction retryLater(operations, sessionStore, currentNumberOfRetries) {\n setTimeout(function () {\n processSessionStoreOperations(operations, sessionStore, currentNumberOfRetries + 1);\n }, LOCK_RETRY_DELAY);\n}\nfunction next(sessionStore) {\n ongoingOperations = undefined;\n var nextOperations = bufferedOperations.shift();\n if (nextOperations) {\n processSessionStoreOperations(nextOperations, sessionStore);\n }\n}\n//# sourceMappingURL=sessionStoreOperations.js.map","import { clearInterval, setInterval } from '../../tools/timer';\nimport { Observable } from '../../tools/observable';\nimport { ONE_SECOND, dateNow } from '../../tools/utils/timeUtils';\nimport { throttle } from '../../tools/utils/functionUtils';\nimport { generateUUID } from '../../tools/utils/stringUtils';\nimport { assign } from '../../tools/utils/polyfills';\nimport { display } from '../../tools/display';\nimport { selectCookieStrategy, initCookieStrategy } from './storeStrategies/sessionInCookie';\nimport { getExpiredSessionState, isSessionInExpiredState, isSessionInNotStartedState, isSessionStarted, } from './sessionState';\nimport { initLocalStorageStrategy, selectLocalStorageStrategy } from './storeStrategies/sessionInLocalStorage';\nimport { processSessionStoreOperations } from './sessionStoreOperations';\nimport { SessionPersistence } from './sessionConstants';\n/**\n * Every second, the storage will be polled to check for any change that can occur\n * to the session state in another browser tab, or another window.\n * This value has been determined from our previous cookie-only implementation.\n */\nexport var STORAGE_POLL_DELAY = ONE_SECOND;\n/**\n * Selects the correct session store strategy type based on the configuration and storage\n * availability.\n */\nexport function selectSessionStoreStrategyType(initConfiguration) {\n switch (initConfiguration.sessionPersistence) {\n case SessionPersistence.COOKIE:\n return selectCookieStrategy(initConfiguration);\n case SessionPersistence.LOCAL_STORAGE:\n return selectLocalStorageStrategy();\n case undefined: {\n var sessionStoreStrategyType = selectCookieStrategy(initConfiguration);\n if (!sessionStoreStrategyType && initConfiguration.allowFallbackToLocalStorage) {\n sessionStoreStrategyType = selectLocalStorageStrategy();\n }\n return sessionStoreStrategyType;\n }\n default:\n display.error(\"Invalid session persistence '\".concat(String(initConfiguration.sessionPersistence), \"'\"));\n }\n}\n/**\n * Different session concepts:\n * - tracked, the session has an id and is updated along the user navigation\n * - not tracked, the session does not have an id but it is updated along the user navigation\n * - inactive, no session in store or session expired, waiting for a renew session\n */\nexport function startSessionStore(sessionStoreStrategyType, productKey, computeSessionState) {\n var renewObservable = new Observable();\n var expireObservable = new Observable();\n var sessionStateUpdateObservable = new Observable();\n var sessionStoreStrategy = sessionStoreStrategyType.type === SessionPersistence.COOKIE\n ? initCookieStrategy(sessionStoreStrategyType.cookieOptions)\n : initLocalStorageStrategy();\n var expireSession = sessionStoreStrategy.expireSession;\n var watchSessionTimeoutId = setInterval(watchSession, STORAGE_POLL_DELAY);\n var sessionCache;\n startSession();\n var _a = throttle(function () {\n processSessionStoreOperations({\n process: function (sessionState) {\n if (isSessionInNotStartedState(sessionState)) {\n return;\n }\n var synchronizedSession = synchronizeSession(sessionState);\n expandOrRenewSessionState(synchronizedSession);\n return synchronizedSession;\n },\n after: function (sessionState) {\n if (isSessionStarted(sessionState) && !hasSessionInCache()) {\n renewSessionInCache(sessionState);\n }\n sessionCache = sessionState;\n },\n }, sessionStoreStrategy);\n }, STORAGE_POLL_DELAY), throttledExpandOrRenewSession = _a.throttled, cancelExpandOrRenewSession = _a.cancel;\n function expandSession() {\n processSessionStoreOperations({\n process: function (sessionState) { return (hasSessionInCache() ? synchronizeSession(sessionState) : undefined); },\n }, sessionStoreStrategy);\n }\n /**\n * allows two behaviors:\n * - if the session is active, synchronize the session cache without updating the session store\n * - if the session is not active, clear the session store and expire the session cache\n */\n function watchSession() {\n processSessionStoreOperations({\n process: function (sessionState) {\n return isSessionInExpiredState(sessionState) ? getExpiredSessionState(sessionState) : undefined;\n },\n after: synchronizeSession,\n }, sessionStoreStrategy);\n }\n function synchronizeSession(sessionState) {\n if (isSessionInExpiredState(sessionState)) {\n sessionState = getExpiredSessionState(sessionState);\n }\n if (hasSessionInCache()) {\n if (isSessionInCacheOutdated(sessionState)) {\n expireSessionInCache();\n }\n else {\n sessionStateUpdateObservable.notify({ previousState: sessionCache, newState: sessionState });\n sessionCache = sessionState;\n }\n }\n return sessionState;\n }\n function startSession() {\n processSessionStoreOperations({\n process: function (sessionState) {\n if (isSessionInNotStartedState(sessionState)) {\n return getExpiredSessionState(sessionState);\n }\n },\n after: function (sessionState) {\n sessionCache = sessionState;\n },\n }, sessionStoreStrategy);\n }\n function expandOrRenewSessionState(sessionState) {\n if (isSessionInNotStartedState(sessionState)) {\n return false;\n }\n var _a = computeSessionState(sessionState[productKey]), trackingType = _a.trackingType, isTracked = _a.isTracked;\n sessionState[productKey] = trackingType;\n delete sessionState.isExpired;\n if (isTracked && !sessionState.id) {\n sessionState.id = generateUUID();\n sessionState.created = String(dateNow());\n }\n }\n function hasSessionInCache() {\n return sessionCache[productKey] !== undefined;\n }\n function isSessionInCacheOutdated(sessionState) {\n return sessionCache.id !== sessionState.id || sessionCache[productKey] !== sessionState[productKey];\n }\n function expireSessionInCache() {\n sessionCache = getExpiredSessionState(sessionCache);\n expireObservable.notify();\n }\n function renewSessionInCache(sessionState) {\n sessionCache = sessionState;\n renewObservable.notify();\n }\n function updateSessionState(partialSessionState) {\n processSessionStoreOperations({\n process: function (sessionState) { return assign({}, sessionState, partialSessionState); },\n after: synchronizeSession,\n }, sessionStoreStrategy);\n }\n return {\n expandOrRenewSession: throttledExpandOrRenewSession,\n expandSession: expandSession,\n getSession: function () { return sessionCache; },\n renewObservable: renewObservable,\n expireObservable: expireObservable,\n sessionStateUpdateObservable: sessionStateUpdateObservable,\n restartSession: startSession,\n expire: function () {\n cancelExpandOrRenewSession();\n expireSession(sessionCache);\n synchronizeSession(getExpiredSessionState(sessionCache));\n },\n stop: function () {\n clearInterval(watchSessionTimeoutId);\n },\n updateSessionState: updateSessionState,\n };\n}\n//# sourceMappingURL=sessionStore.js.map","import { timeStampNow } from '../../tools/utils/timeUtils';\nimport { normalizeUrl } from '../../tools/utils/urlPolyfill';\nimport { generateUUID } from '../../tools/utils/stringUtils';\nimport { INTAKE_SITE_US1, INTAKE_SITE_FED_STAGING, PCI_INTAKE_HOST_US1 } from './intakeSites';\nexport function createEndpointBuilder(initConfiguration, trackType, configurationTags) {\n var buildUrlWithParameters = createEndpointUrlWithParametersBuilder(initConfiguration, trackType);\n return {\n build: function (api, payload) {\n var parameters = buildEndpointParameters(initConfiguration, trackType, configurationTags, api, payload);\n return buildUrlWithParameters(parameters);\n },\n urlPrefix: buildUrlWithParameters(''),\n trackType: trackType,\n };\n}\n/**\n * Create a function used to build a full endpoint url from provided parameters. The goal of this\n * function is to pre-compute some parts of the URL to avoid re-computing everything on every\n * request, as only parameters are changing.\n */\nfunction createEndpointUrlWithParametersBuilder(initConfiguration, trackType) {\n var path = \"/api/v2/\".concat(trackType);\n var proxy = initConfiguration.proxy;\n if (typeof proxy === 'string') {\n var normalizedProxyUrl_1 = normalizeUrl(proxy);\n return function (parameters) { return \"\".concat(normalizedProxyUrl_1, \"?ddforward=\").concat(encodeURIComponent(\"\".concat(path, \"?\").concat(parameters))); };\n }\n if (typeof proxy === 'function') {\n return function (parameters) { return proxy({ path: path, parameters: parameters }); };\n }\n var host = buildEndpointHost(trackType, initConfiguration);\n return function (parameters) { return \"https://\".concat(host).concat(path, \"?\").concat(parameters); };\n}\nfunction buildEndpointHost(trackType, initConfiguration) {\n var _a = initConfiguration.site, site = _a === void 0 ? INTAKE_SITE_US1 : _a, internalAnalyticsSubdomain = initConfiguration.internalAnalyticsSubdomain;\n if (trackType === 'logs' && initConfiguration.usePciIntake && site === INTAKE_SITE_US1) {\n return PCI_INTAKE_HOST_US1;\n }\n if (internalAnalyticsSubdomain && site === INTAKE_SITE_US1) {\n return \"\".concat(internalAnalyticsSubdomain, \".\").concat(INTAKE_SITE_US1);\n }\n if (site === INTAKE_SITE_FED_STAGING) {\n return \"http-intake.logs.\".concat(site);\n }\n var domainParts = site.split('.');\n var extension = domainParts.pop();\n return \"browser-intake-\".concat(domainParts.join('-'), \".\").concat(extension);\n}\n/**\n * Build parameters to be used for an intake request. Parameters should be re-built for each\n * request, as they change randomly.\n */\nfunction buildEndpointParameters(_a, trackType, configurationTags, api, _b) {\n var clientToken = _a.clientToken, internalAnalyticsSubdomain = _a.internalAnalyticsSubdomain;\n var retry = _b.retry, encoding = _b.encoding;\n var tags = [\"sdk_version:\".concat(\"5.35.1\"), \"api:\".concat(api)].concat(configurationTags);\n if (retry) {\n tags.push(\"retry_count:\".concat(retry.count), \"retry_after:\".concat(retry.lastFailureStatus));\n }\n var parameters = [\n 'ddsource=browser',\n \"ddtags=\".concat(encodeURIComponent(tags.join(','))),\n \"dd-api-key=\".concat(clientToken),\n \"dd-evp-origin-version=\".concat(encodeURIComponent(\"5.35.1\")),\n 'dd-evp-origin=browser',\n \"dd-request-id=\".concat(generateUUID()),\n ];\n if (encoding) {\n parameters.push(\"dd-evp-encoding=\".concat(encoding));\n }\n if (trackType === 'rum') {\n parameters.push(\"batch_time=\".concat(timeStampNow()));\n }\n if (internalAnalyticsSubdomain) {\n parameters.reverse();\n }\n return parameters.join('&');\n}\n//# sourceMappingURL=endpointBuilder.js.map","import { DOCS_ORIGIN, MORE_DETAILS, display } from '../../tools/display';\nexport var TAG_SIZE_LIMIT = 200;\nexport function buildTags(configuration) {\n var env = configuration.env, service = configuration.service, version = configuration.version, datacenter = configuration.datacenter;\n var tags = [];\n if (env) {\n tags.push(buildTag('env', env));\n }\n if (service) {\n tags.push(buildTag('service', service));\n }\n if (version) {\n tags.push(buildTag('version', version));\n }\n if (datacenter) {\n tags.push(buildTag('datacenter', datacenter));\n }\n return tags;\n}\nexport function buildTag(key, rawValue) {\n // See https://docs.datadoghq.com/getting_started/tagging/#defining-tags for tags syntax. Note\n // that the backend may not follow the exact same rules, so we only want to display an informal\n // warning.\n var valueSizeLimit = TAG_SIZE_LIMIT - key.length - 1;\n if (rawValue.length > valueSizeLimit || hasForbiddenCharacters(rawValue)) {\n display.warn(\"\".concat(key, \" value doesn't meet tag requirements and will be sanitized. \").concat(MORE_DETAILS, \" \").concat(DOCS_ORIGIN, \"/getting_started/tagging/#defining-tags\"));\n }\n // Let the backend do most of the sanitization, but still make sure multiple tags can't be crafted\n // by forging a value containing commas.\n var sanitizedValue = rawValue.replace(/,/g, '_');\n return \"\".concat(key, \":\").concat(sanitizedValue);\n}\nfunction hasForbiddenCharacters(rawValue) {\n // Unicode property escapes is not supported in all browsers, so we use a try/catch.\n // Todo: Remove the try/catch when dropping IE11.\n if (!supportUnicodePropertyEscapes()) {\n return false;\n }\n // We use the Unicode property escapes to match any character that is a letter including other languages like Chinese, Japanese, etc.\n // p{Ll} matches a lowercase letter.\n // p{Lo} matches a letter that is neither uppercase nor lowercase (ex: Japanese characters).\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Unicode_character_class_escape#unicode_property_escapes_vs._character_classes\n return new RegExp('[^\\\\p{Ll}\\\\p{Lo}0-9_:./-]', 'u').test(rawValue);\n}\nexport function supportUnicodePropertyEscapes() {\n try {\n new RegExp('[\\\\p{Ll}]', 'u');\n return true;\n }\n catch (_a) {\n return false;\n }\n}\n//# sourceMappingURL=tags.js.map","import { assign, includes } from '../../tools/utils/polyfills';\nimport { createEndpointBuilder } from './endpointBuilder';\nimport { buildTags } from './tags';\nimport { INTAKE_SITE_US1, INTAKE_URL_PARAMETERS } from './intakeSites';\nexport function computeTransportConfiguration(initConfiguration) {\n var site = initConfiguration.site || INTAKE_SITE_US1;\n var tags = buildTags(initConfiguration);\n var endpointBuilders = computeEndpointBuilders(initConfiguration, tags);\n var replicaConfiguration = computeReplicaConfiguration(initConfiguration, tags);\n return assign({\n replica: replicaConfiguration,\n site: site,\n }, endpointBuilders);\n}\nfunction computeEndpointBuilders(initConfiguration, tags) {\n return {\n logsEndpointBuilder: createEndpointBuilder(initConfiguration, 'logs', tags),\n rumEndpointBuilder: createEndpointBuilder(initConfiguration, 'rum', tags),\n sessionReplayEndpointBuilder: createEndpointBuilder(initConfiguration, 'replay', tags),\n };\n}\nfunction computeReplicaConfiguration(initConfiguration, tags) {\n if (!initConfiguration.replica) {\n return;\n }\n var replicaConfiguration = assign({}, initConfiguration, {\n site: INTAKE_SITE_US1,\n clientToken: initConfiguration.replica.clientToken,\n });\n var replicaEndpointBuilders = {\n logsEndpointBuilder: createEndpointBuilder(replicaConfiguration, 'logs', tags),\n rumEndpointBuilder: createEndpointBuilder(replicaConfiguration, 'rum', tags),\n };\n return assign({ applicationId: initConfiguration.replica.applicationId }, replicaEndpointBuilders);\n}\nexport function isIntakeUrl(url) {\n // check if tags is present in the query string\n return INTAKE_URL_PARAMETERS.every(function (param) { return includes(url, param); });\n}\n//# sourceMappingURL=transportConfiguration.js.map","import { catchUserErrors } from '../../tools/catchUserErrors';\nimport { DOCS_ORIGIN, MORE_DETAILS, display } from '../../tools/display';\nimport { ONE_SECOND } from '../../tools/utils/timeUtils';\nimport { isPercentage } from '../../tools/utils/numberUtils';\nimport { ONE_KIBI_BYTE } from '../../tools/utils/byteUtils';\nimport { objectHasValue } from '../../tools/utils/objectUtils';\nimport { assign } from '../../tools/utils/polyfills';\nimport { selectSessionStoreStrategyType } from '../session/sessionStore';\nimport { TrackingConsent } from '../trackingConsent';\nimport { computeTransportConfiguration } from './transportConfiguration';\nexport var DefaultPrivacyLevel = {\n ALLOW: 'allow',\n MASK: 'mask',\n MASK_USER_INPUT: 'mask-user-input',\n};\nexport var TraceContextInjection = {\n ALL: 'all',\n SAMPLED: 'sampled',\n};\nfunction isString(tag, tagName) {\n if (tag !== undefined && tag !== null && typeof tag !== 'string') {\n display.error(\"\".concat(tagName, \" must be defined as a string\"));\n return false;\n }\n return true;\n}\nfunction isDatadogSite(site) {\n if (site && typeof site === 'string' && !/(datadog|ddog|datad0g|dd0g)/.test(site)) {\n display.error(\"Site should be a valid Datadog site. \".concat(MORE_DETAILS, \" \").concat(DOCS_ORIGIN, \"/getting_started/site/.\"));\n return false;\n }\n return true;\n}\nexport function isSampleRate(sampleRate, name) {\n if (sampleRate !== undefined && !isPercentage(sampleRate)) {\n display.error(\"\".concat(name, \" Sample Rate should be a number between 0 and 100\"));\n return false;\n }\n return true;\n}\nexport function validateAndBuildConfiguration(initConfiguration) {\n var _a, _b, _c, _d, _e;\n if (!initConfiguration || !initConfiguration.clientToken) {\n display.error('Client Token is not configured, we will not send any data.');\n return;\n }\n if (!isDatadogSite(initConfiguration.site) ||\n !isSampleRate(initConfiguration.sessionSampleRate, 'Session') ||\n !isSampleRate(initConfiguration.telemetrySampleRate, 'Telemetry') ||\n !isSampleRate(initConfiguration.telemetryConfigurationSampleRate, 'Telemetry Configuration') ||\n !isSampleRate(initConfiguration.telemetryUsageSampleRate, 'Telemetry Usage') ||\n !isString(initConfiguration.version, 'Version') ||\n !isString(initConfiguration.env, 'Env') ||\n !isString(initConfiguration.service, 'Service')) {\n return;\n }\n if (initConfiguration.trackingConsent !== undefined &&\n !objectHasValue(TrackingConsent, initConfiguration.trackingConsent)) {\n display.error('Tracking Consent should be either \"granted\" or \"not-granted\"');\n return;\n }\n return assign({\n beforeSend: initConfiguration.beforeSend && catchUserErrors(initConfiguration.beforeSend, 'beforeSend threw an error:'),\n sessionStoreStrategyType: selectSessionStoreStrategyType(initConfiguration),\n sessionSampleRate: (_a = initConfiguration.sessionSampleRate) !== null && _a !== void 0 ? _a : 100,\n telemetrySampleRate: (_b = initConfiguration.telemetrySampleRate) !== null && _b !== void 0 ? _b : 20,\n telemetryConfigurationSampleRate: (_c = initConfiguration.telemetryConfigurationSampleRate) !== null && _c !== void 0 ? _c : 5,\n telemetryUsageSampleRate: (_d = initConfiguration.telemetryUsageSampleRate) !== null && _d !== void 0 ? _d : 5,\n service: initConfiguration.service || undefined,\n silentMultipleInit: !!initConfiguration.silentMultipleInit,\n allowUntrustedEvents: !!initConfiguration.allowUntrustedEvents,\n trackingConsent: (_e = initConfiguration.trackingConsent) !== null && _e !== void 0 ? _e : TrackingConsent.GRANTED,\n storeContextsAcrossPages: !!initConfiguration.storeContextsAcrossPages,\n /**\n * beacon payload max queue size implementation is 64kb\n * ensure that we leave room for logs, rum and potential other users\n */\n batchBytesLimit: 16 * ONE_KIBI_BYTE,\n eventRateLimiterThreshold: 3000,\n maxTelemetryEventsPerPage: 15,\n /**\n * flush automatically, aim to be lower than ALB connection timeout\n * to maximize connection reuse.\n */\n flushTimeout: (30 * ONE_SECOND),\n /**\n * Logs intake limit\n */\n batchMessagesLimit: 50,\n messageBytesLimit: 256 * ONE_KIBI_BYTE,\n }, computeTransportConfiguration(initConfiguration));\n}\nexport function serializeConfiguration(initConfiguration) {\n return {\n session_sample_rate: initConfiguration.sessionSampleRate,\n telemetry_sample_rate: initConfiguration.telemetrySampleRate,\n telemetry_configuration_sample_rate: initConfiguration.telemetryConfigurationSampleRate,\n telemetry_usage_sample_rate: initConfiguration.telemetryUsageSampleRate,\n use_before_send: !!initConfiguration.beforeSend,\n use_cross_site_session_cookie: initConfiguration.useCrossSiteSessionCookie,\n use_partitioned_cross_site_session_cookie: initConfiguration.usePartitionedCrossSiteSessionCookie,\n use_secure_session_cookie: initConfiguration.useSecureSessionCookie,\n use_proxy: !!initConfiguration.proxy,\n silent_multiple_init: initConfiguration.silentMultipleInit,\n track_session_across_subdomains: initConfiguration.trackSessionAcrossSubdomains,\n session_persistence: initConfiguration.sessionPersistence,\n allow_fallback_to_local_storage: !!initConfiguration.allowFallbackToLocalStorage,\n store_contexts_across_pages: !!initConfiguration.storeContextsAcrossPages,\n allow_untrusted_events: !!initConfiguration.allowUntrustedEvents,\n tracking_consent: initConfiguration.trackingConsent,\n };\n}\n//# sourceMappingURL=configuration.js.map","import { startsWith } from './utils/polyfills';\nimport { display } from './display';\nimport { getType } from './utils/typeUtils';\nexport function isMatchOption(item) {\n var itemType = getType(item);\n return itemType === 'string' || itemType === 'function' || item instanceof RegExp;\n}\n/**\n * Returns true if value can be matched by at least one of the provided MatchOptions.\n * When comparing strings, setting useStartsWith to true will compare the value with the start of\n * the option, instead of requiring an exact match.\n */\nexport function matchList(list, value, useStartsWith) {\n if (useStartsWith === void 0) { useStartsWith = false; }\n return list.some(function (item) {\n try {\n if (typeof item === 'function') {\n return item(value);\n }\n else if (item instanceof RegExp) {\n return item.test(value);\n }\n else if (typeof item === 'string') {\n return useStartsWith ? startsWith(value, item) : item === value;\n }\n }\n catch (e) {\n display.error(e);\n }\n return false;\n });\n}\n//# sourceMappingURL=matchOption.js.map","export function getCrypto() {\n // TODO: remove msCrypto when IE11 support is dropped\n return window.crypto || window.msCrypto;\n}\n//# sourceMappingURL=crypto.js.map","import { ExperimentalFeature, isExperimentalFeatureEnabled } from '@datadog/browser-core';\nimport { getCrypto } from '../../browser/crypto';\nexport function createTraceIdentifier() {\n return createIdentifier(64);\n}\nexport function createSpanIdentifier() {\n return createIdentifier(63);\n}\nvar createIdentifierImplementationCache;\nfunction createIdentifier(bits) {\n if (!createIdentifierImplementationCache) {\n createIdentifierImplementationCache =\n isExperimentalFeatureEnabled(ExperimentalFeature.CONSISTENT_TRACE_SAMPLING) && areBigIntIdentifiersSupported()\n ? createIdentifierUsingBigInt\n : createIdentifierUsingUint32Array;\n }\n return createIdentifierImplementationCache(bits);\n}\nexport function areBigIntIdentifiersSupported() {\n try {\n crypto.getRandomValues(new BigUint64Array(1));\n return true;\n }\n catch (_a) {\n return false;\n }\n}\nfunction createIdentifierUsingBigInt(bits) {\n var id = crypto.getRandomValues(new BigUint64Array(1))[0];\n if (bits === 63) {\n // eslint-disable-next-line no-bitwise\n id >>= BigInt('1');\n }\n return id;\n}\n// TODO: remove this when all browser we support have BigInt support\nfunction createIdentifierUsingUint32Array(bits) {\n var buffer = getCrypto().getRandomValues(new Uint32Array(2));\n if (bits === 63) {\n // eslint-disable-next-line no-bitwise\n buffer[buffer.length - 1] >>>= 1; // force 63-bit\n }\n return {\n toString: function (radix) {\n if (radix === void 0) { radix = 10; }\n var high = buffer[1];\n var low = buffer[0];\n var str = '';\n do {\n var mod = (high % radix) * 4294967296 + low;\n high = Math.floor(high / radix);\n low = Math.floor(mod / radix);\n str = (mod % radix).toString(radix) + str;\n } while (high || low);\n return str;\n },\n };\n}\nexport function toPaddedHexadecimalString(id) {\n var traceId = id.toString(16);\n // TODO: replace with String.prototype.padStart when we drop IE11 support\n return Array(17 - traceId.length).join('0') + traceId;\n}\n//# sourceMappingURL=identifier.js.map","import { performDraw } from '@datadog/browser-core';\nexport function isTraceSampled(identifier, sampleRate) {\n // Shortcuts for common cases. This is not strictly necessary, but it makes the code faster for\n // customers willing to ingest all traces.\n if (sampleRate === 100) {\n return true;\n }\n if (sampleRate === 0) {\n return false;\n }\n // For simplicity, we don't use consistent sampling for browser that don't support BigInt\n // TODO: remove this when all browser we support have BigInt support\n if (typeof identifier !== 'bigint') {\n return performDraw(sampleRate);\n }\n // Offer consistent sampling for the same trace id across different environments. The rule is:\n //\n // (identifier * knuthFactor) % 2^64 < sampleRate * 2^64\n //\n // Because JavaScript numbers are 64-bit floats, we can't represent 64-bit integers, and the\n // modulo would be incorrect. Thus, we are using BigInts here.\n //\n // Implementation in other languages:\n // * Go https://github.com/DataDog/dd-trace-go/blob/ec6fbb1f2d517b7b8e69961052adf7136f3af773/ddtrace/tracer/sampler.go#L86-L91\n // * Python https://github.com/DataDog/dd-trace-py/blob/0cee2f066fb6e79aa15947c1514c0f406dea47c5/ddtrace/sampling_rule.py#L197\n // * Ruby https://github.com/DataDog/dd-trace-rb/blob/1a6e255cdcb7e7e22235ea5955f90f6dfa91045d/lib/datadog/tracing/sampling/rate_sampler.rb#L42\n // * C++ https://github.com/DataDog/dd-trace-cpp/blob/159629edc438ae45f2bb318eb7bd51abd05e94b5/src/datadog/trace_sampler.cpp#L58\n // * Java https://github.com/DataDog/dd-trace-java/blob/896dd6b380533216e0bdee59614606c8272d313e/dd-trace-core/src/main/java/datadog/trace/common/sampling/DeterministicSampler.java#L48\n //\n // Note: All implementations have slight variations. Some of them use '<=' instead of '<', and\n // use `sampleRate * 2^64 - 1` instead of `sampleRate * 2^64`. The following implementation\n // should adhere to the spec and is a bit simpler than using a 2^64-1 limit as there are less\n // BigInt arithmetic to write. In practice this does not matter, as we are using floating point\n // numbers in the end, and Number(2n**64n-1n) === Number(2n**64n).\n var knuthFactor = BigInt('1111111111111111111');\n var twoPow64 = BigInt('0x10000000000000000'); // 2n ** 64n\n var hash = (identifier * knuthFactor) % twoPow64;\n return Number(hash) <= (sampleRate / 100) * Number(twoPow64);\n}\n//# sourceMappingURL=sampler.js.map","import { objectEntries, shallowClone, assign, find, getType, isMatchOption, matchList, TraceContextInjection, } from '@datadog/browser-core';\nimport { getCrypto } from '../../browser/crypto';\nimport { createSpanIdentifier, createTraceIdentifier, toPaddedHexadecimalString } from './identifier';\nimport { isTraceSampled } from './sampler';\nexport function isTracingOption(item) {\n var expectedItem = item;\n return (getType(expectedItem) === 'object' &&\n isMatchOption(expectedItem.match) &&\n Array.isArray(expectedItem.propagatorTypes));\n}\n/**\n * Clear tracing information to avoid incomplete traces. Ideally, we should do it when the\n * request did not reach the server, but the browser does not expose this. So, we clear tracing\n * information if the request ended with status 0 without being aborted by the application.\n *\n * Reasoning:\n *\n * * Applications are usually aborting requests after a bit of time, for example when the user is\n * typing (autocompletion) or navigating away (in a SPA). With a performant device and good\n * network conditions, the request is likely to reach the server before being canceled.\n *\n * * Requests aborted otherwise (ex: lack of internet, CORS issue, blocked by a privacy extension)\n * are likely to finish quickly and without reaching the server.\n *\n * Of course, it might not be the case every time, but it should limit having incomplete traces a\n * bit.\n * */\nexport function clearTracingIfNeeded(context) {\n if (context.status === 0 && !context.isAborted) {\n context.traceId = undefined;\n context.spanId = undefined;\n context.traceSampled = undefined;\n }\n}\nexport function startTracer(configuration, sessionManager) {\n return {\n clearTracingIfNeeded: clearTracingIfNeeded,\n traceFetch: function (context) {\n return injectHeadersIfTracingAllowed(configuration, context, sessionManager, function (tracingHeaders) {\n var _a;\n if (context.input instanceof Request && !((_a = context.init) === null || _a === void 0 ? void 0 : _a.headers)) {\n context.input = new Request(context.input);\n Object.keys(tracingHeaders).forEach(function (key) {\n ;\n context.input.headers.append(key, tracingHeaders[key]);\n });\n }\n else {\n context.init = shallowClone(context.init);\n var headers_1 = [];\n if (context.init.headers instanceof Headers) {\n context.init.headers.forEach(function (value, key) {\n headers_1.push([key, value]);\n });\n }\n else if (Array.isArray(context.init.headers)) {\n context.init.headers.forEach(function (header) {\n headers_1.push(header);\n });\n }\n else if (context.init.headers) {\n Object.keys(context.init.headers).forEach(function (key) {\n headers_1.push([key, context.init.headers[key]]);\n });\n }\n context.init.headers = headers_1.concat(objectEntries(tracingHeaders));\n }\n });\n },\n traceXhr: function (context, xhr) {\n return injectHeadersIfTracingAllowed(configuration, context, sessionManager, function (tracingHeaders) {\n Object.keys(tracingHeaders).forEach(function (name) {\n xhr.setRequestHeader(name, tracingHeaders[name]);\n });\n });\n },\n };\n}\nfunction injectHeadersIfTracingAllowed(configuration, context, sessionManager, inject) {\n if (!isTracingSupported() || !sessionManager.findTrackedSession()) {\n return;\n }\n var tracingOption = find(configuration.allowedTracingUrls, function (tracingOption) {\n return matchList([tracingOption.match], context.url, true);\n });\n if (!tracingOption) {\n return;\n }\n var traceId = createTraceIdentifier();\n context.traceSampled = isTraceSampled(traceId, configuration.traceSampleRate);\n var shouldInjectHeaders = context.traceSampled || configuration.traceContextInjection === TraceContextInjection.ALL;\n if (!shouldInjectHeaders) {\n return;\n }\n context.traceId = traceId;\n context.spanId = createSpanIdentifier();\n inject(makeTracingHeaders(context.traceId, context.spanId, context.traceSampled, tracingOption.propagatorTypes));\n}\nexport function isTracingSupported() {\n return getCrypto() !== undefined;\n}\n/**\n * When trace is not sampled, set priority to '0' instead of not adding the tracing headers\n * to prepare the implementation for sampling delegation.\n */\nfunction makeTracingHeaders(traceId, spanId, traceSampled, propagatorTypes) {\n var tracingHeaders = {};\n propagatorTypes.forEach(function (propagatorType) {\n switch (propagatorType) {\n case 'datadog': {\n assign(tracingHeaders, {\n 'x-datadog-origin': 'rum',\n 'x-datadog-parent-id': spanId.toString(),\n 'x-datadog-sampling-priority': traceSampled ? '1' : '0',\n 'x-datadog-trace-id': traceId.toString(),\n });\n break;\n }\n // https://www.w3.org/TR/trace-context/\n case 'tracecontext': {\n assign(tracingHeaders, {\n traceparent: \"00-0000000000000000\".concat(toPaddedHexadecimalString(traceId), \"-\").concat(toPaddedHexadecimalString(spanId), \"-0\").concat(traceSampled ? '1' : '0'),\n });\n break;\n }\n // https://github.com/openzipkin/b3-propagation\n case 'b3': {\n assign(tracingHeaders, {\n b3: \"\".concat(toPaddedHexadecimalString(traceId), \"-\").concat(toPaddedHexadecimalString(spanId), \"-\").concat(traceSampled ? '1' : '0'),\n });\n break;\n }\n case 'b3multi': {\n assign(tracingHeaders, {\n 'X-B3-TraceId': toPaddedHexadecimalString(traceId),\n 'X-B3-SpanId': toPaddedHexadecimalString(spanId),\n 'X-B3-Sampled': traceSampled ? '1' : '0',\n });\n break;\n }\n }\n });\n return tracingHeaders;\n}\n//# sourceMappingURL=tracer.js.map","import { getType, arrayFrom, isMatchOption, serializeConfiguration, assign, DefaultPrivacyLevel, TraceContextInjection, display, objectHasValue, validateAndBuildConfiguration, isSampleRate, isNumber, } from '@datadog/browser-core';\nimport { isTracingOption } from '../tracing/tracer';\nexport var DEFAULT_PROPAGATOR_TYPES = ['tracecontext', 'datadog'];\nexport function validateAndBuildRumConfiguration(initConfiguration) {\n var _a, _b, _c;\n if (!initConfiguration.applicationId) {\n display.error('Application ID is not configured, no RUM data will be collected.');\n return;\n }\n if (!isSampleRate(initConfiguration.sessionReplaySampleRate, 'Session Replay') ||\n !isSampleRate(initConfiguration.traceSampleRate, 'Trace')) {\n return;\n }\n if (initConfiguration.excludedActivityUrls !== undefined && !Array.isArray(initConfiguration.excludedActivityUrls)) {\n display.error('Excluded Activity Urls should be an array');\n return;\n }\n var allowedTracingUrls = validateAndBuildTracingOptions(initConfiguration);\n if (!allowedTracingUrls) {\n return;\n }\n var baseConfiguration = validateAndBuildConfiguration(initConfiguration);\n if (!baseConfiguration) {\n return;\n }\n var sessionReplaySampleRate = (_a = initConfiguration.sessionReplaySampleRate) !== null && _a !== void 0 ? _a : 0;\n return assign({\n applicationId: initConfiguration.applicationId,\n version: initConfiguration.version || undefined,\n actionNameAttribute: initConfiguration.actionNameAttribute,\n sessionReplaySampleRate: sessionReplaySampleRate,\n startSessionReplayRecordingManually: initConfiguration.startSessionReplayRecordingManually !== undefined\n ? !!initConfiguration.startSessionReplayRecordingManually\n : sessionReplaySampleRate === 0,\n traceSampleRate: (_b = initConfiguration.traceSampleRate) !== null && _b !== void 0 ? _b : 100,\n rulePsr: isNumber(initConfiguration.traceSampleRate) ? initConfiguration.traceSampleRate / 100 : undefined,\n allowedTracingUrls: allowedTracingUrls,\n excludedActivityUrls: (_c = initConfiguration.excludedActivityUrls) !== null && _c !== void 0 ? _c : [],\n workerUrl: initConfiguration.workerUrl,\n compressIntakeRequests: !!initConfiguration.compressIntakeRequests,\n trackUserInteractions: !!initConfiguration.trackUserInteractions,\n trackViewsManually: !!initConfiguration.trackViewsManually,\n trackResources: !!initConfiguration.trackResources,\n trackLongTasks: !!initConfiguration.trackLongTasks,\n subdomain: initConfiguration.subdomain,\n defaultPrivacyLevel: objectHasValue(DefaultPrivacyLevel, initConfiguration.defaultPrivacyLevel)\n ? initConfiguration.defaultPrivacyLevel\n : DefaultPrivacyLevel.MASK,\n enablePrivacyForActionName: !!initConfiguration.enablePrivacyForActionName,\n customerDataTelemetrySampleRate: 1,\n traceContextInjection: objectHasValue(TraceContextInjection, initConfiguration.traceContextInjection)\n ? initConfiguration.traceContextInjection\n : TraceContextInjection.ALL,\n plugins: initConfiguration.plugins || [],\n }, baseConfiguration);\n}\n/**\n * Validates allowedTracingUrls and converts match options to tracing options\n */\nfunction validateAndBuildTracingOptions(initConfiguration) {\n if (initConfiguration.allowedTracingUrls === undefined) {\n return [];\n }\n if (!Array.isArray(initConfiguration.allowedTracingUrls)) {\n display.error('Allowed Tracing URLs should be an array');\n return;\n }\n if (initConfiguration.allowedTracingUrls.length !== 0 && initConfiguration.service === undefined) {\n display.error('Service needs to be configured when tracing is enabled');\n return;\n }\n // Convert from (MatchOption | TracingOption) to TracingOption, remove unknown properties\n var tracingOptions = [];\n initConfiguration.allowedTracingUrls.forEach(function (option) {\n if (isMatchOption(option)) {\n tracingOptions.push({ match: option, propagatorTypes: DEFAULT_PROPAGATOR_TYPES });\n }\n else if (isTracingOption(option)) {\n tracingOptions.push(option);\n }\n else {\n display.warn('Allowed Tracing Urls parameters should be a string, RegExp, function, or an object. Ignoring parameter', option);\n }\n });\n return tracingOptions;\n}\n/**\n * Combines the selected tracing propagators from the different options in allowedTracingUrls\n */\nfunction getSelectedTracingPropagators(configuration) {\n var usedTracingPropagators = new Set();\n if (Array.isArray(configuration.allowedTracingUrls) && configuration.allowedTracingUrls.length > 0) {\n configuration.allowedTracingUrls.forEach(function (option) {\n if (isMatchOption(option)) {\n DEFAULT_PROPAGATOR_TYPES.forEach(function (propagatorType) { return usedTracingPropagators.add(propagatorType); });\n }\n else if (getType(option) === 'object' && Array.isArray(option.propagatorTypes)) {\n // Ensure we have an array, as we cannot rely on types yet (configuration is provided by users)\n option.propagatorTypes.forEach(function (propagatorType) { return usedTracingPropagators.add(propagatorType); });\n }\n });\n }\n return arrayFrom(usedTracingPropagators);\n}\nexport function serializeRumConfiguration(configuration) {\n var _a;\n var baseSerializedConfiguration = serializeConfiguration(configuration);\n return assign({\n session_replay_sample_rate: configuration.sessionReplaySampleRate,\n start_session_replay_recording_manually: configuration.startSessionReplayRecordingManually,\n trace_sample_rate: configuration.traceSampleRate,\n trace_context_injection: configuration.traceContextInjection,\n action_name_attribute: configuration.actionNameAttribute,\n use_allowed_tracing_urls: Array.isArray(configuration.allowedTracingUrls) && configuration.allowedTracingUrls.length > 0,\n selected_tracing_propagators: getSelectedTracingPropagators(configuration),\n default_privacy_level: configuration.defaultPrivacyLevel,\n enable_privacy_for_action_name: configuration.enablePrivacyForActionName,\n use_excluded_activity_urls: Array.isArray(configuration.excludedActivityUrls) && configuration.excludedActivityUrls.length > 0,\n use_worker_url: !!configuration.workerUrl,\n compress_intake_requests: configuration.compressIntakeRequests,\n track_views_manually: configuration.trackViewsManually,\n track_user_interactions: configuration.trackUserInteractions,\n track_resources: configuration.trackResources,\n track_long_task: configuration.trackLongTasks,\n plugins: (_a = configuration.plugins) === null || _a === void 0 ? void 0 : _a.map(function (plugin) { var _a; return assign({ name: plugin.name }, (_a = plugin.getConfigurationTelemetry) === null || _a === void 0 ? void 0 : _a.call(plugin)); }),\n }, baseSerializedConfiguration);\n}\n//# sourceMappingURL=configuration.js.map","import { display, addEventListener, assign } from '@datadog/browser-core';\nexport var REMOTE_CONFIGURATION_URL = 'https://d3uc069fcn7uxw.cloudfront.net/configuration';\nexport function fetchAndApplyRemoteConfiguration(initConfiguration, callback) {\n fetchRemoteConfiguration(initConfiguration, function (remoteInitConfiguration) {\n callback(applyRemoteConfiguration(initConfiguration, remoteInitConfiguration));\n });\n}\nexport function applyRemoteConfiguration(initConfiguration, remoteInitConfiguration) {\n return assign({}, initConfiguration, remoteInitConfiguration);\n}\nexport function fetchRemoteConfiguration(configuration, callback) {\n var xhr = new XMLHttpRequest();\n addEventListener(configuration, xhr, 'load', function () {\n if (xhr.status === 200) {\n callback(JSON.parse(xhr.responseText));\n }\n else {\n displayRemoteConfigurationFetchingError();\n }\n });\n addEventListener(configuration, xhr, 'error', function () {\n displayRemoteConfigurationFetchingError();\n });\n xhr.open('GET', \"\".concat(REMOTE_CONFIGURATION_URL, \"/\").concat(encodeURIComponent(configuration.remoteConfigurationId), \".json\"));\n xhr.send();\n}\nfunction displayRemoteConfigurationFetchingError() {\n display.error('Error fetching the remote configuration.');\n}\n//# sourceMappingURL=remoteConfiguration.js.map","export function callPluginsMethod(plugins, methodName, parameter) {\n if (!plugins) {\n return;\n }\n for (var _i = 0, plugins_1 = plugins; _i < plugins_1.length; _i++) {\n var plugin = plugins_1[_i];\n var method = plugin[methodName];\n if (method) {\n method(parameter);\n }\n }\n}\n//# sourceMappingURL=plugins.js.map","import { createBoundedBuffer, display, canUseEventBridge, displayAlreadyInitializedError, willSyntheticsInjectRum, noop, timeStampNow, clocksNow, assign, getEventBridge, ExperimentalFeature, isExperimentalFeatureEnabled, initFeatureFlags, addTelemetryConfiguration, initFetchObservable, } from '@datadog/browser-core';\nimport { validateAndBuildRumConfiguration, } from '../domain/configuration';\nimport { startDurationVital, stopDurationVital } from '../domain/vital/vitalCollection';\nimport { fetchAndApplyRemoteConfiguration, serializeRumConfiguration } from '../domain/configuration';\nimport { callPluginsMethod } from '../domain/plugins';\nexport function createPreStartStrategy(_a, getCommonContext, trackingConsentState, customVitalsState, doStartRum) {\n var ignoreInitIfSyntheticsWillInjectRum = _a.ignoreInitIfSyntheticsWillInjectRum, startDeflateWorker = _a.startDeflateWorker;\n var bufferApiCalls = createBoundedBuffer();\n var firstStartViewCall;\n var deflateWorker;\n var cachedInitConfiguration;\n var cachedConfiguration;\n var trackingConsentStateSubscription = trackingConsentState.observable.subscribe(tryStartRum);\n function tryStartRum() {\n if (!cachedInitConfiguration || !cachedConfiguration || !trackingConsentState.isGranted()) {\n return;\n }\n trackingConsentStateSubscription.unsubscribe();\n var initialViewOptions;\n if (cachedConfiguration.trackViewsManually) {\n if (!firstStartViewCall) {\n return;\n }\n // An initial view is always created when starting RUM.\n // When tracking views automatically, any startView call before RUM start creates an extra\n // view.\n // When tracking views manually, we use the ViewOptions from the first startView call as the\n // initial view options, and we remove the actual startView call so we don't create an extra\n // view.\n bufferApiCalls.remove(firstStartViewCall.callback);\n initialViewOptions = firstStartViewCall.options;\n }\n var startRumResult = doStartRum(cachedConfiguration, deflateWorker, initialViewOptions);\n bufferApiCalls.drain(startRumResult);\n }\n function doInit(initConfiguration) {\n var eventBridgeAvailable = canUseEventBridge();\n if (eventBridgeAvailable) {\n initConfiguration = overrideInitConfigurationForBridge(initConfiguration);\n }\n // Update the exposed initConfiguration to reflect the bridge and remote configuration overrides\n cachedInitConfiguration = initConfiguration;\n addTelemetryConfiguration(serializeRumConfiguration(initConfiguration));\n if (cachedConfiguration) {\n displayAlreadyInitializedError('DD_RUM', initConfiguration);\n return;\n }\n var configuration = validateAndBuildRumConfiguration(initConfiguration);\n if (!configuration) {\n return;\n }\n if (!eventBridgeAvailable && !configuration.sessionStoreStrategyType) {\n display.warn('No storage available for session. We will not send any data.');\n return;\n }\n if (configuration.compressIntakeRequests && !eventBridgeAvailable && startDeflateWorker) {\n deflateWorker = startDeflateWorker(configuration, 'Datadog RUM', \n // Worker initialization can fail asynchronously, especially in Firefox where even CSP\n // issues are reported asynchronously. For now, the SDK will continue its execution even if\n // data won't be sent to Datadog. We could improve this behavior in the future.\n noop);\n if (!deflateWorker) {\n // `startDeflateWorker` should have logged an error message explaining the issue\n return;\n }\n }\n cachedConfiguration = configuration;\n // Instrumuent fetch to track network requests\n // This is needed in case the consent is not granted and some cutsomer\n // library (Apollo Client) is storing uninstrumented fetch to be used later\n // The subscrption is needed so that the instrumentation process is completed\n initFetchObservable().subscribe(noop);\n trackingConsentState.tryToInit(configuration.trackingConsent);\n tryStartRum();\n }\n var addDurationVital = function (vital) {\n bufferApiCalls.add(function (startRumResult) { return startRumResult.addDurationVital(vital); });\n };\n return {\n init: function (initConfiguration, publicApi) {\n if (!initConfiguration) {\n display.error('Missing configuration');\n return;\n }\n // Set the experimental feature flags as early as possible, so we can use them in most places\n initFeatureFlags(initConfiguration.enableExperimentalFeatures);\n // Expose the initial configuration regardless of initialization success.\n cachedInitConfiguration = initConfiguration;\n // If we are in a Synthetics test configured to automatically inject a RUM instance, we want\n // to completely discard the customer application RUM instance by ignoring their init() call.\n // But, we should not ignore the init() call from the Synthetics-injected RUM instance, so the\n // internal `ignoreInitIfSyntheticsWillInjectRum` option is here to bypass this condition.\n if (ignoreInitIfSyntheticsWillInjectRum && willSyntheticsInjectRum()) {\n return;\n }\n callPluginsMethod(initConfiguration.plugins, 'onInit', { initConfiguration: initConfiguration, publicApi: publicApi });\n if (initConfiguration.remoteConfigurationId &&\n isExperimentalFeatureEnabled(ExperimentalFeature.REMOTE_CONFIGURATION)) {\n fetchAndApplyRemoteConfiguration(initConfiguration, doInit);\n }\n else {\n doInit(initConfiguration);\n }\n },\n get initConfiguration() {\n return cachedInitConfiguration;\n },\n getInternalContext: noop,\n stopSession: noop,\n addTiming: function (name, time) {\n if (time === void 0) { time = timeStampNow(); }\n bufferApiCalls.add(function (startRumResult) { return startRumResult.addTiming(name, time); });\n },\n startView: function (options, startClocks) {\n if (startClocks === void 0) { startClocks = clocksNow(); }\n var callback = function (startRumResult) {\n startRumResult.startView(options, startClocks);\n };\n bufferApiCalls.add(callback);\n if (!firstStartViewCall) {\n firstStartViewCall = { options: options, callback: callback };\n tryStartRum();\n }\n },\n setViewName: function (name) {\n bufferApiCalls.add(function (startRumResult) { return startRumResult.setViewName(name); });\n },\n setViewContext: function (context) {\n bufferApiCalls.add(function (startRumResult) { return startRumResult.setViewContext(context); });\n },\n setViewContextProperty: function (key, value) {\n bufferApiCalls.add(function (startRumResult) { return startRumResult.setViewContextProperty(key, value); });\n },\n addAction: function (action, commonContext) {\n if (commonContext === void 0) { commonContext = getCommonContext(); }\n bufferApiCalls.add(function (startRumResult) { return startRumResult.addAction(action, commonContext); });\n },\n addError: function (providedError, commonContext) {\n if (commonContext === void 0) { commonContext = getCommonContext(); }\n bufferApiCalls.add(function (startRumResult) { return startRumResult.addError(providedError, commonContext); });\n },\n addFeatureFlagEvaluation: function (key, value) {\n bufferApiCalls.add(function (startRumResult) { return startRumResult.addFeatureFlagEvaluation(key, value); });\n },\n startDurationVital: function (name, options) {\n return startDurationVital(customVitalsState, name, options);\n },\n stopDurationVital: function (name, options) {\n stopDurationVital(addDurationVital, customVitalsState, name, options);\n },\n addDurationVital: addDurationVital,\n };\n}\nfunction overrideInitConfigurationForBridge(initConfiguration) {\n var _a, _b;\n return assign({}, initConfiguration, {\n applicationId: '00000000-aaaa-0000-aaaa-000000000000',\n clientToken: 'empty',\n sessionSampleRate: 100,\n defaultPrivacyLevel: (_a = initConfiguration.defaultPrivacyLevel) !== null && _a !== void 0 ? _a : (_b = getEventBridge()) === null || _b === void 0 ? void 0 : _b.getPrivacyLevel(),\n });\n}\n//# sourceMappingURL=preStartRum.js.map","import { addTelemetryUsage, assign, createContextManager, deepClone, makePublicApi, monitor, clocksNow, callMonitored, createHandlingStack, checkUser, sanitizeUser, sanitize, createIdentityEncoder, createCustomerDataTrackerManager, storeContextManager, displayAlreadyInitializedError, createTrackingConsentState, timeStampToClocks, } from '@datadog/browser-core';\nimport { buildCommonContext } from '../domain/contexts/commonContext';\nimport { createCustomVitalsState } from '../domain/vital/vitalCollection';\nimport { createPreStartStrategy } from './preStartRum';\nvar RUM_STORAGE_KEY = 'rum';\nexport function makeRumPublicApi(startRumImpl, recorderApi, options) {\n if (options === void 0) { options = {}; }\n var customerDataTrackerManager = createCustomerDataTrackerManager(0 /* CustomerDataCompressionStatus.Unknown */);\n var globalContextManager = createContextManager(customerDataTrackerManager.getOrCreateTracker(2 /* CustomerDataType.GlobalContext */));\n var userContextManager = createContextManager(customerDataTrackerManager.getOrCreateTracker(1 /* CustomerDataType.User */));\n var trackingConsentState = createTrackingConsentState();\n var customVitalsState = createCustomVitalsState();\n function getCommonContext() {\n return buildCommonContext(globalContextManager, userContextManager, recorderApi);\n }\n var strategy = createPreStartStrategy(options, getCommonContext, trackingConsentState, customVitalsState, function (configuration, deflateWorker, initialViewOptions) {\n if (configuration.storeContextsAcrossPages) {\n storeContextManager(configuration, globalContextManager, RUM_STORAGE_KEY, 2 /* CustomerDataType.GlobalContext */);\n storeContextManager(configuration, userContextManager, RUM_STORAGE_KEY, 1 /* CustomerDataType.User */);\n }\n customerDataTrackerManager.setCompressionStatus(deflateWorker ? 1 /* CustomerDataCompressionStatus.Enabled */ : 2 /* CustomerDataCompressionStatus.Disabled */);\n var startRumResult = startRumImpl(configuration, recorderApi, customerDataTrackerManager, getCommonContext, initialViewOptions, deflateWorker && options.createDeflateEncoder\n ? function (streamId) { return options.createDeflateEncoder(configuration, deflateWorker, streamId); }\n : createIdentityEncoder, trackingConsentState, customVitalsState);\n recorderApi.onRumStart(startRumResult.lifeCycle, configuration, startRumResult.session, startRumResult.viewHistory, deflateWorker);\n strategy = createPostStartStrategy(strategy, startRumResult);\n return startRumResult;\n });\n var startView = monitor(function (options) {\n var sanitizedOptions = typeof options === 'object' ? options : { name: options };\n if (sanitizedOptions.context) {\n customerDataTrackerManager.getOrCreateTracker(3 /* CustomerDataType.View */).updateCustomerData(sanitizedOptions.context);\n }\n strategy.startView(sanitizedOptions);\n addTelemetryUsage({ feature: 'start-view' });\n });\n var rumPublicApi = makePublicApi({\n init: monitor(function (initConfiguration) {\n strategy.init(initConfiguration, rumPublicApi);\n }),\n setTrackingConsent: monitor(function (trackingConsent) {\n trackingConsentState.update(trackingConsent);\n addTelemetryUsage({ feature: 'set-tracking-consent', tracking_consent: trackingConsent });\n }),\n setViewName: monitor(function (name) {\n strategy.setViewName(name);\n }),\n setViewContext: monitor(function (context) {\n strategy.setViewContext(context);\n }),\n setViewContextProperty: monitor(function (key, value) {\n strategy.setViewContextProperty(key, value);\n }),\n setGlobalContext: monitor(function (context) {\n globalContextManager.setContext(context);\n addTelemetryUsage({ feature: 'set-global-context' });\n }),\n getGlobalContext: monitor(function () { return globalContextManager.getContext(); }),\n setGlobalContextProperty: monitor(function (key, value) {\n globalContextManager.setContextProperty(key, value);\n addTelemetryUsage({ feature: 'set-global-context' });\n }),\n removeGlobalContextProperty: monitor(function (key) { return globalContextManager.removeContextProperty(key); }),\n clearGlobalContext: monitor(function () { return globalContextManager.clearContext(); }),\n getInternalContext: monitor(function (startTime) { return strategy.getInternalContext(startTime); }),\n getInitConfiguration: monitor(function () { return deepClone(strategy.initConfiguration); }),\n addAction: function (name, context) {\n var handlingStack = createHandlingStack();\n callMonitored(function () {\n strategy.addAction({\n name: sanitize(name),\n context: sanitize(context),\n startClocks: clocksNow(),\n type: \"custom\" /* ActionType.CUSTOM */,\n handlingStack: handlingStack,\n });\n addTelemetryUsage({ feature: 'add-action' });\n });\n },\n addError: function (error, context) {\n var handlingStack = createHandlingStack();\n callMonitored(function () {\n strategy.addError({\n error: error, // Do not sanitize error here, it is needed unserialized by computeRawError()\n handlingStack: handlingStack,\n context: sanitize(context),\n startClocks: clocksNow(),\n });\n addTelemetryUsage({ feature: 'add-error' });\n });\n },\n addTiming: monitor(function (name, time) {\n // TODO: next major decide to drop relative time support or update its behaviour\n strategy.addTiming(sanitize(name), time);\n }),\n setUser: monitor(function (newUser) {\n if (checkUser(newUser)) {\n userContextManager.setContext(sanitizeUser(newUser));\n }\n addTelemetryUsage({ feature: 'set-user' });\n }),\n getUser: monitor(function () { return userContextManager.getContext(); }),\n setUserProperty: monitor(function (key, property) {\n var _a;\n var sanitizedProperty = sanitizeUser((_a = {}, _a[key] = property, _a))[key];\n userContextManager.setContextProperty(key, sanitizedProperty);\n addTelemetryUsage({ feature: 'set-user' });\n }),\n removeUserProperty: monitor(function (key) { return userContextManager.removeContextProperty(key); }),\n clearUser: monitor(function () { return userContextManager.clearContext(); }),\n startView: startView,\n stopSession: monitor(function () {\n strategy.stopSession();\n addTelemetryUsage({ feature: 'stop-session' });\n }),\n addFeatureFlagEvaluation: monitor(function (key, value) {\n strategy.addFeatureFlagEvaluation(sanitize(key), sanitize(value));\n addTelemetryUsage({ feature: 'add-feature-flag-evaluation' });\n }),\n getSessionReplayLink: monitor(function () { return recorderApi.getSessionReplayLink(); }),\n startSessionReplayRecording: monitor(function (options) {\n recorderApi.start(options);\n addTelemetryUsage({ feature: 'start-session-replay-recording', force: options && options.force });\n }),\n stopSessionReplayRecording: monitor(function () { return recorderApi.stop(); }),\n addDurationVital: monitor(function (name, options) {\n addTelemetryUsage({ feature: 'add-duration-vital' });\n strategy.addDurationVital({\n name: sanitize(name),\n type: \"duration\" /* VitalType.DURATION */,\n startClocks: timeStampToClocks(options.startTime),\n duration: options.duration,\n context: sanitize(options && options.context),\n description: sanitize(options && options.description),\n });\n }),\n startDurationVital: monitor(function (name, options) {\n addTelemetryUsage({ feature: 'start-duration-vital' });\n return strategy.startDurationVital(sanitize(name), {\n context: sanitize(options && options.context),\n description: sanitize(options && options.description),\n });\n }),\n stopDurationVital: monitor(function (nameOrRef, options) {\n addTelemetryUsage({ feature: 'stop-duration-vital' });\n strategy.stopDurationVital(typeof nameOrRef === 'string' ? sanitize(nameOrRef) : nameOrRef, {\n context: sanitize(options && options.context),\n description: sanitize(options && options.description),\n });\n }),\n });\n return rumPublicApi;\n}\nfunction createPostStartStrategy(preStartStrategy, startRumResult) {\n return assign({\n init: function (initConfiguration) {\n displayAlreadyInitializedError('DD_RUM', initConfiguration);\n },\n initConfiguration: preStartStrategy.initConfiguration,\n }, startRumResult);\n}\n//# sourceMappingURL=rumPublicApi.js.map","import { Observable } from '../tools/observable';\nimport { objectValues, includes } from '../tools/utils/polyfills';\nimport { addEventListeners, addEventListener } from './addEventListener';\nexport var PageExitReason = {\n HIDDEN: 'visibility_hidden',\n UNLOADING: 'before_unload',\n PAGEHIDE: 'page_hide',\n FROZEN: 'page_frozen',\n};\nexport function createPageExitObservable(configuration) {\n return new Observable(function (observable) {\n var stopListeners = addEventListeners(configuration, window, [\"visibilitychange\" /* DOM_EVENT.VISIBILITY_CHANGE */, \"freeze\" /* DOM_EVENT.FREEZE */], function (event) {\n if (event.type === \"visibilitychange\" /* DOM_EVENT.VISIBILITY_CHANGE */ && document.visibilityState === 'hidden') {\n /**\n * Only event that guarantee to fire on mobile devices when the page transitions to background state\n * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.\n */\n observable.notify({ reason: PageExitReason.HIDDEN });\n }\n else if (event.type === \"freeze\" /* DOM_EVENT.FREEZE */) {\n /**\n * After transitioning in background a tab can be freezed to preserve resources. (cf: https://developer.chrome.com/blog/page-lifecycle-api)\n * Allow to collect events happening between hidden and frozen state.\n */\n observable.notify({ reason: PageExitReason.FROZEN });\n }\n }, { capture: true }).stop;\n var stopBeforeUnloadListener = addEventListener(configuration, window, \"beforeunload\" /* DOM_EVENT.BEFORE_UNLOAD */, function () {\n observable.notify({ reason: PageExitReason.UNLOADING });\n }).stop;\n return function () {\n stopListeners();\n stopBeforeUnloadListener();\n };\n });\n}\nexport function isPageExitReason(reason) {\n return includes(objectValues(PageExitReason), reason);\n}\n//# sourceMappingURL=pageExitObservable.js.map","import { monitor, noop, Observable, getZoneJsOriginalValue } from '@datadog/browser-core';\nexport function createDOMMutationObservable() {\n var MutationObserver = getMutationObserverConstructor();\n return new Observable(function (observable) {\n if (!MutationObserver) {\n return;\n }\n var observer = new MutationObserver(monitor(function () { return observable.notify(); }));\n observer.observe(document, {\n attributes: true,\n characterData: true,\n childList: true,\n subtree: true,\n });\n return function () { return observer.disconnect(); };\n });\n}\nexport function getMutationObserverConstructor() {\n var constructor;\n var browserWindow = window;\n // Angular uses Zone.js to provide a context persisting across async tasks. Zone.js replaces the\n // global MutationObserver constructor with a patched version to support the context propagation.\n // There is an ongoing issue[1][2] with this setup when using a MutationObserver within a Angular\n // component: on some occasions, the callback is being called in an infinite loop, causing the\n // page to freeze (even if the callback is completely empty).\n //\n // To work around this issue, we try to get the original MutationObserver constructor stored by\n // Zone.js.\n //\n // [1] https://github.com/angular/angular/issues/26948\n // [2] https://github.com/angular/angular/issues/31712\n if (browserWindow.Zone) {\n // Zone.js 0.8.6+ is storing original class constructors into the browser 'window' object[3].\n //\n // [3] https://github.com/angular/angular/blob/6375fa79875c0fe7b815efc45940a6e6f5c9c9eb/packages/zone.js/lib/common/utils.ts#L288\n constructor = getZoneJsOriginalValue(browserWindow, 'MutationObserver');\n if (browserWindow.MutationObserver && constructor === browserWindow.MutationObserver) {\n // Anterior Zone.js versions (used in Angular 2) does not expose the original MutationObserver\n // in the 'window' object. Luckily, the patched MutationObserver class is storing an original\n // instance in its properties[4]. Let's get the original MutationObserver constructor from\n // there.\n //\n // [4] https://github.com/angular/zone.js/blob/v0.8.5/lib/common/utils.ts#L412\n var patchedInstance = new browserWindow.MutationObserver(noop);\n var originalInstance = getZoneJsOriginalValue(patchedInstance, 'originalInstance');\n constructor = originalInstance && originalInstance.constructor;\n }\n }\n if (!constructor) {\n constructor = browserWindow.MutationObserver;\n }\n return constructor;\n}\n//# sourceMappingURL=domMutationObservable.js.map","import { instrumentMethod, Observable } from '@datadog/browser-core';\nexport function createWindowOpenObservable() {\n var observable = new Observable();\n var stop = instrumentMethod(window, 'open', function () { return observable.notify(); }).stop;\n return { observable: observable, stop: stop };\n}\n//# sourceMappingURL=windowOpenObservable.js.map","export var ErrorSource = {\n AGENT: 'agent',\n CONSOLE: 'console',\n CUSTOM: 'custom',\n LOGGER: 'logger',\n NETWORK: 'network',\n SOURCE: 'source',\n REPORT: 'report',\n};\n//# sourceMappingURL=error.types.js.map","import { setTimeout } from '../../tools/timer';\nimport { clocksNow, ONE_MINUTE } from '../../tools/utils/timeUtils';\nimport { ErrorSource } from '../error/error.types';\nexport function createEventRateLimiter(eventType, limit, onLimitReached) {\n var eventCount = 0;\n var allowNextEvent = false;\n return {\n isLimitReached: function () {\n if (eventCount === 0) {\n setTimeout(function () {\n eventCount = 0;\n }, ONE_MINUTE);\n }\n eventCount += 1;\n if (eventCount <= limit || allowNextEvent) {\n allowNextEvent = false;\n return false;\n }\n if (eventCount === limit + 1) {\n allowNextEvent = true;\n try {\n onLimitReached({\n message: \"Reached max number of \".concat(eventType, \"s by minute: \").concat(limit),\n source: ErrorSource.AGENT,\n startClocks: clocksNow(),\n });\n }\n finally {\n allowNextEvent = false;\n }\n }\n return true;\n },\n };\n}\n//# sourceMappingURL=createEventRateLimiter.js.map","import { getSyntheticsResultId, getSyntheticsTestId, willSyntheticsInjectRum } from '@datadog/browser-core';\nexport function getSyntheticsContext() {\n var testId = getSyntheticsTestId();\n var resultId = getSyntheticsResultId();\n if (testId && resultId) {\n return {\n test_id: testId,\n result_id: resultId,\n injected: willSyntheticsInjectRum(),\n };\n }\n}\n//# sourceMappingURL=syntheticsContext.js.map","import { sanitize, deepClone, getType, objectEntries } from '@datadog/browser-core';\n/**\n * Current limitation:\n * - field path do not support array, 'a.b.c' only\n */\nexport function limitModification(object, modifiableFieldPaths, modifier) {\n var clone = deepClone(object);\n var result = modifier(clone);\n objectEntries(modifiableFieldPaths).forEach(function (_a) {\n var fieldPath = _a[0], fieldType = _a[1];\n var newValue = get(clone, fieldPath);\n var newType = getType(newValue);\n if (newType === fieldType) {\n set(object, fieldPath, sanitize(newValue));\n }\n else if (fieldType === 'object' && (newType === 'undefined' || newType === 'null')) {\n set(object, fieldPath, {});\n }\n });\n return result;\n}\nfunction get(object, path) {\n var current = object;\n for (var _i = 0, _a = path.split('.'); _i < _a.length; _i++) {\n var field = _a[_i];\n if (!isValidObjectContaining(current, field)) {\n return;\n }\n current = current[field];\n }\n return current;\n}\nfunction set(object, path, value) {\n var current = object;\n var fields = path.split('.');\n for (var i = 0; i < fields.length; i += 1) {\n var field = fields[i];\n if (!isValidObject(current)) {\n return;\n }\n if (i !== fields.length - 1) {\n current = current[field];\n }\n else {\n current[field] = value;\n }\n }\n}\nfunction isValidObject(object) {\n return getType(object) === 'object';\n}\nfunction isValidObjectContaining(object, field) {\n return isValidObject(object) && Object.prototype.hasOwnProperty.call(object, field);\n}\n//# sourceMappingURL=limitModification.js.map","import { combine, isEmptyObject, timeStampNow, currentDrift, display, createEventRateLimiter, canUseEventBridge, assign, round, isExperimentalFeatureEnabled, ExperimentalFeature, getConnectivity, } from '@datadog/browser-core';\nimport { getSyntheticsContext } from './contexts/syntheticsContext';\nimport { limitModification } from './limitModification';\nvar VIEW_MODIFIABLE_FIELD_PATHS = {\n 'view.name': 'string',\n 'view.url': 'string',\n 'view.referrer': 'string',\n};\nvar USER_CUSTOMIZABLE_FIELD_PATHS = {\n context: 'object',\n};\nvar ROOT_MODIFIABLE_FIELD_PATHS = {\n service: 'string',\n version: 'string',\n};\nvar modifiableFieldPathsByEvent;\nexport function startRumAssembly(configuration, lifeCycle, sessionManager, viewHistory, urlContexts, actionContexts, displayContext, ciVisibilityContext, getCommonContext, reportError) {\n var _a, _b;\n modifiableFieldPathsByEvent = (_a = {},\n _a[\"view\" /* RumEventType.VIEW */] = assign({}, USER_CUSTOMIZABLE_FIELD_PATHS, VIEW_MODIFIABLE_FIELD_PATHS),\n _a[\"error\" /* RumEventType.ERROR */] = assign({\n 'error.message': 'string',\n 'error.stack': 'string',\n 'error.resource.url': 'string',\n 'error.fingerprint': 'string',\n }, USER_CUSTOMIZABLE_FIELD_PATHS, VIEW_MODIFIABLE_FIELD_PATHS, ROOT_MODIFIABLE_FIELD_PATHS),\n _a[\"resource\" /* RumEventType.RESOURCE */] = assign({\n 'resource.url': 'string',\n }, isExperimentalFeatureEnabled(ExperimentalFeature.WRITABLE_RESOURCE_GRAPHQL)\n ? {\n 'resource.graphql': 'object',\n }\n : {}, USER_CUSTOMIZABLE_FIELD_PATHS, VIEW_MODIFIABLE_FIELD_PATHS, ROOT_MODIFIABLE_FIELD_PATHS),\n _a[\"action\" /* RumEventType.ACTION */] = assign({\n 'action.target.name': 'string',\n }, USER_CUSTOMIZABLE_FIELD_PATHS, VIEW_MODIFIABLE_FIELD_PATHS, ROOT_MODIFIABLE_FIELD_PATHS),\n _a[\"long_task\" /* RumEventType.LONG_TASK */] = assign({}, USER_CUSTOMIZABLE_FIELD_PATHS, VIEW_MODIFIABLE_FIELD_PATHS),\n _a[\"vital\" /* RumEventType.VITAL */] = assign({}, USER_CUSTOMIZABLE_FIELD_PATHS, VIEW_MODIFIABLE_FIELD_PATHS),\n _a);\n var eventRateLimiters = (_b = {},\n _b[\"error\" /* RumEventType.ERROR */] = createEventRateLimiter(\"error\" /* RumEventType.ERROR */, configuration.eventRateLimiterThreshold, reportError),\n _b[\"action\" /* RumEventType.ACTION */] = createEventRateLimiter(\"action\" /* RumEventType.ACTION */, configuration.eventRateLimiterThreshold, reportError),\n _b[\"vital\" /* RumEventType.VITAL */] = createEventRateLimiter(\"vital\" /* RumEventType.VITAL */, configuration.eventRateLimiterThreshold, reportError),\n _b);\n var syntheticsContext = getSyntheticsContext();\n lifeCycle.subscribe(12 /* LifeCycleEventType.RAW_RUM_EVENT_COLLECTED */, function (_a) {\n var startTime = _a.startTime, rawRumEvent = _a.rawRumEvent, domainContext = _a.domainContext, savedCommonContext = _a.savedCommonContext, customerContext = _a.customerContext;\n var viewHistoryEntry = viewHistory.findView(startTime);\n var urlContext = urlContexts.findUrl(startTime);\n var session = sessionManager.findTrackedSession(startTime);\n if (session && viewHistoryEntry && urlContext) {\n var commonContext = savedCommonContext || getCommonContext();\n var actionId = actionContexts.findActionId(startTime);\n var rumContext = {\n _dd: {\n format_version: 2,\n drift: currentDrift(),\n configuration: {\n session_sample_rate: round(configuration.sessionSampleRate, 3),\n session_replay_sample_rate: round(configuration.sessionReplaySampleRate, 3),\n },\n browser_sdk_version: canUseEventBridge() ? \"5.35.1\" : undefined,\n },\n application: {\n id: configuration.applicationId,\n },\n date: timeStampNow(),\n service: viewHistoryEntry.service || configuration.service,\n version: viewHistoryEntry.version || configuration.version,\n source: 'browser',\n session: {\n id: session.id,\n type: syntheticsContext\n ? \"synthetics\" /* SessionType.SYNTHETICS */\n : ciVisibilityContext.get()\n ? \"ci_test\" /* SessionType.CI_TEST */\n : \"user\" /* SessionType.USER */,\n },\n view: {\n id: viewHistoryEntry.id,\n name: viewHistoryEntry.name,\n url: urlContext.url,\n referrer: urlContext.referrer,\n },\n action: needToAssembleWithAction(rawRumEvent) && actionId ? { id: actionId } : undefined,\n synthetics: syntheticsContext,\n ci_test: ciVisibilityContext.get(),\n display: displayContext.get(),\n connectivity: getConnectivity(),\n };\n var serverRumEvent = combine(rumContext, rawRumEvent);\n serverRumEvent.context = combine(commonContext.context, viewHistoryEntry.context, customerContext);\n if (!('has_replay' in serverRumEvent.session)) {\n ;\n serverRumEvent.session.has_replay = commonContext.hasReplay;\n }\n if (serverRumEvent.type === 'view') {\n ;\n serverRumEvent.session.sampled_for_replay =\n session.sessionReplay === 1 /* SessionReplayState.SAMPLED */;\n }\n if (\n // TODO: remove ff and should always add anonymous user id\n isExperimentalFeatureEnabled(ExperimentalFeature.ANONYMOUS_USER_TRACKING) &&\n !commonContext.user.anonymous_id) {\n commonContext.user.anonymous_id = session.anonymousId;\n }\n if (!isEmptyObject(commonContext.user)) {\n ;\n serverRumEvent.usr = commonContext.user;\n }\n if (shouldSend(serverRumEvent, configuration.beforeSend, domainContext, eventRateLimiters)) {\n if (isEmptyObject(serverRumEvent.context)) {\n delete serverRumEvent.context;\n }\n lifeCycle.notify(13 /* LifeCycleEventType.RUM_EVENT_COLLECTED */, serverRumEvent);\n }\n }\n });\n}\nfunction shouldSend(event, beforeSend, domainContext, eventRateLimiters) {\n var _a;\n if (beforeSend) {\n var result = limitModification(event, modifiableFieldPathsByEvent[event.type], function (event) {\n return beforeSend(event, domainContext);\n });\n if (result === false && event.type !== \"view\" /* RumEventType.VIEW */) {\n return false;\n }\n if (result === false) {\n display.warn(\"Can't dismiss view events using beforeSend!\");\n }\n }\n var rateLimitReached = (_a = eventRateLimiters[event.type]) === null || _a === void 0 ? void 0 : _a.isLimitReached();\n return !rateLimitReached;\n}\nfunction needToAssembleWithAction(event) {\n return [\"error\" /* RumEventType.ERROR */, \"resource\" /* RumEventType.RESOURCE */, \"long_task\" /* RumEventType.LONG_TASK */].indexOf(event.type) !== -1;\n}\n//# sourceMappingURL=assembly.js.map","/**\n * Internal context keep returning v1 format\n * to not break compatibility with logs data format\n */\nexport function startInternalContext(applicationId, sessionManager, viewHistory, actionContexts, urlContexts) {\n return {\n get: function (startTime) {\n var viewContext = viewHistory.findView(startTime);\n var urlContext = urlContexts.findUrl(startTime);\n var session = sessionManager.findTrackedSession(startTime);\n if (session && viewContext && urlContext) {\n var actionId = actionContexts.findActionId(startTime);\n return {\n application_id: applicationId,\n session_id: session.id,\n user_action: actionId ? { id: actionId } : undefined,\n view: { id: viewContext.id, name: viewContext.name, referrer: urlContext.referrer, url: urlContext.url },\n };\n }\n },\n };\n}\n//# sourceMappingURL=internalContext.js.map","// eslint-disable-next-line no-restricted-syntax\nvar AbstractLifeCycle = /** @class */ (function () {\n function AbstractLifeCycle() {\n this.callbacks = {};\n }\n AbstractLifeCycle.prototype.notify = function (eventType, data) {\n var eventCallbacks = this.callbacks[eventType];\n if (eventCallbacks) {\n eventCallbacks.forEach(function (callback) { return callback(data); });\n }\n };\n AbstractLifeCycle.prototype.subscribe = function (eventType, callback) {\n var _this = this;\n if (!this.callbacks[eventType]) {\n this.callbacks[eventType] = [];\n }\n this.callbacks[eventType].push(callback);\n return {\n unsubscribe: function () {\n _this.callbacks[eventType] = _this.callbacks[eventType].filter(function (other) { return callback !== other; });\n },\n };\n };\n return AbstractLifeCycle;\n}());\nexport { AbstractLifeCycle };\n//# sourceMappingURL=abstractLifeCycle.js.map","import { AbstractLifeCycle } from '@datadog/browser-core';\nexport var LifeCycle = (AbstractLifeCycle);\n//# sourceMappingURL=lifeCycle.js.map","import { setInterval, clearInterval } from './timer';\nimport { removeItem } from './utils/arrayUtils';\nimport { addDuration, relativeNow, ONE_MINUTE } from './utils/timeUtils';\nvar END_OF_TIMES = Infinity;\nexport var CLEAR_OLD_VALUES_INTERVAL = ONE_MINUTE;\nexport function createValueHistory(_a) {\n var expireDelay = _a.expireDelay, maxEntries = _a.maxEntries;\n var entries = [];\n var clearOldValuesInterval = setInterval(function () { return clearOldValues(); }, CLEAR_OLD_VALUES_INTERVAL);\n function clearOldValues() {\n var oldTimeThreshold = relativeNow() - expireDelay;\n while (entries.length > 0 && entries[entries.length - 1].endTime < oldTimeThreshold) {\n entries.pop();\n }\n }\n /**\n * Add a value to the history associated with a start time. Returns a reference to this newly\n * added entry that can be removed or closed.\n */\n function add(value, startTime) {\n var entry = {\n value: value,\n startTime: startTime,\n endTime: END_OF_TIMES,\n remove: function () {\n removeItem(entries, entry);\n },\n close: function (endTime) {\n entry.endTime = endTime;\n },\n };\n if (maxEntries && entries.length >= maxEntries) {\n entries.pop();\n }\n entries.unshift(entry);\n return entry;\n }\n /**\n * Return the latest value that was active during `startTime`, or the currently active value\n * if no `startTime` is provided. This method assumes that entries are not overlapping.\n *\n * If `option.returnInactive` is true, returns the value at `startTime` (active or not).\n */\n function find(startTime, options) {\n if (startTime === void 0) { startTime = END_OF_TIMES; }\n if (options === void 0) { options = { returnInactive: false }; }\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var entry = entries_1[_i];\n if (entry.startTime <= startTime) {\n if (options.returnInactive || startTime <= entry.endTime) {\n return entry.value;\n }\n break;\n }\n }\n }\n /**\n * Helper function to close the currently active value, if any. This method assumes that entries\n * are not overlapping.\n */\n function closeActive(endTime) {\n var latestEntry = entries[0];\n if (latestEntry && latestEntry.endTime === END_OF_TIMES) {\n latestEntry.close(endTime);\n }\n }\n /**\n * Return all values with an active period overlapping with the duration,\n * or all values that were active during `startTime` if no duration is provided,\n * or all currently active values if no `startTime` is provided.\n */\n function findAll(startTime, duration) {\n if (startTime === void 0) { startTime = END_OF_TIMES; }\n if (duration === void 0) { duration = 0; }\n var endTime = addDuration(startTime, duration);\n return entries\n .filter(function (entry) { return entry.startTime <= endTime && startTime <= entry.endTime; })\n .map(function (entry) { return entry.value; });\n }\n /**\n * Remove all entries from this collection.\n */\n function reset() {\n entries = [];\n }\n /**\n * Stop internal garbage collection of past entries.\n */\n function stop() {\n clearInterval(clearOldValuesInterval);\n }\n return { add: add, find: find, closeActive: closeActive, findAll: findAll, reset: reset, stop: stop };\n}\n//# sourceMappingURL=valueHistory.js.map","import { SESSION_TIME_OUT_DELAY, createValueHistory } from '@datadog/browser-core';\nexport var VIEW_CONTEXT_TIME_OUT_DELAY = SESSION_TIME_OUT_DELAY;\nexport function startViewHistory(lifeCycle) {\n var viewValueHistory = createValueHistory({ expireDelay: VIEW_CONTEXT_TIME_OUT_DELAY });\n lifeCycle.subscribe(1 /* LifeCycleEventType.BEFORE_VIEW_CREATED */, function (view) {\n viewValueHistory.add(buildViewHistoryEntry(view), view.startClocks.relative);\n });\n lifeCycle.subscribe(6 /* LifeCycleEventType.AFTER_VIEW_ENDED */, function (_a) {\n var endClocks = _a.endClocks;\n viewValueHistory.closeActive(endClocks.relative);\n });\n lifeCycle.subscribe(3 /* LifeCycleEventType.BEFORE_VIEW_UPDATED */, function (viewUpdate) {\n var currentView = viewValueHistory.find(viewUpdate.startClocks.relative);\n if (currentView && viewUpdate.name) {\n currentView.name = viewUpdate.name;\n }\n if (currentView && viewUpdate.context) {\n currentView.context = viewUpdate.context;\n }\n });\n lifeCycle.subscribe(10 /* LifeCycleEventType.SESSION_RENEWED */, function () {\n viewValueHistory.reset();\n });\n function buildViewHistoryEntry(view) {\n return {\n service: view.service,\n version: view.version,\n context: view.context,\n id: view.id,\n name: view.name,\n startClocks: view.startClocks,\n };\n }\n return {\n findView: function (startTime) { return viewValueHistory.find(startTime); },\n stop: function () {\n viewValueHistory.stop();\n },\n };\n}\n//# sourceMappingURL=viewHistory.js.map","import { instrumentMethod } from '../tools/instrumentMethod';\nimport { Observable } from '../tools/observable';\nimport { elapsed, clocksNow, timeStampNow } from '../tools/utils/timeUtils';\nimport { normalizeUrl } from '../tools/utils/urlPolyfill';\nimport { shallowClone } from '../tools/utils/objectUtils';\nimport { addEventListener } from './addEventListener';\nvar xhrObservable;\nvar xhrContexts = new WeakMap();\nexport function initXhrObservable(configuration) {\n if (!xhrObservable) {\n xhrObservable = createXhrObservable(configuration);\n }\n return xhrObservable;\n}\nfunction createXhrObservable(configuration) {\n return new Observable(function (observable) {\n var stopInstrumentingStart = instrumentMethod(XMLHttpRequest.prototype, 'open', openXhr).stop;\n var stopInstrumentingSend = instrumentMethod(XMLHttpRequest.prototype, 'send', function (call) {\n sendXhr(call, configuration, observable);\n }, { computeHandlingStack: true }).stop;\n var stopInstrumentingAbort = instrumentMethod(XMLHttpRequest.prototype, 'abort', abortXhr).stop;\n return function () {\n stopInstrumentingStart();\n stopInstrumentingSend();\n stopInstrumentingAbort();\n };\n });\n}\nfunction openXhr(_a) {\n var xhr = _a.target, _b = _a.parameters, method = _b[0], url = _b[1];\n xhrContexts.set(xhr, {\n state: 'open',\n method: String(method).toUpperCase(),\n url: normalizeUrl(String(url)),\n });\n}\nfunction sendXhr(_a, configuration, observable) {\n var xhr = _a.target, handlingStack = _a.handlingStack;\n var context = xhrContexts.get(xhr);\n if (!context) {\n return;\n }\n var startContext = context;\n startContext.state = 'start';\n startContext.startClocks = clocksNow();\n startContext.isAborted = false;\n startContext.xhr = xhr;\n startContext.handlingStack = handlingStack;\n var hasBeenReported = false;\n var stopInstrumentingOnReadyStateChange = instrumentMethod(xhr, 'onreadystatechange', function () {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n // Try to report the XHR as soon as possible, because the XHR may be mutated by the\n // application during a future event. For example, Angular is calling .abort() on\n // completed requests during an onreadystatechange event, so the status becomes '0'\n // before the request is collected.\n onEnd();\n }\n }).stop;\n var onEnd = function () {\n unsubscribeLoadEndListener();\n stopInstrumentingOnReadyStateChange();\n if (hasBeenReported) {\n return;\n }\n hasBeenReported = true;\n var completeContext = context;\n completeContext.state = 'complete';\n completeContext.duration = elapsed(startContext.startClocks.timeStamp, timeStampNow());\n completeContext.status = xhr.status;\n observable.notify(shallowClone(completeContext));\n };\n var unsubscribeLoadEndListener = addEventListener(configuration, xhr, 'loadend', onEnd).stop;\n observable.notify(startContext);\n}\nfunction abortXhr(_a) {\n var xhr = _a.target;\n var context = xhrContexts.get(xhr);\n if (context) {\n context.isAborted = true;\n }\n}\n//# sourceMappingURL=xhrObservable.js.map","export function isServerError(status) {\n return status >= 500;\n}\nexport function tryToClone(response) {\n try {\n return response.clone();\n }\n catch (_a) {\n // clone can throw if the response has already been used by another instrumentation or is disturbed\n return;\n }\n}\n//# sourceMappingURL=responseUtils.js.map","import { monitor } from './monitor';\nimport { noop } from './utils/functionUtils';\n/**\n * Read bytes from a ReadableStream until at least `limit` bytes have been read (or until the end of\n * the stream). The callback is invoked with the at most `limit` bytes, and indicates that the limit\n * has been exceeded if more bytes were available.\n */\nexport function readBytesFromStream(stream, callback, options) {\n var reader = stream.getReader();\n var chunks = [];\n var readBytesCount = 0;\n readMore();\n function readMore() {\n reader.read().then(monitor(function (result) {\n if (result.done) {\n onDone();\n return;\n }\n if (options.collectStreamBody) {\n chunks.push(result.value);\n }\n readBytesCount += result.value.length;\n if (readBytesCount > options.bytesLimit) {\n onDone();\n }\n else {\n readMore();\n }\n }), monitor(function (error) { return callback(error); }));\n }\n function onDone() {\n reader.cancel().catch(\n // we don't care if cancel fails, but we still need to catch the error to avoid reporting it\n // as an unhandled rejection\n noop);\n var bytes;\n var limitExceeded;\n if (options.collectStreamBody) {\n var completeBuffer_1;\n if (chunks.length === 1) {\n // optimization: if the response is small enough to fit in a single buffer (provided by the browser), just\n // use it directly.\n completeBuffer_1 = chunks[0];\n }\n else {\n // else, we need to copy buffers into a larger buffer to concatenate them.\n completeBuffer_1 = new Uint8Array(readBytesCount);\n var offset_1 = 0;\n chunks.forEach(function (chunk) {\n completeBuffer_1.set(chunk, offset_1);\n offset_1 += chunk.length;\n });\n }\n bytes = completeBuffer_1.slice(0, options.bytesLimit);\n limitExceeded = completeBuffer_1.length > options.bytesLimit;\n }\n callback(undefined, bytes, limitExceeded);\n }\n}\n//# sourceMappingURL=readBytesFromStream.js.map","import { addTelemetryDebug, elapsed, getPathName, includes, isValidUrl, toServerDuration, isIntakeUrl, } from '@datadog/browser-core';\nexport var FAKE_INITIAL_DOCUMENT = 'initial_document';\nvar RESOURCE_TYPES = [\n [\"document\" /* ResourceType.DOCUMENT */, function (initiatorType) { return FAKE_INITIAL_DOCUMENT === initiatorType; }],\n [\"xhr\" /* ResourceType.XHR */, function (initiatorType) { return 'xmlhttprequest' === initiatorType; }],\n [\"fetch\" /* ResourceType.FETCH */, function (initiatorType) { return 'fetch' === initiatorType; }],\n [\"beacon\" /* ResourceType.BEACON */, function (initiatorType) { return 'beacon' === initiatorType; }],\n [\"css\" /* ResourceType.CSS */, function (_, path) { return /\\.css$/i.test(path); }],\n [\"js\" /* ResourceType.JS */, function (_, path) { return /\\.js$/i.test(path); }],\n [\n \"image\" /* ResourceType.IMAGE */,\n function (initiatorType, path) {\n return includes(['image', 'img', 'icon'], initiatorType) || /\\.(gif|jpg|jpeg|tiff|png|svg|ico)$/i.exec(path) !== null;\n },\n ],\n [\"font\" /* ResourceType.FONT */, function (_, path) { return /\\.(woff|eot|woff2|ttf)$/i.exec(path) !== null; }],\n [\n \"media\" /* ResourceType.MEDIA */,\n function (initiatorType, path) {\n return includes(['audio', 'video'], initiatorType) || /\\.(mp3|mp4)$/i.exec(path) !== null;\n },\n ],\n];\nexport function computeResourceEntryType(entry) {\n var url = entry.name;\n if (!isValidUrl(url)) {\n addTelemetryDebug(\"Failed to construct URL for \\\"\".concat(entry.name, \"\\\"\"));\n return \"other\" /* ResourceType.OTHER */;\n }\n var path = getPathName(url);\n for (var _i = 0, RESOURCE_TYPES_1 = RESOURCE_TYPES; _i < RESOURCE_TYPES_1.length; _i++) {\n var _a = RESOURCE_TYPES_1[_i], type = _a[0], isType = _a[1];\n if (isType(entry.initiatorType, path)) {\n return type;\n }\n }\n return \"other\" /* ResourceType.OTHER */;\n}\nfunction areInOrder() {\n var numbers = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n numbers[_i] = arguments[_i];\n }\n for (var i = 1; i < numbers.length; i += 1) {\n if (numbers[i - 1] > numbers[i]) {\n return false;\n }\n }\n return true;\n}\nexport function isResourceEntryRequestType(entry) {\n return entry.initiatorType === 'xmlhttprequest' || entry.initiatorType === 'fetch';\n}\nexport function computeResourceEntryDuration(entry) {\n var duration = entry.duration, startTime = entry.startTime, responseEnd = entry.responseEnd;\n // Safari duration is always 0 on timings blocked by cross origin policies.\n if (duration === 0 && startTime < responseEnd) {\n return toServerDuration(elapsed(startTime, responseEnd));\n }\n return toServerDuration(duration);\n}\nexport function computeResourceEntryDetails(entry) {\n if (!hasValidResourceEntryTimings(entry)) {\n return undefined;\n }\n var startTime = entry.startTime, fetchStart = entry.fetchStart, workerStart = entry.workerStart, redirectStart = entry.redirectStart, redirectEnd = entry.redirectEnd, domainLookupStart = entry.domainLookupStart, domainLookupEnd = entry.domainLookupEnd, connectStart = entry.connectStart, secureConnectionStart = entry.secureConnectionStart, connectEnd = entry.connectEnd, requestStart = entry.requestStart, responseStart = entry.responseStart, responseEnd = entry.responseEnd;\n var details = {\n download: formatTiming(startTime, responseStart, responseEnd),\n first_byte: formatTiming(startTime, requestStart, responseStart),\n };\n // Make sure a worker processing time is recorded\n if (0 < workerStart && workerStart < fetchStart) {\n details.worker = formatTiming(startTime, workerStart, fetchStart);\n }\n // Make sure a connection occurred\n if (fetchStart < connectEnd) {\n details.connect = formatTiming(startTime, connectStart, connectEnd);\n // Make sure a secure connection occurred\n if (connectStart <= secureConnectionStart && secureConnectionStart <= connectEnd) {\n details.ssl = formatTiming(startTime, secureConnectionStart, connectEnd);\n }\n }\n // Make sure a domain lookup occurred\n if (fetchStart < domainLookupEnd) {\n details.dns = formatTiming(startTime, domainLookupStart, domainLookupEnd);\n }\n // Make sure a redirection occurred\n if (startTime < redirectEnd) {\n details.redirect = formatTiming(startTime, redirectStart, redirectEnd);\n }\n return details;\n}\n/**\n * Entries with negative duration are unexpected and should be dismissed. The intake will ignore RUM\n * Resource events with negative durations anyway.\n * Since Chromium 128, more entries have unexpected negative durations, see\n * https://issues.chromium.org/issues/363031537\n */\nexport function hasValidResourceEntryDuration(entry) {\n return entry.duration >= 0;\n}\nexport function hasValidResourceEntryTimings(entry) {\n // Ensure timings are in the right order. On top of filtering out potential invalid\n // RumPerformanceResourceTiming, it will ignore entries from requests where timings cannot be\n // collected, for example cross origin requests without a \"Timing-Allow-Origin\" header allowing\n // it.\n var areCommonTimingsInOrder = areInOrder(entry.startTime, entry.fetchStart, entry.domainLookupStart, entry.domainLookupEnd, entry.connectStart, entry.connectEnd, entry.requestStart, entry.responseStart, entry.responseEnd);\n var areRedirectionTimingsInOrder = hasRedirection(entry)\n ? areInOrder(entry.startTime, entry.redirectStart, entry.redirectEnd, entry.fetchStart)\n : true;\n return areCommonTimingsInOrder && areRedirectionTimingsInOrder;\n}\nfunction hasRedirection(entry) {\n return entry.redirectEnd > entry.startTime;\n}\nfunction formatTiming(origin, start, end) {\n if (origin <= start && start <= end) {\n return {\n duration: toServerDuration(elapsed(start, end)),\n start: toServerDuration(elapsed(origin, start)),\n };\n }\n}\n/**\n * The 'nextHopProtocol' is an empty string for cross-origin resources without CORS headers,\n * meaning the protocol is unknown, and we shouldn't report it.\n * https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/nextHopProtocol#cross-origin_resources\n */\nexport function computeResourceEntryProtocol(entry) {\n return entry.nextHopProtocol === '' ? undefined : entry.nextHopProtocol;\n}\n/**\n * Handles the 'deliveryType' property to distinguish between supported values ('cache', 'navigational-prefetch'),\n * undefined (unsupported in some browsers), and other cases ('other' for unknown or unrecognized values).\n * see: https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/deliveryType\n */\nexport function computeResourceEntryDeliveryType(entry) {\n return entry.deliveryType === '' ? 'other' : entry.deliveryType;\n}\nexport function computeResourceEntrySize(entry) {\n // Make sure a request actually occurred\n if (entry.startTime < entry.responseStart) {\n var encodedBodySize = entry.encodedBodySize, decodedBodySize = entry.decodedBodySize, transferSize = entry.transferSize;\n return {\n size: decodedBodySize,\n encoded_body_size: encodedBodySize,\n decoded_body_size: decodedBodySize,\n transfer_size: transferSize,\n };\n }\n return {\n size: undefined,\n encoded_body_size: undefined,\n decoded_body_size: undefined,\n transfer_size: undefined,\n };\n}\nexport function isAllowedRequestUrl(url) {\n return url && !isIntakeUrl(url);\n}\nvar DATA_URL_REGEX = /data:(.+)?(;base64)?,/g;\nexport var MAX_ATTRIBUTE_VALUE_CHAR_LENGTH = 24000;\nexport function isLongDataUrl(url) {\n if (url.length <= MAX_ATTRIBUTE_VALUE_CHAR_LENGTH) {\n return false;\n }\n else if (url.substring(0, 5) === 'data:') {\n // Avoid String.match RangeError: Maximum call stack size exceeded\n url = url.substring(0, MAX_ATTRIBUTE_VALUE_CHAR_LENGTH);\n return true;\n }\n return false;\n}\nexport function sanitizeDataUrl(url) {\n return \"\".concat(url.match(DATA_URL_REGEX)[0], \"[...]\");\n}\n//# sourceMappingURL=resourceUtils.js.map","import { initFetchObservable, initXhrObservable, readBytesFromStream, elapsed, timeStampNow, tryToClone, } from '@datadog/browser-core';\nimport { isAllowedRequestUrl } from './resource/resourceUtils';\nimport { startTracer } from './tracing/tracer';\nvar nextRequestIndex = 1;\nexport function startRequestCollection(lifeCycle, configuration, sessionManager) {\n var tracer = startTracer(configuration, sessionManager);\n trackXhr(lifeCycle, configuration, tracer);\n trackFetch(lifeCycle, tracer);\n}\nexport function trackXhr(lifeCycle, configuration, tracer) {\n var subscription = initXhrObservable(configuration).subscribe(function (rawContext) {\n var context = rawContext;\n if (!isAllowedRequestUrl(context.url)) {\n return;\n }\n switch (context.state) {\n case 'start':\n tracer.traceXhr(context, context.xhr);\n context.requestIndex = getNextRequestIndex();\n lifeCycle.notify(7 /* LifeCycleEventType.REQUEST_STARTED */, {\n requestIndex: context.requestIndex,\n url: context.url,\n });\n break;\n case 'complete':\n tracer.clearTracingIfNeeded(context);\n lifeCycle.notify(8 /* LifeCycleEventType.REQUEST_COMPLETED */, {\n duration: context.duration,\n method: context.method,\n requestIndex: context.requestIndex,\n spanId: context.spanId,\n startClocks: context.startClocks,\n status: context.status,\n traceId: context.traceId,\n traceSampled: context.traceSampled,\n type: \"xhr\" /* RequestType.XHR */,\n url: context.url,\n xhr: context.xhr,\n isAborted: context.isAborted,\n handlingStack: context.handlingStack,\n });\n break;\n }\n });\n return { stop: function () { return subscription.unsubscribe(); } };\n}\nexport function trackFetch(lifeCycle, tracer) {\n var subscription = initFetchObservable().subscribe(function (rawContext) {\n var context = rawContext;\n if (!isAllowedRequestUrl(context.url)) {\n return;\n }\n switch (context.state) {\n case 'start':\n tracer.traceFetch(context);\n context.requestIndex = getNextRequestIndex();\n lifeCycle.notify(7 /* LifeCycleEventType.REQUEST_STARTED */, {\n requestIndex: context.requestIndex,\n url: context.url,\n });\n break;\n case 'resolve':\n waitForResponseToComplete(context, function (duration) {\n tracer.clearTracingIfNeeded(context);\n lifeCycle.notify(8 /* LifeCycleEventType.REQUEST_COMPLETED */, {\n duration: duration,\n method: context.method,\n requestIndex: context.requestIndex,\n responseType: context.responseType,\n spanId: context.spanId,\n startClocks: context.startClocks,\n status: context.status,\n traceId: context.traceId,\n traceSampled: context.traceSampled,\n type: \"fetch\" /* RequestType.FETCH */,\n url: context.url,\n response: context.response,\n init: context.init,\n input: context.input,\n isAborted: context.isAborted,\n handlingStack: context.handlingStack,\n });\n });\n break;\n }\n });\n return { stop: function () { return subscription.unsubscribe(); } };\n}\nfunction getNextRequestIndex() {\n var result = nextRequestIndex;\n nextRequestIndex += 1;\n return result;\n}\nfunction waitForResponseToComplete(context, callback) {\n var clonedResponse = context.response && tryToClone(context.response);\n if (!clonedResponse || !clonedResponse.body) {\n // do not try to wait for the response if the clone failed, fetch error or null body\n callback(elapsed(context.startClocks.timeStamp, timeStampNow()));\n }\n else {\n readBytesFromStream(clonedResponse.body, function () {\n callback(elapsed(context.startClocks.timeStamp, timeStampNow()));\n }, {\n bytesLimit: Number.POSITIVE_INFINITY,\n collectStreamBody: false,\n });\n }\n}\n//# sourceMappingURL=requestCollection.js.map","import { isNumber } from '@datadog/browser-core';\nexport function discardNegativeDuration(duration) {\n return isNumber(duration) && duration < 0 ? undefined : duration;\n}\n//# sourceMappingURL=discardNegativeDuration.js.map","import { noop } from '@datadog/browser-core';\nexport function trackEventCounts(_a) {\n var lifeCycle = _a.lifeCycle, isChildEvent = _a.isChildEvent, _b = _a.onChange, callback = _b === void 0 ? noop : _b;\n var eventCounts = {\n errorCount: 0,\n longTaskCount: 0,\n resourceCount: 0,\n actionCount: 0,\n frustrationCount: 0,\n };\n var subscription = lifeCycle.subscribe(13 /* LifeCycleEventType.RUM_EVENT_COLLECTED */, function (event) {\n var _a;\n if (event.type === 'view' || event.type === 'vital' || !isChildEvent(event)) {\n return;\n }\n switch (event.type) {\n case \"error\" /* RumEventType.ERROR */:\n eventCounts.errorCount += 1;\n callback();\n break;\n case \"action\" /* RumEventType.ACTION */:\n eventCounts.actionCount += 1;\n if (event.action.frustration) {\n eventCounts.frustrationCount += event.action.frustration.type.length;\n }\n callback();\n break;\n case \"long_task\" /* RumEventType.LONG_TASK */:\n eventCounts.longTaskCount += 1;\n callback();\n break;\n case \"resource\" /* RumEventType.RESOURCE */:\n if (!((_a = event._dd) === null || _a === void 0 ? void 0 : _a.discarded)) {\n eventCounts.resourceCount += 1;\n callback();\n }\n break;\n }\n });\n return {\n stop: function () {\n subscription.unsubscribe();\n },\n eventCounts: eventCounts,\n };\n}\n//# sourceMappingURL=trackEventCounts.js.map","import { addEventListeners, dateNow, relativeNow } from '@datadog/browser-core';\n/**\n * first-input timing entry polyfill based on\n * https://github.com/GoogleChrome/web-vitals/blob/master/src/lib/polyfills/firstInputPolyfill.ts\n */\nexport function retrieveFirstInputTiming(configuration, callback) {\n var startTimeStamp = dateNow();\n var timingSent = false;\n var removeEventListeners = addEventListeners(configuration, window, [\"click\" /* DOM_EVENT.CLICK */, \"mousedown\" /* DOM_EVENT.MOUSE_DOWN */, \"keydown\" /* DOM_EVENT.KEY_DOWN */, \"touchstart\" /* DOM_EVENT.TOUCH_START */, \"pointerdown\" /* DOM_EVENT.POINTER_DOWN */], function (evt) {\n // Only count cancelable events, which should trigger behavior important to the user.\n if (!evt.cancelable) {\n return;\n }\n // This timing will be used to compute the \"first Input delay\", which is the delta between\n // when the system received the event (e.g. evt.timeStamp) and when it could run the callback\n // (e.g. performance.now()).\n var timing = {\n entryType: 'first-input',\n processingStart: relativeNow(),\n processingEnd: relativeNow(),\n startTime: evt.timeStamp,\n duration: 0, // arbitrary value to avoid nullable duration and simplify INP logic\n name: '',\n cancelable: false,\n target: null,\n toJSON: function () { return ({}); },\n };\n if (evt.type === \"pointerdown\" /* DOM_EVENT.POINTER_DOWN */) {\n sendTimingIfPointerIsNotCancelled(configuration, timing);\n }\n else {\n sendTiming(timing);\n }\n }, { passive: true, capture: true }).stop;\n return { stop: removeEventListeners };\n /**\n * Pointer events are a special case, because they can trigger main or compositor thread behavior.\n * We differentiate these cases based on whether or not we see a pointercancel event, which are\n * fired when we scroll. If we're scrolling we don't need to report input delay since FID excludes\n * scrolling and pinch/zooming.\n */\n function sendTimingIfPointerIsNotCancelled(configuration, timing) {\n addEventListeners(configuration, window, [\"pointerup\" /* DOM_EVENT.POINTER_UP */, \"pointercancel\" /* DOM_EVENT.POINTER_CANCEL */], function (event) {\n if (event.type === \"pointerup\" /* DOM_EVENT.POINTER_UP */) {\n sendTiming(timing);\n }\n }, { once: true });\n }\n function sendTiming(timing) {\n if (!timingSent) {\n timingSent = true;\n removeEventListeners();\n // In some cases the recorded delay is clearly wrong, e.g. it's negative or it's larger than\n // the time between now and when the page was loaded.\n // - https://github.com/GoogleChromeLabs/first-input-delay/issues/4\n // - https://github.com/GoogleChromeLabs/first-input-delay/issues/6\n // - https://github.com/GoogleChromeLabs/first-input-delay/issues/7\n var delay = timing.processingStart - timing.startTime;\n if (delay >= 0 && delay < dateNow() - startTimeStamp) {\n callback(timing);\n }\n }\n }\n}\n//# sourceMappingURL=firstInputPolyfill.js.map","import { addEventListener, Observable, setTimeout, clearTimeout, monitor, includes } from '@datadog/browser-core';\nimport { hasValidResourceEntryDuration, isAllowedRequestUrl } from '../domain/resource/resourceUtils';\nimport { retrieveFirstInputTiming } from './firstInputPolyfill';\n// We want to use a real enum (i.e. not a const enum) here, to be able to check whether an arbitrary\n// string is an expected performance entry\n// eslint-disable-next-line no-restricted-syntax\nexport var RumPerformanceEntryType;\n(function (RumPerformanceEntryType) {\n RumPerformanceEntryType[\"EVENT\"] = \"event\";\n RumPerformanceEntryType[\"FIRST_INPUT\"] = \"first-input\";\n RumPerformanceEntryType[\"LARGEST_CONTENTFUL_PAINT\"] = \"largest-contentful-paint\";\n RumPerformanceEntryType[\"LAYOUT_SHIFT\"] = \"layout-shift\";\n RumPerformanceEntryType[\"LONG_TASK\"] = \"longtask\";\n RumPerformanceEntryType[\"LONG_ANIMATION_FRAME\"] = \"long-animation-frame\";\n RumPerformanceEntryType[\"NAVIGATION\"] = \"navigation\";\n RumPerformanceEntryType[\"PAINT\"] = \"paint\";\n RumPerformanceEntryType[\"RESOURCE\"] = \"resource\";\n})(RumPerformanceEntryType || (RumPerformanceEntryType = {}));\nexport function createPerformanceObservable(configuration, options) {\n return new Observable(function (observable) {\n if (!window.PerformanceObserver) {\n return;\n }\n var handlePerformanceEntries = function (entries) {\n var rumPerformanceEntries = filterRumPerformanceEntries(entries);\n if (rumPerformanceEntries.length > 0) {\n observable.notify(rumPerformanceEntries);\n }\n };\n var timeoutId;\n var isObserverInitializing = true;\n var observer = new PerformanceObserver(monitor(function (entries) {\n // In Safari the performance observer callback is synchronous.\n // Because the buffered performance entry list can be quite large we delay the computation to prevent the SDK from blocking the main thread on init\n if (isObserverInitializing) {\n timeoutId = setTimeout(function () { return handlePerformanceEntries(entries.getEntries()); });\n }\n else {\n handlePerformanceEntries(entries.getEntries());\n }\n }));\n try {\n observer.observe(options);\n }\n catch (_a) {\n // Some old browser versions (<= chrome 74 ) don't support the PerformanceObserver type and buffered options\n // In these cases, fallback to getEntriesByType and PerformanceObserver with entryTypes\n // TODO: remove this fallback in the next major version\n var fallbackSupportedEntryTypes = [\n RumPerformanceEntryType.RESOURCE,\n RumPerformanceEntryType.NAVIGATION,\n RumPerformanceEntryType.LONG_TASK,\n RumPerformanceEntryType.PAINT,\n ];\n if (includes(fallbackSupportedEntryTypes, options.type)) {\n if (options.buffered) {\n timeoutId = setTimeout(function () { return handlePerformanceEntries(performance.getEntriesByType(options.type)); });\n }\n try {\n observer.observe({ entryTypes: [options.type] });\n }\n catch (_b) {\n // Old versions of Safari are throwing \"entryTypes contained only unsupported types\"\n // errors when observing only unsupported entry types.\n //\n // We could use `supportPerformanceTimingEvent` to make sure we don't invoke\n // `observer.observe` with an unsupported entry type, but Safari 11 and 12 don't support\n // `Performance.supportedEntryTypes`, so doing so would lose support for these versions\n // even if they do support the entry type.\n return;\n }\n }\n }\n isObserverInitializing = false;\n manageResourceTimingBufferFull(configuration);\n var stopFirstInputTiming;\n if (!supportPerformanceTimingEvent(RumPerformanceEntryType.FIRST_INPUT) &&\n options.type === RumPerformanceEntryType.FIRST_INPUT) {\n ;\n (stopFirstInputTiming = retrieveFirstInputTiming(configuration, function (timing) {\n handlePerformanceEntries([timing]);\n }).stop);\n }\n return function () {\n observer.disconnect();\n if (stopFirstInputTiming) {\n stopFirstInputTiming();\n }\n clearTimeout(timeoutId);\n };\n });\n}\nvar resourceTimingBufferFullListener;\nfunction manageResourceTimingBufferFull(configuration) {\n if (!resourceTimingBufferFullListener && supportPerformanceObject() && 'addEventListener' in performance) {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1559377\n resourceTimingBufferFullListener = addEventListener(configuration, performance, 'resourcetimingbufferfull', function () {\n performance.clearResourceTimings();\n });\n }\n return function () {\n resourceTimingBufferFullListener === null || resourceTimingBufferFullListener === void 0 ? void 0 : resourceTimingBufferFullListener.stop();\n };\n}\nfunction supportPerformanceObject() {\n return window.performance !== undefined && 'getEntries' in performance;\n}\nexport function supportPerformanceTimingEvent(entryType) {\n return (window.PerformanceObserver &&\n PerformanceObserver.supportedEntryTypes !== undefined &&\n PerformanceObserver.supportedEntryTypes.includes(entryType));\n}\nfunction filterRumPerformanceEntries(entries) {\n return entries.filter(function (entry) { return !isForbiddenResource(entry); });\n}\nfunction isForbiddenResource(entry) {\n return (entry.entryType === RumPerformanceEntryType.RESOURCE &&\n (!isAllowedRequestUrl(entry.name) || !hasValidResourceEntryDuration(entry)));\n}\n//# sourceMappingURL=performanceObservable.js.map","import { matchList, monitor, Observable, timeStampNow, setTimeout, clearTimeout } from '@datadog/browser-core';\nimport { createPerformanceObservable, RumPerformanceEntryType } from '../browser/performanceObservable';\n// Delay to wait for a page activity to validate the tracking process\nexport var PAGE_ACTIVITY_VALIDATION_DELAY = 100;\n// Delay to wait after a page activity to end the tracking process\nexport var PAGE_ACTIVITY_END_DELAY = 100;\n/**\n * Wait for the page activity end\n *\n * Detection lifecycle:\n * ```\n * Wait page activity end\n * .-------------------'--------------------.\n * v v\n * [Wait for a page activity ] [Wait for a maximum duration]\n * [timeout: VALIDATION_DELAY] [ timeout: maxDuration ]\n * / \\ |\n * v v |\n * [No page activity] [Page activity] |\n * | |,----------------------. |\n * v v | |\n * (Discard) [Wait for a page activity] | |\n * [ timeout: END_DELAY ] | |\n * / \\ | |\n * v v | |\n * [No page activity] [Page activity] | |\n * | | | |\n * | '------------' |\n * '-----------. ,--------------------'\n * v\n * (End)\n * ```\n *\n * Note: by assuming that maxDuration is greater than VALIDATION_DELAY, we are sure that if the\n * process is still alive after maxDuration, it has been validated.\n */\nexport function waitPageActivityEnd(lifeCycle, domMutationObservable, windowOpenObservable, configuration, pageActivityEndCallback, maxDuration) {\n var pageActivityObservable = createPageActivityObservable(lifeCycle, domMutationObservable, windowOpenObservable, configuration);\n return doWaitPageActivityEnd(pageActivityObservable, pageActivityEndCallback, maxDuration);\n}\nexport function doWaitPageActivityEnd(pageActivityObservable, pageActivityEndCallback, maxDuration) {\n var pageActivityEndTimeoutId;\n var hasCompleted = false;\n var validationTimeoutId = setTimeout(monitor(function () { return complete({ hadActivity: false }); }), PAGE_ACTIVITY_VALIDATION_DELAY);\n var maxDurationTimeoutId = maxDuration !== undefined\n ? setTimeout(monitor(function () { return complete({ hadActivity: true, end: timeStampNow() }); }), maxDuration)\n : undefined;\n var pageActivitySubscription = pageActivityObservable.subscribe(function (_a) {\n var isBusy = _a.isBusy;\n clearTimeout(validationTimeoutId);\n clearTimeout(pageActivityEndTimeoutId);\n var lastChangeTime = timeStampNow();\n if (!isBusy) {\n pageActivityEndTimeoutId = setTimeout(monitor(function () { return complete({ hadActivity: true, end: lastChangeTime }); }), PAGE_ACTIVITY_END_DELAY);\n }\n });\n var stop = function () {\n hasCompleted = true;\n clearTimeout(validationTimeoutId);\n clearTimeout(pageActivityEndTimeoutId);\n clearTimeout(maxDurationTimeoutId);\n pageActivitySubscription.unsubscribe();\n };\n function complete(event) {\n if (hasCompleted) {\n return;\n }\n stop();\n pageActivityEndCallback(event);\n }\n return { stop: stop };\n}\nexport function createPageActivityObservable(lifeCycle, domMutationObservable, windowOpenObservable, configuration) {\n return new Observable(function (observable) {\n var subscriptions = [];\n var firstRequestIndex;\n var pendingRequestsCount = 0;\n subscriptions.push(domMutationObservable.subscribe(notifyPageActivity), windowOpenObservable.subscribe(notifyPageActivity), createPerformanceObservable(configuration, { type: RumPerformanceEntryType.RESOURCE }).subscribe(function (entries) {\n if (entries.some(function (entry) { return !isExcludedUrl(configuration, entry.name); })) {\n notifyPageActivity();\n }\n }), lifeCycle.subscribe(7 /* LifeCycleEventType.REQUEST_STARTED */, function (startEvent) {\n if (isExcludedUrl(configuration, startEvent.url)) {\n return;\n }\n if (firstRequestIndex === undefined) {\n firstRequestIndex = startEvent.requestIndex;\n }\n pendingRequestsCount += 1;\n notifyPageActivity();\n }), lifeCycle.subscribe(8 /* LifeCycleEventType.REQUEST_COMPLETED */, function (request) {\n if (isExcludedUrl(configuration, request.url) ||\n firstRequestIndex === undefined ||\n // If the request started before the tracking start, ignore it\n request.requestIndex < firstRequestIndex) {\n return;\n }\n pendingRequestsCount -= 1;\n notifyPageActivity();\n }));\n return function () {\n subscriptions.forEach(function (s) { return s.unsubscribe(); });\n };\n function notifyPageActivity() {\n observable.notify({ isBusy: pendingRequestsCount > 0 });\n }\n });\n}\nfunction isExcludedUrl(configuration, requestUrl) {\n return matchList(configuration.excludedActivityUrls, requestUrl);\n}\n//# sourceMappingURL=waitPageActivityEnd.js.map","// https://github.com/jquery/jquery/blob/a684e6ba836f7c553968d7d026ed7941e1a612d8/src/selector/escapeSelector.js\nexport function cssEscape(str) {\n if (window.CSS && window.CSS.escape) {\n return window.CSS.escape(str);\n }\n // eslint-disable-next-line no-control-regex\n return str.replace(/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g, function (ch, asCodePoint) {\n if (asCodePoint) {\n // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n if (ch === '\\0') {\n return '\\uFFFD';\n }\n // Control characters and (dependent upon position) numbers get escaped as code points\n return \"\".concat(ch.slice(0, -1), \"\\\\\").concat(ch.charCodeAt(ch.length - 1).toString(16), \" \");\n }\n // Other potentially-special ASCII characters get backslash-escaped\n return \"\\\\\".concat(ch);\n });\n}\nexport function elementMatches(element, selector) {\n if (element.matches) {\n return element.matches(selector);\n }\n // IE11 support\n if (element.msMatchesSelector) {\n return element.msMatchesSelector(selector);\n }\n return false;\n}\n/**\n * Return the parentElement of an node\n *\n * In cases where parentElement is not supported, such as in IE11 for SVG nodes, we fallback to parentNode\n */\nexport function getParentElement(node) {\n if (node.parentElement) {\n return node.parentElement;\n }\n while (node.parentNode) {\n if (node.parentNode.nodeType === Node.ELEMENT_NODE) {\n return node.parentNode;\n }\n node = node.parentNode;\n }\n return null;\n}\n/**\n * Return the classList of an element or an array of classes if classList is not supported\n *\n * In cases where classList is not supported, such as in IE11 for SVG and MathML elements,\n * we fallback to using element.getAttribute('class').\n * We opt for element.getAttribute('class') over element.className because className returns an SVGAnimatedString for SVG elements.\n */\nexport function getClassList(element) {\n if (element.classList) {\n return element.classList;\n }\n var classes = (element.getAttribute('class') || '').trim();\n return classes ? classes.split(/\\s+/) : [];\n}\n// ie11 supports WeakMap but not WeakSet\nvar PLACEHOLDER = 1;\n// eslint-disable-next-line no-restricted-syntax\nvar WeakSet = /** @class */ (function () {\n function WeakSet(initialValues) {\n var _this = this;\n this.map = new WeakMap();\n if (initialValues) {\n initialValues.forEach(function (value) { return _this.map.set(value, PLACEHOLDER); });\n }\n }\n WeakSet.prototype.add = function (value) {\n this.map.set(value, PLACEHOLDER);\n return this;\n };\n WeakSet.prototype.delete = function (value) {\n return this.map.delete(value);\n };\n WeakSet.prototype.has = function (value) {\n return this.map.has(value);\n };\n return WeakSet;\n}());\nexport { WeakSet };\n//# sourceMappingURL=polyfills.js.map","export function isTextNode(node) {\n return node.nodeType === Node.TEXT_NODE;\n}\nexport function isCommentNode(node) {\n return node.nodeType === Node.COMMENT_NODE;\n}\nexport function isElementNode(node) {\n return node.nodeType === Node.ELEMENT_NODE;\n}\nexport function isNodeShadowHost(node) {\n return isElementNode(node) && Boolean(node.shadowRoot);\n}\nexport function isNodeShadowRoot(node) {\n var shadowRoot = node;\n return !!shadowRoot.host && shadowRoot.nodeType === Node.DOCUMENT_FRAGMENT_NODE && isElementNode(shadowRoot.host);\n}\nexport function hasChildNodes(node) {\n return node.childNodes.length > 0 || isNodeShadowHost(node);\n}\nexport function forEachChildNodes(node, callback) {\n var child = node.firstChild;\n while (child) {\n callback(child);\n child = child.nextSibling;\n }\n if (isNodeShadowHost(node)) {\n callback(node.shadowRoot);\n }\n}\n/**\n * Return `host` in case if the current node is a shadow root otherwise will return the `parentNode`\n */\nexport function getParentNode(node) {\n return isNodeShadowRoot(node) ? node.host : node.parentNode;\n}\n//# sourceMappingURL=htmlDomUtils.js.map","import { DefaultPrivacyLevel } from '@datadog/browser-core';\nimport { isElementNode, getParentNode, isTextNode } from '../browser/htmlDomUtils';\nimport { elementMatches } from '../browser/polyfills';\nexport var NodePrivacyLevel = {\n IGNORE: 'ignore',\n HIDDEN: 'hidden',\n ALLOW: DefaultPrivacyLevel.ALLOW,\n MASK: DefaultPrivacyLevel.MASK,\n MASK_USER_INPUT: DefaultPrivacyLevel.MASK_USER_INPUT,\n};\nexport var PRIVACY_ATTR_NAME = 'data-dd-privacy';\n// Privacy Attrs\nexport var PRIVACY_ATTR_VALUE_ALLOW = 'allow';\nexport var PRIVACY_ATTR_VALUE_MASK = 'mask';\nexport var PRIVACY_ATTR_VALUE_MASK_USER_INPUT = 'mask-user-input';\nexport var PRIVACY_ATTR_VALUE_HIDDEN = 'hidden';\n// Privacy Classes - not all customers can set plain HTML attributes, so support classes too\nexport var PRIVACY_CLASS_PREFIX = 'dd-privacy-';\n// Private Replacement Templates\nexport var CENSORED_STRING_MARK = '***';\nexport var CENSORED_IMG_MARK = 'data:image/gif;base64,R0lGODlhAQABAIAAAMLCwgAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==';\nexport var FORM_PRIVATE_TAG_NAMES = {\n INPUT: true,\n OUTPUT: true,\n TEXTAREA: true,\n SELECT: true,\n OPTION: true,\n DATALIST: true,\n OPTGROUP: true,\n};\nvar TEXT_MASKING_CHAR = 'x';\n/**\n * Get node privacy level by iterating over its ancestors. When the direct parent privacy level is\n * know, it is best to use something like:\n *\n * derivePrivacyLevelGivenParent(getNodeSelfPrivacyLevel(node), parentNodePrivacyLevel)\n */\nexport function getNodePrivacyLevel(node, defaultPrivacyLevel, cache) {\n if (cache && cache.has(node)) {\n return cache.get(node);\n }\n var parentNode = getParentNode(node);\n var parentNodePrivacyLevel = parentNode\n ? getNodePrivacyLevel(parentNode, defaultPrivacyLevel, cache)\n : defaultPrivacyLevel;\n var selfNodePrivacyLevel = getNodeSelfPrivacyLevel(node);\n var nodePrivacyLevel = reducePrivacyLevel(selfNodePrivacyLevel, parentNodePrivacyLevel);\n if (cache) {\n cache.set(node, nodePrivacyLevel);\n }\n return nodePrivacyLevel;\n}\n/**\n * Reduces the next privacy level based on self + parent privacy levels\n */\nexport function reducePrivacyLevel(childPrivacyLevel, parentNodePrivacyLevel) {\n switch (parentNodePrivacyLevel) {\n // These values cannot be overridden\n case NodePrivacyLevel.HIDDEN:\n case NodePrivacyLevel.IGNORE:\n return parentNodePrivacyLevel;\n }\n switch (childPrivacyLevel) {\n case NodePrivacyLevel.ALLOW:\n case NodePrivacyLevel.MASK:\n case NodePrivacyLevel.MASK_USER_INPUT:\n case NodePrivacyLevel.HIDDEN:\n case NodePrivacyLevel.IGNORE:\n return childPrivacyLevel;\n default:\n return parentNodePrivacyLevel;\n }\n}\n/**\n * Determines the node's own privacy level without checking for ancestors.\n */\nexport function getNodeSelfPrivacyLevel(node) {\n // Only Element types can have a privacy level set\n if (!isElementNode(node)) {\n return;\n }\n // Overrules for replay purpose\n if (node.tagName === 'BASE') {\n return NodePrivacyLevel.ALLOW;\n }\n // Overrules to enforce end-user protection\n if (node.tagName === 'INPUT') {\n var inputElement = node;\n if (inputElement.type === 'password' || inputElement.type === 'email' || inputElement.type === 'tel') {\n return NodePrivacyLevel.MASK;\n }\n if (inputElement.type === 'hidden') {\n return NodePrivacyLevel.MASK;\n }\n var autocomplete = inputElement.getAttribute('autocomplete');\n // Handle input[autocomplete=cc-number/cc-csc/cc-exp/cc-exp-month/cc-exp-year/new-password/current-password]\n if (autocomplete && (autocomplete.startsWith('cc-') || autocomplete.endsWith('-password'))) {\n return NodePrivacyLevel.MASK;\n }\n }\n // Check HTML privacy attributes and classes\n if (elementMatches(node, getPrivacySelector(NodePrivacyLevel.HIDDEN))) {\n return NodePrivacyLevel.HIDDEN;\n }\n if (elementMatches(node, getPrivacySelector(NodePrivacyLevel.MASK))) {\n return NodePrivacyLevel.MASK;\n }\n if (elementMatches(node, getPrivacySelector(NodePrivacyLevel.MASK_USER_INPUT))) {\n return NodePrivacyLevel.MASK_USER_INPUT;\n }\n if (elementMatches(node, getPrivacySelector(NodePrivacyLevel.ALLOW))) {\n return NodePrivacyLevel.ALLOW;\n }\n if (shouldIgnoreElement(node)) {\n return NodePrivacyLevel.IGNORE;\n }\n}\n/**\n * Helper aiming to unify `mask` and `mask-user-input` privacy levels:\n *\n * In the `mask` case, it is trivial: we should mask the element.\n *\n * In the `mask-user-input` case, we should mask the element only if it is a \"form\" element or the\n * direct parent is a form element for text nodes).\n *\n * Other `shouldMaskNode` cases are edge cases that should not matter too much (ex: should we mask a\n * node if it is ignored or hidden? it doesn't matter since it won't be serialized).\n */\nexport function shouldMaskNode(node, privacyLevel) {\n switch (privacyLevel) {\n case NodePrivacyLevel.MASK:\n case NodePrivacyLevel.HIDDEN:\n case NodePrivacyLevel.IGNORE:\n return true;\n case NodePrivacyLevel.MASK_USER_INPUT:\n return isTextNode(node) ? isFormElement(node.parentNode) : isFormElement(node);\n default:\n return false;\n }\n}\nfunction isFormElement(node) {\n if (!node || node.nodeType !== node.ELEMENT_NODE) {\n return false;\n }\n var element = node;\n if (element.tagName === 'INPUT') {\n switch (element.type) {\n case 'button':\n case 'color':\n case 'reset':\n case 'submit':\n return false;\n }\n }\n return !!FORM_PRIVATE_TAG_NAMES[element.tagName];\n}\n/**\n * Text censoring non-destructively maintains whitespace characters in order to preserve text shape\n * during replay.\n */\nexport var censorText = function (text) { return text.replace(/\\S/g, TEXT_MASKING_CHAR); };\nexport function getTextContent(textNode, ignoreWhiteSpace, parentNodePrivacyLevel) {\n var _a;\n // The parent node may not be a html element which has a tagName attribute.\n // So just let it be undefined which is ok in this use case.\n var parentTagName = (_a = textNode.parentElement) === null || _a === void 0 ? void 0 : _a.tagName;\n var textContent = textNode.textContent || '';\n if (ignoreWhiteSpace && !textContent.trim()) {\n return;\n }\n var nodePrivacyLevel = parentNodePrivacyLevel;\n var isScript = parentTagName === 'SCRIPT';\n if (isScript) {\n // For perf reasons, we don't record script (heuristic)\n textContent = CENSORED_STRING_MARK;\n }\n else if (nodePrivacyLevel === NodePrivacyLevel.HIDDEN) {\n // Should never occur, but just in case, we set to CENSORED_MARK.\n textContent = CENSORED_STRING_MARK;\n }\n else if (shouldMaskNode(textNode, nodePrivacyLevel)) {\n if (\n // Scrambling the child list breaks text nodes for DATALIST/SELECT/OPTGROUP\n parentTagName === 'DATALIST' ||\n parentTagName === 'SELECT' ||\n parentTagName === 'OPTGROUP') {\n if (!textContent.trim()) {\n return;\n }\n }\n else if (parentTagName === 'OPTION') {\n //